Skip to content

[WIP]NPU optimizations for Qwen3.5 9B & 35B - #308

Open
Lw135 wants to merge 5 commits into
redai-studio:mainfrom
Lw135:ascend-dev-0908
Open

[WIP]NPU optimizations for Qwen3.5 9B & 35B#308
Lw135 wants to merge 5 commits into
redai-studio:mainfrom
Lw135:ascend-dev-0908

Conversation

@Lw135

@Lw135 Lw135 commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Summary

Brings the latest SGLang NPU optimizations for Qwen3.5 9B & 35B into ascend-dev-0908 (!70 merge), plus multi-node FLA training support on top: a new Ray head/worker NPU entrypoint, AscendC GDN backend enabled for the 35B-A3B colocate run, and a Dockerfile upgrade to Ascend910_9392 with flash-linear-attention-npu v26.6.0.

Key Changes

1. SGLang NPU Optimization Pack (sglang-npu.patch ~3.1k / sgl-kernel-npu.patch ~2.9k lines)

  • GDN / hybrid linear attention NPU backend: recurrent AscendC fusion, QKVZBA packing, exp-race fused Triton kernel, full-attention & TP fusion
  • MoE: front-routing fusion, weight prefetch, DeepEP token dispatcher updates
  • Mamba: radix cache extra_buffer scheduling, bf16 SSM dtype
  • New switches (multi-stream, async exponential, prefill delayer, task queue), fastokens tokenizer, EAGLE speculative-sampling kernels
  • sgl-kernel-npu: fused fused_qkvzba_conv1d, fused_sigmoid_gating_recurrent, chain/tree speculative kernels; per-target builds for Ascend910_9382

2. Multi-Node FLA Training

  • New scripts/entrypoint/local-npu-multinode.sh (~145 lines): Ray head/worker cluster bootstrap — head starts Ray and waits for all workers; workers poll the head GCS port and join with retries; delegates to ray-job.sh when RAY_ADDRESS is already set
  • 35B-A3B colocate script: switches to the multinode entrypoint and branches head/worker on MASTER_ADDR == POD_NAME; enables AscendC GDN backend (MINDSPEED_BRIDGE_GDN_BACKEND=ascendc); MODEL_DIR/DATA_DIR default to EXP_DIR; disables --sglang-mamba-scheduler-strategy extra_buffer

3. NPU Dockerfile Upgrades

  • SOC_VERSION_FOR_SGL_BUILD bumped Ascend910_9382Ascend910_9392; patches applied via git am
  • flash-linear-attention-npu v26.1.0 → v26.6.0; fla_npu now built via pip wheel flow instead of build.sh
  • Install fastokens 0.3.1

4. Training Scripts

  • New run-qwen35-9B-8xnpu-colocate.sh: Qwen3.5-9B DAPO-math colocate training (TP4, THD, dynamic batch size, fastokens tokenizer)

  • Reworked run-qwen35-35B-A3B-16xnpu-colocate.sh: 2×16 NPUs, TP8/PP2/EP16, THD with 20480 tokens/GPU, mem fraction 0.85, --overlap-grad-reduce / --overlap-param-gather, full NPU optimization env flags (SGLANG_NPU_*, ASCEND_USE_FIA, etc.)

  • loss:

image
  • performance:
Env Job perf/train_wait_time (s) perf/train_time (s) perf/step_time (s)
910C-hdk26.0.rc1 qwen35-35B-A3B(16x910C gbs128) step 1~35 AVG 192.14 81.72 273.86
H800 qwen35-35B-A3B(16xH800 gbs128) step 1~35 AVG 141.71 88.01 229.71
compare - 0.74 1.08 0.84

5. Runtime Fix

  • reloadable_process_group.py: skip post-destroy delay on NPU (post_destroy_delay = 0.0)

Major Commits

Commit Description
597b703 !70 merge: add latest sglang optimize & clean code for sglang
062af1b feat(npu): support multi-node FLA training

Lw135 and others added 2 commits September 9, 2026 10:08
Merge branch 'wqw_base_lw_dev_0808' into ascend-dev-0808

feat(docker): upgrade NPU env to CANN 9.0.0 with FLA and MindSpeed-Ops

# ⭐ Feature

## Upgrade CANN base image and toolchain

- Upgrade CANN base image from 8.5.1-a3 to 9.0.0-a3
- Upgrade torch_npu from v2.9.0-7.3.0 to v26.0.1-pytorch2.9.0
- Upgrade triton-ascend from 3.2.0 to 3.2.1

## Add AscendC Flash Linear Attention (FLA) support

- Clone and build fla_npu from flash-linear-attention-npu v26.1.0
- Compile causal_conv1d and gated_delta_rule ops for ascend910_93

## Add MindSpeed-Ops support

- Clone, checkout and install MindSpeed-Ops
- Add mindspeed-ops.patch for gated_delta_rule autotune key fix

---
# ♻️ Refactor

## Restructure Dockerfile build order

- Move torch/torch_npu install before repo clone
- Delay COPY . /root/Relax to just before patching
- Consolidate Megatron-Bridge into Megatron-LM via cp instead of separate path
- Install MindSpeed-Bridge with --no-deps to avoid circular dependency

## Migrate mindspeed-bridge to FLA ops

- Replace causal_conv1d from causal_conv1d with FLA implementation
- Replace mindspeed_ops l2norm with naive_l2norm fallback
- Switch to flash_gated_delta_rule when FLA is available

---
# 🐛 Bug Fix

## Fix various compatibility issues

- Fix autotune key in gated_delta_rule kernel by removing USE_G and IS_VARLEN
- Fix lambda closure bug in transformer_config_init_subclass (use default arg binding)
- Fix attention_mask dtype from int32 to bool in model preprocess
- Fix vision model config with MoE permute fusion disabled
- Handle OmegaConf DictConfig/ListConfig in remove_non_pickleables
- Guard apex MixedFusedLayerNorm import with is_npu_available check

## Update sgl-kernel-npu

- Upgrade sgl-kernel-npu checkout from 2026.04.15.rc3 to 2026.7.2
- Remove obsolete cherry-pick workaround

feat(docker): upgrade NPU env to CANN 9.0.0 with FLA and MindSpeed-Ops

feat(docker): upgrade NPU env to CANN 9.0.0 with FLA and MindSpeed-Ops

# ⭐ Feature

## Upgrade CANN base image and toolchain

- Upgrade CANN base image from 8.5.1-a3 to 9.0.0-a3
- Upgrade torch_npu from v2.9.0-7.3.0 to v26.0.1-pytorch2.9.0
- Upgrade triton-ascend from 3.2.0 to 3.2.1

## Add AscendC Flash Linear Attention (FLA) support

- Clone and build fla_npu from flash-linear-attention-npu v26.1.0
- Compile causal_conv1d and gated_delta_rule ops for ascend910_93

## Add MindSpeed-Ops support

- Clone, checkout and install MindSpeed-Ops
- Add mindspeed-ops.patch for gated_delta_rule autotune key fix

---
# ♻️ Refactor

## Restructure Dockerfile build order

- Move torch/torch_npu install before repo clone
- Delay COPY . /root/Relax to just before patching
- Consolidate Megatron-Bridge into Megatron-LM via cp instead of separate path
- Install MindSpeed-Bridge with --no-deps to avoid circular dependency

## Migrate mindspeed-bridge to FLA ops

- Replace causal_conv1d from causal_conv1d with FLA implementation
- Replace mindspeed_ops l2norm with naive_l2norm fallback
- Switch to flash_gated_delta_rule when FLA is available

---
# 🐛 Bug Fix

## Fix various compatibility issues

- Fix autotune key in gated_delta_rule kernel by removing USE_G and IS_VARLEN
- Fix lambda closure bug in transformer_config_init_subclass (use default arg binding)
- Fix attention_mask dtype from int32 to bool in model preprocess
- Fix vision model config with MoE permute fusion disabled
- Handle OmegaConf DictConfig/ListConfig in remove_non_pickleables
- Guard apex MixedFusedLayerNorm import with is_npu_available check

## Update sgl-kernel-npu

- Upgrade sgl-kernel-npu checkout from 2026.04.15.rc3 to 2026.7.2
- Remove obsolete cherry-pick workaround


[NPU] update sglang


fix(megatron): attach _hf_config for MTP bridge when pp>1

# 🐛 Bug Fix

## Fix bridge mapping registry failure with PP > 1

- Set model_bridge._hf_config from bridge.hf_pretrained.config when missing

chore(docker): refresh NPU patch set

# 🔩 Chore

## Sync NPU patches

- Add sgl-kernel-npu.patch (1847 lines)
- Update sglang-npu.patch (+1070 lines)
- Update mindspeed.patch / mindspeed-bridge.patch / megatron patches

build(docker): upgrade NPU image to CANN 9.0.0

# 🔩 Chore

## Upgrade NPU Dockerfile dependencies

- Bump base image CANN 8.5.1 → 9.0.0
- Upgrade torch_npu to v26.0.1 (PyTorch 2.9.0)
- Upgrade triton-ascend 3.2.0 → 3.2.1

feat(npu): add Qwen3.5 MTP SFT/training scripts

feat(npu): add Qwen3.5 MTP training scripts for 0821

# ⭐ Feature

## Add Qwen3.5 MTP training launch scripts

- run_qwen35-35B-pokemon-sft-mtp-8xnpu.sh: Qwen3.5-35B-A3B MTP SFT on pokemon-gpt4o-captions, 8xNPU single-node, ray-submit launch
- run_qwen35-35B-A3B-16xnpu-colocate-thd.sh: Qwen3.5-35B-A3B colocate THD training on 16xNPU
- run_qwen35_9B_mtp_8xnpu_thd.sh: Qwen3.5-9B MTP THD training on 8xNPU

---

# 🐛 Bug Fix

## Fix EXP_DIR silently overridden by MODEL_DIR default

- EXP_DIR now uses its own default with MODEL_DIR following EXP_DIR, matching the 9B THD script pattern

---

# 🔩 Chore

## Align script naming and comments

- Rename scripts to the 8xnpu naming convention and drop duplicated .sh suffix
- Remove commented-out --qkv-format bshd / --micro-batch-size 1 lines
- Sync Usage comments with actual script names


Revert "fix(megatron): attach _hf_config for MTP bridge when pp>1"

This reverts commit 57809b4.

fix: update qwen35 mtp mapping in mindspeed-bridge.patch for relax bridge_converter.py

fix(npu): rename Qwen3.5-9B CP script to 16xnpu

feat(npu): add Qwen3.5-9B CP training script

# ⭐ Feature

## Add Qwen3.5-9B CP colocate training script

- Add run-qwen35-9B-8xnpu-cp.sh for DAPO math training with TP4/CP4 on 16 NPUs
- Set MINDSPEED_BRIDGE_GDN_USE_TORCH_CONV=1 to use torch conv fallback for GDN

## Support GDN causal conv on NPU via fla_npu

- Replace causal_conv1d with fla_npu in mindspeed-bridge.patch GDN layer
- Add MINDSPEED_BRIDGE_GDN_USE_TORCH_CONV env switch to fall back to torch conv

---

# 🐛 Bug Fix

## Fix repatch ordering before Megatron init

- Move repatch(args) before init(args) in MegatronTrainRayActor so bridge patches apply during initialization

fix(npu): rename Qwen3.5-9B CP script to 16xnpu

# 🐛 Bug Fix

## Fix Qwen3.5-9B CP script naming for 16 NPUs

- Rename run-qwen35-9B-8xnpu-cp.sh to run-qwen35-9B-16xnpu-cp.sh to match the actual 16-NPU setup
- Update header comment to 16xNPU and log filename to qwen35-9B-GRPO-npu16

docs(npu): add feature support table

# 📝 Documentation

## Add feature support table to NPU training guide

- Add 特性支持 table covering Qwen3.5-9B CP, Qwen3.5-9B MTP, and Qwen3.5-35B-A3B SFT MTP with reference scripts
- Update 下一步 checklist from feature support to performance optimization
- Fix MTP row minimum card count to 4卡 to match the script's 8 NPUs


fix(gitleaks): drop /mnt/ defaults in NPU scripts

# 🔒 Security

## Remove hardcoded internal paths from Qwen3.5 NPU scripts

- Replace /mnt/tidalfs-hwwh01 EXP_DIR defaults with the repo-standard `${SCRIPT_DIR}/../../../../exps` in run_qwen35-35B-pokemon-sft-mtp-8xnpu.sh, run_qwen35-35B-A3B-16xnpu-colocate-thd.sh and run_qwen35_9B_mtp_8xnpu_thd.sh
- Replace bare /mnt/ placeholder in run-qwen35-9B-16xnpu-cp.sh with the same repo-standard default
- Switch the SFT script DATA_DIR default to the `${DATA_DIR:-${EXP_DIR}}` convention used by all other training scripts

---

# 🎨 Style

## End-of-file fixer

- Remove trailing blank line from docker/Dockerfile.npu

Co-Authored-By: Claude <noreply@anthropic.com>

update Dockerfile.npu

optimizer npu update_weights

Add optimized 9B&35B NPU colocate script

Add optimized 9B&35B NPU sglang patch

Add optimized 9B&35B NPU sgl-kernel-npu patch

FIX dockerfile build error

Fix sgl-kernel-npu patch

[clean code] sglang&kernel patch
feat(NPU): add latest sglang optimize

Created-by: llxll
Commit-by: liyongwen;jufanbo;wuqiwei;dabuliu123;lixionglong;Tgz27
Merged-by: llxll
Description: ## What

add latest sglang optimize &  clean code for sglang

## Why

<!-- Why are these changes needed? Link related issues with "Fixes redai-studio#123" or "Relates to #456". -->

## How

<!-- How do the changes work? Describe the technical approach. -->

## Testing

<!-- How were the changes tested? Include commands, test results, or screenshots. -->

- [ ] `pre-commit run --all-files` passes
- [ ] Tests pass (`pytest tests/`)
- [ ] New tests added (if applicable)
- [ ] Documentation updated (if applicable)

## Type of Change

- [ ] Bug fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
- [ ] Documentation update
- [ ] Refactoring (no functional changes)
- [ ] Performance improvement
- [ ] CI/CD or build changes

## Screenshots / Logs

<!-- If applicable, add screenshots or log output to help explain the changes. -->


See merge request: hw-pbclouds/Relax!70
@Lw135 Lw135 changed the title Ascend dev 0908 [WIP]SGLang NPU optimizations for Qwen3.5 9B & 35B Sep 9, 2026

@rai-studio-bot rai-studio-bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

未发现需要阻塞合入的确定性问题;脚本配置问题及修复建议已放在行级评论中。

两份补丁可应用到镜像固定的上游版本,Python 3.10–3.12 CI 测试均通过;pre-commit 仍因两份补丁的末尾换行失败。本次未运行算子数值及多节点训练验证,审查环境缺少所需 NPU 硬件。

Powered by Nyanpasu with gpt-6-astra medium, please check the suggestions carefully.

Comment thread scripts/training/text/run-qwen35-35B-A3B-16xnpu-colocate.sh Outdated
"${MISC_ARGS[@]}" 2>&1 | tee log/qwen35-35B-MATH-gpu16-sync-${now}.log
ray job submit ${RAY_NO_WAIT:+--no-wait} --address="http://${MASTER_ADDR}:8265" \
${WORKING_DIR:+--working-dir "${WORKING_DIR}"} \
--runtime-env-json="${RUNTIME_ENV_JSON}" \

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 优先级:P2

请在提交前将新增优化开关合入任务的 env_vars,两份脚本都需要覆盖。连接已有 Ray 集群时,local-npu.sh 会委托 ray-job-npu.sh;后者的 RUNTIME_ENV_JSON 只包含固定名单,没有这里新增的 SGLANG_NPU_*SGLANG_GMM2_TRITONMINDSPEED_BRIDGE_GDN_USE_TORCH_CONV 等变量。提交 shell 中的 export 不会更新已运行的 raylet 环境,导致该启动路径下部分优化实际未启用。可在环境初始化完成后、ray job submit 前按以下方式合并:

RUNTIME_ENV_JSON="$(python3 - <<'PY'
import json, os
env = json.loads(os.environ["RUNTIME_ENV_JSON"])
extra = {
    "CPU_AFFINITY_CONF", "TORCH_HCCL_ZERO_COPY", "MULTI_STREAM_MEMORY_REUSE",
    "HCCL_OP_EXPANSION_MODE", "ASCEND_USE_FIA", "GDN_ATTN_BACKEND_TRITON",
    "STREAMS_PER_DEVICE", "TASK_QUEUE_ENABLE",
}
env.setdefault("env_vars", {}).update({
    k: v for k, v in os.environ.items()
    if k.startswith(("SGLANG_", "MINDSPEED_BRIDGE_")) or k in extra
})
print(json.dumps(env))
PY
)"

Comment thread scripts/training/text/run-qwen35-9B-8xnpu-colocate.sh
Lw135 and others added 2 commits September 10, 2026 16:55
feat(npu): support multi-node FLA training

# ⭐ Feature

## Add multi-node NPU entrypoint

- Add `scripts/entrypoint/local-npu-multinode.sh` for Ray head/worker cluster setup
- Head node starts Ray head and waits until all worker nodes join
- Worker nodes poll head GCS port and join the cluster with retries

## Update Qwen3.5-35B colocate training script

- Switch entrypoint to local-npu-multinode.sh and branch head/worker on `MASTER_ADDR`
- Enable AscendC GDN backend via `MINDSPEED_BRIDGE_GDN_BACKEND=ascendc`
- Default `MODEL_DIR`/`DATA_DIR` to `EXP_DIR`
- Disable `--sglang-mamba-scheduler-strategy extra_buffer`

## Upgrade NPU docker image

- Bump `SOC_VERSION_FOR_SGL_BUILD` to Ascend910_9392
- Upgrade flash-linear-attention-npu v26.1.0 → v26.6.0
- Replace build.sh flow with pip wheel build flow for fla_npu

---

# 🎨 Style

## Normalize patch file endings

- Remove trailing blank lines in docker/npu_patch (pre-commit end-of-file-fixer)

fix(npu): scope colocate script to master node

# 🐛 Bug Fix

## Scope master-node training block

- Indent config and ray job submit under the master-node branch
- Remove dead worker-node else branch

## Disable SGLang radix cache

- Enable --sglang-disable-radix-cache in SGLANG_ARGS

---

# 🎨 Style

## Clean up training script

- Remove stale packing and micro-batch comments
- Normalize trailing whitespace and file endings (pre-commit)
feat(npu): support multi-node FLA training

Created-by: dabuliu123
Commit-by: dabuliu123
Merged-by: llxll
Description: Multi-node NPU training support.

## Add multi-node NPU entrypoint
- Add `scripts/entrypoint/local-npu-multinode.sh` for Ray head/worker cluster setup
- Head node starts Ray head and waits until all worker nodes join
- Worker nodes poll head GCS port and join the cluster with retries

## Update Qwen3.5-35B colocate training script
- Switch entrypoint to local-npu-multinode.sh and branch head/worker on `MASTER_ADDR`
- Enable AscendC GDN backend via `MINDSPEED_BRIDGE_GDN_BACKEND=ascendc`
- Default `MODEL_DIR`/`DATA_DIR` to `EXP_DIR`
- Disable `--sglang-mamba-scheduler-strategy extra_buffer`

## Upgrade NPU docker image
- Bump `SOC_VERSION_FOR_SGL_BUILD` to Ascend910_9392
- Upgrade flash-linear-attention-npu v26.1.0 -> v26.6.0
- Replace build.sh flow with pip wheel build flow for fla_npu


See merge request: hw-pbclouds/Relax!71

@rai-studio-bot rai-studio-bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

已复查新增的多节点入口和 FLA 构建调整。发现一项会让已有 Ray 集群启动路径静默跳过训练提交的回归,建议修复后再合入;具体证据和可应用修复见新增行级评论。

此前的参数拼写问题已被禁用 radix cache 的新配置取代;环境变量传递和 9B 路径默认值问题仍未解决,沿用原线程。补丁末尾换行问题已修复,当前 CI 全部通过。已完成脚本语法检查及隔离启动模拟;未执行完整 NPU 镜像构建,算子数值和训练集成验证因缺少多节点 NPU 硬件而未运行。

  • P3 优先级:P3 非行级:PR 描述尚未同步新增提交。描述仍写 Ascend910_9382,并将 35B 的配置概括为 radix cache / extra_buffer,与当前代码不符。请更新为 Ascend910_9392、FLA v26.6.0 wheel 构建及 35B 禁用 radix cache,并补充新多节点入口所需的 MASTER_ADDRPOD_NAMEHOST_IP 配置和对应验证结果,便于复现。
Powered by Nyanpasu with gpt-6-astra medium, please check the suggestions carefully.

if [ -z "${RELAX_ENTRYPOINT_MODE:-}" ]; then
source "${SCRIPT_DIR}/../../entrypoint/local-npu-multinode.sh"
fi
if [ "$MASTER_ADDR" = "$POD_NAME" ]; then

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 优先级:P1

请保留已有 Ray 集群入口的提交路径。ray-job-npu.sh 会将 MASTER_ADDR 设置为节点 IP,而 POD_NAME 未设置或为 Pod 名称,因此这里的比较会跳过整个提交块。显式通过该入口启动,以及新 helper 检测到已有集群后委托该入口,都会受影响。隔离模拟 RELAX_ENTRYPOINT_MODE=ray-jobMASTER_ADDR=192.0.2.10、未设置 POD_NAME 时,实际脚本退出码为 0,却没有调用 ray job submit

多节点 helper 的 worker 分支已经阻塞在 sleep inf;返回调用方的已初始化入口应继续提交,无需再次比较 Pod 名称:

Suggested change
if [ "$MASTER_ADDR" = "$POD_NAME" ]; then
if [ -n "${RELAX_ENTRYPOINT_MODE:-}" ]; then

@Lw135 Lw135 changed the title [WIP]SGLang NPU optimizations for Qwen3.5 9B & 35B [WIP]NPU optimizations for Qwen3.5 9B & 35B Sep 11, 2026

@rai-studio-bot rai-studio-bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

描述已补充多节点入口、FLA v26.6.0 和新构建方式,上一轮描述建议已部分落实。代码未变化,已有集群下跳过训练提交的问题仍在,详见原行级评论。参数拼写问题已被新配置取代;环境变量传递问题仍未解决,9B 路径线程虽已标记解决,当前代码中的默认值仍未补齐。本次没有新增行级评论,CI 全部通过。

  • P3 优先级:P3 非行级:描述仍有未同步内容。请将第 1 节的内核构建目标 Ascend910_9382 改为 Ascend910_9392,在第 2 节明确 35B 启用了 --sglang-disable-radix-cache,并补充 MASTER_ADDRPOD_NAMEHOST_IP 的配置示例及新多节点路径的验证结果。这样可避免按旧目标构建,也能明确现有性能数据是否覆盖此次启动方式。
Powered by Nyanpasu with gpt-6-astra medium, please check the suggestions carefully.

@Michael-Salon

Copy link
Copy Markdown
Contributor

建议修改:
P1 — 35B 脚本在已有 Ray 集群模式下会跳过训练。
run-qwen35-35B-A3B-16xnpu-colocate.sh (line 67)
新增条件要求 MASTER_ADDR == POD_NAME 才提交任务,但 ray-job-npu.sh 将 MASTER_ADDR 设置为节点 IP,而 POD_NAME 是名称或未设置。通过已有集群入口运行时,条件为假,整个训练提交块被跳过。应仅在自行启动多节点集群时判断节点角色,已有集群模式直接提交。

P1 — 标称 8 卡的 9B 脚本实际申请 16 卡。
run-qwen35-9B-8xnpu-colocate.sh (line 196)
Actor、Rollout 资源和 --num-gpus-per-node 均设置为 16,可见设备也配置为 0–15。在实际 8 卡节点上无法满足资源申请;代码会阻塞在 placement group 的 ready() 等待。应统一改为 8 卡,或明确改成可配置的 16 卡 recipe。

P2 — 9B 脚本缺少模型和数据目录默认值。
run-qwen35-9B-8xnpu-colocate.sh (line 69)
只初始化了 EXP_DIR,随后直接使用 MODEL_DIR、DATA_DIR,被引用的本地入口也未设置它们。未额外导出变量时,路径会变成 /Qwen3.5-9B/ 和 /dapo-math-17k/...,无法读取通常放在实验目录下的文件。建议像其他 recipe 一样默认回退到 EXP_DIR,并检查路径存在。

@rai-studio-bot rai-studio-bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

已复查新提交:此前阻塞合入的 35B 已有集群提交回归已修复,9B 模型和数据目录默认值也已补齐,显式覆盖仍有效。两份脚本语法检查和隔离提交模拟通过,CI 全部通过;缺少多节点 NPU 硬件,未运行训练集成验证。

本轮未发现新的阻塞问题,没有新增行级评论。旧参数拼写问题已被新配置取代,环境变量传递问题仍沿用原线程。

  • P3 优先级:P3 非行级:描述建议仍部分未落实。请将内核构建目标统一为 Ascend910_9392,明确 35B 禁用 radix cache,并将角色判断说明更新为“由多节点入口负责,已有集群直接提交”;同时补充 MASTER_ADDRPOD_NAMEHOST_IP 配置示例及多节点验证结果,确保说明与修复后的启动流程一致。
Powered by Nyanpasu with gpt-6-astra medium, please check the suggestions carefully.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants