微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

见证连接与计算的「力量」

首页 当AI学会"举一反三":vivo AI Lab等机构的全新数据合成框架,让大模型无需人工描述也能精准适应专业领域

当AI学会"举一反三":vivo AI Lab等机构的全新数据合成框架,让大模型无需人工描述也能精准适应专业领域

2026-06-09 15:03
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2026-06-09 15:03 科技行者

这项由vivo AI Lab、蚂蚁集团和浙江大学联合开展的研究,发表于2026年的KDD(国际知识发现与数据挖掘大会),论文编号为arXiv:2605.30039,有兴趣深入钻研的读者可以通过这个编号找到完整原文。

一、一个让工程师头疼的老问题

每个做过家教的人都知道,教会学生一道题很容易,但让学生真正理解题型背后的规律,才是最难的部分。大型语言模型(也就是我们平时说的"大模型",比如ChatGPT、DeepSeek这类AI)也面临同样的困境。

大模型在通用任务上表现出色,但当你把它放到某个非常具体的专业领域——比如某家公司的内部文档处理、某个特定风格的竞赛编程题、某种特殊的医疗记录格式——它往往就显得力不从心了。解决这个问题的常规办法是"微调":收集一批该领域的专业数据,然后拿这些数据继续训练模型,让它专门适应这个领域。

问题在于,专业数据往往既昂贵又稀缺。于是研究人员想出了一个聪明的办法:让AI自己生成数据。但这里有个绕不过去的前提——你得告诉AI,它要生成什么样的数据。通常的做法是写一段自然语言描述:"请生成类似竞赛编程题的问题,要有输入输出样例,要有约束条件……"这种方式依赖于人类能够清晰地用语言描述目标领域的特征。

然而,有大量真实场景根本做不到这一点。某家公司的内部代码风格是历史积累的产物,没人能一句话说清楚它究竟有哪些"规矩"。某类网络流行语的语感,懂的人一眼就懂,但要写成规则手册,几乎无从下笔。某个科学新兴领域的论文范式,连领域专家自己都说不清楚边界在哪里。

这就像是,你想教一个人画莫奈的风格,最直接的办法不是写一份《莫奈绘画技法说明书》,而是直接拿几十幅莫奈的画给他看——让他自己琢磨规律。

这项研究的出发点,正是这样一个直觉:能不能只给AI看几十个到几百个"范例",让它自己归纳出这个领域的规律,然后用这个规律去生成更多的新数据,而完全不需要人类写任何描述?

二、从"照抄"到"举一反三",差距在哪里

面对上述问题,最朴素的想法是:既然有几十个范例,那就直接拿这些范例训练模型不就行了?

研究团队亲自验证了这个想法,结果让人哭笑不得。直接用少量范例做微调(专业术语叫"监督微调",Supervised Fine-Tuning,简称SFT),模型不仅没有真正学会领域规律,反而在某些任务上表现比不训练还差。这是因为,面对稀少的训练样本,模型的应对策略不是"理解规律",而是"死记硬背"——它记住了每道题的具体细节,反而失去了应对新情况的灵活性。这就好比一个学生备考时只背了三道例题的答案,考试时遇到稍微变形的新题,立刻傻眼了。

更聪明的做法是走"数据合成"的路子:用AI生成大量新数据,再用这些数据训练模型。现有的合成数据方法大致分三类。第一类叫"指令进化",代表作是Self-Instruct和Evol-Instruct,它们通过精心设计的提示词,让AI不断地拓展和改写指令;第二类叫"关键点驱动",代表作是KPDDS,它先从已有数据中提炼出领域的关键概念和话题点,再引导AI围绕这些概念生成数据;第三类叫"系统提示引导",代表作是MAGPIE,它通过写一段描述领域特征的系统提示词,让AI批量生成对应风格的数据。

这三类方法有一个共同的致命弱点:它们都假设你能够用自然语言清晰地描述目标领域。一旦领域特征隐含、模糊、难以言说,这三类方法全部失效。

研究团队把这种依赖语言描述的方式称为"演绎范式"——就像数学课上从公式出发推导答案。而他们想做的,是"归纳范式"——像孩子学语言那样,不背语法书,只是大量接触真实语料,自然地归纳出语言规律。

三、DOMINO框架:教AI从例子中悟道

研究团队提出的框架叫DOMINO,名字来自于它的核心理念——通过最小充分表示学习(Minimal Sufficient Representation Learning)来完成领域特定数据合成。

DOMINO的工作原理可以用一个厨师学艺的故事来理解。一位年轻厨师去学做川菜,师父没有给他任何菜谱,只是每天让他品尝二三十道不同的川菜。这位厨师品尝之后,脑子里要形成两种不同层面的认知:一是"川菜的整体风格是什么"——麻辣为主、善用花椒、注重香气的层次感,这是所有川菜共享的特征;二是"这道宫保鸡丁和那道麻婆豆腐有什么不同"——每道菜独特的食材和做法,这是每道菜私有的特征。

学成之后,这位厨师创作新菜,用的是第一类知识(川菜的整体风格),而不是第二类知识(某道具体菜的记忆)。否则,他创作出来的每道新菜都会是某道老菜的翻版,毫无创意。

DOMINO做的事情与此完全对应。它把模型要学习的表示分成两个部分:一个是"领域级软标记",可以理解为所有范例共同分享的"川菜基因";另一个是"样本级软标记",可以理解为每道具体菜肴的"独家记忆"。

所谓"软标记",不是我们平时看到的文字,而是AI内部使用的一种数值向量——你可以把它想象成一个有几百个旋钮的调音台,每个旋钮拨到不同位置,就能引导AI的语言模型生成不同风格的内容。DOMINO要学习的,就是把这些旋钮调到最能代表目标领域特征的那个位置。

四、如何防止"死记硬背":对比解耦的妙用

光有"领域级软标记"还不够。如果只是简单地让模型记住所有范例,它还是会把"川菜基因"和"宫保鸡丁的独家记忆"混在一起,导致生成的新菜始终是旧菜的影子。

DOMINO解决这个问题的关键武器是一个叫"对比解耦损失"的训练机制。这个名字听起来高深,但背后的逻辑其实很朴素。

在训练过程中,模型同时持有领域标记和某道菜的样本标记。训练的目标是:用领域标记加上第i道菜的样本标记,能够很好地"还原"出第i道菜;但是,用第i道菜的样本标记,却不能很好地还原出其他菜(第j道菜)。

这个约束产生了一个精妙的效果:既然样本标记只能负责区分"这道菜和别的菜有什么不同",那么所有菜共同拥有的"川菜基因"就必须全部编码在领域标记里,而不能藏在任何一个样本标记里。这样,领域标记就被迫学习的是真正跨越所有样本的共性规律,而不是任何一道菜的私有特征。

从信息论的角度来看(信息论是研究信息如何测量和传递的数学分支),这个设计有着严格的数学保证。研究团队证明了,这种对比训练方式能够同时做到两件事:让领域标记包含足够多的领域信息("充分性"),又让领域标记尽可能少地包含样本私有信息("最小性")。这就是"最小充分表示"的含义——既不多,也不少,恰到好处地抓住领域的本质。

最终,模型只用领域标记来生成新数据,而把样本标记完全丢弃。因为领域标记没有被任何具体样本的细节所污染,它引导生成的新数据就能真正地在领域内自由发挥,产生多样化的新内容。

五、用数学证明:DOMINO生成的数据更丰富

研究团队不仅有直觉,还有数学证明。他们证明了一个定理:在特定条件下,DOMINO(经过对比解耦训练的领域标记)所引导生成的数据分布,其有效覆盖范围(专业术语叫"ε-支撑集",可以理解为模型认为"有可能性"的输出空间)严格大于普通方法(只做简单提示词微调的领域标记)所引导生成的数据分布。

这个证明的核心思路是:对比解耦训练会提升模型输出分布的熵(熵是信息论中衡量"混乱度"或"多样性"的指标,熵越高,意味着输出越多样化、越不集中)。当输出分布的熵足够高时,有效覆盖范围必然更大,生成的数据也就更多样化。

简单来说:普通方法生成的数据会扎堆在范例附近打转,而DOMINO生成的数据能够在整个领域空间里散开来,覆盖更广泛的可能性。

六、在真实编程题场景中的实战表现

理论再美妙,也需要实验验证。研究团队选择了一个极其有挑战性的测试场景:LiveCodeBench,一个动态更新的编程题评测基准,专门收录LeetCode、AtCoder等平台上的真实竞赛题目。

为什么选这个场景?因为它完美契合DOMINO要解决的问题。竞赛编程题的"领域特征"会随时间演化,很难用一段话准确描述;而且这个基准持续更新,确保测试集的题目不会被模型在预训练时"背过答案"。

研究团队设计了一个模拟真实场景的实验:以某个时间点为界,之前的题目作为"参考样本"(相当于给模型看的范例),之后的题目作为测试集。具体来说,他们划分出两个子任务:Live Code Generation(代码生成,给题目描述让模型写代码)和Live Code Execution(代码执行,给一段Python代码让模型预测输出结果)。

评测指标是Pass@1(一次就答对的比例)、Pass@5(五次中至少一次答对的比例)和Pass@10(十次中至少一次答对的比例)。

他们拿DOMINO与多个竞争方法对比。第一个是"直接提示"——就用现成的基础模型和指令模型,什么都不做。第二个是"Reference SFT"——直接拿参考样本做微调。第三个是"MAGPIE-Human"——人工总结领域特征,写成系统提示词,让AI生成合成数据。第四个是"MAGPIE-Few Shot"——随机挑三个范例,让AI自己总结领域特征,再生成合成数据。第五个是"DOMINO-Direct Domain"——DOMINO的简化版,只用充分性损失,不用对比解耦损失(相当于只学"领域基因",不做"分离私有特征"这一步)。

结果颇为戏剧性。以Qwen2.5-Coder-7B这个模型为例,其指令版本(即经过通用指令微调的版本)在代码生成任务上的Pass@1基准是16.88%。直接拿参考样本微调(Reference SFT),Pass@1反而跌到了13.47%,印证了研究团队对"死记硬背"问题的判断。MAGPIE-Human和MAGPIE-Few Shot的表现好一些,分别是12.45%和14.36%,但都没能超越指令模型本身。DOMINO-Direct Domain(只有充分性,无最小性)达到了15.74%,已经接近指令模型水平。而完整版DOMINO达到了17.31%,不仅超越了所有竞争方法,还超过了指令版本本身!这意味着,用DOMINO合成的数据微调基础模型,能让基础模型超越原来的指令模型——相当于用自己生成的数据完成了一次更有针对性的"自我进化"。

在更大的14B参数版本模型上,DOMINO在代码生成任务的Pass@1达到24.75%,而指令模型基准是23.35%,提升超过1个百分点。在代码执行任务上,DOMINO的Pass@1达到62.04%,而指令模型基准是59.26%。

在代码生成任务上,与指令调优骨干网络相比,DOMINO最高可将Pass@1准确率提升4.63个百分点(在OpenCoder-8B上,从10.00%提升至12.63%)。

七、可视化验证:合成数据的分布对比

为了直观展示DOMINO和MAGPIE-Few Shot生成的数据有何不同,研究团队使用了一种叫t-SNE的降维可视化技术(可以把它理解为把高维空间中数据点的相对位置关系"投影"到二维平面上呈现出来),将所有数据的语义向量画在一张图上。

结果图像非常直观:MAGPIE-Few Shot生成的数据点密密麻麻地聚成几个紧密的团块,与参考数据的分布区域几乎没有交叠。而DOMINO生成的数据点广泛散布在整个嵌入空间中,与参考数据的分布区域高度重合,同时还覆盖了参考数据没有触及的新区域。

这正是研究团队理论预测的结果:DOMINO的数据既贴合领域分布,又比原来的参考样本更加多样化。

研究团队还做了一个案例分析,非常形象地说明了对比解耦的作用。他们选了一个参考样本:k-avoiding array问题(给定n和k,找一个长度为n的数组,其中任意两个不同元素的和不等于k,求最小可能的数组元素之和)。

用普通提示词微调(只有充分性)生成的合成样本是:k-subsequence问题(给定长度为k的字符串n,求k-subsequences的数量)。变量名和命名风格几乎原封不动地从参考样本复制过来,连"k-xxx"这种命名惯例都照搬了,是典型的"样本级模仿"。

而用DOMINO(加入最小性约束)生成的合成样本则是三道完全不同类型的题目:图路径问题(求树状网络中两个机场之间的距离)、算术子序列问题(找最长的具有给定公差的算术子序列)、回文操作问题(求将一个数字字符串变成回文所需的最少操作次数)。这些题目在结构上符合竞赛编程题的范式,但在具体内容上与参考样本完全不同,展现了真正的"领域抽象"而非"样本模仿"。

八、扩展验证:不只是编程,指令跟随同样有效

为了证明DOMINO不是只在编程领域奏效的"专项工具",研究团队还在自然语言处理的指令跟随领域做了验证实验。

他们使用LiveBench(另一个持续更新的AI评测基准)中的指令跟随任务,以2024年6月30日为时间切割点,各取200个样本作为参考集和测试集。测试包含四个子任务:改写(Paraphrase)、简化(Simplify)、故事生成(Story Generation)和摘要(Summarize)。评测指标是一个综合分数。

结果显示,Qwen2.5-7B指令模型的综合基准得分是51.91分。直接微调参考样本(Reference SFT)得55.39分,而DOMINO的综合得分是55.39分,比指令模型提升了3.48分,比DOMINO-Direct Domain提升了1.61分,在四个子任务上全面领先所有基准方法。

这说明DOMINO学到的并不是"编程题的规律",而是一种通用的"从例子中归纳领域规律"的能力,可以迁移到不同的任务类型上。

九、调参细节:温度、软标记数量和权重如何影响结果

研究团队还细致地考察了几个关键参数对结果的影响,这些分析对于实际使用DOMINO的人来说很有参考价值。

关于生成温度(Temperature)的影响:温度参数控制着AI生成文本时的随机性——温度越高,生成越随机多样;温度越低,生成越保守集中。研究团队将温度从0.2变化到1.0,发现DOMINO的表现相当稳定,不同温度下的Pass@1最高相差不到2个百分点。这种稳健性来自于领域标记的强引导作用:即使温度较高(输出更随机),领域标记依然把生成的内容"锁定"在领域范围内,确保多样化的同时不跑偏。

关于领域级软标记数量(k)的影响:研究团队测试了64、128、256、512四种规模。结果显示,随着软标记数量增加,Pass@1从11.56%持续提升到17.85%(512个时),表现单调递增。这说明更多的"调音台旋钮"能够编码更细腻的领域特征,给AI提供更精确的风格引导。

关于对比损失权重(λ)的影响:λ控制着充分性和最小性之间的平衡。研究团队测试了0.25、0.5、1、2、4五个值,发现当λ≥1时性能有明显提升,而λ<1时性能较差。这说明"最小性"约束(防止死记硬背)必须有足够的权重才能真正发挥作用,不能被"充分性"目标完全压制。

关于参考数据量的影响:研究团队将参考样本的比例从100%逐步减少到20%,发现参考数据越少,DOMINO的表现越差。这也符合常识:看过的例子越多,归纳出的规律越准确。在Live Code Execution任务上,从80%降到100%时性能几乎没有变化,说明存在一个"饱和点",超过这个点再增加数据的边际收益递减。

十、合成数据与真实数据:质量对比

为了评估DOMINO合成数据的单个样本质量,研究团队做了一个严格的对照实验:在数量相同(等量)的条件下,比较用真实参考样本微调和用DOMINO合成样本微调的效果差异。

结果显示,两者的差距相当小。在代码生成任务上,真实参考样本的Pass@1是13.47%,DOMINO合成样本是12.69%;Pass@5分别是21.59%和20.73%;Pass@10分别是23.95%和23.35%。在代码执行任务上,真实参考样本是36.11%,合成样本是34.26%。

这个差距是可以理解的——真实参考样本是目标领域的"黄金标准"数据,合成数据本质上是对它的模拟。但DOMINO的价值不在于"比真实数据更好",而在于:它可以无限量地生成数据,而真实数据是稀缺资源。研究团队在正式实验中生成了8万条代码生成数据和4万条代码执行数据,用这海量的合成数据训练出来的模型,自然比用几十个真实样本直接训练的模型强得多。

DOMINO的另一个优势是它完全不需要人类写任何提示词或领域描述。研究团队特别对比了MAGPIE-Few Shot在使用3个、5个、10个参考样本提示词时的表现,发现随着提示词中的参考样本增加,MAGPIE的表现不升反降——提供10个样本时,Pass@1从14.36%大跌至11.81%。这是因为过长的提示词会让模型难以从中提炼出清晰的规律,反而造成信息干扰。DOMINO则没有这个问题,它不依赖文本提示词,通过数值化的软标记直接编码规律,参考样本越多,表现越好,没有上限。

说到底,这项研究解决的是一个长期被忽视但在现实中极为常见的问题:当你知道自己想要什么样的数据(因为你手里有范例),但就是说不清楚"什么样"(因为领域特征隐含而难以言表)时,该怎么办。

DOMINO给出的答案是:不用说清楚,让AI自己悟。通过一套精心设计的训练机制,它迫使模型把"所有样本共有的特征"和"每个样本独有的特征"严格分开,然后只用前者来生成新数据。这样生成的数据,既保留了领域的本质风格,又不会被任何具体样本的细节所束缚,真正实现了"举一反三"。

实验结果证明,在编程和自然语言处理两个不同的领域中,DOMINO都能一致地超越各种基准方法,甚至能让基础模型超越其对应的指令版本——相当于用自己生成的数据完成了一次比原始指令微调更有针对性的进化。

当然,DOMINO也有其局限性。它的效果取决于参考样本的质量和代表性。如果手头的范例本身就不够典型,或者包含了大量领域外的噪声,学出来的领域表示就会跑偏,生成的数据质量也会相应下降。此外,样本级软标记在训练完成后就被丢弃了,研究团队在论文中提到,未来可以把这些标记用于检索最相似的参考样本,或者作为领域特征的隐式分类器,这些方向值得进一步探索。

对于普通读者来说,这项研究最有启发性的一点或许是:AI学习的最大障碍,未必是数据量不够,而是学习方式不对。当我们从"背答案"转向"悟规律",即便是稀少的样本,也能激发出意想不到的创造力。这不仅仅是AI研究的洞见,也许对教育本身也有一些值得思考的地方。有兴趣深入研究这个课题的读者,可以通过arXiv:2605.30039找到完整论文,代码也已在GitHub上开源(github.com/tongye98/DOMINO)。

Q&A

Q1:DOMINO框架是什么,它和普通数据合成方法有什么区别?

A:DOMINO是由vivo AI Lab、蚂蚁集团和浙江大学联合提出的一种数据合成框架。它的核心区别在于:普通方法需要人类用自然语言描述目标领域的特征,再让AI按照这个描述生成数据;而DOMINO完全不需要任何文字描述,只需要给它看几十到几百个范例样本,它就能自动从中归纳出领域的隐含规律,并用这个规律生成大量新数据。这使得它在那些"只可意会不可言传"的专业领域中特别有用。

Q2:为什么直接拿少量专业样本做微调反而会让模型变差?

A:这是因为样本数量太少时,模型没有足够的信息去归纳规律,只能选择"死记硬背"具体样本的细节。一旦遇到稍微不同的新问题,模型就无法应对,表现比未经微调时更差。这就像只背了三道例题答案的学生,遇到稍微变形的新题就完全不知道该怎么做。DOMINO通过特殊的训练机制迫使模型学规律而不是学细节,从而解决了这个问题。

Q3:DOMINO的领域标记(软标记)具体是什么,普通人能理解吗?

A:领域标记本质上是一组数值,不是文字。可以把它类比成一个有几百个旋钮的调音台:每个旋钮的位置共同决定了AI输出什么样风格的内容。DOMINO的训练过程,就是在自动调整这些旋钮,让它们停留在最能代表目标领域特征的那个位置。训练完成后,只要把这个"调好的调音台"接到AI模型上,AI就会自动生成符合该领域风格的新内容,完全不需要额外的文字描述。

分享至
0赞

好文章,需要你的鼓励

推荐文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-