Zhangzhe's Blog

The projection of my life.

0%

Large Language Diffusion Models

URL

TL;DR

  • LLaDA 提出了一个新概念,叫 “扩散语言模型”,和主流的自回归语言模型 predict next token 的方式不同,LLaDA 使用类似 Diffusion 去噪的方法,一次性生成多个 token,通过多次生成,得到一个完整的生成文本。
  • 但细看就会发现,Diffusion 就是一个彻头彻尾的噱头,和经典的热力学扩散过程没有鸡毛关系,LLaDA 本质就是一个大 BERT 模型,用完形填空的方式来生成文本(一次可以做多个完形填空),只是下图所示的每轮迭代的过程看起来有点像 Diffusion 的去噪(没关系硬蹭)。
    llada

上图来自官方 repoREADME

Algorithm

总体流程

  • 虽然多少有点标题党,但这篇论文本身是值得一读的,将文本生成任务做了重新定义,确实可大幅提高生成速度。

模型架构

  • 纯纯 Transformer encoder 架构,和 BERT 类似,双向注意力,模型参数规模达 8B

训练过程

  1. 预训练
    • 使用随机 mask 一定比例的 token,然后使用 Transformer 预测被 masktoken(完形填空)
    • 损失函数:mask 部分的 cross-entropy 损失
    • 数据规模:2.3 万亿 token,包含通用文本、代码和多语言数据
  2. SFT
    • 目标:使模型具备指令跟随能力
    • 数据格式:成对数据 (pθ,rθ)(p_\theta,r_\theta),其中 pθp_\theta 是指令,rθr_\theta 是响应
    • 掩码策略:仅对响应部分掩码,保持指令完整
    • 损失函数:仅对响应部分计算 cross-entropy 损失
    • 数据规模:450 万对指令响应对,涵盖代码、数学和多轮对话

推理与生成

  • 过程:从全掩码的响应开始,逐步预测并更新掩码 token,直到生成完整响应
  • 重掩码策略(预测之后 mask 一部分生成结果做二次生成):
    • 随机重掩码:基础策略,与扩散过程对齐
    • 低置信度重掩码:优先掩码预测置信度低的 token
    • 半自回归策略(SFT后):分块生成,块内并行预测以提高效率
  • 生成效果:支持多轮对话、多语言翻译和复杂推理任务

和自回归模型对比

特性 自回归模型(如GPT LLaDA
生成顺序 严格从左到右逐 token 生成 并行预测 + 动态调整
计算效率 需串行预测多次 仅需少量迭代(块级并行)
错误修正能力 无法修改已生成 token 通过重掩码可修正低置信度位置
逆向推理支持 受限于单向建模 双向注意力机制支持逆向推理

Thought

  • 预测下一个词的大模型范式是否一定是最优的?可能未必。这篇论文就提出了一个不错的思路
  • make bert great again 手动滑稽