SuperAPI AI 工具集

nemo-mbridge-perf-sequence-packing

智能体与模型

查看项目

更新于 10-16 04:33

技能介绍

用途:在 Megatron-Bridge 中校验并使用序列打包(sequence packing)与长上下文训练,涵盖 LLM 离线打包 SFT、VLM 批内打包及长上下文基线。

主要能力:提供 PackedSequenceSpecs 配置、CP/序列并行下的对齐要求、CUDA graphs 的 pad_cu_seqlens 设置,以及模型侧校验断言与运行期约束说明。

使用方式:LLM 离线打包 SFT 设置 cfg.train.micro_batch_size=1、dataset/model seq_length 一致,并配置 pad_to_max_length 与 PackedSequenceSpecs;启用 CP 时需设置 calculate_per_token_loss=True、average_in_collective=False,pad_seq_to_mult 取上下文并行相关倍数;VLM 批内打包设置 cfg.dataset.pack_sequences_in_batch=True 且 micro_batch_size>1。长上下文基线调大 seq_length 并设 context_parallel_size。

验证命令:uv run python -m pytest tests/unit_tests/training/utils/test_packed_seq_utils.py -v,以及 test_config.py 与 test_vlm_step.py 的 -k 筛选命令;预期分别 8、14、2 passed。

限制:离线打包 SFT 与 VLM 批内打包微批规则相反;打包支持因模型族而异,Qwen3-Next、GLM-4.5、Qwen3.5-VL 存在显式禁用;MTP 微调与打包序列不兼容;pad_cu_seqlens 需配套元数据 JSON,否则初始化断言失败。具体收费与平台信息暂未提供。