training-pretrain
@xiciyang/training-pretrain — DSH 训练插件:可独立安装,依赖 @xiciyang/* 共享库
- Stars
- 1
- Language
- JavaScript
- Created
- Oct 20, 2026
- Updated
- Oct 20, 2026
Introduction
@xiciyang/training-pretrain
继续预训练(CPT):把原始语料切成确定性分片,用真实 GPU 在基座模型上继续训练,并对「权重真的变了」「格式没有崩」两件事分别取证。
DSH(DeepSeek Harness)插件包,同时可作为普通 Node 库使用。
它解决的问题
继续预训练最容易出现的两种假成功:
- 空操作——步数、loss 曲线都正常,权重其实没变。本包在训练前后取权重指纹,相同即判失败。
- 格式崩溃——下游指令能力被打没,而困惑度看起来还降了。本包在验收阶段跑格式门禁,并把结果与训练前的基线对比。
安装
dsh plugin add github:xiciyang/training-pretrain
要求:
- Node.js >= 20,
engines.dsh >= 0.2.0 < 0.3.0 - 真实训练需要 NVIDIA GPU + 容器运行时 + 训练镜像;不满足时
training_pretrain_health会逐项说明 - Python 框架(torch / transformers / peft / trl / accelerate)在
optionalDependencies中显式声明
工具面(DSH)
| 工具 | 作用 |
|---|---|
training_pretrain_prepare | 语料准备:分片、去重、领域留出、确定性切分、血缘与内容哈希 |
training_pretrain_train | 训练:预算闸门、权重指纹(init/after 双指纹)、checkpoint 保留、审计链 |
training_pretrain_validate | 验收:困惑度变化必须过有效性门禁;格式能力不得击穿底线 |
training_pretrain_rollback | 回退到指定 run;purge 只允许删本插件 run 目录 |
training_pretrain_get_report | 取人类可读报告 |
training_pretrain_health | 环境自检:GPU / 容器 / 镜像 / 基座 / serving 依赖,逐项可用性 |
配置(不把本机布局写死)
| 环境变量 | 用途 |
|---|---|
DSH_BASE_MODEL | 基座模型本地目录 |
DSH_SHARD_PATH | 原始语料分片(.json.gz,每行 {id, source, text}) |
DSH_MMLU_PATH | 评测数据路径(用于格式/能力门禁,可选) |
TRAINING_PRETRAIN_ROOT | 运行目录根(默认 ~/.ai-infra) |
测试
node tests/run.mjs
纯逻辑与契约测试在任何机器上应为绿;依赖本机历史产物的判据自检在产物缺失时显式 SKIP 并写明原因(汇总行打印 skipped 数),不伪装成通过。
安全边界
- 训练与合并需显式确认令牌;预算超限直接拒绝
- 回退只作用于本插件自己的 run 目录,越界路径被拒
- 审计为追加式哈希链,可第三方复算
许可
BSD-3-Clause。见 LICENSE。