尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
HRM-Text的AdamATan2优化器揭秘:atan2更新规则与EMA权重为何关键
HRM-Text的AdamATan2优化器揭秘atan2更新规则与EMA权重为何关键【免费下载链接】HRM-TextHRM-Text is a 1B text generation model based on the HRM architecture, strengthened by task completion and latent space reasoning.项目地址: https://gitcode.com/gh_mirrors/hr/HRM-TextHRM-Text 是一个基于 HRM 分层循环架构的 1B 参数文本生成基础模型以约 1/130 到 1/600 的训练算力就能完成从零预训练在多项基准测试中表现亮眼。支撑这一效率的除了架构设计还有一个常被忽视的主角——自研的AdamATan2 优化器它用atan2函数实现了一套尺度不变的参数更新规则再配合EMA 权重平滑机制共同构成了模型稳定、高质量收敛的关键。本文不带复杂代码带你读懂这两大核心机制的设计思路。 初识 AdamATan2百行代码里的两个核心设计整个优化器的实现非常精炼全部位于 models/adam_atan2.py 这一个文件中核心更新逻辑不足百行。它是在经典 Adam 的基础上做了两处手术更新规则把 Adam 的动量除以梯度均方根换成atan2角度运算让每一步更新幅度天然有界EMA 权重缓冲为每个参数额外维护一份指数滑动平均副本推理与导出时默认使用这份更平滑的权重。预训练入口 pretrain.py 中模型构建完成后立即创建AdamATan2实例学习率、betas、权重衰减与 EMA 衰减率全部来自配置文件。 揭秘 atan2 更新规则为什么角度比除法更稳标准 Adam动量除以梯度均方根传统 Adam含 AdamW的更新可以概括为一阶动量m梯度的指数移动平均代表方向二阶动量v梯度平方的指数移动平均代表波动幅度更新步lr × m̂ / √v̂带偏差修正问题在于除法没有上下界。当某个参数的√v̂极小时比如训练早期或梯度稀疏时更新步可能瞬间放大出现不稳定的跳变。AdamATan2用 atan2 把除法换成角度在 models/adam_atan2.py 中更新规则被改写为分母denom √v̂带偏差修正更新步 step_size × atan2(m, denom)atan2(y, x)返回的是角度其值域被天然限制在(-π/2, π/2)之间。这带来两个重要性质更新幅度有界无论梯度如何爆炸或稀疏单步更新最多约为1.57 × step_size从根本上消除了除法带来的极端跳变训练更加平稳无需 eps 兜底标准 Adam 需要人为添加一个极小量eps防止除零而atan2在分母趋近 0 时依然有良定义数值上更干净。隐藏的福利尺度不变性让分布式训练更省心atan2还有更妙的性质——尺度不变性如果把所有梯度统一放大或缩小c倍一阶动量放大c倍、√v̂也放大c倍而atan2(c·m, c·√v̂) atan2(m, √v̂)结果完全不变。这意味着优化器的方向只取决于梯度的相对模式与梯度绝对大小无关。正因如此pretrain.py 中可以直接禁用 FSDP 的梯度均分默认按卡数除以 world size多机多卡求和得到的梯度虽然更大但优化器行为保持一致省去了对学习率的换算和调参负担。 优化器一个 step 的完整流程结合 models/adam_atan2.py每一步更新按顺序做四件事顺序操作说明1权重衰减AdamW 式解耦衰减参数先整体乘1 - lr × weight_decay2更新动量m、v按 β1/β2 做指数滑动平均3atan2 更新按step_size × atan2(m, √v̂)更新参数4更新 EMAEMA 缓冲向当前参数做一步滑动平均其中偏差修正也做了取舍只对一阶动量修正step_size lr / (1 - β1^t)二阶项只修正开方后的分母逻辑简单且效果良好。⚖️ 为什么 EMA 权重关键EMA一份平滑版的参数副本随机梯度天然带噪声逐步步进的原始权重会不停震荡。EMAExponential Moving Average通过维护一份按衰减率γ平滑的参数副本相当于对训练轨迹做低通滤波得到更平滑、泛化更好的权重。在 models/adam_atan2.py 中每步更新后执行一次lerpEMA 状态随优化器一起随检查点保存不额外占用训练流程。评测与导出EMA 是默认主角项目对 EMA 的使用贯穿了完整生命周期这也正是它关键的原因推理评测simple_inference_engine.py 加载检查点后默认调用swap_ema()用 EMA 权重替换原始权重evaluation/engines.py 同样以 EMA 为默认。HF 格式导出conversion/convert_to_hf.py 中--ckpt_use_ema默认为true导出的模型权重就是 EMA 版本。swap_ema机制models/adam_atan2.py 实现了一个巧妙的原地交换——把参数与 EMA 缓冲对调评测完再换回即可几乎零拷贝开销。SFT 技巧从平滑权重出发微调微调场景下config/cfg_sft.yaml 把 EMA 衰减率从预训练的0.9999调高到0.999——因为 SFT 步数少约 1300 步更快的衰减率能让 EMA 缓冲区主要跟踪 SFT 轨迹评测时再使用 EMA 可获得小幅正则化收益。配合weights_only_resume_from_ematrue见 README 微调章节 与 pretrain.py微调开始时直接把预训练的 EMA 权重换入模型并重置优化器状态相当于从一份更平滑的起点出发微调避免原始权重中的噪声被放大。 让结果说话训练成本与基准测试对比下图是 HRM-Text 与同级模型的基准测试平均分对比按训练 FLOPs 与训练 token 数两种口径可以看到 HRM-Text 1B 在极低的训练成本下取得了同级最优的均衡表现——稳定的优化器更新与 EMA 权重平滑正是这种低成本高质量的重要支撑 速查AdamATan2 关键参数与配置文件参数预训练默认值配置文件学习率lr2.2e-4config/cfg_pretrain.yamlβ1 / β20.9 / 0.95config/cfg_pretrain.yaml权重衰减0.1config/cfg_pretrain.yamlEMA 衰减率0.9999SFT 为 0.999config/cfg_sft.yaml✅ 小结atan2 更新规则用有界的角度替代除法更新幅度天然受限、数值无需 eps 兜底还附带尺度不变性让 FSDP 分布式训练免去梯度换算EMA 权重为参数维护平滑副本评测、HF 导出默认使用微调时还可通过swap_ema从平滑权重出发是 HRM-Text 低成本高质量收敛的另一把钥匙。如果你想动手复现可以按 README.md 的流程启动预训练再在 evaluation/README.md 中了解评测细节优化器源码入口始终是一个文件——models/adam_atan2.py百行代码值得逐行一读。【免费下载链接】HRM-TextHRM-Text is a 1B text generation model based on the HRM architecture, strengthened by task completion and latent space reasoning.项目地址: https://gitcode.com/gh_mirrors/hr/HRM-Text创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

Spring Boot+Vue智慧校园平台开发实战:从设计到部署全流程

Spring Boot+Vue智慧校园平台开发实战:从设计到部署全流程

“智慧校园”这四个字听起来很宏大,但落到代码上,本质就是把学校的几类高频业务搬到线上:学生档案、课程选课、公告通知、宿舍报修、成绩查询。我最近完整落地过一套基于Spring Boot Vue的智慧校园信息管理平台,从数据库建模、后…

📅 2026/10/9 8:12:37
QLoRA量化微调实战:4GB显存跑通7B模型的完整工具链

QLoRA量化微调实战:4GB显存跑通7B模型的完整工具链

简介:本资源是面向AI算法工程师与大模型研究者的QLoRA量化微调工具包,专为在有限显存条件下高效微调大规模语言模型(LLM)而设计,解决高成本全参数微调难题,适用于学术研究、垂直领域适配及轻量级部署场景。…

📅 2026/10/9 8:12:37
Java局域网聊天室实战:Socket多线程C/S架构从设计到部署

Java局域网聊天室实战:Socket多线程C/S架构从设计到部署

简介:一份以“Java基于局域网的聊天室系统”为主题的毕业设计/课程设计项目资料,包含源代码与论文文档,适合计算机相关专业学生用于课程设计汇报、毕业设计撰写或局域网通信编程入门实践,能够帮助理解消息收发、用户管理等聊天室核…

📅 2026/10/9 8:12:37
MORE NEWS

更多资讯

📰

Spring Boot读写分离实战:基于AbstractRoutingDataSource与AOP轻量实现

简介:面向Spring Boot开发者的数据库读写分离实现指南,适合需要优化系统并发读性能、降低主库压力的中高级Java工程师。资源为单个PDF文档,大小约48KB,涵盖从主从库配置到代码层动态路由的完整思路。内容以AbstractRoutingDataSou…

📰

意大利艺术涂料值不值得做?从材料原理到施工避坑全解析

装修界这几年的风向转得很快,前几年大家还在纠结乳胶漆刷什么颜色、墙纸选什么花纹,现在越来越多的业主设计师一开口就问:意大利艺术涂料到底值不值得做?我在项目里跟艺术涂料打交道也有七八年了,经手过从几百平的大平…

📰

Java多线程进阶:Thread属性、线程中断与join方法实战排查指南

1. 从线程的“身份档案”说起:属性能告诉我们什么很多人在刚开始接触Java多线程时,习惯把Thread类当成一个“能跑东西的对象”来用:new一个Thread,重写run(),start(),完事。但对Thread本身自带的那一堆属性…

📰

t3code:面向移动开发者的沙盒调试与真机热更新工具

1. 项目概述:t3code 是什么?它解决的不是“工具问题”,而是开发流程断点t3code 这个名字乍看像某个开源库或小众 CLI 工具,但结合热搜词里高频出现的CLI、Electron、iOS、Android、electron打包apk、ios端ipa签名工具、android/da…

📰

软考高项120天备考规划:三科拆解、真题实战与论文冲刺全指南

上个月有朋友问我:软考高项到底要提前多久开始复习。他说网上众说纷纭,有人说一个月裸考就上岸,有人说考了三次还没过。我的答案一直都很统一——如果你是正常上班族、之前没有系统学过项目管理,那120天就是性价比极高的备考周期。…

📰

小样本工业预测:BP、RBF与PSO-RBF三模型实战指南

简介:本资源是一套面向机器学习初学者与进阶实践者的神经网络预测建模完整代码包,聚焦BP、RBF及PSO优化RBF三类模型在实际数据预测任务中的对比实现与性能分析。资源包含9个核心文件:3个MATLAB主程序(BP.m、RBF.m、RBFPSO.m&#…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬