开悟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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

libevent源码学习3---事件event

libevent源码学习3—事件event libevent 的基本操作单元是事件。每个事件代表一组条件的集合, 这些条件包括: 文件描述符已经就绪, 可以读取或者写入文件描述符变为就绪状态,可以读取或者写入(仅对于边沿触发 IO)超时事件发生某信号用户触发事件 所有事件具有相似的生命周期。…

CentOS ens160 显示disconnected

使用nmcli device查看网卡状态,显示如图: 检查宿主机系统VMware DHCP Sevice和VMware NAT Sevice服务是否正常运行。 右键点击我的电脑管理按钮,打开计算机管理点击服务

elementui的el-tabs标签页样式修改

一、官网样式: 二、修改样式 1.去掉下划线 效果: 代码: /* 去掉tabs标签栏下的下划线 */ ::v-deep .el-tabs__nav-wrap::after {position: static !important;/* background-color: #fff; */ } 2.改变下划线颜色 效果: 代码:…

JVM——垃圾回收(垃圾回收算法+分代垃圾回收+垃圾回收器)

1.如何判断对象可以回收 1.1引用计数法 只要一个对象被其他对象所引用,就要让该对象的技术加1,某个对象不再引用其,则让它计数减1。当计数变为0时就可以作为垃圾被回收。 有一个弊端叫做循环引用,两个的引用计数都是1&#xff…

STM32 printf函数

printf函数输出流程 用户调用printf()函数到C标准库调用printf函数相关部分,printf函数由编译器提供的stdio.h解析。包含在usart.h文件中。fputc()最终实现输出。用户需要根据最终输出的硬件重新定义该函数,此过程为:printf重定向。 printf的…

测试框架pytest教程(8)失败重试-pytest-rerunfailures

pytest-rerunfailures是一个pytest插件,用于重新运行失败的测试用例。当测试用例在第一次运行时失败,该插件会自动重新运行指定次数的失败用例,以提高稳定性和减少偶发性错误的影响。 要使用pytest-rerunfailures插件,需要按照以…

MySQL双主架构、主从架构

为什么要对数据库做优化? MySQL官方说法: 单表2000万数据就达到瓶颈了。所以为了保证查询效率,要让每张表的大小得到控制。 MySQL主主架构 主数据库都负责增删改查。 比如有1000W的数据,有两个主数据库,就将数据分流给…

学习网络编程No.4【socket编程实战】

引言 北京时间:2023/8/19/23:01,耍了好几天,主要归咎于《我欲封天》这本小说,听了几个晚上之后逐渐入门,在闲暇时间又看了一下,小高潮直接来临,最终在三个昼夜下追完了,哈哈哈&…

在 Pytorch 中使用 TensorBoard

机器学习的训练过程中会产生各类数据,包括 “标量scalar”、“图像image”、“统计图diagram”、“视频video”、“音频audio”、“文本text”、“嵌入Embedding” 等等。为了更好地追踪和分析这些数据,许多可视化工具应运而生,比如之前介绍的…

使用 ChatGPT 创建 PowerPoint 演示文稿

让 ChatGPT 成为您的助手来帮助您编写电子邮件很简单,因为众所周知,它非常能够生成文本。很明显,ChatGPT 无法帮助您做饭。但您可能想知道它是否可以生成文本以外的其他内容。在上一篇文章中,您了解到 ChatGPT 只能通过中间语言为您生成图形。在这篇文章中,您将了解使用中…

Ubuntu 配置国内源

配置国内源 因为众所周知的原因,国外的很多网站在国内是访问不了或者访问极慢的,这其中就包括了Ubuntu的官方源。 所以,想要流畅的使用apt安装应用,就需要配置国内源的镜像。 市面上Ubuntu的国内镜像源非常多,比较有…

PyTorch训练简单的生成对抗网络GAN

文章目录 原理代码结果参考 原理 同时训练两个网络:辨别器Discriminator 和 生成器Generator Generator是 造假者,用来生成假数据。 Discriminator 是警察,尽可能的分辨出来哪些是造假的,哪些是真实的数据。 目的:使…

小区新冠疫情管理系统的设计与实现/基于springboot的小区疫情管理系统

摘要 采用更加便于维护和使用的Java语言,其可拓展性高且更富于表现力,基于mysql数据库、Springboot框架开发的小区新冠疫情管理系统,方便用户查看物资信息、疫苗信息。通过Eclipse来进行网页编程,其方便易用、移植适用性广、更加安…

日志搞不定?手把手教你如何使用Log4j2

系列文章目录 从零开始,手把手教你搭建Spring Boot后台工程并说明 Spring框架与SpringBoot的关联与区别 SpringBean生成流程详解 —— 由浅入深(附超精细流程图) Spring监听器用法与原理详解 Spring事务畅谈 —— 由浅入深彻底弄懂 Transactional注解 面试热点详解…

装备制造企业如何执行精益管理?

导 读 ( 文/ 2358 ) 精益管理是一种以提高效率、降低成本和优化流程为目标的管理方法。装备制造行业具备人工参与度高,产成品价值高,质量要求高的特点。 在装备制造企业中实施精益管理可以帮助企业提高竞争力、提升生产效率并提供高质量的产品。本文将…

边缘计算节点BEC典型实践:如何快速上手PC-Farm服务器?

百度智能云边缘计算节点BEC(Baidu Edge Computing)基于运营商边缘节点和网络构建,一站式提供靠近终端用户的弹性计算资源。边缘计算节点在海外覆盖五大洲,在国内覆盖全国七大区、三大运营商。BEC通过就近计算和处理,大…

【算法日志】贪心算法刷题:单调递增数列,贪心算法总结(day32)

代码随想录刷题60Day 目录 前言 单调递增数列 贪心算法总结 前言 今天是贪心算法刷题的最后一天,今天本来是打算刷两道题,其中的一道hard题做了好久都没有做出来(主要思路错了)。然后再总结一下。 单调递增数列 int monotoneIncreasingDigits(int n…

Wlan——STA上线流程与802.11MAC帧讲解以及报文转发路径

目录 802.11MAC帧基本概念 802.11帧结构 802.11MAC帧的分类 管理帧 控制帧 数据帧 STA接入无线网络流程 信号扫描—管理帧 链路认证—管理帧 用户关联—管理帧 用户上线 不同802.11帧的转发路径 802.11MAC帧基本概念 802.11协议在802家族中的角色位置 其中802.3标…

Linux内核学习(八)—— 内存管理(基于Linux 2.6内核)

目录 一、页(page) 二、区(zone) 三、页操作 四、kmalloc() 五、vmalloc() 六、slab 分配器 七、在栈上的静态分配 一、页(page) 内核把物理页作为内存管理的基本单位。尽管处理器的最小可寻 …

网工内推 | 锐捷招云工程师,HCIE、CCIE、RHCE优先,25k*13薪

01 锐捷网络 招聘岗位:云方案工程师 职责描述: 1、负责云数据中心方案项目方案设计撰写、项目实施交付、故障处理、业务割接、客户培训、现场保障、网络优化、网络巡检等技术相关业务 2、负责云数据中心方案新技术文档沉淀、体系建设、工具开发等标准化…