ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Model-Optimizer 投机解码草稿模型管线配置指南:为新增模型编写 launch.py Pipeline YAML

Model-Optimizer 投机解码草稿模型管线配置指南:为新增模型编写 launch.py Pipeline YAML 人工智能大模型模型优化模型量化模型压缩【免费下载链接】Model-OptimizerA unified library of SOTA model optimization techniques like quantization, distillation, pruning, neural architecture search, speculative decoding, etc. It compresses deep learning models for downstream deployment frameworks like TensorRT-LLM, TensorRT, vLLM, etc. to optimize inference speed.项目地址https://gitcode.com/GitHub_Trending/te/Model-Optimizer点击查看免费下载本篇技术指南对应 Model-Optimizer 仓库中 Speculative Decoding投机解码技能文档的Stage 1 —— Configure a new modelconfigure.md核心任务是当某个目标模型还没有对应的草稿模型训练管线时如何通过复制最接近的现有示例并改写在tools/launcher/examples/下从零产出一个可提交、可预览、可运行的 pipeline YAML。读完本文你将掌握投机解码EAGLE3 / DFlash / DSpark / Domino管线在 Model-Optimizer 中的任务编排方式、offline / online / streaming 三种变体的取舍、算法数据表的读法、GPU 规模估算方法以及uv run launch.py --dryrun的预览验证流程。前置知识Stage 与 Algorithm 两条轴在动手写配置之前需要先理解整个技能文档的划分逻辑见 SKILL.md投机解码草稿模型训练管线对所有算法而言形状相同——合成数据 → 抽取基座模型隐状态 → 训练草稿 → 评测接受率算法之间不同的是运行哪个训练脚本、加载哪份 recipe、调哪些旋钮、会遇到哪些典型故障。因此文档沿两条轴组织轴目录内容Stage阶段references/stages/与算法无关的操作流程Algorithm算法references/algorithms/每个算法的数据表脚本、recipe、旋钮、阈值、已知故障读配置阶段文件解决该做什么读算法数据表解决填什么值。当阶段文件说见算法数据表时指的就是references/algorithms/algorithm.md中同名的章节。四个算法各有一份数据表eagle3.md、dflash.md、dspark.md、domino.md而 references/algorithms/README.md 定义了每份数据表必须包含哪些章节标题## Pipeline tasks、## Recipe and training knobs、## Per-model adjustments、## Success markers、## Quality gate、## Known failures因为各阶段文件正是按这些标题引用它们的。所有算法的训练 recipe 统一位于modelopt_recipes/general/speculative_decoding/目录每个算法一份eagle3.yaml、dflash.yaml、dspark.yaml、domino.yaml。Stage 1 全流程四个步骤Step 1 —— 选择算法与变体创建tools/launcher/examples/Org/Model/config.yaml的第一步是找到最接近的参考示例。选择参考的标准是算法相同 形状相同与目标同为 dense 或同为 MoE、规模相近。例如 dense 模型参考 Qwen3-8B 的配置MoE 模型参考 Qwen3-30B-A3B 或 gpt-oss-20b 的配置。任务结构、args、容器、GPU/节点规模都直接体现在现有示例里从参考示例推断而不是手写。示例文件名本身编码了模式 算法两层信息格式为hf_mode_algorithm.yaml其中 mode 有三种offline先把基座模型的隐状态 dump 到磁盘再在隐状态上训练草稿。当目标模型太大、无法在训练时同时前向时这是默认选择online训练时实时前向基座模型streaming服务端通过 NIXL RDMA 把隐状态流式送到训练端不经磁盘见 hf_streaming_dflash.yaml 顶部注释。可以用通配符快速列出候选ls tools/launcher/examples/*/*/hf_*_algorithm.yaml需要特别注意的是任务数量由变体决定不由算法决定不要假定某个算法有固定的任务数。例如 EAGLE3 offline 是 4 个任务而 DFlash offline 只有 2 个任务dflash.md 明确指出online 3 任务、offline 2 任务、streaming 3 任务。必须照抄所选参考示例的任务布局。Step 2 —— 填充算法特定值从对应算法的数据表references/algorithms/algorithm.md取三组信息Pipeline tasks每个任务跑哪个脚本、任务之间通过什么产物路径衔接各任务共享/scratchspace传递产物Recipe and training knobs训练任务加载的 recipe 路径以及该模型需要哪些覆盖项Per-model adjustments随目标模型变化的非显而易见旋钮注意力类型、MoE 维度、tokenizer、trust_remote_code等。对于 offline 变体隐状态 dump 任务通常有多个后端可选vLLM / HF / TRT-LLM数据表的Pipeline tasks一节会说明如何选择详见下文dump 后端的选择。Step 3 —— 规模估算照抄参考示例的节点/GPU 数然后对照目标模型做合理性校验基座模型的 BF16 权重必须能装进为 serving 和 dump 任务分配的 GPU 显存。如果目标比参考大就相应放大tensor-parallel-size、gpus_per_node或nodes。这一约束在 hf_offline_eagle3.yaml 中可以直接看到task_0 的 TRT-LLM serving 使用--tp_size 8 --ep_size 8、nodes: 1、gpus_per_node: 8因为 Qwen3-8B 需 8 卡才能装下而 task_3 的 vLLM benchmark 同样--tp_size 8。Step 4 —— 预览dryrun提交真实任务之前先用--dryrun验证解析出的脚本、路径和容器cd tools/launcher uv run launch.py --yaml examples/Org/Model/config.yaml --dryrunlaunch.py 是 ModelOpt Launcher 的入口负责把 YAML 提交到 Slurm 集群支持--yaml指定配置、--yes确认提交并支持在命令行追加keyvalue覆盖 YAML 中的字段。确认 dryrun 输出无误后再正式提交uv run launch.py --yaml examples/Org/Model/config.yaml --yes算法数据表管线任务、Recipe 旋钮与逐模型调整EAGLE3自回归草稿头EAGLE3 是自回归草稿头在从目标模型 dump 出的隐状态上训练。offline 配置为4 个任务每个任务通过共享的/scratchspace把产物传给下一个任务脚本目的输出task_0common/vllm/query.sh或common/tensorrt_llm/query.sh数据合成——serve 目标模型生成 prompt/response 对/scratchspace/data/*.jsonltask_1common/eagle3/dump_offline_data_vllm.sh或_hf.sh/dump_offline_data.sh前向目标模型保存隐状态/scratchspace/offline_hidden_states/*.pttask_2common/eagle3/train_eagle.sh训练草稿头并导出/scratchspace/eagle3/model.safetensors、/scratchspace/export/task_3common/specdec_bench/quick_check.sh评测接受率与吞吐JSON 结果文件dump 后端的选择EAGLE3 与 DFlash offline 共用同一套 dump 脚本选择规则相同后端脚本何时使用vLLMcommon/eagle3/dump_offline_data_vllm.sh默认。借助 vLLM 原生隐状态抽取器覆盖广HFcommon/eagle3/dump_offline_data_hf.shVLM/多模态、自定义代码模型、滑动窗口注意力TRT-LLM 无法 serve 这些模型。使用device_mapautoTRT-LLMcommon/eagle3/dump_offline_data.sh纯文本且 TRT-LLM 支持的模型传--tp TP和--moe-ep EP经验法则VLM 或滑动窗口注意力用 HF其余用 vLLM只有当你明确想要 TRT-LLM 的内核时才对受支持的纯文本模型使用 TRT-LLM。Recipe 与训练旋钮训练加载 eagle3.yaml通过--config传train_eagle.sh用点分形式覆盖覆盖项说明model.model_name_or_path目标检查点data.offline_data_pathtask_1 的输出目录training.output_dir草稿检查点目的地training.training_seq_len训练 OOM 时先调低它training.per_device_train_batch_size仍 OOM 时再调低它training.learning_rateloss 为 NaN 或发散时调低training.ar_validate_steps设置为在训练期间运行 AR 验证recipe 默认值本身也很关键eagle3.yamlper_device_train_batch_size: 1、learning_rate: 1.0e-4、warmup_steps: 1000、training_seq_len: 2048、bf16: true、eagle_freeze_base_model: true、eagle_self_logit_distillation: true训练期间禁用 rope scalingrope_typedefaultYaRN 在导出阶段注入以服务长上下文。task_3 评测时用--speculative_algorithm EAGLE3选择算法。逐模型调整情形改动需要--trust-remote-code加到 task_0 的 server args--分隔符之前以及task_3 的 benchmark argsMoE 且专家隐层维度大在 recipe 的eagle.eagle_architecture_config下设置intermediate_size匹配模型的moe_intermediate_size。不存在eagle_config.json——草稿架构就定义在 recipe 里自定义 tokenizer如 tiktoken在 task_0 和 task_1 中把TIKTOKEN_RS_CACHE_DIR指向预填充的缓存路径VLM使用dump_offline_data_hf.sh——纯文本路径不调用视觉编码器滑动窗口注意力TRT-LLM 后端不可用改用 HF 或 vLLM训练不识别架构需要在modelopt/torch/speculative/中改代码——另开一个 ModelOpt PRpipeline YAML 无法修复DFlash块扩散草稿及其变体DFlash 是块扩散草稿一次前向预测一整块block_size个 token而不是自回归逐个预测。设计与结果记录在 examples/speculative_decoding/doc/dflash.md。DFlash 有三个变体且没有一个使用 EAGLE3 offline 的 4 任务形状online 3 任务、offline 2 任务、streaming 3 任务必须从所用配置读取任务数。Onlinehf_online_dflash.yaml——训练时前向基座模型任务脚本目的输出task_0common/specdec/dflash_online_training.sh训练草稿并导出output_dir/checkpoint-*、output_dir/exported-checkpoint-*task_1common/specdec/vllm_smoke_test.shserve 目标草稿验证响应冒烟测试日志task_2common/specdec/ar_eval_mtbench.shMT-Bench 分类别 AR 评测1 GPU各类别 AROfflinehf_offline_dflash.yaml——用于基座过大、无法与训练同时前向的模型任务脚本目的输出task_0common/eagle3/dump_offline_data_vllm.sh或dump_offline_data_hf.shdump 基座隐状态隐状态 dump 目录task_1common/specdec/dflash_online_training.sh在 dump 上训练并导出output_dir/exported-checkpoint-*两个已提交的 offline 示例正好覆盖两种后端MiniMax-M2.7 用dump_offline_data_vllm.shQwen3-0.6B 用dump_offline_data_hf.sh。对 DFlash 来说后端选择不只是装饰——它约束了能捕获的草稿深度。DFlash dump 特有 flag--aux-layers dflash选择 DFlash 的层选择预设。它是一个关键字而非计数--aux-layers只接受eagle、dflash或显式的逗号分隔 id 列表见collect_hidden_states/common.py草稿深度是独立 flag且只有 vLLM 后端暴露它。捕获的层 id 来自build_target_layer_ids(num_target_layers, num_draft_layers)num_draft_layers必须等于 recipe 的dflash.dflash_architecture_config.num_hidden_layers否则 dump 会静默捕获错误的层vLLM——传--num-draft-layers N默认 5HF / TRT-LLM——没有覆盖项resolve_aux_layers硬编码_DFLASH_DEFAULT_NUM_DRAFT_LAYERS 5。草稿不是 5 层时必须向--aux-layers传显式逗号分隔 id 列表或用 vLLM 后端--answer-only-loss与--chat-template——必须与训练任务的training.answer_only_loss和data.chat_template一致。Offline 训练还需要model.use_fake_base_for_offlinetrue只加载lm_headembed_tokens而非完整基座以及指向 dump 的data.offline_data_path。注意data.mode是从已设置的数据源字段推导的_check_mode_requirements会覆盖任何传入值所以设置它是 no-op仅为向后兼容保留。Streaminghf_streaming_dflash_multi_node.yaml——与 streaming EAGLE3 相同的 NIXL RDMA 传输节点池拆分为 serve 副本加 DDP 训练器。以 hf_streaming_dflash.yaml 为例task_1 用nodes: 2node 0 跑vllm serve、node 1 跑训练器通过环境变量EAGLE_CAPTURE_IDS: [2,10,18,26,34,36]指定捕获层DFlash 抽取 5 个目标层[1,9,17,25,33]加最终层vLLM 的捕获 id 是它们 1。注意 stream 语料只有 prompt所以training.answer_only_lossfalse无 assistant span 可掩码且 serve 容器通常没有 tensorboard需training.report_tonone避免训练器初始化崩溃。DFlash Recipe 旋钮dflash.yaml 默认值覆盖项默认说明dflash.dflash_block_size8每块预测的 token 数。training.training_seq_len必须能被它整除dflash.dflash_num_anchors512每序列随机采样 anchor 位置数dflash.dflash_loss_decay_factor4.0指数衰减 gamma0 表示禁用dflash.dflash_self_logit_distillationtrue来自目标的 logit 蒸馏dflash.dflash_architecture_config.num_hidden_layers5草稿解码器层数——必须等于 dump 的草稿深度dflash.dflash_mask_token_idauto见下方逐模型调整dflash.dflash_swa_window_size未设置草稿的滑动窗口注意力必须 dflash_block_sizedflash.dflash_export_rope_scaling{}导出时注入的 YaRN 配置让短窗口草稿服务长上下文training.learning_rate6.0e-4training.training_seq_len4096data.chat_template—answer_only_losstrue时必需导出是自动的训练结束后 rank 0 把每个checkpoint-step导出为exported-checkpoint-step当modelopt_state.pth直接位于output_dir时还会导出exported-checkpoint-final。DFlash 逐模型调整情形改动任何模型把dflash.dflash_mask_token_id固定为已存在于目标 embedding 中的 token——草稿复用目标的embed_tokens。不设置时回退到tokenizer.mask_token_id而许多 tokenizer 没有它。MiniMax-M2.7 用保留行200054Qwen3-8B 用 151669answer_only_losstruerecipe 默认chat template 必须包含{% generation %}/{% endgeneration %}标签。多数库存模板没有——通过data.chat_templatepath.jinja提供。每个模型在示例 YAML 旁保留自己的模板如 chat_template_train.jinja复制最接近的即可trust_remote_codeMoE 旧版 transformers在任务环境设置OVERRIDE_TRANSFORMERSMiniMax-M2.7 需要 4.57.1模型需要通过 accelerate config 用 FSDP2 时设置ACCELERATE_CONFIG非常大的 MoE 基座用 offline 变体 model.use_fake_base_for_offlinetrue普通 DDP 即可无需 FSDP2 补丁。若模型要求设MIXED_PRECISION: no配合training.bf16false短上下文训练、长上下文服务设置dflash.dflash_export_rope_scalingYaRNfactor 目标上下文 /training_seq_len多节点环境设置NUM_NODESHEAD_NODE_IP从 Slurm 自动检测DSpark 与 DominoDFlash 变体的 deltaDSpark 与 Domino不是独立管线而是 DFlash 骨干加不同头部同样的recipe_type: speculative_dflash、同样的训练脚本、同样的dflash.*配置命名空间通过dflash_architecture_config.projector_type选择SKILL.md。因此应先读 dflash.md再读变体数据表的 delta 部分。DSparkdspark.mdDFlash 骨干 轻量顺序Markov头 可选 confidence 头。Markov 头给基础 logits 加前缀相关的转移偏置诱导因果块分布半自回归生成。recipe 为 dspark.yaml。已提交的三种形状都是 2 任务streaming 多节点、streaming warm-start、drafter PTQ。DSpark 的额外旋钮覆盖项默认说明dflash_architecture_config.projector_typedspark选择变体dflash_architecture_config.markov_rank256Markov 头低秩维度。必填且必须 0dflash_architecture_config.markov_head_typevanillavanilla无记忆、gated隐藏门控、rnn循环最接近 Domino 的 GRUdflash_architecture_config.use_confidence_headtrue构建逐位置接受预测器dflash.dflash_ce_loss_alpha0.1交叉熵项dflash.dflash_l1_loss_alpha0.9TVD 项——DeepSpec 默认以 L1/TVD 为主dflash.dflash_confidence_head_alpha1.0confidence BCE 项 0 时要求use_confidence_headtrue总损失为ce_alpha*CE l1_alpha*TVD conf_alpha*confidence_BCE。注意 DSpark 的dflash_self_logit_distillation为false内部为 TVD 和 confidence 项计算目标分布且DSpark 草稿不会继承基座的 GQA/FFN 维度——必须显式设置num_attention_heads、num_key_value_heads、head_dim、intermediate_sizeKimi-K2.6 用num_hidden_layers6, num_key_value_heads8, intermediate_size18432MiniMax-M3 用intermediate_size12288。另外dspark.yaml硬编码了dflash_mask_token_id: 151669Qwen3 专用未用 id换基座时必须覆盖。Dominodomino.mdDFlash 骨干 因果校正头——一个 GRU对块内已解码 token 的块后缀做 logit 校正。recipe 为 domino.yaml。已提交示例是online 2 任务hf_online_domino.yamltask_0make_dataset.sh构建训练对话Daring-Anteater 多轮 SFT、50K、--full-conversations该 flag 保证answer_only_loss有 assistant span 可掩码task_1dflash_online_training.sh训练并导出。Domino 的额外旋钮覆盖项默认说明dflash_architecture_config.projector_typedomino选择变体dflash_architecture_config.emb_dim256GRU 头 embedding 维度。必填dflash_architecture_config.gru_hidden_dim1024GRU 隐藏维度。必填dflash_architecture_config.pure_draft_prefix_len1块起始位置仅用基础 logits不做因果校正。必须在[0, block_size-1]内dflash_architecture_config.shift_labeltrue下一 token 对齐——只支持truedflash.dflash_lambda_base_start1.0基础损失上的课程学习起始权重dflash.dflash_lambda_base_decay_ratio1.0lambda_base衰减到 0 占训练的比例Domino 的dflash_self_logit_distillation也是false训练自己的 base/final CE 损失。两个关键约束training.max_steps必须设置lambda_base课程按state.max_steps调度未设置时衰减窗口塌缩到一步、课程被禁用ddp_find_unused_parameters: true是必需的lambda_base 1时头部参数不在反向图中否则 DDP 报错。Domino 推理侧尚未接入——示例故意不附带 vLLM 冒烟测试和 AR 评测不要把它们当成坏配置。真实示例逐字段解读Qwen3-8B EAGLE3 离线管线以 hf_offline_eagle3.yaml 为蓝本dense、8B 规模模型的默认参考逐任务看 Stage 1 各步骤的落点。task_0 —— 数据合成common/tensorrt_llm/query.sh启动 TRT-LLM server 生成 prompt 样本。--分隔符之前的参数给 trtllm-serve之后的给tools/query.pytask_0: script: common/tensorrt_llm/query.sh args: - --model global_vars.hf_model - --tp_size 8 - --ep_size 8 - --max_num_tokens 32000 - --port 8000 - --trust_remote_code - -- - --data /hf-local/modelopt/Speculative-Decoding-Prompt-Samples - --save /scratchspace/data environment: - HF_LOCAL: /hf-local slurm_config: _factory_: slurm_factory nodes: 1 ntasks_per_node: 8 gpus_per_node: 8 container: nvcr.io/nvidia/tensorrt-llm/release:1.3.0rc20global_vars.hf_model是 launcher 的变量引用语法指向global_vars中定义的hf_model: /hf-local/Qwen/Qwen3-8B换模型只需改这一处。task_1 —— 隐状态抽取用 TRT-LLM 后端 dumpcommon/eagle3/dump_offline_data.sh参数与任务间衔接清晰task_1: script: common/eagle3/dump_offline_data.sh args: - --input-data /scratchspace/data # 来自 task_0 输出 - --output-dir /scratchspace/offline_hidden_states - --max-seq-len 8192 - --tp 8 - --moe-ep 8 environment: - HF_MODEL_CKPT: global_vars.hf_modeltask_2 —— offline 训练common/eagle3/train_eagle.sh加载 recipe用点分覆盖注入模型、数据、训练参数task_2: script: common/eagle3/train_eagle.sh args: - --config modules/Model-Optimizer/modelopt_recipes/general/speculative_decoding/eagle3.yaml - model.model_name_or_pathglobal_vars.hf_model - data.offline_data_path/scratchspace/offline_hidden_states - training.output_dir/scratchspace/eagle3 - training.training_seq_len4096 - training.disable_tqdmtrue - training.ar_validate_steps500000注意 task_2 的容器仍是 tensorrt-llm release 镜像训练通过该镜像内的脚本完成而ntasks_per_node降为 1、gpus_per_node保持 8——训练使用 8 卡 DDP 但单任务。task_3 —— 基准评测common/specdec_bench/quick_check.sh用 vLLM 引擎测接受率与吞吐task_3: script: common/specdec_bench/quick_check.sh args: - --draft_model_dir /scratchspace/export - --draft_length 3 - --output_length 4096 - --engine VLLM - --tp_size 8 - --ep_size 1 - --speculative_algorithm EAGLE3 - --mtbench /hf-local/HuggingFaceH4/mt_bench_prompts/raw/question.jsonl - --concurrency 32 slurm_config: _factory_: slurm_factory container: vllm/vllm-openai:latesttask_3 换成 vLLM 容器——这正体现了 Stage 1 的原则每个任务选择自己所需的容器全部从参考示例中照抄并核对。DFlash 在线示例对比hf_online_dflash.yaml 展示了 online 3 任务的形态差异task_0 直接用data.data_path不经过 dump 任务训练旋钮通过--config 点分覆盖传入 dflash.yaml并通过environment设置回归门槛task_0: script: common/specdec/dflash_online_training.sh args: - --config modules/Model-Optimizer/modelopt_recipes/general/speculative_decoding/dflash.yaml - model.model_name_or_pathglobal_vars.hf_model - data.data_path/hf-local/modelopt/Speculative-Decoding-Dataset-v1-Qwen3-8B/sample-100K-openai.jsonl - data.chat_templateexamples/Qwen/Qwen3-8B/chat_template_train.jinja - training.output_dir/scratchspace/dflash_bs16 - training.per_device_train_batch_size1 - training.num_train_epochs1 - training.training_seq_len4096 - training.answer_only_losstrue - dflash.dflash_block_size16 - dflash.dflash_num_anchors512 - dflash.dflash_loss_decay_factor7 - dflash.dflash_mask_token_id151669 - dflash.dflash_architecture_config.num_hidden_layers5 environment: - MAX_FINAL_LOSS: 5.0 - MIN_FINAL_ACC: 0.15该文件头部还记录了收敛基线8×B200、bs1、seq_len4096、5 层草稿、block_size16、100K 样本、1 epoch ≈ 12,500 步可作为判断 run 是否欠训练的对照。task_1 冒烟测试通过DRAFT_CKPT_DIR、SPEC_METHOD: dflash、NUM_SPEC_TOKENS: 7、MIN_ACCEPTANCE_LENGTH: 1.4环境变量配置task_2 用 1 GPU 跑 MT-Bench 分类别 AR 评测。质量门与常见失败速查配置完成后后续阶段review-logs、triage、validate见 SKILL.md 的阶段表会依赖各算法数据表中的Success markers证明任务成功的日志行与产物与Quality gate阈值。配置阶段就需要了解两个重要警告避免提交后误判EAGLE3 的 AR 门槛不自强制task_3 日志打印Average Acceptance Length {accept: X, count: Y, ratio: Z.ZZ}其中ratio即接受率ARMT-Bench 门槛为AR 2.1。但quick_check.sh只是对specdec_bench/run.py的 27 行透传既不读阈值也不在低 AR 时非零退出—— 2.1是人工复核阈值task_3 COMPLETED 不等于 AR 通过DFlash 回归门在|| true下运行common/check_regression.py读取最新trainer_state.json对照MAX_FINAL_LOSS/MIN_FINAL_ACCQwen3-8B online 参考用MAX_FINAL_LOSS5.0、MIN_FINAL_ACC0.15但调用带|| true绿色 Slurm 退出不能证明门已执行——必须确认日志中出现 Regression Check 块。DFlash 的另外两道门是冒烟测试MIN_ACCEPTANCE_LENGTH和 benchmark 的Average_AL接受长度与并发无关是主要指标。配置阶段还应扫一眼算法数据表的Known failures最常见的配置类错误包括dump 脚本路径拼错No such file or directory: dump_offline_data_vllm.sh、任务间产物路径缺失FileNotFoundError: /scratchspace/data等、seq_len (N) must be divisible by block_size (B)training.training_seq_len不是dflash_block_size的倍数、dflash_swa_window_size (N) must be dflash_block_size (B)以及 DSpark/Domino 因草稿维度未继承基座 GQA/FFN 维度而静默训练出形状错误的草稿。这些在 dryrun 阶段大多无法暴露dryrun 只解析脚本、路径、容器需要在真实提交后通过 review-logs 与 triage 阶段定位分别见 review-logs.md 与 triage.md。提交前自检清单综合 Stage 1 四步与算法数据表提交前应确认参考选择算法相同如 EAGLE3 对 EAGLE3、形状相同dense/MoE、规模相近任务数与参考完全一致——不要臆断任务数变体决策目标模型过大无法与训练同时前向时选 offline并相应选好 dump 后端VLM/滑动窗口注意力必须避开 TRT-LLM 后端深度一致性DFlash 系列dump 的草稿深度--num-draft-layersvLLM必须等于 recipe 的dflash_architecture_config.num_hidden_layersHF/TRT-LLM 后端无覆盖项时用显式--aux-layersid 列表逐模型旋钮dflash_mask_token_id固定为基座 embedding 中存在的 idanswer_only_losstrue时提供带{% generation %}标签的 chat templateDSpark/Domino 显式设置 GQA/FFN 维度Domino 设置training.max_steps资源规模基座 BF16 权重能装进 serving 与 dump 任务的显存必要时放大 TP、gpus_per_node或nodesdryrun 通过uv run launch.py --yaml ... --dryrun输出的脚本、路径、容器符合预期。完成配置后即进入流水线端到端流程的后续步骤dryrun 通过后正式提交--yes、按 monitor skill 登记任务与监控、结束后按 review-logs.md 生成 pass/fail 摘要、对失败任务按 triage.md 深挖根因最后按 validate.md 确认接受率门槛。若训练任务不识别目标模型架构则属于modelopt/torch/speculative/的代码缺口需要单独的 ModelOpt PR——pipeline YAML 无法修复这一点。赞分享人工智能大模型模型优化模型量化模型压缩【免费下载链接】Model-OptimizerA unified library of SOTA model optimization techniques like quantization, distillation, pruning, neural architecture search, speculative decoding, etc. It compresses deep learning models for downstream deployment frameworks like TensorRT-LLM, TensorRT, vLLM, etc. to optimize inference speed.项目地址https://gitcode.com/GitHub_Trending/te/Model-Optimizer点击查看免费下载相关推荐Model-Optimizer 投机解码草稿模型训练实战指南EAGLE3 / DFlash / DSpark / Domino 流水线配置、排障与验收Model Optimizer 投机解码草稿模型训练实战指南EAGLE3 / DFlash / DSpark / Domino 流水线配置、排障与验收 投机解人工智能大模型模型优化模型量化模型压缩DSpark 草稿模型训练指南基于 DFlash 骨干与 Markov 头的半自回归投机解码Model-OptimizerDSpark 草稿模型训练指南基于 DFlash 骨干与 Markov 头的半自回归投机解码Model Optimizer 本文是 NVIDIA Mode人工智能大模型模型优化模型量化模型压缩Model-Optimizer 新模型接入 EAGLE3 投机解码管线分阶段故障定位与修复实战指南Model Optimizer 新模型接入 EAGLE3 投机解码管线分阶段故障定位与修复实战指南 导读 本文基于 NVIDIA Model Optimize人工智能大模型模型优化模型量化模型压缩创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表