开悟Optimization guide for intermediate tracks

mojia_map

目录

认识模型

参考方案(按模块拆解)


认识模型

模型控制1名英雄进行镜像1 v 1对战

Actor集群资源为64核CPU

问题特点:单一公平对抗场景(同英雄镜像对赛),单位时间样本产能低,累计训练资源相对充裕。

中级赛道难点:

  1. 训练下RL收敛性保证:在小资源长时间训练的情况下,如何解决样本多样性问题,使训练效果媲美高并发、中等时间训练的效果。

  2. 面向赛题英雄定制优化:环境和Baseline均未面向赛题英雄做任何优化。参赛队伍可以研究英雄设计和机制玩法特点,完善特征、规则、动作空间、奖励等相关设计,提升环境状态表征能力,整合已知先验和,降低策略学习难度并提升单英雄能力上限。

  3. 单一公平对抗场景下,需要关注并完善更多细节,得到更完备的策略。

此外,参赛队伍可以:

  1. 消灭各种bug(如不符合预期的移动/走位

  2. 实现支持在线调整或调度的多风格、多样化策略。面向对手行为进行进一步优化,包括建模和预测对手的行为,以便先发制人或极限闪避化解危机。

  3. 细化局内不同阶段的奖励方案(如动态权重),课程学习不同阶段的奖励权重(如过程导向或结果导向)

参考方案(按模块拆解)

uTools_1692861613810

(CNN+MLP)-LSTM的Encoder-Decoder结构 Multi--Head Value,通过分组改进Value估计效果,降低方差 使用全局Perfect Information铺助Value估计

uTools_1692861652042

定制特征:

uTools_1692861824105

uTools_1692861933366

后置规则(处理模型输出)

具体操作参见"开发指南“

通过开发后置规则,可以支持实现模型输出->动作的二次映射。特定实现下,从RL

Agent视角看,等价于环境的变化。

奖励机制

具体操作参见"开发指南“、“环境介绍“,并建议参考往届各晋级队伍相关设计

可能的优化方向包括:

  1. 调整奖励子项权重

    1. 静态权重

    2. 局内动态权重(e.g.奖励局内衰减)

  2. 新增奖励项目

对手模型

具体操作参见"开发指南“,并建议参考往届各晋级队伍相关设计

对应位置:actor/actor..py

可能的优化方向包括:

  1. 新旧模型比例

  2. 对手模型池/League

  3. 自定义评估对局

学习策略

课程学习:将复杂、综合的学习目标分解为多阶段、更小规模的学习任务。

通过预训练模型+多阶段训练的方式,分步实现总体学习目标。心

例子:通过局间奖励衰减,实现稠密奖励到稀疏奖励的过渡

训练前期,偏重具体行为相关的稠密奖励,引导智能体学会基本操作

训练中期,增强与对局结果强相关的稠密奖励,引导智能体在单局中建立优势

训练后期,调高稀疏奖励权重,引导智能体直接关注最终胜负

知识蒸馏:强化学习+监督学习联合优化方案

例子:多英雄能力提升问题的内部解法之一

单英雄Teacher训练:强化学习,单英雄镜像自对战

蒸馏(单英雄Teacher->多英雄Student):在Actor样本中存入Teacher Logits

Learner增加一项监督学习的蒸馏

多英雄Student训练:强化学习,多英雄混合对战

注:可参考原理。受限于资源规模,在比赛中实际复现该做法的投入产出比可能并不突出。

系统优化角度

Learner效率

  1. 有效吞吐量

    1. 计算效率 比赛场景下,考虑到单位时间内Actor样本吞吐量远低于Learner,一般不需要进一步提升样本吞吐量

      Graph中尽可能拼Batch计算,提高计算密度,对应底层计算从GEMV(访存密集型)->GEMM(计算密集型)

      采用在GCU上性能更好的算子实现(可结合隧原-开发指南及实际Profiling情况)

    2. 样本池 当前框架版本的MemPool实现并非最优,可能存在一定程度的样本浪费现象 通过改进MemPool数据结构相关实现,改变随机读写方式,可以减少样本被覆盖的情况

  2. 样本效率与收敛速度

    强化学习算法优化:其他条件不变,强化学习算法越高效,收敛至同等能力所需时间越短

    1. Dual-Clip PPO / Value Clip 对policy loss进行双重clip,避免advantage取值outlier对收敛稳定性的影响。 类似地,可以对value loss进行clip,避免单步更新幅度过大对value network收敛的影响。

    2. Value Normalization

      uTools_1692862574716

      对于策略梯度方法,伴随着RL过程,value network学习目标的变化可能比较剧烈,影响了value估计的学习效果,进而影响了整体收敛效果与稳定性。实验表明,通过引入Vlue归一化,类PPO算法的样本效率可能获得改善。

    1. PPG算法

      uTools_1692862714147

    1. SAC算法

      uTools_1692862734298

      PPO存在on-policy假设,而分布式强化学习场景下,为了实现更高效的并行计算,在on-policy程度上存在妥协。SAC是一种off-policy的随机策略RL算法,在样本利用方式上和DDPG类似,区别在于其生成stochastic policy,在部分benchmark中表现出优于DDPG的样本效率。

      考虑到更换PPO算法涉及较大的开发和调试工作量,推荐大部分队伍优先考虑在PPO算法基础上的优化,学有余力的队伍可以直接尝试更换算法。

uTools_1692862883445

Actor效率

吞吐量优化

  1. CPU推理优化:Actor进程运行在CPU多机环境,可以面向CPU平台优化模型计算性能

    1. PyTorch JIT优化

    2. 集成第三方推理框架(例如:onnx-runtime)

改善样本分布

  1. 可尝试通过intrinsic reward等方式,减少产生无效/同质化样本,提高样本多样性

  2. 可尝试引导生成符合特定条件的样本,比如使样本分布向特定对手模型倾斜

ABSTool工具使用

uTools_1692863242511

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/87944.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

leetcode 718. 最长重复子数组

2023.8.24 本题求得子数组,其实就是连续的序列。定义一个二维dp数组,dp[i][j]的含义为:以下标i为结尾的nums1和以下标j为结尾的nums2之间的公共最长子数组。 易得:递推公式为dp[i][j] dp[i-1][j-1] 1; 由此可以看出当…

stm32 之20.HC-06蓝牙模块

原理图显示使用usart3串口使用的是PB10和PB11引脚 直接配置usart3串口协议 void usart3_init(uint32_t baud) {GPIO_InitTypeDef GPIO_InitStructureure;USART_InitTypeDef USART_InitStructure;NVIC_InitTypeDef NVIC_InitStructure;//端口B硬件时钟打开RCC_AHB1PeriphClockC…

【洛谷】P1678 烦恼的高考志愿

原题链接:https://www.luogu.com.cn/problem/P1678 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 将每个学校的分数线用sort()升序排序,再二分查找每个学校的分数线,通过二分找到每个同学估分附近的分数线。 最后…

键入网址到网页显示,期间发生了什么?

目录 1.DNS2.可靠传输 —— TCP3.远程定位 —— IP4.两点传输 —— MAC5.出口 —— 网卡6.送别者 —— 交换机(可省略)7.出境大门 —— 路由器8.数据包抵达服务器后9.响应过程:带有MAC、IP、TCP头部的完整HTTP报文: 1.DNS 客户端…

Android---- 一个完整的小项目(消防app)

前言: 针对不同群体的需求,想着应该拓展写方向。医疗app很受大家喜欢,就打算顺手写个消防app,里面基础框架还是挺简洁 规整的。登陆注册和本地数据库写的便于大家理解。是广大学子的毕设首选啊! 此app主要为了传递 消防…

【HCIP】08.ISIS中间系统

链路状态协议,传递LSA信息ISIS基于数据链路层封装在OSI时,也有自己的网络层地址和自己的路由协议,即ISIS。之前的ISIS支持OSI的网络层地址,是为OSI中的CLNP(无连接网络协议)网络设计的路由协议,…

MySQL索引介绍 为什么mysql使用B+树

什么是索引? 索引是一种用于快速查询和检索数据的数据结构,常见的索引结构有:B树,B树和Hash。 索引的作用就相当于目录。打个比方,我们在查字典的时候,如果没有目录,那我们就只能一页一页的去…

Keepalived+Lvs(dr)调度器主备配置小实验

目录 前言 一、实验拓扑图 二、配置LVS(dr)模式 三、配置调配器热备 四、测试 总结 前言 Keepalived和LVS(Linux Virtual Server)是两个常用的开源软件,通常结合使用以提供高可用性和负载均衡的解决方案。 Keepalive…

node和前端项目宝塔部署

首先需要一台服务器 购买渠道:阿里云、腾讯云、百度云、华为云 一、以阿里云为例 购买esc 可临时购买测试服务器 二、安装宝塔 复制公网ip地址 通过Xshell 进行账号密码的连接 连接后访问宝塔官网 宝塔面板下载,免费全能的服务器运维软件 找到自己…

使用PyMuPDF添加PDF水印

使用Python添加PDF水印的博客文章。 C:\pythoncode\new\pdfwatermark.py 使用Python在PDF中添加水印 在日常工作中,我们经常需要对PDF文件进行处理。其中一项常见的需求是向PDF文件添加水印,以保护文件的版权或标识文件的来源。本文将介绍如何使用Py…

C++入门:内联函数,auto,范围for循环,nullptr

目录 1.内联函数 1.1 概念 1.2 特性 1.3 内联函数与宏的区别 2.auto关键字(C11) 2.1 auto简介 2.2 auto的使用细则 2.3 auto不能推导的场景 3.基于范围的for循环(C11) 3.1 范围for的语法 3.2 范围for的使用方法 4.指针空值nullptr(C11) 4.1 C98中的指针空值 1.内联…

C#使用自定义的比较器对版本号(编码)字符串进行排序

给定一些数据,如下所示: “1.10.1.1.1.2”, “1.1”, “2.2”, “1.1.1.1”, “1.1.3.1”, “1.1.1”, “2.10.1.1.1”, “1.1.2.1”, “1.2.1.1”, “2.5.1.1”, “1.10.1.1”, “1.10.2.1”, “1.11.3.1”, “1.11.12.1”, “1.11.11.1”, “1.11.3.1”, “1”, “…

rabbitmq的发布确认

生产者将信道设置成 confirm 模式,一旦信道进入 confirm 模式, 所有在该信道上面发布的 消息都将会被指派一个唯一的 ID (从 1 开始),一旦消息被投递到所有匹配的队列之后,broker 就会发送一个确认给生产者(包含消息的唯一 ID)&…

14、缓存预热+缓存雪崩+缓存击穿+缓存穿透

缓存预热缓存雪崩缓存击穿缓存穿透 ● 缓存预热、雪崩、穿透、击穿分别是什么?你遇到过那几个情况? ● 缓存预热你是怎么做到的? ● 如何避免或者减少缓存雪崩? ● 穿透和击穿有什么区别?它两一个意思还是截然不同&am…

如何提高企业生产效率与安全性?设备报修管理系统有什么用?

随着现代工业技术的不断发展,企业生产设备变得越来越复杂,出现故障的可能性也随之增加。设备故障不仅会降低企业的生产效率,还可能导致生产安全事故的发生。为了更好地管理维护生产设备,提高生产效率和安全性,本文将向…

RedisTemplate和StringRedisTemplate的区别、对比

学习 Jedis、RedisTemplate、StringRedisTemplate之间的比较 博客中提到:一. Jedis是Redis官方推荐的面向Java的操作Redis的客户端。 二. RedisTemplate,StringRedisTemplate是SpringDataRedis中对JedisApi的高度封装。SpringDataRedis相对于Jedis来说可以方便地更…

数据库(DQL,多表设计,事务,索引)

目录 查询数据库表中数据 where 条件列表 group by 分组查询 having 分组后条件列表 order by 排序字段列表 limit 分页参数 多表设计 一对多 多对多 一对一 多表查询 事物 索引 查询数据库表中数据 关键字:SELECT 中间有空格,加引…

day4 驱动开发

【ioctl函数的使用】 1.概述 linux有意将对设备的功能选择和设置以及硬件数据的读写分成不同的函数来实现。让read/write函数专注于数据的读写,而硬件功能的设备和选择通过ioctl函数来选择 2.ioctl函数分析 int ioctl(int fd,unsigned long request) 通过&…

[Linux]进程状态

[Linux]进程状态 文章目录 [Linux]进程状态进程状态的概念阻塞状态挂起状态Linux下的进程状态孤儿进程 进程状态的概念 了解进程状态前,首先要知道一个正在运行的进程不是无时无刻都在CPU上进行运算的,而是在操作系统的管理下,和其他正在运行…

开启元宇宙农场的绝世盛宴——Fram world

近年科技突飞猛进,元宇宙横扫游戏与金融领域,其中震惊全球的Fram world,不仅为玩家带来崭新娱乐,更在游戏与经济的融合中掀起惊人革命!凭借Cardano基金会的强大支持,与英国英利区块链研究所的密切合作&…