用户可借助该项目简单、快速、高效地使用CANN平台进行LLM与多模态模型训练。项目提供典型模型和算法的优化样例,涵盖强化学习、预训练等场景,支持多种模型及特性,助力开发者提升训练效率。【此简介由AI生成】
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
modify pr template Co-authored-by: zhangkaiyu<hahazhky@163.com> # message auto-generated for no-merge-commit merge: !29 merge template into master modify pr template Created-by: zhangky_gitcode Commit-by: zhangkaiyu Merged-by: ascend-robot Description: modify pr template See merge request: cann/cann-recipes-train!29 | 10 个月前 | |
[feat] Add EAGLE3 speculative decoding to Code RL rollout pipeline Author: Hossam Amer <hossam.amer12@gmail.com> ## 描述 本 PR 在 Qwen3-1.7B Code RL 样例基础上,新增推测解码(EAGLE3 与 Suffix)支持,通过加速 vLLM Rollout 阶段的 Token 生成,实现端到端吞吐量提升 30%、训练步骤时间缩短 25%,且精度无损失。 核心设计: 1. 在 verl + vLLM-Ascend Rollout 流水线中集成 EAGLE3 与 Suffix 推测解码。 2. 新增逐步推测解码指标采集——草稿 Token 数、接受 Token 数、草稿接受率、平均接受长度及逐位置接受率。 3. 提供含推测解码与不含推测解码的对比训练脚本,便于基线复现。 补充改动: 1. 新增 vLLM 侧补丁(patches/vllm/),需在 vllm 目录下单独应用。 2. 0001、0002 verl 补丁及 build_dataset.py、scalebox.py 继承自基础样例,未作修改。 3. EAGLE3 草稿模型在 RL 训练期间保持冻结,接受率随训练进行缓慢下降,在线草稿模型训练作为未来工作列出。 ## 类型 - [x] 新功能 - [x] 文档内容更新 ## Checklist - [x] 我的代码遵循这个项目的代码风格 - [x] 我已经自己测试过我的代码 - [x] 我已经更新了相应的文档 - [x] 我已经在标题中正确使用了类型标签(feat) ## 其他信息 - 实验硬件:单机 8×910C,CANN 8.5.0 - 本 PR 包含 verl 与 vLLM 两侧补丁,需分别应用 Co-authored-by: hossamamer<hossam.amer12@gmail.com> # message auto-generated for no-merge-commit merge: !107 merge hossamamer/specrl into master [feat] Power Up Speculative Decoding in Reinforcement Learning Created-by: hossamamer Commit-by: hossamamer Merged-by: cann-robot Description: ## Description This PR adds speculative decoding support (EAGLE3 and Suffix) on top of the [Qwen3-1.7B Code RL recipe](../qwen3_code_toolcall), accelerating token generation during vLLM rollout and achieving 30% improvement in end-to-end throughput and 25% reduction in training step time without loss of accuracy. Core design: 1. Integration of EAGLE3 and Suffix speculative decoding into the verl + vLLM-Ascend rollout pipeline. 2. Per-step speculative decoding metrics collection — number of draft tokens, number of accepted tokens, draft acceptance rate, mean acceptance length, and per-position acceptance rates. 3. Paired training scripts with and without speculative decoding for easy baseline comparison. Additional changes: 1. New vLLM-side patch ( patches/vllm/) to be applied separately inside the vllm directory. 2. verl patches 0001, 0002 and build_dataset.py, scalebox.py are inherited from the base recipe without modification. 3. The EAGLE3 drafter is frozen during RL training; acceptance rate gradually decreases as the actor policy drifts — online drafter training is listed as future work. Throughput speedup results:  Accuracy comparison (spec decode vs. no spec decode):  Draft acceptance rate across RL training steps:  ## Type - [ ] Bug fix - [x] New feature - [ ] Refactor - [ ] Build process or tooling change - [x] Documentation update ## How to Test 1. Set up the environment following the steps in README_en.md 2. Deploy the ScaleBox service (port 8082) 3. Run the baseline training script: bash no_spec_rl_run.sh 4. Run the speculative decoding training script: bash spec_rl_run.sh 5. Use process_all_the_logs_sprl.py to compare throughput and accuracy metrics between the two runs ## Checklist - [x] My code follows the project's code style - [x] I have tested my code - [x] I have updated the relevant documentation - [x] I have used the correct type tag in the title (feat) ## Additional Notes - Experiment hardware: single node 8×910C, driver 25.2.1, CANN 8.5.0 - This PR includes patches for both verl and vLLM sides, which must be applied separately — see README_en.md for details ## 描述 本 PR 在 [Qwen3-1.7B Code RL 样例](../qwen3_code_toolcall) 基础上,新增推测解码(EAGLE3 与 Suffix)支持,通过加速 vLLM Rollout 阶段的 Token 生成,实现端到端吞吐量提升 30%、训练步骤时间缩短 25%,且精度无损失。 核心设计: 1. 在 verl + vLLM-Ascend Rollout 流水线中集成 EAGLE3 与 Suffix 推测解码。 2. 新增逐步推测解码指标采集——草稿 Token 数、接受 Token 数、草稿接受率、平均接受长度及逐位置接受率。 3. 提供含推测解码与不含推测解码的对比训练脚本,便于基线复现。 补充改动: 1. 新增 vLLM 侧补丁(patches/vllm/),需在 vllm 目录下单独应用。 2. 0001、0002 verl 补丁及 build_dataset.py、scalebox.py 继承自基础样例,未作修改。 3. EAGLE3 草稿模型在 RL 训练期间保持冻结,接受率随训练进行缓慢下降,在线草稿模型训练作为未来工作列出。 以下为吞吐量加速结果:  以下为精度对比(推测解码 vs. 无推测解码):  以下为 RL 训练过程中草稿接受率变化:  ## 类型 - [ ] Bug 修复 - [x] 新功能 - [ ] 重构 - [ ] 构建过程或辅助工具的变动 - [x] 文档内容更新 ## 如何测试 1. 按照 README.md 中的环境准备步骤配置环境 2. 部署 ScaleBox 服务(端口 8082) 3. 运行基线训练脚本:bash no_spec_rl_run.sh 4. 运行推测解码训练脚本:bash spec_rl_run.sh 5. 使用 process_all_the_logs_sprl.py 对比两次训练的吞吐量与精度指标 ## Checklist - [x] 我的代码遵循这个项目的代码风格 - [x] 我已经自己测试过我的代码 - [x] 我已经更新了相应的文档 - [x] 我已经在标题中正确使用了类型标签(feat) ## 其他信息 - 实验硬件:单机 8×910C,驱动 25.2.1,CANN 8.5.0 - 本 PR 包含 verl 与 vLLM 两侧补丁,需分别应用,详见 README.md See merge request: cann/cann-recipes-train!107 | 4 个月前 | |
[feat] Added ci for patches and updated needed script/patch/readme Co-authored-by: mystri<hanboyou@huawei.com> # message auto-generated for no-merge-commit merge: !78 merge ci-patches into master [feat] Added ci for patches and updated needed script/patch/readme Created-by: mystri Commit-by: mystri Merged-by: cann-robot Description: # CI流水线新增patch校验脚本 ---- ## 描述 请提供此Pull Request的预期功能,以方便检视。 ## 类型 - [ ] Bug 修复 - [ ] 新功能 - [ ] 重构(即不是新增功能,也不是修改bug的代码变动) - [x] 构建过程或辅助工具的变动 - [x] 文档内容更新 ## 如何测试 描述测试这个变更的步骤,包括哪些文件需要被修改。 按照以下场景创建pr。 这里上传不了图片,点击pr链接->评论区-> 查找以下内容,或评论Check_Patches触发。 流水线任务触发成功,任务链接 [65ad5ff8b4a1499d9353b9d1b9ae222c] 任务名称 状态 日志 下载链接 codecheck ✅ SUCCESS >>>>> SCA ✅ SUCCESS >>>>> anti_virus ✅ SUCCESS >>>>> Check_Pr ✅ SUCCESS >>>>> Check_Patches ✅ SUCCESS 或者❌ FAILED >>>>> 1. 观察Check_Patches状态 2. 点击Check_Patches,查看日志 ## 用例 1. 对照组:只是修复了readme和一个patch的路径错误(这个改动已经合入了,所以无需担心master分支)。应该能正确合入。 https://gitcode.com/cann/cann-recipes-train/pull/71/diffs Check_Patches状态应该为SUCCESS;日志显示脚本运行全流程。 2. Patch有问题 2.1 增加了一个路径有问题的patch - llm_rl/qwen3/patches/megatron/0001-megatron-bugfix-bad_path.patch apply这个patch时会报错。流水线应该能正确检测到这个问题。 https://gitcode.com/cann/cann-recipes-train/pull/67 Check_Patches状态应为❌ FAILED;日志应显示skipped+路径错误。 2.2 增加了一个合入点有问题的patch - llm_rl/qwen3/patches/mindspeed/0001-mindspeed-bugfix-bad_context.patch apply这个patch时会报错。流水线应该能正确检测到这个问题。 https://gitcode.com/cann/cann-recipes-train/pull/79 Check_Patches状态应为❌ FAILED;日志应显示上下文不匹配错误。 2.3 增加了2个有冲突的patch - 0001-megatron-bugfix-conflicting_patch1.patch和0002-megatron-bugfix-conflicting_patch2.patch apply这个patch时会报错。流水线应该能正确检测到这个问题。 https://gitcode.com/cann/cann-recipes-train/pull/80 Check_Patches状态应为❌ FAILED;日志应显示上下文不匹配错误。 3. Patch命名有问题:增加了若干个命名有问题的patch。 正确的命名标准:1. NNNN-(module)-(bugfix|feature)-description.patch,其中: - NNNN应为0001开始的递增序号。 - module和其所在的文件夹,例如 patches/vllm,应一致。 - 如果patch文件在应patches路径下,应该没有module。 - description中应只出现字母,数字,下划线;不能用连字符(-)。 - 至少在readme中出现一次。 流水线应该能正确检测并打印出它们都有什么错误。 https://gitcode.com/cann/cann-recipes-train/pull/66 ## Checklist: - [x] 我的代码遵循这个项目的代码风格 - [x] 我已经自己测试过我的代码 - [x] 我已经更新了相应的文档 - [x] 我已经在标题中正确使用了类型标签(例如: feat, fix, refactor, docs, test) ## 其他信息 **可检查的场景表** | STEP | 现象 | 结果 | | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ---------------------------------------------- | | 0. 预检查 | Git不可用 | 警告Git环境不可用;在根目录下git init. | | 0. 预检查 | 项目路径错误 | 报错,打印错误的路径,并退出 | | 0. 预检查 | 样例缺少 download_frameworks_source_code.sh build_project.sh apply_all_patches.sh | 报错,打印缺少的第一个文件,并退出 | | 1. 检查patch命名规范(NNNN-(module)-(bugfix \| feature)-description.patch) | 不符合Regex ^([0-9]{4})\-([A-Za-z0-9_]+)\-(bugfix|feature)\-([A-Za-z0-9_]+)\.patch$ | 记录错误[Naming error] 。 | | 1. 检查patch命名规范(NNNN-(module)-(bugfix \| feature)-description.patch) | description不符合:只出现字母,数字,下划线;不能用连字符(-) | 同上 | | 1. 检查patch命名规范(NNNN-(module)-(bugfix \| feature)-description.patch) | NNNN以非0001开头 | 记录错误[Number error],起始序号错误。 | | 1. 检查patch命名规范(NNNN-(module)-(bugfix \| feature)-description.patch) | NNNN不符合递增自然数 | 记录错误[Number error],序号不符合递增自然数。 | | 1. 检查patch命名规范(NNNN-(module)-(bugfix \| feature)-description.patch) | module不符合所在文件夹 | 记录错误[Module mismatch]。 | | 1. 检查patch命名规范(NNNN-(module)-(bugfix \| feature)-description.patch) | README.md不存在 | 记录错误[Missing README.md]。 | | 1. 检查patch命名规范(NNNN-(module)-(bugfix \| feature)-description.patch) | patch名未在项目README.md中出现过 | 记录错误[Missing reference]。 | | 1. 检查patch命名规范(NNNN-(module)-(bugfix \| feature)-description.patch) | **记录了以上任何错误** | 打印报错并退出 | | 2. 下载 | 下载过程中(执行download_frameworks_source_code.sh, git clone)报错 | 打印报错并退出 | | 3. Build project | 构建过程中(执行build_project.sh, 从下载目录复制文件)报错 | 打印报错并退出 | | 4. Apply patches | patch语法错误,apply时报错 | 记录错误的patch文件,不会继续apply。 | | 4. Apply patches | patch路径问题,apply时跳过 | 记录跳过的patch文件,继续apply。 | | 4. Apply patches | patch上下文不能对应文件,apply时报错 | 记录错误的patch文件,不会继续apply。 | | 4. Apply patches | 前一个patch apply后,上下文改动导致后一个patch无法apply,apply时报错 | 记录错误的patch文件,不会继续apply。 | | 4. Apply patches | **有任何文件因为以上情况被跳过或导致apply报错** | 打印报错/跳过的patch文件并退出。 | See merge request: cann/cann-recipes-train!78 | 8 个月前 | |
[feat] add torchtitan_npu deepseek-v3.2 32K pretrain example Co-authored-by: 汪超<wangchao725@huawei.com> Co-authored-by: xubin787<mark19980312@126.com> Co-authored-by: qianbi1999<zhoujian157@huawei.com> Co-authored-by: caojingyi<caojingyi2@huawei.com> Co-authored-by: 1Fire4<wangdingyi2@huawei.com> Co-authored-by: xuyujun<xuyujun5@hisilicon.com> Co-authored-by: lrwei0709<weijinyi3@huawei.com> Co-authored-by: zhangky<zhangkaiyu4@hisilicon.com> # message auto-generated for no-merge-commit merge: !98 merge torchtitan_npu into master [feat] add torchtitan_npu deepseek-v3.2 32K pretrain example Created-by: qq_41667743 Commit-by: xuyujun;caojingyi;xubin;lrwei0709;zhangky;汪超;qq_41667743;1Fire4;wangchao;qianbi1999;xubin787 Merged-by: cann-robot Description: # Pull Request 模板 ---- ## 描述 基于torchtitan,在64卡Atlas A3集群上完成DeepSeek-V3.2模型32K长序列预训练复现。 ## 类型 - [ ] Bug 修复 - [x] 新功能 - [ ] 重构(即不是新增功能,也不是修改bug的代码变动) - [ ] 构建过程或辅助工具的变动 - [ ] 文档内容更新 ## 如何测试 按照readme文件指引操作可以实现代码的正确运行 ## Checklist: - [x] 我的代码遵循这个项目的代码风格 - [x] 我已经自己测试过我的代码 - [x] 我已经更新了相应的文档 - [x] 我已经在标题中正确使用了类型标签(例如: feat, fix, refactor, docs, test) ## 其他信息 在这里可以添加任何与这个 Pull Request 相关的其他说明。 See merge request: cann/cann-recipes-train!98 | 6 个月前 | |
[fix] bugfix for deepseekv32 README parquet2json and chmod commands Co-authored-by: p00465316<panchao13@huawei.com> # message auto-generated for no-merge-commit merge: !105 merge fix_readme into master [fix] bugfix for deepseekv32 README parquet2json and chmod commands Created-by: panchao-gitcode Commit-by: p00465316 Merged-by: cann-robot Description: # Pull Request 模板 ---- ## 描述 请提供此Pull Request的预期功能,以方便检视。 ## 类型 - [x] Bug 修复 - [ ] 新功能 - [ ] 重构(即不是新增功能,也不是修改bug的代码变动) - [ ] 构建过程或辅助工具的变动 - [x] 文档内容更新 ## 如何测试 描述测试这个变更的步骤,包括哪些文件需要被修改。 ## Checklist: - [x] 我的代码遵循这个项目的代码风格 - [x] 我已经自己测试过我的代码 - [x] 我已经更新了相应的文档 - [x] 我已经在标题中正确使用了类型标签(例如: feat, fix, refactor, docs, test) ## 其他信息 在这里可以添加任何与这个 Pull Request 相关的其他说明。 See merge request: cann/cann-recipes-train!105 | 5 个月前 | |
[fix] add qwen3-32b env script in README Co-authored-by: h00887734<huyuanquan1@huawei.com> # message auto-generated for no-merge-commit merge: !109 merge fix_readme into master [fix] add qwen3-32b env script in README Created-by: h00887734 Commit-by: h00887734 Merged-by: cann-robot Description: # Pull Request 模板 修复issue[#54](https://gitcode.com/cann/cann-recipes-train/issues/54),补充了qwen3-32b模型RL训练启动脚本需要的环境变量。 ## 描述 请提供此Pull Request的预期功能,以方便检视。 ## 类型 - [✅] Bug 修复 - [ ] 新功能 - [ ] 重构(即不是新增功能,也不是修改bug的代码变动) - [ ] 构建过程或辅助工具的变动 - [ ] 文档内容更新 ## 如何测试 描述测试这个变更的步骤,包括哪些文件需要被修改。 ## Checklist: - [✅] 我的代码遵循这个项目的代码风格 - [✅] 我已经自己测试过我的代码 - [✅] 我已经更新了相应的文档 - [✅] 我已经在标题中正确使用了类型标签(例如: feat, fix, refactor, docs, test) ## 其他信息 在这里可以添加任何与这个 Pull Request 相关的其他说明。 See merge request: cann/cann-recipes-train!109 | 4 个月前 | |
[refactor] Restructure project directory structure Co-authored-by: qianbi1999<zhoujian157@huawei.com> # message auto-generated for no-merge-commit merge: !50 merge master into master [refactor] Restructure project directory structure Created-by: qianbi1999 Commit-by: qianbi1999 Merged-by: turing_project1 Description: ## 描述 修改了目录结构,将 rl_train拆分为llm_rl、agent_rl、multimodal_rl和llm_sft。 ## 类型 - [ ] Bug 修复 - [ ] 新功能 - [x] 重构(即不是新增功能,也不是修改bug的代码变动) - [ ] 构建过程或辅助工具的变动 - [ ] 文档内容更新 ## 如何测试 描述测试这个变更的步骤,包括哪些文件需要被修改。 ## Checklist: - [x] 我的代码遵循这个项目的代码风格 - [ ] 我已经自己测试过我的代码 - [x] 我已经更新了相应的文档 - [x] 我已经在标题中正确使用了类型标签(例如:feat, fix, refactor, docs, test) ## 其他信息 在这里可以添加任何与这个 Pull Request 相关的其他说明。 See merge request: cann/cann-recipes-train!50 | 8 个月前 | |
[refactor] Restructure project directory structure Co-authored-by: qianbi1999<zhoujian157@huawei.com> # message auto-generated for no-merge-commit merge: !50 merge master into master [refactor] Restructure project directory structure Created-by: qianbi1999 Commit-by: qianbi1999 Merged-by: turing_project1 Description: ## 描述 修改了目录结构,将 rl_train拆分为llm_rl、agent_rl、multimodal_rl和llm_sft。 ## 类型 - [ ] Bug 修复 - [ ] 新功能 - [x] 重构(即不是新增功能,也不是修改bug的代码变动) - [ ] 构建过程或辅助工具的变动 - [ ] 文档内容更新 ## 如何测试 描述测试这个变更的步骤,包括哪些文件需要被修改。 ## Checklist: - [x] 我的代码遵循这个项目的代码风格 - [ ] 我已经自己测试过我的代码 - [x] 我已经更新了相应的文档 - [x] 我已经在标题中正确使用了类型标签(例如:feat, fix, refactor, docs, test) ## 其他信息 在这里可以添加任何与这个 Pull Request 相关的其他说明。 See merge request: cann/cann-recipes-train!50 | 8 个月前 | |
modify deepseek readme | 11 个月前 | |
docs: update contribution guide | 4 个月前 | |
modify docs Co-authored-by: zangyan<zangyan@huawei.com> # message auto-generated for no-merge-commit merge: merge master into master modify docs Created-by: flyswa Commit-by: zangyan Merged-by: zhangky_gitcode Description: modify docs See merge request: cann/cann-recipes-train!15 | 11 个月前 | |
modify license to Apache2.0 Co-authored-by: zhangkaiyu<hahazhky@163.com> # message auto-generated for no-merge-commit merge: !32 merge master into master modify license to Apache2.0 Created-by: zhangky_gitcode Commit-by: zhangkaiyu Merged-by: turing_project1 Description: # Pull Request 模板 ---- ## 描述 请提供此Pull Request的预期功能,以方便检视。 ## 类型 - [ ] Bug 修复 - [ ] 新功能 - [ ] 重构(即不是新增功能,也不是修改bug的代码变动) - [ ] 构建过程或辅助工具的变动 - [x] 文档内容更新 ## 如何测试 描述测试这个变更的步骤,包括哪些文件需要被修改。 ## Checklist: - [ ] 我的代码遵循这个项目的代码风格 - [ ] 我已经自己测试过我的代码 - [x] 我已经更新了相应的文档 - [ ] 我已经在标题中正确使用了类型标签(例如: feat, fix, refactor, docs, test) ## 其他信息 在这里可以添加任何与这个 Pull Request 相关的其他说明。 See merge request: cann/cann-recipes-train!32 | 10 个月前 | |
[docs] Add Qwen3 Code RL examples Co-authored-by: Taosong Fang<constfrost@foxmail.com> Co-authored-by: Jason Zheng<zhengjiasheng2022@iscas.ac.cn> # message auto-generated for no-merge-commit merge: !93 merge readme-update into master [docs] Add Qwen3 Code RL examples Created-by: jszheng21 Commit-by: Jason Zheng;jszheng21;Taosong Fang Merged-by: cann-robot Description: # 增加 Qwen3 Code RL 实验 ---- ## 描述 - 添加 Qwen3-4B 的 Code RL 实验结果,包括模型性能和训练曲线 - 添加 Qwen3-30B-A3B 的 Code RL 实验结果,包括模型性能和训练曲线 - 在仓库主 Readme 中增加了基于 ScaleBox 沙盒的 Code RL 训练样例入口 ## 类型 - [ ] Bug 修复 - [ ] 新功能 - [ ] 重构(即不是新增功能,也不是修改bug的代码变动) - [ ] 构建过程或辅助工具的变动 - [x] 文档内容更新 ## 如何测试 描述测试这个变更的步骤,包括哪些文件需要被修改。 ## Checklist: - [x] 我的代码遵循这个项目的代码风格 - [x] 我已经自己测试过我的代码 - [x] 我已经更新了相应的文档 - [x] 我已经在标题中正确使用了类型标签(例如: feat, fix, refactor, docs, test) ## 其他信息 在这里可以添加任何与这个 Pull Request 相关的其他说明。 See merge request: cann/cann-recipes-train!93 | 6 个月前 | |
[license] fix license in Third_Party_Open_Source_Software_Notice Co-authored-by: ZhangHZ<zhanghaozhuo1@hisilicon.com> # message auto-generated for no-merge-commit merge: !55 merge master into master [license] fix license in Third_Party_Open_Source_Software_Notice Created-by: zhanghz1 Commit-by: ZhangHZ Merged-by: turing_project1 Description: # Pull Request 模板 ---- ## 描述 请提供此Pull Request的预期功能,以方便检视。 ## 类型 - [x] Bug 修复 - [ ] 新功能 - [ ] 重构(即不是新增功能,也不是修改bug的代码变动) - [ ] 构建过程或辅助工具的变动 - [ ] 文档内容更新 ## 如何测试 描述测试这个变更的步骤,包括哪些文件需要被修改。 ## Checklist: - [x] 我的代码遵循这个项目的代码风格 - [x] 我已经自己测试过我的代码 - [x] 我已经更新了相应的文档 - [x] 我已经在标题中正确使用了类型标签(例如: feat, fix, refactor, docs, test) ## 其他信息 在这里可以添加任何与这个 Pull Request 相关的其他说明。 See merge request: cann/cann-recipes-train!55 | 8 个月前 |
cann-recipes-train
🚀Latest News
- [2026/02] 新增DeepSeek-V3.2模型torchtitan 框架预训练样例。
- [2026/02] 新增Qwen3系列模型RL训练使能npugraph_ex图模式样例。
- [2025/12] 新增Qwen2.5/Qwen3模型Code RL长上下文代码生成强化学习样例。
- [2025/12] 新增Qwen3系列模型RL训练使能SAM投机推理、tool agent RL样例。
- [2025/11] Qwen3模型长序列RL样例首次上线。
- [2025/10] DeepSeek-R1、Qwen2.5模型样例首次上线。
🎉概述
cann-recipes-train仓库旨在针对LLM与多模态模型训练业务中的典型模型、算法,提供基于CANN平台的优化样例,方便开发者简单、快速、高效地使用CANN平台进行模型训练。
✨实践列表
| 实践 | 简介 |
|---|---|
| DeepSeek-R1 RL训练优化样例 | 基于开源veRL框架,搭配MindSpeed+vLLM-Ascend框架,在Atlas A3集群实现GRPO算法的高吞吐RL训练,并达到120TPS/卡的系统吞吐量。 |
| 基于verl框架的Qwen2.5强化学习(入门样例) | 基于Qwen2.5-1.5B-Instruct模型,采用verl强化学习框架,在MATH-lighteval数学推理数据集上进行了训练。本样例只需要单卡Atlas A2环境,帮助大家快速上手,使用昇腾NPU完成RL训练任务。 |
| Qwen3-235B-A22B RL训练优化样例 | 基于开源veRL框架,搭配MindSpeed+vLLM-Ascend框架,在Atlas A3集群实现GRPO/DAPO算法的长序列 2k+32k训练,GRPO达到120TPS/卡的系统吞吐量。 |
| Qwen3-32B RL训练使能SAM投机推理样例 | 基于开源veRL框架,搭配MindSpeed+vLLM-Ascend框架,在Atlas A3集群,GRPO/DAPO算法的2k+32k训练场景下,使能SAM投机推理特性,达成10%性能提升。 |
| Qwen3 tool agent RL训练样例 | 基于verl/recipe中的retool项目,调用Sandbox工具,使能asyncLLM和agent_loop特性,在昇腾NPU上完成端到端agent RL训练任务。 |
| 基于ScaleBox沙盒的Code RL训练样例 | 基于verl框架和ScaleBox代码沙盒,支持长上下文(2k+16k) Code RL训练,Qwen3-30B-A3B在LiveCodeBench上Pass@1从46.59提升至56.27。 |
| DeepSeek-V3.2 Pretrain训练样例 | 基于torchtitan,在64卡Atlas A3集群上完成DeepSeek-V3.2模型32K长序列预训练复现。 |
特性介绍
本项目在探索最佳实践的过程中引入了如下特性:
| 特性 | 介绍 |
|---|---|
| SAM无损投机推理 | docs/features/sam_speculative_decoding.md |
| RL On-Policy 推理场景的序列级均衡调度引擎 | docs/features/rollout_rebalance.md |
📖目录结构说明
├── docs # 优化技术介绍文档
├── llm_rl # llm强化学习训练相关代码
│ ├── deepseek # deepseek强化学习训练相关代码
│ ├── qwen2_5 # Qwen2.5强化学习训练相关代码
│ ├── qwen3 # Qwen3强化学习训练相关代码
│ └── ...
├── agent_rl # agent强化学习训练相关代码
│ ├── qwen3_tool_agent # Qwen3 tool agent RL训练
│ ├── qwen2_code_rl # 基于ScaleBox沙盒的Code RL训练
│ └── ...
├── multimodal_rl # 多模态强化学习训练相关代码
├── llm_sft # llm有监督微调训练相关代码
├── llm_pretrain # llm预训练相关代码
├── CONTRIBUTION.md
├── README.md
└── ...