具身智能论文学习1:PaLM: Scaling Language Modeling with Pathways

第一部分:基本信息

正式发表于 Journal of Machine Learning Research(JMLR),Volume 24,2023年,全文约113页。

第二部分:核心思想:文本token→Embedding→Decoder-only Transformer→下一个文本token

PaLM 是一个 decoder-only、自回归语言模型。论文在引言中说明,它采用从左到右的语言建模目标:根据前面已经出现的 token,预测下一个 token。

  • wt:第 t 个 token;
  • w<t:第 t 个 token 之前的所有 token;
  • p(⋅):模型给出的概率分布。

其中:

举例:

假设前面输入:

复制代码
The robot picks up the

模型需要预测下一个 token。

它可能给出:

候选 token 概率
cup 0.52
box 0.18
object 0.11
table 0.04
其他 token 0.15

那么:

模型选择或者采样出 cup 后,把它接到前面:

复制代码
The robot picks up the cup

这就是"自回归":

复制代码
预测一个 token
→ 放回输入序列
→ 再预测下一个 token
→ 不断重复

在训练数据中,正确的下一个 token 是已知的。

但它不是 PaLM 最核心的论文贡献

因为 GPT、GPT-2、GPT-3 本质上也都是:

token → decoder-only Transformer → next token

第三部分:核心要解决的问题

存在的问题:

当时一个核心问题是:如果继续扩大语言模型的参数规模、训练数据和计算规模,通用语言理解和推理能力还能不能持续提升?是否会出现小模型不具备的新能力?

解决方法:

PaLM 因此将模型规模扩大到 540B 参数 ,通过 Pathways 在大规模 TPU v4 集群上训练,并系统评估 scaling 后的语言、推理、多语言、代码等能力。

第三部分:核心创新点细节

(1)核心架构创新

①SwiGLU 激活函数 :采用形式,相比 ReLU、GeLU 等激活函数显著提升模型质量,尽管需增加一次矩阵乘法,但在算力等价实验中表现更优;

②并行层设计:将标准串行结构:

改为并行结构:

使 MLP 与注意力机制的输入矩阵乘法可融合,大规模训练速度提升约 15%

(2)训练的损失函数

假设序列是:

复制代码
The robot picks up the cup.

训练时可以形成多个预测任务:

复制代码
输入:The
目标:robot

输入:The robot
目标:picks

输入:The robot picks
目标:up

输入:The robot picks up
目标:the

输入:The robot picks up the
目标:cup

模型希望正确 token 的概率越来越高,因此通常最小化负对数似然:

(3)模型规模大小

(4)文字转变变成 token过程

Transformer 不能直接接收字符串:

复制代码
The robot picks up the cup.

第一步需要使用 tokenizer 将文字拆成 token。

PaLM 使用的是 SentencePiece tokenizer ,词表大小为:

也就是词表中共有约25.6万个可选择的 token。词表支持多语言、代码、空格以及UTF-8字节;论文还说明,数字会被拆成单独的数字 token,例如:

复制代码
123.5

被拆成:

复制代码
1 | 2 | 3 | . | 5

一个句子可能被分成:

复制代码
The | robot | picks | up | the | cup | .

实际 SentencePiece 的分割可能更细,例如把低频词拆成子词。也就是说token 不一定等于完整单词,它可能是单词、子词、符号、空格形式或字节

(5)token转变序号形式

token 还只是编号,不能直接进入 Transformer:

每个 token 在词表中都有一个整数 ID。

例如仅作示意:

token token ID
The 315
robot 8402
picks 12617
up 207
cup 5138

于是文字序列变成:

315, 8402, 12617, 207, 5138

但这些数字只是索引。

8402 并不表示"robot 的数值大小是8402",也不代表它比 cup=5138 更大。它们只是词表中的编号。

Transformer需要的是连续向量,因此还要经过 embedding 层

(6)token 进入 embedding 空间

Embedding 层(嵌入层) 的作用,就是把计算机无法直接理解的离散编号,转换成神经网络能够计算的连续向量。Embedding 层本质上是一个可以训练的巨大矩阵:

(|V|):词表大小; (d):每个 token 的向量维度,维度越高⇒模型有更大的内部表示空间。

假设:

token ID(robot)=8402

模型就从 embedding 矩阵中取出第8402行:

=E8402,得到一个长度为 的向量:

例如 PaLM 8B 中:******=****4096这个里面的就是特征向量,**概念上可能是:真实模型中这个向量有数千到上万个维度。

所以完整过程是:

复制代码
文字
↓
SentencePiece 分词
↓
token
↓
token ID
↓
查询 embedding 矩阵
↓
连续向量
↓
Transformer

写成数学形式就是:

其中:就是 token embedding 映射。

(7)embedding 向量学会的信息

一开始,embedding 向量只是随机初始化的参数。

经过大量训练后,与相似语言环境有关的 token 会形成有用的内部表示。例如模型可能学到:

  • robotmachinearm 有一定语义联系;
  • cupbowlcontainer 有一定联系;
  • pick upgrasplift 有一定联系;
  • 语法角色、上下文用法和多语言关系。

但不要简单理解为:

embedding 的某一个维度就明确表示"是不是机器人"。

语义通常分散在整个高维空间中,并经过多层 Transformer 继续加工。

(8)引入位置信息

如果只有 token embedding:

复制代码
robot picks cup

和:

复制代码
cup picks robot

包含的 token 相同,但语义完全不同。

因此模型还必须知道位置和顺序。

PaLM 使用 RoPE(Rotary Position Embedding,旋转位置编码),而不是普通的绝对位置向量。RoPE主要在注意力计算中将位置信息作用于 query 和 key,使模型能够区分:

  • 谁在前面;
  • 谁在后面;
  • token之间相距多远。

核心就是:token内容向量+位置信息→有顺序的序列表示

(9)预测下一个token

token embedding 进入多层 decoder-only Transformer 后,当前位置得到隐藏状态:

这个隐藏状态包含模型对前文的综合理解

是位置t的输入向量 经过多层 Transformer 后得到的隐藏表示;不过它不只包含 的信息,还融合了前面所有位置 的信息,即:

接下来模型计算词表中每个 token 的分数:

其中:

是输出投影矩阵,它负责把 Transformer 输出的隐藏向量 ,**转换成词表中每个 token 的预测分数,**例如:robot→token ID→4096维向量

输出时,模型又需要把4096维的 hth_tht​ 映射回25.6万个词表分数:

再经过 softmax,得到预测的每个单词的概率:

最终得到:

复制代码
cup      0.52
box      0.18
object   0.11
...

完整流程:

符号 含义
第 t 个离散 token
token 的初始 embedding 向量
Transformer 处理后的隐藏向量
输出投影矩阵,不是编码器
所有词表 token 的 logits
softmax 将 logits 转成概率

(10)训练的数据

(11)Pathways核心架构

"PaLM 为什么能够扩展到 540B 参数?"实现这一目标的关键!

TPU 可以先理解成:

Google 专门为机器学习/深度学习设计的一种加速芯片。

pod指的是:一大群通过高速网络连在一起的 TPU 芯片组成的"超级计算机集群"

Pathways 是 Google 推出的新型机器学习系统,支持跨数千个加速器芯片的高效训练,其核心设计包括:

  • Pod 级双向数据并行:单个 Python 客户端将训练批次拆分到两个 Pod,每个 Pod 独立执行前向/反向计算,随后交换梯度并并行更新参数,确保参数一致性。
  • 异步调度与分片数据流:通过 Pod 级调度器的异步调度掩盖任务分发延迟,采用分片数据流模型降低数据传输成本。
  • 优化的跨 Pod 梯度传输 :将梯度数据拆分为小块,通过多路径路由避免网络拥堵,实现 97% 的弱扩展效率 (理论 2 倍吞吐量,实际达到 1.95 倍)。

Figure 2 展示了 PaLM 如何借助 Pathways 跨多个 TPU v4 Pod 进行分布式训练。 图中不同颜色表示不同 TPU Pod,模型参数和训练数据被分布到大量 TPU 上,并通过高速数据中心网络进行通信。PaLM 540B 的训练使用了 6144 个 TPU v4 芯片 。因此,Pathways 并不是 PaLM 神经网络中的一个新模块,而是支撑超大规模模型训练的**分布式计算基础设施。**它解决的核心问题是:当模型规模增长到数千亿参数后,如何让成千上万个计算核心高效协同工作。

(12)Pathways 的训练效率

为了衡量如此大规模的分布式训练是否真的高效,论文进一步比较了不同大型语言模型的 Model FLOPs Utilization(MFU,模型计算利用率) 。从 Table 3 可以看到,PaLM 540B 使用 6144 个 TPU v4 进行训练,模型 FLOPs 利用率达到 46.2%,高于表中 GPT-3、Gopher 和 Megatron-Turing NLG 等同期大模型。这说明 Pathways 不只是简单地"堆更多 TPU",而是能够较高效地利用大规模计算资源,为训练 540B 参数的 dense Transformer 提供了工程基础。

(13)模型变大真的有用吗?------Scaling 带来的能力提升

Figure 3 展示了 PaLM 在 BIG-bench 大规模任务集合上的 Scaling 现象。 横轴表示模型参数规模,纵轴表示多个任务上的归一化平均性能。可以看到,随着 PaLM 从较小规模逐渐扩大到 540B 参数整体任务表现明显提高,而且 1-shot、5-shot 通常进一步优于 0-shot。这说明扩大模型规模带来的不仅是更好的语言流畅度,还提高了模型在大量不同任务上的 few-shot learning、知识利用和复杂推理能力 。这也是 PaLM 最重要的结论之一:大规模预训练 + 模型 Scaling 可以形成更强的通用语言能力。

第四部分:缺陷

落到具身智能:PaLM 提供语言知识与推理底座,但仍是 Text→Text;缺少视觉、affordance 和 action,因此自然引出 SayCan / PaLM-E / RT-2。

第五部分:参考文献

https://blog.csdn.net/m0_65010824/article/details/155193911

相关推荐
qq_454245033 小时前
Agent数据价值分类存储原则
大数据·人工智能·分类
怪奇云呼军3 小时前
从声音特征到 CRM 回流:闪电智能 Voice Agent 沟通策略自适应系统 v1 实战
android·人工智能·python·音视频·语音识别
Python私教4 小时前
AI 并行编码的 Worktree 生命周期:创建、隔离与安全回收
人工智能·git
ZhengEnCi4 小时前
什么是 SFT 监督微调:大模型从只会续写到会听话的关键一步
人工智能
桃西西呀4 小时前
你的 AI Agent 真的会做题吗?Harbor评测框架帮你测评
人工智能
Python私教4 小时前
AI Agent 可观测性实战:从 correlationId 到失败时间线
人工智能·后端
Dave1205464 小时前
AI Agent学习 Day14:LangGraph进阶 —— 条件分支、Tool Node与Memory持久化
人工智能·学习
乱世刀疤4 小时前
深度 | 美国AI开始攻击真人
人工智能
qq_25294131684 小时前
列车车轮缺陷智能检测数据集:800张图像、4大类别,助力铁路安全运维
运维·人工智能·安全·yolo·目标检测·计算机视觉·视觉检测