From c992164e867f956cd1b877f81599023b2149bc8a Mon Sep 17 00:00:00 2001 From: huangduican Date: Tue, 20 Oct 2026 11:58:49 +0800 Subject: [PATCH] =?UTF-8?q?fix(specforge):=20=E4=BF=AE=E6=AD=A3=E9=85=8D?= =?UTF-8?q?=E6=96=B9=E6=96=87=E4=BB=B6=E5=90=8D=E5=B9=B6=E6=94=BE=E5=AE=BD?= =?UTF-8?q?=E7=9C=8B=E6=8A=A4=E5=AE=9A=E6=97=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 配方文件名跟随上游重命名(qwen3.5-4b-dflash-online-npu.yaml → qwen3.5-4b-dflash-npu.yaml),上游 sgl-project/SpecForge 在 2c13d847 里做了纯重命名,文档仍引旧名导致 specforge train 加载配方时 FileNotFoundError,看护持续失败。 - 看护定时从每 6 小时(40 */6)放宽到每天 2 次(40 */12)。 --- .github/workflows/specforge-quick-start.yml | 14 ++++++-------- sources/specforge/quick_start.md | 4 ++-- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/.github/workflows/specforge-quick-start.yml b/.github/workflows/specforge-quick-start.yml index e7f1001bb..ffcc8829b 100644 --- a/.github/workflows/specforge-quick-start.yml +++ b/.github/workflows/specforge-quick-start.yml @@ -29,14 +29,12 @@ concurrency: on: schedule: - # Run every 6 hours at minute 40 (00:40, 06:40, 12:40, 18:40) - - # offset from timm's :00, torchtune's :10, xtuner's :50 and the - # every-3h guards (axolotl/tgi/whisper_cpp :15, diffusers :20, - # peft :30, accelerate/llama_cpp :45) so the guards don't contend - # for NPU runners. Cadence is loose enough for an upstream that - # releases a few times a year, but tight enough that doc fixes - # propagate within a day. - - cron: '40 */6 * * *' + # Run twice a day at minute 40 (00:40, 12:40) - offset from the + # other guards so they don't contend for NPU runners. Twice-daily is + # enough for an upstream that releases a few times a year: doc fixes + # propagate within 12h, and a broken upstream recipe no longer gets + # re-retried 4x a day on the self-hosted NPU pool. + - cron: '40 */12 * * *' workflow_dispatch: # PR trigger: docs/tests changes get a guard run. paths filter avoids burning # the self-hosted NPU runner on unrelated PRs. `pull_request` (not diff --git a/sources/specforge/quick_start.md b/sources/specforge/quick_start.md index ede43f6b3..ef1944009 100644 --- a/sources/specforge/quick_start.md +++ b/sources/specforge/quick_start.md @@ -35,7 +35,7 @@ swr.cn-southwest-2.myhuaweicloud.com/base_image/dockerhub/lmsysorg/sglang:v0.5.1 | mooncake-transfer-engine | 0.3.13.post1(NPU prebuilt wheel) | | specforge | 最新 release 的源码 | | 模型 | [Qwen/Qwen3.5-4B](https://huggingface.co/Qwen/Qwen3.5-4B) | -| 参考样例 | `examples/configs/online/disaggregated/external/qwen3.5-4b-dflash-online-npu.yaml` | +| 参考样例 | `examples/configs/online/disaggregated/external/qwen3.5-4b-dflash-npu.yaml` | ## 前置安装 @@ -569,7 +569,7 @@ echo "$SHAREGPT_PATH" set -euo pipefail SPECFORGE_ROOT="${SPECFORGE_ROOT:-SpecForge}" TRAINER_DEVICE="${SPECFORGE_TRAINER_DEVICE:-1}" -RECIPE="${SPECFORGE_RECIPE:-examples/configs/online/disaggregated/external/qwen3.5-4b-dflash-online-npu.yaml}" +RECIPE="${SPECFORGE_RECIPE:-examples/configs/online/disaggregated/external/qwen3.5-4b-dflash-npu.yaml}" pushd "$SPECFORGE_ROOT" >/dev/null # 配方 output_dir 残留的 producer_claim / failed 标记会让 _claim_fresh_control_path 拒绝继续。 rm -rf outputs/qwen3.5-4b-dflash-npu-online