Anthropic指控7家中国公司蒸馏Claude模型
漫话大模型:7 家中国公司被点名「蒸馏」,他们到底偷走了什么?
Anthropic点名7家中国公司,揭秘蒸馏技术原理与最新ODP方法,对比RL训练效率提升近10倍。
Anthropic报告指控阿里、DeepSeek、月之暗面等7家中国公司通过蒸馏技术使用Claude模型。阿里被指在5-7月间产生1.5亿次交互,DeepSeek在14天内转发1200万次请求。蒸馏技术让小模型学习大模型行为,但存在暴露偏差问题。Qwen3采用ODP方法,仅用1800个GPU小时将成绩提升至74.4%。
漫话大模型:7 家中国公司被点名「蒸馏」,他们到底偷走了什么?
2026 年 9 月,Anthropic 发布了一份报告,点名 7 家中国 AI 公司——阿里、DeepSeek、月之暗面、智谱、小米、商汤、MiniMax——指控它们用各种方式"蒸馏"Claude 模型的能力。 报告里列了惊人的数字:阿里被指在 5 到 7 月间产生了 1.5 亿次交互;DeepSeek 被指在 14 天内把 1200 万次用户请求转发给 Claude;月之暗面被指把近 30 万真实用户的问题直接转给 Claude 代答。 当然,这些都是 Anthropic 单方面的指控,被点名的公司大多没有回应。但不管真相如何,有一个技术问题值得搞清楚: "蒸馏"到底是什么?为什么大厂这么怕它?以及,正规的蒸馏是怎么做的? 蒸馏:让小学生抄学霸的作业 蒸馏(Distillation)的思路其实特别朴素: 让一个小模型,学一个大模型的行为。 大模型很强,但太贵——跑一次要一堆 GPU。小模型便宜,但没那么聪明。怎么办?让大模型当老师,小模型当学生。老师做 100 万道题,把答案(包括思考过程)记下来,学生照着学。 这就是经典的蒸馏流程: 老师模型 → 生成大量 " 标准答案 " → 学生模型 → 对着答案做监督学习 老师模型 \to 生成大量"标准答案" \to 学生模型 \to 对着答案做监督学习 老师模型 → 生成大量 " 标准答案 " → 学生模型 → 对着答案做监督学习 听上去很美好,但这个流程有个致命缺陷。 学生一犯错,就没人管了 想象一个场景:学生模型做一道数学题。 老师的标准答案是"先配方,再求根"。但学生没学会配方,它自己想了一条歪路:"先两边同时乘 x"——这步就错了,后面全错。 问题是: 老师的作业本里,从来没有出现过"两边同时乘 x"这个错误。 老师不会做错,所以老师的标准答案里没有这种"错误路径"的教学案例。 学生拿着老师的标准答案训练,只能学到"正确路径长什么样",但一旦自己生成时走偏了,就进入了老师从未示范过的地带——之后生成的所有 token 都越来越歪,一路错到底。 这叫 暴露偏差 (exposure bias):训练时学生只见过"标准答案",生成时却要面对"自己的错误",这两者的分布完全不同。 打个比方:教练只给你看世界冠军的滑冰录像,从不告诉你"如果起跳姿势错了会怎样"。结果你一上冰场,第一个动作就走样了,后面的动作全部变形,教练的录像完全帮不上忙。 RL 的解法:学生自己练,但打分太慢 强化学习(RL)换了个思路:不看老师的录像了,让学生自己生成答案,然后给个奖励——答案对不对? 这个思路解决了"学生犯错没人管"的问题:学生自己生成的内容,哪怕全是错的,也会被打分。模型从自己的错误中学习。 但新问题来了: 奖励太稀疏了。 一道题做 100 个 token,最后只给一个"对/错"信号。中间 99 个 token 哪个走对了、哪个走错了,模型完全不知道。就像考试只告诉你总分,不告诉你哪道题错了——学习效率极低。 这就是 RL 的代价:Qwen3 用 RL 训练,花了 17920 个 GPU 小时,AIME 数学竞赛成绩才 67.6%。 OPD:让学生自己答,老师逐字批改 2025 年底到 2026 年,一种叫 ODP(On-Policy Distillation,在线策略蒸馏) 的方法火了起来。Qwen3 的技术报告里,它只花了 1800 个 GPU 小时,就把成绩刷到了 74.4%——比 RL 快了近 10 倍。 它的做法巧妙在哪?一句话: 把蒸馏和 RL 的优点各取一半。 流程是这样的: 学生自己生成答案 (这是 RL 的做法——训练学生自己的分布,而不是老师的分布) 老师逐 token 打分 (这是蒸馏的做法——每个 token 都有密集信号,不是最后才给一个总分) 学生根据逐 token 的分数改进 关键在第二步。老师不再是"生成标准答案",而是变成了一台 逐字批改机 :学生每写一个 token,老师就在旁边说"这个字写得好"或者"这个字写得不对"。 老师怎么打分?用的是 逆向 KL 散度 ——这是一个很讲究的选择,下一节展开。 效果是惊人的。有个实验:从 60% 成绩的检查点出发,ODP 只用了 150 步就刷到 70%。还有个更夸张的:在单个 prompt 上连续训 20 步,模型就恢复到了老师水平——而 RL 在同样情况下只会死记硬背。 进阶:为什么是"逆向"KL,不是普通 KL? 先讲个直觉,再说数学。 KL 散度衡量两个分布的差距。但注意, KL 是不对称的 :KL(P‖Q) ≠ KL(Q‖P)。方向不一样,含义完全不同。 想象老师在教学生画画。老师会画 10 种动物,其中猫画得最好。 普通 KL(正向):学生必须学会全部 10 种动物。 哪怕老师只在 1% 的情况下画蛇,学生也得把蛇画得跟老师一样好。结果就是学生什么都会一点,但什么都不精——这叫 均值寻求 (mean-seeking):学生试图覆盖老师的整个分布。 逆向 KL:学生只需要把猫画得跟老师一样好。 老师很少画的蛇,学生可以不学。这叫 模式寻求 (mode-seeking):学生专注打磨老师最擅长的几个模式。 这个区别在数学图像上一眼可见。看一个经典的双峰分布(黄色实线),它有两个峰。用正向 KL 去拟合它,结果是蓝色虚线——两头都顾,中间模糊,哪个峰都没抓住。用逆向 KL 拟合,结果是粉色虚线——锁定左边那个峰,尖锐而专注,代价是完全放弃右边的峰。 数学上: 正向 KL : K L ( 老师 ∥ 学生 ) = ∑ 老师 ( x ) ⋅ log 老师 ( x ) 学生 ( x ) \text{正向 KL}: KL(\text{老师} \| \text{学生}) = \sum \text{老师}(x) \cdot \log\frac{\text{老师}(x)}{\text{学生}(x)} 正向 KL : K L ( 老师 ∥ 学生 ) = ∑ 老师 ( x ) ⋅ lo g 学生 ( x ) 老师 ( x ) 逆向 KL : K L ( 学生 ∥ 老师 ) = ∑ 学生 ( x ) ⋅ log 学生 ( x ) 老师 ( x ) \text{逆向 KL}: KL(\text{学生} \| \text{老师}) = \sum \text{学生}(x) \cdot \log\frac{\text{学生}(x)}{\text{老师}(x)} 逆向 KL : K L ( 学生 ∥ 老师 ) = ∑ 学生 ( x ) ⋅ lo g 老师 ( x ) 学生 ( x ) 注意求和前面的权重:正向 KL 用老师的概率加权,逆向 KL 用学生的概率加权。 逆向 KL 的关键性质: 当学生在老师概率低的地方"自嗨"时,惩罚会爆炸。 学生写了一个错误 token,老师的概率是 0.001,学生的概率是 0.5。这一项贡献: 0.5 ⋅ log 0.5 0.001 = 0.5 × 6.2 = 3.1 0.5 \cdot \log\frac{0.5}{0.001} = 0.5 \times 6.2 = 3.1 0.5 ⋅ lo g 0.001 0.5 = 0.5 × 6.2 = 3.1 但如果学生乖乖待在老师的高概率区域,老师说"to"的概率 0.7,学生也说 0.7: 0.7 ⋅ log 0.7 0.7 = 0 0.7 \cdot \log\frac{0.7}{0.7} = 0 0.7 ⋅ lo g 0.7 0.7 = 0 逆向 KL 会狠狠惩罚"学生自信地犯错",而不惩罚"学生紧跟老师"。 这就解决了暴露偏差——学生一旦走偏,立刻被拉回来。 还有一个彩蛋:逆向 KL 没法刷分 。正向 KL 下,学生有个作弊技巧——把概率摊平成均匀分布,就能把 loss 压下去(反正老师的分布也不尖锐)。但逆向 KL 下,学生摊平概率反而会被惩罚(因为它在老师高概率的地方给了低概率)。 想拿低 loss,唯一的路就是真的学得像老师。 这就是论文里说的 "unhackable"——不可作弊。 进阶二:黑盒模型,做不了 ODP 写到这里,你可能会问:那 GPT、Claude 这样的闭源模型,别人能对它们做 ODP 吗? 答案是: 做不了。 卡在一个具体的数学细节上。 ODP 的训练目标,写出来是这样的(对每个 token): L_OPD = E_x~πθ [ log πθ(xₜ₊₁ | x₁..ₜ) − log π_teacher(xₜ₊₁ | x₁..ₜ) ] 其中 πθ 是学生,π_teacher 是老师。这个式子的意思:学生每生成一个 token,就算一次"学生认为这个 token 的概率"减去"老师认为这个 token 的概率",然后最小化它。 注意关键项: log π_teacher(xₜ₊₁ | x₁..ₜ) ——老师对学生生成的每一个 token 给出的概率值(logprob)。 要拿到这个值,老师模型必须是一个"可以查询概率"的模型。而 GPT-4o、Claude 这些闭源 API: OpenAI 从 GPT-4 起就移除了 logprobs 参数,GPT-4o/5 系列完全不支持 Claude API 从来就没有提供过 logprobs 你只能拿到生成的文本,拿不到模型内部的概率分布 拿不到老师的 logprob,逆向 KL 就无从算起。 那黑盒模型能被做什么?只有一条退路——拿输出文本做 SFT: L_SFT = E_x~π_teacher [ −log πθ(x) ] 注意这个式子和 ODP 的差别:采样的分布从"学生自己的 πθ"退化成了"老师的输出 π_teacher"。这就是文章开头说的 off-policy 蒸馏——"偷答案"。它有暴露偏差的天花板。 把两个式子放在一起看,差异一目了然: SFT:最小化 KL (老师 ∥ 学生) —— 正向 KL,off-policy,均值寻求 OPD:最小化 KL (学生 ∥ 老师) —— 逆向 KL,on-policy,模式寻求 开源权重模型之间可以做完整的 ODP (权重开放,logprob 随便算),所以开源生态里"蒸馏"带来的提升非常显著。 闭源黑盒只能被降级蒸馏 ——学得到措辞风格,学不到真正的分布,形似神不似。 这也许解释了为什么那 7 家公司被指控偷来的东西,价值其实是有限的。 回到那 7 家公司 现在回头看 Anthropic 的指控,就明白"蒸馏"为什么让大厂紧张了。 如果指控属实,被点名的公司做的不是 ODP 这种正规蒸馏——它们有的是"转发真实用户请求给 Claude 代答"(月之暗面),有的是"抓取推理轨迹"(阿里),有的是"买第三方数据"(商汤)。 这些手法的共同点: 获取大量"老师的高质量答案",然后做监督学习。 这正好是经典蒸馏的 off-policy 版本——见效快,但有暴露偏差的天花板。 有意思的是,正规军的最新方向恰恰相反:ODP 让 Qwen3 用 10 分之一的算力超越了 RL,而它依赖的不是"更多老师的答案",而是"让学生自己生成,老师只负责打分"。 偷老师的答案,短期有效,但天花板低。让老师当批改员,才是长久之计。 参考资料: On-Policy Distillation — Thinking Machines Lab On-Policy Self-Distillation for Large Language Models (arXiv 2601.18734) SFT, RL, and On-Policy Distillation Through a Distributional Lens Anthropic 指控多家中国公司蒸馏 Claude 模型 — WSJ