摘要:这玩意儿不是简单跟风做个模型,而是直接解决了之前扩散语言模型的老毛病,能“自我纠错”还能随便调整输出长度,在AI文本生成这块,算是个挺实在的突破。
最近西湖大学MAPLE实验室齐国君教授团队搞出个新东西,RemeDi9B扩散语言模型。
这玩意儿不是简单跟风做个模型,而是直接解决了之前扩散语言模型的老毛病,能“自我纠错”还能随便调整输出长度,在AI文本生成这块,算是个挺实在的突破。
之前咱们用的扩散语言模型,说难听点有点“一根筋”。
它们生成文本时,先把好好的文字拆成“噪声”,再慢慢恢复成正常内容,但恢复过程中只要生成一个词,就认定这词是对的,往后再也不改。
这就跟写作文不打草稿一样,开头写错一个关键词,后面越写越偏,最后整篇东西都没法看。
RemeDi就不一样,它搞了个“再掩码”功能,能回头看之前写的内容,发现不对就标出来重新改。
比如它本来写了“leftforthepies”,后来琢磨着不对,语义不通顺,就把“left”重新标成“待修改”,最后换成了更合适的“used”。
如此看来,这模型算是有了点“反思能力”,不像以前那些模型,错了也硬着头皮往下写。
RemeDi要纠错,首先得知道哪错了,总不能瞎改吧?
它用了个“双流协同”的结构,生成每个词的时候,除了确定这个词本身,还会给这词打个“置信度分数”,简单说就是“靠谱度”。
分数低的词,就被当成“可疑分子”,等着后面修正。
这就跟老师改作业似的,不是凭感觉画红圈,而是有个评分标准,哪道题得分低就重点检查哪道,改起来特别有准头。
本来想觉得“找错”这事不难,但后来发现,光找对地方还不够,RemeDi还解决了另一个大问题,输出长度。
之前的中大规模扩散模型,只能生成固定长度的文本,比如限定写500字,多一个字都得删,少一个字又得硬凑,特别麻烦。
RemeDi就灵活多了,它每次生成32个词的片段,要是没写完,就把这段内容接上,接着生成下一段,直到写出结束的信号。
这就跟记笔记一样,想写多少写多少,不用受字数限制,不管是写短句子还是长文章,都能应对。
而且它还用了“分块因果注意力掩码”,保证生成后面片段时,能看到前面写的内容,不会前后脱节,这点考虑得还挺周全。
RemeDi的基础是LLaDA模型的权重,研究团队把LLaDA改成了能分块生成的扩散模型。
选LLaDA做基础挺聪明的,这模型本身在中文和代码生成上就有优势,再加上“再掩码”和“不定长生成”,相当于给好底子的车装了更好的导航和引擎,性能自然往上提了一截。
RemeDi能有这能力,不是天生的,是靠两阶段训练练出来的,跟咱们上学先学基础知识,再练难题一个道理。
第一阶段是“RemaskSFT”,也就是监督微调。
跟传统扩散模型不一样,传统模型只练“恢复被掩码的词”,RemeDi还得练“识别错词”,它把那些生成错的词当成“第二类噪声”,既要学会恢复正确的词,又要学会找出这些错词。
不过训练时还有个规矩,每一步生成的“待修改词”数量,不能比上一步多。
这就跟拆积木似的,得一块一块往下拆,不能拆着拆着又把积木堆回去,不然就白忙活了。
研究团队还专门筛选了一批“带错误的文本”当训练素材,比如有语法错、逻辑乱的句子,让RemeDi在训练时多接触“错例”,慢慢就摸清了哪些词容易错,该怎么找错。
等SFT阶段打好基础,就到了第二阶段“RemaskRL”,强化学习。
这阶段主要是优化“纠错轨迹”,让RemeDi改得更准。
它把每次纠错的过程当成“思考步骤”,要是改完之后文本更通顺、逻辑更对,就给模型点“奖励”,要是改得更差,就“惩罚”一下。
这就像玩游戏通关,做得好有积分,做得差就扣分,慢慢模型就知道怎么改效率最高、效果最好。
而且这阶段还借鉴了团队之前搞的“扩散式发散思维链”,简单说就是让模型多“思考几步”,别急于下结论。
比如解数学题,不是一下子写出答案,而是一步一步推导,推导过程中发现之前的步骤错了,就回头修正,最后得出正确结果。
这种方式比“一步到位”靠谱多了,尤其是在数学推理、代码生成这类需要严谨性的任务里,效果特别明显。
实验结果也挺实在,在同样的参数规模和计算成本下,RemeDi在数学推理、代码生成、通用问答这三类任务里,表现都比其他扩散模型好。
只做了SFT训练,效果就有明显提升,再加个RL训练,多数任务的表现还能再上一个台阶。
特别是代码生成,因为代码对准确性要求高,一点错都不能有,所以RemeDi在这任务里触发“再掩码”的次数最多,搞代码的朋友怕是最有体会,少个分号、错个变量名,整个程序都跑不起来,RemeDi能多检查几次,确实能减少不少麻烦。
当然了,RemeDi也不是完美的。
比如跟那些专门的自回归模型比,生成速度还能再提提,而且在一些特别复杂的逻辑任务里,纠错能力还有提升空间。
但不管怎么说,它的“再掩码”和“不定长生成”,算是给扩散语言模型指了个新方向,AI生成文本,不光要能“写出来”,还得能“写对”“写得灵活”。
以后要是把这些技术再优化优化,不管是写论文、编代码,还是日常写文案,都能省不少人工修改的功夫,实用性还是挺强的。
来源:南山浪人