Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
195db27
feat(rollout): add Prism Omni generation and frozen teacher hooks
kaysonyu Oct 12, 2026
2d2d6fc
feat(rollout): manage disaggregated Omni replicas and weight publication
kaysonyu Oct 12, 2026
06d20bd
feat(prism): add native Megatron model and model-only DCP initialization
kaysonyu Oct 12, 2026
3c22a24
feat(training): reuse native GRPO and OPD for RVQ and sampled stop ac…
kaysonyu Oct 12, 2026
cae9a38
feat(prism): map native physical weights to Omni HF tensors
kaysonyu Oct 12, 2026
93ee0e4
test(prism): add real GPU learner and NCCL publication smoke runners
kaysonyu Oct 12, 2026
1ab6b47
feat(prism): add GRPO and domain MOPD recipes with managed frozen tea…
kaysonyu Oct 12, 2026
72b8312
fix(omni): isolate replica rendezvous from learner and platform ranks
kaysonyu Oct 12, 2026
64c162c
docs(prism): record GPU assets and reproducible publication checks
kaysonyu Oct 12, 2026
9326056
test(prism): retain pre-update scores and codebook alignment diagnostics
kaysonyu Oct 12, 2026
556b6b1
test(prism): compare native scoring against projection and HF numeric…
kaysonyu Oct 12, 2026
ff19e5e
test(prism): isolate SwiGLU fusion effects on replayed action scores
kaysonyu Oct 12, 2026
33c6392
test(prism): compare actual SGLang and native RMS normalization kernels
kaysonyu Oct 12, 2026
f06e7e0
fix(omni): initialize actor logging for committed policy versions
kaysonyu Oct 12, 2026
dcd77d4
feat(training): monitor mean trajectory maximum action logprob mismatch
kaysonyu Oct 12, 2026
736f2da
docs(prism): document action diagnostics and isolated Ray training de…
kaysonyu Oct 12, 2026
a31d82f
fix(training): restore policy publication versions after standard che…
kaysonyu Oct 12, 2026
9086e0e
docs(prism): record native GRPO MOPD and dual-replica resume GPU acce…
kaysonyu Oct 12, 2026
676d90e
refactor(prism): use Megatron native Transformer Engine attention
kaysonyu Oct 12, 2026
5eb33e5
docs(prism): record native TE attention and full RL resume GPU valida…
kaysonyu Oct 12, 2026
b35d72e
refactor(training): isolate model-only initialization behind a generi…
kaysonyu Oct 12, 2026
e231fa3
fix(prism): allow CPU architecture configuration without CUDA driver …
kaysonyu Oct 12, 2026
004dc78
feat(prism): route rewards by sample category
kaysonyu Oct 12, 2026
00b6f41
fix(prism): correct instruction reward category spelling
kaysonyu Oct 12, 2026
5483fa0
docs(training): record generic initializer and native-to-RL resume GP…
kaysonyu Oct 12, 2026
a5a362a
Merge per-sample Prism reward categories into RL integration
kaysonyu Oct 12, 2026
21b20fb
test(prism): verify mixed reward categories through native GRPO grouping
kaysonyu Oct 12, 2026
a444f03
feat(prism): enable colocated Omni training with tensor weight updates
kaysonyu Oct 12, 2026
356d64b
fix(prism): use eager prefill with colocated memory saving
kaysonyu Oct 12, 2026
deb731c
fix(training): keep offload allocator aligned with Ray preload hooks
kaysonyu Oct 12, 2026
7dd578a
fix(omni): preserve frozen teacher weights across memory offload
kaysonyu Oct 12, 2026
8bcae7e
docs(prism): record single-GPU tensor publication and full resume val…
kaysonyu Oct 12, 2026
afe9181
perf(training): keep models resident through scheduled checkpoint saves
kaysonyu Oct 12, 2026
7bc660d
docs(prism): record checkpoint residency timing comparison
kaysonyu Oct 12, 2026
d59461e
fix(megatron): preserve NumPy product compatibility for checkpointing
kaysonyu Oct 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/workflows/pr-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -982,6 +982,10 @@ jobs:
"num_gpus": 0,
"test_file": "test_rm_deepscaler.py"
},
{
"num_gpus": 0,
"test_file": "test_prism_reward_categories.py"
},
{
"num_gpus": 0,
"test_file": "test_sample.py"
Expand Down
38 changes: 38 additions & 0 deletions INSPIRE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Prism RL 资产

适用范围:账号 `kayson`,用户指定的 `CQ-科研驾驶舱` 工作空间,项目 `多模态自进化科学模型`。调度配额、可用 GPU 和平台状态每次从 Inspire Live 查询;本文件只记录共享资产及环境合同。

| 资产 | 固定位置 / 身份 |
| --- | --- |
| Native Prism 预训练 RUN | `/inspire/qb-ilm2/project/cq-scientific-cooperation-zone/public/yangxiaogui/mossLite/RUNs/delivery/pretrain/prism_pretrain_1.7B_v0.4.0` |
| 本次导出 iteration | `checkpoints/iter_0100000`,模型组件为其 `model/` DCP |
| 对应 HF/Omni 制品 | `/inspire/ssd/project/cq-scientific-cooperation-zone/public/kyu/src/vox/artifacts/prism17b-v04/hf-iter-0100000` |
| Codec | `/inspire/qb-ilm2/project/cq-scientific-cooperation-zone/public/kyu/models/MOSS-Audio-Tokenizer-v2` |
| 转换命令与检查记录 | `/inspire/ssd/project/cq-scientific-cooperation-zone/public/kyu/src/vox/artifacts/prism17b-v04/conversion-command.sh`、`conversion-report.json` |
| GPU 容器镜像 | `voxrl:editable-v1-slim`;固定镜像 digest `sha256:f98aa62c7a9926dd7ab42925953459dc33f759f78654692cbea8293abf2dc484` |
| 隔离训练 Python | `/inspire/ssd/project/cq-scientific-cooperation-zone/public/kyu/src/vox/artifacts/prism17b-v04/gpu-validation/training-env/bin/python` |
| Omni Python | 镜像内 `/opt/venvs/core/bin/python` |

HF 制品由 mossLite 的官方 native 转换工具在 CPU 上生成。结构为 24 RVQ、32 物理层、H2048、MLP-only 28–31、BF16;执行中的重复层保留物理参数共享。模型初始化使用 native DCP 模型组件,RL 续训使用 slime 自己的完整 checkpoint。

首次初始化通过通用 `--custom-megatron-model-initializer-path` 指定 Prism 插件,来源使用 `--pretrained-checkpoint`,可选 step 使用 `--ckpt-step`。源 checkpoint 格式识别留在插件中;显式 `--load` 完整恢复优先。示例环境变量仍使用 `PRISM_PRETRAINED_CHECKPOINT` / `PRISM_PRETRAINED_STEP`,训练主包没有对应的 Prism 专属参数。

Prism learner 使用 Megatron 原生 TE layer spec 与 `TEDotProductAttention`,后端沿用 Megatron 默认 `auto` 选择。模型包不再直接依赖 `flash_attn.cute` wrapper;TE 根据实际环境选择底层 attention kernel。Omni 的推理后端由其独立配置和运行时选择。

训练 Python 的 NumPy 1.26.4、Transformers 5.0.0、SciPy 1.14.1、PyArrow 18.1.0 安装在独立 venv;通过其 `.pth` 和 NVIDIA runtime 符号链接引用镜像内的 Torch/TE。PyArrow 版本需要同时兼容 NumPy 1 与 Ray 的序列化,单独导入 Ray 不足以验证这一项。Omni 使用原 core 的 NumPy 2.3.5、Transformers 5.12.1。两者引用相同的 Torch 2.13.0+cu130 和 TE 2.17.0 二进制,Megatron Core 为 0.19.0。这份训练 venv 依赖镜像内 `/opt/` 的库位置,应在上述 GPU 镜像中使用。

启动 Ray head/node 时也使用训练 Python,保证其默认 worker 解释器具备相同的训练依赖。Omni 的独立 Python 由 `--omni-python` 指定。不要通过继承到 Omni 子进程的 `PYTHONPATH` 切换 NumPy/Transformers 版本。

GPU 验收源码使用 `git archive <完整 SHA>` 写入各验收入口独立的 `source/<SHA>/` 子目录,真实绝对路径由 source manifest 记录。每次 workload 使用新的结果目录,保留完整响应、逐动作分数、发布版本和清理结果;运行中的 snapshot 不修改。临时 workload 名称与结果属于验收记录,不作为永久服务地址。

本项目后续 GPU 验收的大文件输出放在 `/inspire/qb-ilm2/project/cq-scientific-cooperation-zone/public/kyu/vox-slime-validation/prism17b-v04/`。其中 `ray-attempt-005/checkpoint/` 是使用明确标注的工程奖励产生的完整 RL checkpoint,作为 optimizer 与断点恢复的验证 fixture;它不代表语音质量训练结果。CPU 工具、HF 制品与代码入口的原共享路径保留。

共卡运行使用同一镜像与训练 Python。经过验证的 Omni 源码解释器入口为
`/inspire/ssd/project/cq-scientific-cooperation-zone/public/kyu/src/vox/artifacts/prism17b-v04/gpu-validation/colocate-smoke/attempt-006/omni-python`;
该 wrapper 在原 `/opt/venvs/core/bin/python` 前固定 Omni 源码路径,源码 SHA 记录在同目录
`sources.json`。设置 `OMNI_PYTHON` 指向此入口、`COLOCATE=1`,单卡 Ray 使用一个 GPU,
并设置 `ACTOR_GPUS_PER_NODE=ROLLOUT_GPUS=GPUS_PER_NODE=1`。

QB 根目录中的 `colocate-005/fresh/checkpoint/` 与 `colocate-006/resume/checkpoint/`
是工程奖励下的共卡完整 RL checkpoint fixture;联合报告为 `colocate-006/verification.json`。
端口、Ray head 和平台 workload 均为临时资源,后续运行重新分配。
Loading
Loading