跳到主要内容
返回时间线
Fireworks AI来源发表:

DeepSeek R1与V3可在Fireworks上做量化感知微调,FP8部署不再牺牲精度

核心概要

Fireworks 把量化感知微调接入 FireOptimizer,让 DeepSeek R1 与 V3 这类原生按 FP8 服务的开源模型可以按具体用例定制。此前用 LoRA 微调后合并权重再以 FP8 部署会明显掉精度,而 6710 亿参数的基座在 FP8 下已占 671 GB 显存,超过 H100 主机常见的 640 GB。做法是在前向传播中对合并权重和激活做“伪量化”,让 LoRA 梯度保持 bfloat16、合并权重按 FP8 数值走;在 1.5 万条训练、5000 条评估的法国葡萄酒评论分类任务上,QAT 微调优于朴素 FP8 LoRA 微调。

Source-provided article image: deepseek fine tuning
Figure 1 · Fireworks AI

深度剖析

DeepSeek R1 与 V3 现在可以在 Fireworks 的 FireOptimizer 适配引擎里做量化感知微调,并按质量、延迟和成本针对具体用例调整模型行为,随后一键部署到专用实例。 此前对这两个模型做微调很困难:它们原生按 FP8 训练和服务,而几乎所有现有 LoRA 方法都假定推理时 LoRA 权重是未量化的 bfloat16,用 bfloat16 训练、FP8 服务会带来明显的精度损失。 Fireworks 用一个葡萄酒评论分类任务检验这条路径:从葡萄酒评论数据集中筛出法国葡萄酒,1.5 万条用于训练、5000 条用于评估,比较不微调、非 QAT 微调与 QAT 微调三种设置,结论是微调带来明显的质量提升,QAT 相对朴素 FP8 LoRA 微调有优势。

训练时对合并后的权重和激活做“伪量化”,让前向传播按 FP8 的数值格式计算,从而在训练阶段就模拟出推理时的量化环境。 难点在于 LoRA 模块很小、必须保持 bfloat16 精度,推理时又要合并进基座权重以换取速度,而合并时把权重从 bfloat16 转成分块 FP8 会丢精度;QAT 让 LoRA 矩阵的梯度留在 bfloat16,同时让合并权重遵循 FP8 数值。 这一机制在 DeepSeek V3 上以三行代码的训练与部署流程给出示例,并说明 QAT 微调对 DeepSeek R1 和 V3 现已可用。

启示与展望

已展示的范围是 Fireworks 平台上的 DeepSeek R1 与 V3 量化感知微调与一键专用部署,质量对照限于法国葡萄酒评论分类这一任务;对 Llama 与 Qwen 的 QAT 支持被列为未来数周内加入。

质量对比只在一个分类任务上给出,未报告具体指标数值;对 Llama 3.3 与 DeepSeek V2 Lite 的实验显示 FP8 QAT 训练在精度上优于除全 bfloat16 训练与服务之外的所有组合,即全 bfloat16 仍保持精度优势;Llama 与 Qwen 的 QAT 支持尚待后续加入。