已关闭
[Requirement|需求建议]: 新增轻量 Qwen3-1.7B SFT AutoFuse Quickstart 示例 #214
Jett_Woo创建于  7月29日关闭于  7月29日
Jett_Woo成员
7月29日 创建

Background(背景信息)

现有 af_sft_benchmark 是重型多轮正式基准,依赖 Docker 编排、完整 lock 文件和复杂环境管理,不适合快速验证新 Ascend 环境上的 AutoFuse OFF/ON 方向性收益。

需要一个轻量、可直接在 Host 上运行的示例,帮助开发者在两卡 Ascend NPU 上快速完成 AF OFF/ON 短训练、配对 profiling 和中文报告生成,判断 AF 是否带来方向性正向收益。

Origin(信息来源)

Autofuse 团队提出,用于补充现有正式 benchmark,降低新环境验证门槛。

Benefit / Necessity(价值/作用)

  • 新机器 5 分钟内完成环境检查,判断 CANN、Python、NPU 是否满足要求。
  • 单轮 Quick 方向性证据,不等价于多轮正式收益,但能快速判断 AF 是否值得正式 benchmark。
  • README 驱动的单线流程,从零到报告无需额外编排工具。
  • 不依赖 triton_ascend,实测在仅安装 triton==3.7.0 时 AF ON 可正常完成训练。
  • 支持官方 Hugging Face 不可达时通过 HF_ENDPOINT=https://hf-mirror.com 镜像回退。

Design(设计方案)

目录结构

autofuse/examples/af_sft_quickstart/
├── .gitignore
├── README.md
├── check_env.sh
└── run_compare.sh

核心组件

  1. check_env.sh:只读检测 Linux/aarch64、Python 3.12、CANN 五类组件构建日期(>=20260715)、30 GiB 磁盘、两张不同 NPU 的逻辑到物理设备映射和字符设备节点。不安装或修改系统组件。

  2. run_compare.sh:强制 preflight 后串行执行四次任务——AF OFF 训练 10 steps、AF ON 训练 10 steps、AF OFF profiling 12 steps、AF ON profiling 12 steps。解析训练日志中 steps 6-10 的墙钟均值,解析 CANN step_trace_time.csv 中 Step 5-9 五行阶段均值,原子生成中文 report.md

  3. README.md:单线主流程,按前置条件、环境检查、安装依赖、源码项目、模型数据、Python/NPU smoke、运行对比、查看报告、常见问题和清理重跑顺序组织。所有成功路径命令只出现一次。

固定参数

参数
模型 Qwen3-1.7B(ModelScope)
数据 Wordle parquet(Hugging Face)
Global batch size 4
Sequence length 1024
训练 steps 10
Profiling steps 12
稳态窗口 steps 6-10
Profiling 窗口 [6,11),CSV Step 5-9
训练 seed 42
Profiling seed 43
NGPU 2

固定源码 commit

  • torchtitan: ac13e536c84e7f6647b14fa9375c3c8a8a2b8578
  • torchtitan-npu: 5830760386d590722c4acf694383f4e5c4c0ada1
  • torchair: 3c9418c2804fbb93c2ca5f0c6b9055cbc873f7d1

报告状态

训练状态:AF_ON_FASTERNO_GAINRUN_FAILED

Profiling 状态:COMPARABLEUNAVAILABLEINCOMPARABLE

训练墙钟是性能结论的主证据;profiling 只解释阶段变化,不替代训练结论。

验证方式

  • Shell 语法检查
  • 真实环境 preflight
  • 模型和数据 SHA-256 校验
  • 真实双卡 E2E

实测结果

在 CANN 20260715、两张 Ascend910、不安装 triton_ascend 的环境下,从空缓存完整执行 README 流程:

  • 四次运行退出码均为 0
  • 训练结论:AF_ON_FASTER
  • Profiling 状态:COMPARABLE
  • 训练收益:16.17%

关联 PR:#1396

likedislike
JJett_Woo成员
7月29日 修改了issue 的描述
Jett_Woo成员
7月29日 评论:

E2E 实测报告

以下报告由 quickstart 从零环境完整执行后自动生成,环境为 CANN 20260715、两张 Ascend910、不安装 triton_ascend

环境摘要

  • model (Qwen3-1.7B): be3fdbcd1bad72cd
  • data (train-00000-of-00001.parquet): 2399ff7276ee74fd
  • CANN (cann-9.2.0): 906fb96c9bdc61f9
  • CANN Toolkit: 20260715
  • CANN AutoFuse: 20260715
  • CANN Runtime: 20260715
  • CANN HCCL: 20260715
  • CANN OPP: 20260715
  • devices: 0,1

运行参数

  • global batch size: 4
  • sequence length: 1024
  • training steps: 10
  • profiling steps: 12
  • training seed: 42
  • profiling seed: 43

退出状态

  • AF OFF training: 0
  • AF ON training: 0
  • AF OFF profiling: 0
  • AF ON profiling: 0

结果

  • 训练结论:AF_ON_FASTER
  • Profiling 状态:COMPARABLE
  • OFF 平均耗时:0.8226 s
  • ON 平均耗时:0.6896 s
  • 训练收益:16.1682%

阶段聚合

  • Computing: OFF 423087 us, ON 383570 us
  • Communication(Not Overlapped): OFF 49173.3 us, ON 23807 us
  • Overlapped: OFF 19982.8 us, ON 46085.9 us
  • Free: OFF 605109 us, ON 327758 us
  • Stage: OFF 1.07737e+06 us, ON 735135 us

这是单轮 Quick 方向性证据,不等价于多轮正式收益;阶段时间不能直接归因于整网收益。

likedislike
JJett_Woo成员
7月29日 将 Jett_Woo 设为负责人
JJett_Woo成员
7月29日 issue状态由 进行中 改变为 已完成
JJett_Woo成员
7月29日 关闭了 issue
CANN-robotCANN-robot成员
7月29日 添加了label:resolved