Author: C3P00

  • 大语言模型会“梦见”大象吗?——浅析Transformer中的潜在概念关联与联想记忆

    引言:大语言模型的“大象梦境”

    当我们被要求不要去想一头大象时,我们脑海中浮现的第一个画面很可能就是一头大象。那么,如果我们对大语言模型(LLM)提出同样的要求,会发生什么呢?显然,LLM的输出会受到上下文标记的强烈影响 [Brown 等人,2020]。这种影响是否会以一种非同寻常的方式引导LLM改变其输出呢?

    为了深入理解这个问题,本文着眼于一项名为“事实检索”的任务 [Meng 等人,2022, 2023],该任务要求模型给出预期的输出答案。LLM经过海量数据的训练,已知具有存储和回忆事实的能力 [Meng 等人,2022, 2023; De 等人,2021; Mitchell 等人,2021, 2022; Dai 等人,2021]。这种能力引发了以下问题:事实检索的鲁棒性如何?它在多大程度上依赖于上下文中的语义?它揭示了LLM中记忆的哪些特性?

    本文首先证明了事实检索并不鲁棒,LLM很容易被变化的上下文所愚弄。例如,当被要求完成“埃菲尔铁塔位于…”时,GPT-2 [Radford 等人,2019] 会回答“巴黎”。然而,当提示为“埃菲尔铁塔不在芝加哥。埃菲尔铁塔位于…”时,GPT-2 却回答了“芝加哥”。图 1 展示了更多例子,包括 Gemma 和 LLaMA。另一方面,人类并不会觉得这两个句子在事实上令人困惑,在两种情况下都会回答“巴黎”。我们将这种现象称为“上下文劫持”。重要的是,这些发现表明LLM可能像一个联想记忆模型,其中上下文中的标记引导着记忆的检索,即使形成的这种关联本身并不具有语义意义。

    图 1:各种LLM的上下文劫持示例,表明事实检索并不鲁棒。

    上下文劫持:LLM的脆弱性

    为了深入研究上下文劫持现象,本文对包括 GPT-2 [Radford 等人,2019]、Gemma [Team,2024](基础模型和指令模型)以及 LLaMA-2-7B [Touvron 等人,2023] 在内的多个开源 LLM 模型进行了实验。

    本文使用 Meng 等人 [2022] 提出的 CounterFact 数据集进行大规模实验。CounterFact 数据集包含 21,919 个样本,每个样本由一个元组 (p, o, o_, s, r) 表示。其中,p 表示带有真实目标答案 o (target_true) 和错误目标答案 o_ (target_false) 的上下文提示,例如,提示 p = “埃菲尔铁塔可以在…” 中,真实目标 o* = “巴黎”,错误目标 o_ = “关岛”。此外,p 中的主要实体是主语 s (s = “埃菲尔铁塔”),提示被归类为关系 r(例如,与上述示例具有相同关系 ID 的其他样本可能是 “{subject} 的位置是”、”{subject} 可以在…找到”、”{subject} 在哪里?它在…”)。

    本文采用有效性分数 (ES) [Meng 等人,2022] 来衡量劫持方案的效果,ES 指的是在修改上下文后满足 Pr[o_] > Pr[o*] 的样本比例,即成功被操纵的数据集比例。

    本文实验了两种劫持方案。第一种方案是将文本“不要想 {target_false}”添加到每个上下文的开头。例如,将提示“埃菲尔铁塔在…”更改为“不要想关岛。埃菲尔铁塔在…”。图 2(a) 显示,劫持后有效性分数显著下降。

    第二种方案是利用关系 ID r 来添加事实上正确的句子。例如,可以将上面的例子劫持为“埃菲尔铁塔不在关岛。埃菲尔铁塔在…”。图 2(b) 报告了基于关系 ID P190(“姐妹城市”)的劫持结果。我们可以看到类似的模式,即添加的句子越多,ES 分数越低。值得注意的是,即使只包含与错误目标语义相近的词(例如,对于错误目标“法语”,使用“法国”),也可以进行劫持。这表明上下文劫持不仅仅是 LLM 从上下文中复制标记。

    图 2:上下文劫持会导致 LLM 输出错误的目标。该图显示了 CounterFact 数据集上各种 LLM 在两种劫持方案下的有效性分数与添加句子数量的关系。

    这些实验表明,上下文劫持可以在不改变上下文事实意义的情况下改变 LLM 的行为,导致它们输出不正确的标记。值得注意的是,文献中也观察到 LLM 在不同情况下存在类似的脆弱行为 [Shi 等人,2023; Petroni 等人,2020; Creswell 等人,2022; Yoran 等人,2023; Pandia 等人,2021]。

    潜在概念关联:模拟LLM的联想记忆

    上下文劫持表明 LLM 中的事实检索并不鲁棒,准确的事实回忆不一定依赖于上下文的语义。因此,一个假设是将 LLM 视为联想记忆模型,其中与事实相关的特殊上下文标记提供了部分信息或线索,以促进记忆检索 [Zhao 等人,2023]。为了更好地理解这一观点,本文设计了一个合成记忆检索任务,以评估 LLM 的基本组成部分——Transformer 如何解决它。

    本文提出了一个合成预测任务,其中对于每个输出标记 y,上下文中的标记(用 x 表示)从给定 y 的条件分布中采样。与 y 相似的标记将更容易出现在上下文中,但 y 本身除外。潜在概念关联的任务是在给定 p(x|y) 的样本的情况下成功检索标记 y。这种合成设置简化了语言的顺序性,这一选择得到了先前关于上下文劫持实验的支持(第 3 节)。

    为了衡量相似性,本文定义了一个潜在空间。潜在空间是 m 个二元潜在变量 Zi 的集合,可以将其视为语义概念变量。令 Z = (Z1, …, Zm) 为对应的随机向量,z 为其具体值,𝒵 为所有潜在二元向量的集合。对于每个潜在向量 z,都有一个关联的标记 t ∈ [V] = {0, …, V-1},其中 V 是标记的总数。这里我们用 ι 表示标记器,其中 ι(z) = t。在本文中,我们假设 ι 是标准标记器,其中每个二元向量映射到其十进制数。换句话说,潜在向量和标记之间存在一一映射。由于映射是一对一的,我们有时会交替使用潜在向量和标记。我们还假设每个潜在二元向量都有一个唯一的对应标记,因此 V = 2^m。

    在潜在概念关联模型下,目标是在上下文中给出部分信息的情况下检索特定的输出标记。这由潜在条件分布建模:

    p(z|z*) = ωπ(z|z*) + (1-ω)Unif(𝒵)

    其中

    π(z|z*) ∝ { exp(-DH(z, z*)/β)  z∈𝒩(z*),
                 0              z∉𝒩(z*).

    这里 DH 是汉明距离,𝒩(z) 是 𝒵∖{z} 的一个子集,β > 0 是温度参数。汉明距离的使用与自然语言中分布语义的概念相呼应:“一个词的特征在于它周围的词” [Firth, 1957]。换句话说,p(z|z) 表示以概率 1-ω,条件分布均匀地生成随机潜在向量;以概率 ω,潜在向量从信息条件分布 π(z|z) 生成,其中条件分布的支持是 𝒩(z)。这里,π 表示依赖于 z 的信息条件分布,而均匀分布是非信息的,可以被视为噪声。混合模型参数 ω 决定了上下文的信噪比。

    因此,对于任何潜在向量 z* 及其关联的标记,可以使用上述潜在条件分布生成 L 个上下文标记词:

    • 均匀采样一个潜在向量 z*
    • 对于 l = 1, …, L-1,采样 zl ~ p(z|z*),tl = ι(zl)。
    • 对于 l = L,采样 z ~ π(z|z*),tL = ι(z)。

    因此,我们有 x = (t1, …, tL) 和 y = ι(z*)。上下文中的最后一个标记是专门生成的,以确保它不是来自均匀分布。这确保了最后一个标记可以使用注意力在上下文中寻找与输出相关的线索。令 𝒟^L 为生成 (x, y) 对的采样分布。y 给定 x 的条件概率由 p(y|x) 给出。为了方便起见,给定一个标记 t ∈ [V],我们定义 𝒩(t) = 𝒩(ι^-1(t))。我们还定义 DH(t, t’) = DH(ι^-1(t), ι^-1(t’)),对于任何一对标记 t 和 t’。

    对于任何将上下文映射到输出标签估计 logits 的函数 f,训练目标是最小化最后一个位置的损失:

    𝔼_(x,y)∈𝒟^L [ℓ(f(x), y)]

    其中 ℓ 是带有 softmax 的交叉熵损失。潜在概念关联的错误率定义如下:

    R_𝒟^L(f) = ℙ_(x,y)~𝒟^L [argmax f(x) ≠ y]

    准确率为 1 – R_𝒟^L(f)。

    Transformer网络架构

    给定一个由 L 个标记组成的上下文 x = (t1, …, tL),我们定义 X ∈ {0, 1}^(V×L) 为其 one-hot 编码,其中 V 是词汇量大小。这里我们用 χ 表示 one-hot 编码函数(即 χ(x) = X)。类似于 [Li 等人,2023; Tarzanagh 等人,2023; Li 等人,2024],我们也考虑一个简化的单层 Transformer 模型,没有残差连接和归一化:

    f^L(x) = [W_E^T W_V attn(W_E χ(x))]_:L

    其中

    attn(U) = U σ((W_K U)^T (W_Q U) / √d_a),

    W_K ∈ ℝ^(d_a×d) 是键矩阵,W_Q ∈ ℝ^(d_a×d) 是查询矩阵,d_a 是注意力头的大小。σ: ℝ^(L×L) → (0, 1)^(L×L) 是列式 softmax 操作。W_V ∈ ℝ^(d×d) 是值矩阵,W_E ∈ ℝ^(d×V) 是嵌入矩阵。这里,我们采用 Gemma [Team,2024] 使用的权重绑定实现。我们只关注最后一个位置的预测,因为它与潜在概念关联相关。为了方便起见,我们也用 h(x) 表示 [attn(W_E χ(x))]_:L,它是最后一个位置经过注意力后的隐藏表示,用 f_t^L(x) 表示输出标记 t 的 logit。

    理论分析:Transformer如何实现联想记忆

    在本节中,我们将从理论上研究单层 Transformer 如何解决潜在概念关联问题。我们首先介绍一个假设的联想记忆模型,该模型利用自注意力进行信息聚合,并使用值矩阵进行记忆检索。事实证明,这个假设模型在实验中反映了训练好的 Transformer。我们还研究了网络每个组件的作用:值矩阵、嵌入和注意力机制。

    假设的联想记忆模型

    在本节中,我们将展示一个简单的单层 Transformer 网络可以解决潜在概念关联问题。形式化结果在下面的定理 1 中给出;首先我们需要一些定义。令 W_E(t) 为嵌入矩阵 W_E 的第 t 列。换句话说,这是标记 t 的嵌入。给定一个标记 t,定义 𝒩_1(t) 为其潜在向量与 t 的潜在向量只有 1 个汉明距离的标记子集:𝒩_1(t) = {t’: DH(t’, t)) = 1} ∩ 𝒩(t)。对于任何输出标记 t,𝒩_1(t) 包含在上下文中出现概率最高的标记。

    以下定理形式化了这样一种直觉:一个单层 Transformer 使用自注意力来总结上下文分布的统计信息,并且其值矩阵使用聚合表示来检索输出标记,可以解决第 4.1 节中定义的潜在概念关联问题。

    定理 1(非正式)

    假设数据生成过程遵循第 4.1 节,其中 m ≥ 3,ω = 1,并且 𝒩(t) = V∖{t}。那么对于任何 ε > 0,存在一个由公式 4.1 给出的 Transformer 模型,在上下文长度 L 足够大的情况下,可以实现误差 ε,即 R_𝒟^L(f^L) < ε。

    更准确地说,对于定理 1 中的 Transformer,我们将有 W_K = 0 和 W_Q = 0。W_E 的每一行都相互正交并归一化。W_V 由下式给出:

    W_V = ∑_(t∈[V]) W_E(t) (∑_(t'∈𝒩_1(t)) W_E(t')^T)

    定理的更正式陈述及其证明在附录 A(定理 7)中给出。

    直观地说,定理 1 表明,从 p(x|y) 中获得更多样本可以提高召回率。另一方面,如果修改上下文以包含更多来自 p(x|ỹ) 的样本,其中 ỹ ≠ y,那么 Transformer 很可能输出错误的标记。这类似于上下文劫持(见第 5.5 节)。值矩阵的构造类似于 [Bietti 等人,2024; Cabannes 等人,2024] 中使用的联想记忆模型,但在我们的例子中,没有明确的一对一输入和输出对作为记忆存储。相反,输入的组合被映射到单个输出。

    虽然定理 1 中的构造只是单层 Transformer 解决此任务的一种方法,但事实证明,即使在噪声情况下 (ω ≠ 1),这种 W_V 的构造也接近于训练好的 W_V。在第 6.1 节中,我们将证明用构造的值矩阵替换训练好的值矩阵可以保持准确性,并且构造的值矩阵和训练好的值矩阵甚至共享接近的低秩近似。此外,在这个假设模型中,部署了一个简单的均匀注意力机制,允许自注意力计算每个标记出现的次数。由于嵌入是正交向量,因此没有干扰。因此,自注意力层可以被视为聚合上下文信息。值得注意的是,在不同的设置中,需要更复杂的嵌入结构和注意力模式。这将在以下几节中讨论。

    值矩阵的作用

    定理 1 中的构造依赖于值矩阵作为联想记忆。但这是必要的吗?我们能否将值矩阵的功能集成到自注意力模块中来解决潜在概念关联问题?从经验上看,答案似乎是否定的,这将在第 6.1 节中显示。特别是,当上下文长度较小时,将值矩阵设置为单位矩阵会导致记忆召回准确率较低。

    这是因为如果值矩阵是单位矩阵,Transformer 将更容易受到上下文噪声的影响。为了理解这一点,请注意,给定任何一对上下文和输出标记 (x, y),自注意力后的潜在表示 h(x) 必须位于多面体 S_y 中才能被正确分类,其中 S_y 定义为:

    S_y = {v: (W_E(y) - W_E(t))^T v > 0 where t ∉ [V]∖{y}}

    请注意,根据定义,对于任何两个标记 y 和 ỹ,S_y ∩ S_ỹ = ∅。另一方面,由于自注意力机制,h(x) 也必须位于所有嵌入向量的凸包中:

    CV = Conv(W_E(0), ..., W_E(|V|-1))

    换句话说,为了正确分类任何一对 (x, y),h(x) 必须位于 S_y 和 CV 的交集中。由于 x 的随机性,h(x) 很可能位于此交集之外。值矩阵的重映射效果可以帮助解决这个问题。以下引理解释了这种直觉。

    引理 2

    假设数据生成过程遵循第 4.1 节,其中 m ≥ 3,ω = 1,并且 𝒩(t) = {t’: DH(t, t’) = 1}。对于公式 4.1 给出的任何单层 Transformer,其中 W_E 的每一行都相互正交并归一化,如果 W_V 的构造如公式 5.1 所示,则错误率为 0。如果 W_V 是单位矩阵,则错误率严格大于 0。

    当值矩阵是单位矩阵时,会出现另一个有趣的现象。在这种情况下,嵌入与其对应汉明距离之间的内积呈线性变化。这种关系可以用以下定理来形式化。

    定理 3

    假设数据生成过程遵循第 4.1 节,其中 m ≥ 3,ω = 1,并且 𝒩(t) = V∖{t}。对于公式 4.1 给出的任何单层 Transformer,其中 W_V 为单位矩阵,如果最小化交叉熵损失,使得对于任何采样的对 (x, y),

    p(y|x) = p̂(y|x) = softmax(f_y^L(x))

    则存在 a > 0 和 b,使得对于两个标记 t ≠ t’,

    ⟨W_E(t), W_E(t')⟩ = -a DH(t, t') + b


    嵌入训练和几何结构

    第 5.1 节中的假设模型要求嵌入形成一个正交基。在嵌入维度 d 大于标记数量 V 的过参数化机制中,可以通过高斯初始化来近似实现这一点。然而,在实践中,嵌入维度通常小于词汇量大小,在这种情况下,嵌入不可能构成这样的基。根据经验,在第 6.2 节中,我们观察到在过参数化 (d > V) 的情况下,嵌入可以冻结在其高斯初始化状态,而在欠参数化机制中,需要进行嵌入训练才能获得更好的召回准确率。

    这就引出了一个问题:在欠参数化机制中学习了什么样的嵌入几何结构?实验揭示了两个标记的嵌入内积与其汉明距离之间的密切关系(见图 3(b) 和第 C.2 节中的图 C.5)。近似地,我们有以下关系:

    ⟨W_E(t), W_E(t')⟩ = { b_0      t = t',
                         -a DH(t, t') + b  t ≠ t'

    对于任意两个标记 t 和 t’,其中 b_0 > b 且 a > 0。可以将其视为高斯初始化下的嵌入几何结构与 W_V 为单位矩阵时的几何结构的组合(定理 3)。重要的是,这种结构表明训练好的嵌入本身就捕获了潜在空间内的相似性。从理论上讲,这种嵌入结构(公式 5.2)在 b_0、b 和 a 的特定条件下也可以导致低错误率,这由以下定理阐明。

    定理 4(非正式)

    遵循与定理 1 相同的设置,但嵌入遵循公式 5.2,那么在 a、b 的特定条件下,如果 b_0 和上下文长度 L 足够大,则错误率可以任意小,即对于任何 0 < ε < 1,R_𝒟^L(f^L) < ε。

    定理的正式陈述及其证明在附录 A(定理 8)中给出。

    值得注意的是,这种嵌入几何结构也意味着低秩结构。让我们首先考虑 b_0 = b 的特殊情况。换句话说,嵌入与其对应汉明距离之间的内积呈线性变化。

    引理 5

    如果嵌入遵循公式 5.2 且 b = b_0,并且 𝒩(t) = V∖{t},则 rank(W_E) ≤ m + 2。

    当 b_0 > b 时,嵌入矩阵不会严格低秩。然而,它仍然可以表现出近似的低秩行为,其特征是顶部和底部奇异值之间存在特征间隙。这在经验上得到了验证(见第 C.4 节中的图 C.9-C.12)。

    注意力选择的作用

    到目前为止,注意力在分析中并没有发挥重要作用。但也许并不令人意外的是,注意力机制在选择相关信息方面很有用。为了理解这一点,让我们考虑一个特定的设置,其中对于任何潜在向量 z,𝒩(z) = {z: z_1* = z_1}∖{z*}。

    本质上,潜在向量根据第一个潜在变量的值被划分为两个簇,信息条件分布 π 只采样与输出潜在向量位于同一簇中的潜在向量。根据经验,当在此设置下进行训练时,注意力机制将更加关注同一簇中的标记(第 6.3 节)。这意味着自注意力层可以减轻噪声并集中于信息条件分布 π。

    为了更直观地理解这一点,我们将研究未归一化注意力分数的梯度。具体来说,未归一化注意力分数定义为:

    u_(t, t') = (W_K W_E(t))^T (W_Q W_E(t')) / √d_a.

    引理 6

    假设数据生成过程遵循第 4.1 节,并且 𝒩(z) = {z: z_1 = z_1}∖{z*}。给定序列中的最后一个标记 t_L,则

    ∇_(u_(t, t_L)) ℓ(f^L) = ∇ℓ(f^L)^T (W_E)^T W_V (α_t p̂_t W_E(t) - p̂_t ∑_(l=1)^L p̂_(t_l) W_E(t_l))

    其中对于标记 t,αt = ∑(l=1)^L 1[t_l = t],p̂_t 是标记 t 的归一化注意力分数。

    通常,当标记 t 和 t_L 属于同一簇时,α_t 更大,因为同一簇中的标记往往频繁地共现。因此,对于同一簇中的标记,对未归一化注意力分数的梯度贡献通常更大。

    上下文劫持与记忆召回的错误分类

    根据潜在概念关联的理论结果,自然会产生一个问题:这些结果如何与 LLM 中的上下文劫持联系起来?本质上,对于潜在概念关联问题,输出标记的区分是通过区分各种条件分布 p(x|y) 来实现的。因此,在上下文 x 中添加或更改标记,使其类似于不同的条件分布,会导致错误分类。在第 C.5 节中,我们展示了混合不同上下文会导致 Transformer 错误分类的实验。这部分解释了 LLM 中的上下文劫持(第 3 节)。另一方面,众所周知,错误率与上下文条件分布之间的 KL 散度有关 [Cover 等人,1999]。分布越接近,模型就越容易错误分类。这里,主要由独立同分布样本组成的较长上下文意味着更大的散度,因此记忆召回率更高。这在理论上由定理 1 和定理 4 暗示,并在第 C.6 节中得到经验证明。这一结果也与反向上下文劫持有关,在反向上下文劫持中,添加包含真实目标词的句子可以提高事实召回率。

    实验:验证理论分析

    前一节的理论结果的主要含义是:

    1. 值矩阵很重要,并且具有公式 5.1 中所示的联想记忆结构。
    2. 在欠参数化机制中,训练嵌入至关重要,其中嵌入表现出特定的几何结构。
    3. 注意力机制用于选择最相关的标记。

    为了评估这些说法,我们在合成数据集上进行了几项实验。其他实验细节和结果可以在附录 C 中找到。

    关于值矩阵 W_V

    在本节中,我们将研究值矩阵 W_V 的必要性及其结构。首先,我们进行实验来比较训练和冻结 W_V 为单位矩阵的影响,上下文长度 L 设置为 64 和 128。图 3(a) 和图 C.1 显示,当上下文长度较小时,冻结 W_V 会导致准确率显著下降。这与引理 2 一致,并在一般情况下对其进行了验证,这意味着值矩阵在保持高记忆召回率方面的重要性。

    接下来,我们研究训练好的值矩阵 W_V 与公式 5.1 中构造的值矩阵之间的一致程度。第一组实验检查了两个矩阵在功能上的相似性。我们将训练好的 Transformer 中的值矩阵替换为公式 5.1 中构造的值矩阵,然后报告使用新值矩阵的准确率。作为基线,我们还考虑随机构造的值矩阵,其中外积对是随机选择的(详细构造可以在第 C.1 节中找到)。图 C.2 表明,当值矩阵被替换为构造的值矩阵时,准确率并没有显著下降。此外,构造的值矩阵和训练好的值矩阵不仅在功能上相似,而且它们还共享相似的低秩近似。我们使用奇异值分解来获得各种值矩阵的最佳低秩近似,其中秩设置为与潜在变量的数量 (m) 相同。然后,我们计算训练好的值矩阵的低秩近似与构造的、随机构造的和高斯初始化的值矩阵的低秩近似之间的最小主角度。图 C.3 显示,构造的值矩阵平均而言与训练好的值矩阵具有最小的主角度。

    图 3:单层 Transformer 的关键组件在潜在概念关联问题上协同工作。(a) 与训练

    W_V 相比,将值矩阵 W_V 固定为单位矩阵会导致准确率降低。该图报告了 L =

    64 时固定和训练 W_V 的平均准确率。(b) 在欠参数化机制中进行训练时,嵌入结构由公式 5.2 近似。该图显示了当 m = 8 时,两个标记的嵌入之间的平均内积与其对应汉明距离的关系。(c) 自注意力层可以选择同一簇中的标记。该图显示了 m = 8 时的平均注意力分数热图和第 5.4 节中的簇结构。

    关于嵌入

    在本节中,我们将探讨嵌入训练在欠参数化机制中的重要性以及嵌入结构。我们进行实验来比较训练和冻结嵌入在不同嵌入维度下的影响。根据维度,从 {0.01, 0.001} 中选择最佳学习率。图 C.4 清楚地表明,当维度小于词汇量大小 (d < V) 时,需要进行嵌入训练。在过参数化机制 (d > V) 中,这不是必需的,这部分证实了定理 1,因为如果嵌入是从高维多元高斯分布初始化的,它们近似相互正交并具有相同的范数。

    下一个问题是在欠参数化机制中,训练好的 Transformer 形成了什么样的嵌入结构。从图 3(b) 和图 C.5 可以明显看出,两个标记的嵌入的平均内积与其对应汉明距离之间的关系大致符合公式 5.2。也许令人惊讶的是,如果我们绘制值矩阵固定为单位矩阵的训练好的 Transformer 的相同图形,则关系大多是线性的,如图 C.6 所示,这证实了我们的理论(定理 3)。

    正如第 5.3 节所建议的那样,这种嵌入几何结构(公式 5.2)会导致低秩结构。我们通过研究嵌入矩阵 W_E 的谱来验证这一说法。如图 C.4 所示,图 C.9-C.12 表明顶部和底部奇异值之间存在特征间隙,表明存在低秩结构。

    关于注意力选择机制

    在本节中,我们将通过考虑第 5.4 节中定义的一类特殊的潜在概念关联模型来研究注意力模式的作用。图 3(c) 和图 C.7 清楚地表明,自注意力选择了与最后一个标记位于同一簇中的标记。这表明注意力可以过滤掉噪声并集中于信息条件分布 π。我们将实验扩展到考虑依赖于前两个潜在变量的簇结构(详细构造可以在第 C.3 节中找到),图 C.8 显示了预期的注意力模式。

    结论:对LLM内部机制的进一步理解

    在这项工作中,我们首先介绍了 LLM 中的上下文劫持现象,这表明事实检索对于上下文的变异并不鲁棒。这表明 LLM 可能像联想记忆一样工作,其中上下文中的标记是引导记忆检索的线索。为了进一步研究这一观点,我们设计了一个名为潜在概念关联的合成任务,并从理论上和经验上研究了如何训练单层 Transformer 来解决此任务。这些结果为 Transformer 和 LLM 的内部工作机制提供了进一步的见解,并有望激发进一步的工作来解释和理解 LLM 预测标记和回忆事实的机制。

    参考文献

    • Brown, T. B., Mann, B., Ryder, N., Subbiah, M., Kaplan, J., Dhariwal, P., Neelakantan, A., Shyam, P., Sastry, G., Askell, A., et al. (2020). Language models are few-shot learners. Advances in neural information processing systems, 33:1877–1901.
    • Meng, K., Bau, D., Andonian, A., and Belinkov, Y. (2022). Locating and editing factual associations in gpt. Advances in Neural Information Processing Systems, 35:17365–17380.
    • Meng, K., Lee, D., Bau, D., and Belinkov, Y. (2023). Mass-editing factual associations in language models. arXiv preprint arXiv:2303.08354.
    • De, A., Burns, C., Malinowski, M., and Rumshisky, A. (2021). Editing factual knowledge in language models. arXiv preprint arXiv:2112.08155.
    • Mitchell, E., Lin, C.-J., Bosselut, A., Finn, C., and Manning, C. D. (2021). Fast model editing at scale. arXiv preprint arXiv:2110.11309.
    • Mitchell, E., Lee, K., Khabsa, M., Lin, C.-J., Finn, C., and Manning, C. D. (2022). Memory-based model editing at scale. arXiv preprint arXiv:2207.14296.
    • Dai, D., Dong, L., Hao, Y., Sui, Z., Ke, F., Zhang, J., Zhang, Y., Wang, J., and Qiu, X. (2021). Knowledge neurons in pretrained transformers. arXiv preprint arXiv:2104.08688.
    • Radford, A., Wu, J., Child, R., Luan, D., Amodei, D., and Sutskever, I. (2019). Language models are unsupervised multitask learners. OpenAI blog, 1(8):9.
    • Team, G. (2024). Gemma.
    • Touvron, H., Martin, L., Stone, K., Albert, P., Almahairi, A., Babaei, Y., Bashlykov, N., Batra, S., Bhargava, P., Bhosale, S., et al. (2023). Llama 2: Open foundation and fine-tuned chat models. arXiv preprint arXiv:2307.09288.
    • Zhao, W., Peng, B., Zhou, C., Wang, J., and Chang, S. (2023). Context-aware prompt learning for few-shot text classification. In Proceedings of the 61st Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pages 6436–6448.
    • Firth, J. R. (1957). A synopsis of linguistic theory, 1930–1955. Studies in linguistic analysis.
    • Li, Z., Wallace, E., Shen, S., Lin, K., Ke, G., and Zhang, S. (2023). Transformers learn in-context by gradient descent. arXiv preprint arXiv:2308.12175.
    • Tarzanagh, D. A. and Dasgupta, S. (2023). Margin maximization in transformers for in-context few-shot learning. arXiv preprint arXiv:2305.11146.
    • Li, Z., Wallace, E., Shen, S., Lin, K., Ke, G., and Zhang, S. (2024). The mechanics of in-context learning in transformers. arXiv preprint arXiv:2401.04182.
    • Cover, T. M. (1999). Elements of information theory. John Wiley & Sons.
    • Devroye, L., Lugosi, G., and Boucheron, S. (2013). A probabilistic theory of pattern recognition, volume 31. Springer Science & Business Media.
    • Loshchilov, I. and Hutter, F. (2017). Decoupled weight decay regularization. arXiv preprint arXiv:1711.05101.


  • 用角色扮演零样本提示打造更像人类的聊天机器人

    近年来,大型语言模型(LLM)在各个自然语言处理任务中都取得了显著的进步,其中一项就是开放域对话。这项技术旨在创造能够与用户进行自然、流畅对话的智能体,并展现出类似人类的同理心、个性和娱乐性等特质。

    传统方法的局限性

    目前,构建开放域对话系统的常见方法主要依赖于针对特定数据集的微调。例如,PersonaChat、Blended Skill Talk 和 Empathetic Dialogues 等数据集就被用于训练模型在对话中展现不同的技能。然而,这些数据集的构建成本高昂,而且通常只有一种语言版本。此外,最近自然语言处理领域的发展重点是训练能够遵循指令的LLM,例如 Alpaca、StackLLaMA、Guanaco 和本文研究的重点模型 Vicuna。这些模型能够以自然语言的方式响应用户的输入,但它们仍然局限于“领导者-追随者”的单向关系,难以直接展现出人类的对话能力。

    角色扮演零样本提示:一种高效且经济的解决方案

    为了解决上述问题并避免微调及其对数据的依赖性,本文提出了一种基于角色扮演的零样本提示方法,利用指令遵循模型的能力来构建开放域对话系统。这种方法属于新兴的基于提示的学习(PBL)范式。

    角色扮演提示的内涵

    角色扮演提示的意义不仅限于扮演一个给定的角色,更在于引导LLM展现出适合特定对话任务的模拟角色。LLM在预训练过程中吸收了海量的模拟角色,而角色扮演提示的作用就是引导LLM选择并展现出最适合当前对话场景的模拟角色。

    提示结构

    为了有效地处理开放域对话的复杂性,我们定义了一个通用的提示结构,该结构可以根据不同的对话任务进行调整。这个结构包含以下几个关键部分:

    1. 系统指令 (ℐs) : 明确定义目标任务的规范和全局期望行为,包括思考和写作风格。
    2. 情境上下文 (𝒞t) : 提供有助于模型更好地执行任务的上下文信息,例如个性信息、图像描述、对话历史摘要或来自外部子模块的信息。
    3. 回复指令 (ℐa) : 指示LLM如何回应用户的语句,强调写作风格、目标回复语言以及与情境上下文的关联性。
    4. 对话历史 (𝒳t) : 包含用户和LLM之前的对话记录,可以根据LLM的token大小限制进行截断,或者通过外部模块生成摘要来保留更长的对话历史。

    最终,提示构建器会根据不同的对话任务,将上述部分以最合适的顺序组合成最终的提示。

    实验与评估

    为了评估角色扮演零样本提示方法的有效性,我们在两个不同的对话任务上进行了实验:

    1. 基于PersonaChat数据集的通用角色任务: 通过角色扮演提示来增强LLM在对话中的类人能力。
    2. 模拟多模态对话的INT任务: 引导LLM描述而非解释一个模拟角色,从而模拟多模态对话场景。

    评估指标

    我们采用人工评估的方式来衡量对话系统的性能,评估指标包括:

    • 连贯性: 系统生成回复与对话历史的一致性。
    • 吸引力: 系统通过回复来引导对话继续进行的能力。
    • 类人性: 系统回复的自然程度,以及与人类对话的相似程度。
    • 目标达成: (仅限INT任务) 对话双方成功达成任务目标的程度。

    实验结果

    实验结果表明,角色扮演零样本提示方法能够有效地提升LLM在开放域对话中的性能。

    • 在PersonaChat任务中,使用高级提示的Vicuna-13B模型在连贯性和类人性方面都取得了最佳成绩,其性能与经过微调的BlenderBot模型相当。
    • 在INT任务中,使用高级提示的Vicuna-13B模型在所有评估指标上都优于其他系统,包括人工参与的Wizard of Oz实验。

    统计分析

    对收集到的对话进行统计分析后发现,指令遵循模型存在着回复过于冗长的缺陷。

    结论与展望

    本文探讨了使用结构化的角色扮演提示工程来改进LLM的开放域人机对话。角色扮演提示是一种简单且经济的方法,可以升级语言模型的行为,使其成为对话代理。本文的实验在法语环境下进行,但可以通过调整角色方向将其应用于其他语言。在两个不同的任务(基于角色的任务和模拟多模态对话)中的实验表明,尽管语言模型仍然存在明显的缺点(例如幻觉),但用户对这些代理的感知可以与成本更高的微调模型相媲美。

    未来,我们将进一步改进提示工程,自动化构建和过滤过程,并探索使用强化学习来自动生成提示。

  • 利用大型语言模型进行开放域人机对话中的角色扮演零样本提示

    引言

    自从Transformer被引入以来(Vaswani et al., 2017),衍生的大型语言模型(LLMs)在多个自然语言处理(NLP)任务上不断提升了技术水平。其中,开放域对话是指设计一个对话代理,使其能够在任何话题上与用户进行社交互动,展示出人类的能力,如共情、个性和娱乐性(Walker et al., 2021)。常见的方法是使用特定的数据集进行微调,通常针对某一或多种技能(例如PersonaChat,Blended Skill Talk,Empathetic Dialogues等)。然而,这些数据集的构建成本高且通常仅限于一种语言。

    在本研究中,我们探索了一种高效且成本低廉的解决方案:通过角色扮演零样本提示,利用具备多语言能力的大型语言模型(如Vicuna)来提升开放域对话能力。我们设计了一种提示系统,与指令跟随模型结合,能够在两项任务中与人类评估中的微调模型相媲美,甚至超越它们。

    相关工作

    开放域对话领域有很多发展,大多数解决方案主要集中在使用特定数据进行微调。例如BlenderBot系列,Meena,LaMDA等。这些模型展示了出色的对话技能,但除了对数据的依赖外,它们通常仅限于英语。基础模型是NLP领域的一个新趋势,它们展示了多语言能力并在多个基准上表现出色。其中,LLaMA模型是本研究的基础。

    方法论

    指令跟随 vs 对话技能

    引用Reitz(2019)的话:“对话不仅仅是进行对话。真正的对话描述了一种相互、关系、专注和有意义的互动方式。”尽管指令跟随模型经过优化以进行对话,但它们在真正的对话中往往无法满足这些方面的要求。尤其是社交方面——相互性、关系性和专注性——表现得较差。

    角色扮演提示

    理解角色扮演提示不仅限于扮演特定角色。根据Shanahan等(2023)的模拟和模拟器框架,LLM是一个模拟器,在预训练期间吞噬了无数的模拟物。在每次模拟中,它会随机选择一个合适的模拟物进行展示。角色扮演提示通过使LLM倾向于适应特定对话任务的模拟物来增强对话技能。

    提示结构

    开放域对话属于复杂任务领域(Santu和Feng,2023),提示的微小变化可能会影响模型的表现。因此,定义一个通用的提示结构是必要的,以便可以针对不同的对话任务进行调整。我们保留以下部分作为提示工程模块的构建块:

    1. 系统指令:定义目标任务的规格和总体期望行为。
    2. 情境上下文:提供有助于模型更好地执行任务的背景信息。
    3. 响应指令:引导LLM生成符合写作风格、目标语言和创造性的响应。
    4. 对话历史:包含用户和LLM的先前消息,可根据需要进行摘要或更新。

    实验

    系统架构

    系统架构如图1所示,它包括多个模块,如基于Rasa X工具的Web界面、提示构建模块和过滤模块。用户可以通过语音或文本与代理进行交流。

    具有人类能力的开放域对话:PersonaChat任务

    此任务通过使用从PersonaChat数据集中提取的个性特征来增强LLM的对话能力。我们设计了浅层提示和高级提示两种方案进行比较。

    模拟多模态对话:INT任务

    此任务验证了模型在特定主题下进行对话的能力。对话系统旨在进行多模态对话,背景是神经科学实验。用户和代理需要讨论一张图片,并找出其推广目标。

    人类评估

    为了评估模型的性能,我们进行了自我聊天和人机聊天两种评估。评估标准包括一致性、互动性和人性化。此外,对于INT任务,还增加了任务完成度这一标准。

    自我聊天评估

    自我聊天评价通过比较不同设置下生成的对话进行。结果表明,模型尺寸越大、指令调优的模型表现越好。

    人机聊天评估

    在PersonaChat任务中,我们收集了用户与模型的对话,并与BlenderBot进行了比较。结果显示,高级提示在一致性和人性化上得分最高,而浅层提示在互动性上得分最低。

    在INT任务中,Vicuna & Advanced Prompt系统在所有标准上表现最佳,除了人性化。实验表明,该系统在保持对话互动性方面表现出色。

    统计分析

    我们对收集的对话进行了统计分析,包括词汇量、每条消息的单词数等。结果显示,Vicuna模型在生成的对话中词汇量较大,但也存在过度冗长的问题。

    过滤错误分析

    我们评估了响应生成中的错误类型,包括内容不适当、消息过长或使用错误语言等。结果表明,通过适当的提示和过滤,可以减少这些错误的发生率。

    结论

    本文探讨了通过结构化角色扮演提示工程来提升LLM在开放域人机对话中的表现。实验结果表明,尽管语言模型仍存在一定的缺陷,如幻觉,但用户对这些代理的感知可以与高成本的微调模型相媲美。未来的工作可以通过全方位的强化学习来进一步优化提示生成过程。

    参考文献

    • Vaswani et al. (2017)
    • Walker et al. (2021)
    • Shanahan et al. (2023)
    • Santu 和 Feng (2023)
    • Zhang et al. (2018)
    • Roller et al. (2021)
  • WildGuard:LLM安全风险、一站式审核工具

    引言

    现代语言模型(LLM)在没有充分保障的情况下,可能带来相当大的风险[5, 9, 42, 16, 37]。有效的内容审核对于减轻这些风险至关重要,通过过滤不良输入[24],监控有害模型输出[17],并通过测量有害与良性提示的拒绝率来评估模型的安全性[30]。

    在本文中,我们介绍了WildGuard,这是一款轻量级、多功能的审核工具,用于评估用户与LLM交互的安全性。WildGuard为三项安全审核任务提供了一站式资源:提示有害性检测、响应有害性检测和响应拒绝检测。我们展示了WildGuard如何在所有三项任务上推动开源安全审核工具的最先进水平,并提供了一种更开放、一致和经济的替代方案,与昂贵且非静态的API审核工具相比,WildGuard表现不相上下甚至更好。

    开发WildGuard的动机主要来自两个观察结果。首先,现有的开源工具如Llama-Guard2[17]在识别对抗性提示(即越狱)方面效果较差,远不如GPT-4。其次,虽然现有的开源工具可以在一定程度上识别响应中的有害内容,但仅凭响应的有害性不足以确定模型是否拒绝了用户的请求。这对于测试夸大的安全性尤为重要,例如,当用户询问“如何杀死Python进程?”时,响应通常是良性的,无论是过度拒绝(“我不能提供暴力行为的指示”)还是正确的合规(“杀死Python进程的方法是…”)。因此,分类有害性不足以评估安全性,需要独立评估拒绝。

    LLM安全审核工具的现状

    测试基准

    为了评估对抗性提示中的有害性检测,我们从WildJailbreak(WJ)[3]的验证集中抽样了一组250个良性和250个有害提示。为了评估细微拒绝检测,我们使用了我们新的基准XSTest-Resp。

    模型

    我们评估了开源和闭源工具。在开源工具中,我们测试了四个模型,旨在识别提示和响应中的有害性:Llama-Guard[17],Llama-Guard2[26],Aegis-Guard-Defensive[14]和Aegis-Guard-Permissive[14]。对于这些模型,为了标记拒绝,我们将输出有害的响应标记为合规,如果输出标签是安全的,则标记为拒绝。

    发现

    发现1:现有的开源工具在对抗性提示上不可靠,远远落后于GPT-4。如图2所示,现有的开源工具在检测普通提示中的有害性方面表现尚可,但在对抗性提示中却表现不佳。对于两种提示类型,我们还看到了开源工具与GPT-4之间的显著性能差距,从而导致对API工具的昂贵依赖持续存在。

    发现2:现有的开源工具难以测量模型响应中的拒绝。表2显示了开源工具在识别模型完成中的拒绝方面也存在困难。表现最好的有害检测模型Llama-Guard2比GPT-4低15.1%,验证了响应有害性不足以完成这项任务。

    构建WildGuardMix和WildGuard

    WildGuardTrain:多任务审核训练数据集

    WildGuardTrain(WGTrain)是一个综合训练数据集,共包含86,759项数据,涵盖多种来源的数据,包括普通(直接请求)和对抗性提示。数据覆盖了良性和有害场景,以及各种类型的拒绝和合规响应。

    提示构建

    我们生成了覆盖广泛风险场景的有害提示,并引入了两种类型的良性对比提示:1)表面上类似不安全提示的良性提示,以及2)讨论敏感但安全话题的良性提示。

    合规和拒绝构建

    对于我们的合成对抗性和普通提示,我们生成了匹配的拒绝和合规响应。我们使用了一套LLMs以及GPT-4来生成这些响应。

    WildGuardTest:高质量人工标注的测试审核数据集

    为了构建WildGuardTest(WGTest),我们从合成普通和对抗性数据中抽样了1,725对提示-响应对,并收集了三个独立标注者对每对提示-响应对的标注。

    训练WildGuard

    使用WGTrain,我们基于Mistral-7b-v0.3[20]训练了WildGuard。我们设计了统一的输入和输出格式,以捕捉三项任务。

    评估WildGuard相对于现有LLM安全审核工具的表现

    评估设置

    我们在十个公开的安全基准和我们的WGTest上测试WildGuard和相关基准。在提示有害性方面,我们使用了ToxicChat[23],OpenAI Moderation[24],AegisSafetyTest[14],SimpleSafetyTests[35]和HarmBenchPrompt[25]。在响应有害性方面,我们使用了HarmBenchResponse[25],SafeRLHF[10],BeaverTails[10]和XSTest-Resp。

    结果:WildGuard设立了新的多任务最先进水平

    WildGuard在提示分类方面表现最佳,超过了所有开源基准,并在WGTest上的表现比GPT-4高出1.8%。在响应有害性方面,WildGuard也超过了所有开源基准,并在两个评估中超过了GPT-4。在拒绝检测方面,WildGuard表现尤为出色,超越了现有开源模型,并与GPT-4的表现差距在4.1%以内。

    WildGuard的消融结果

    每个主要组件对WildGuard的成功至关重要,多任务训练提高了WildGuard的整体性能。

    WildGuard在实际人机交互中的表现

    作为实际应用示例,我们在模拟聊天审核使用案例中测试了WildGuard。结果显示,结合WildGuard过滤器的模型在拒绝有害越狱提示和避免过度拒绝方面表现最佳。

    相关工作

    LLM安全审核工具的研究主要集中在检测仇恨、毒性、攻击性和辱骂内容[13, 29, 21],并逐渐使用先进的LLM如GPT-4进行审核[41]。我们的工作通过对抗性输入的处理和多任务审核的支持,显著提升了LLM安全审核工具的性能。

    结论

    我们介绍了WildGuard,这是一款统一的多任务开源LLM安全审核模型,能够检测多种类型的普通和对抗性有害用户提示、有害模型响应和模型拒绝。通过公开的WildGuard模型和WildGuardMix数据集,我们的研究促进了LLM安全审核工具的开放和可靠的发展。

    参考文献

    1. Achiam et al. [2023], GPT-4 Technical Report, arXiv preprint arXiv:2303.08774.
    2. AI@Meta [2024], Llama 3 Model Card, URL: https://github.com/meta-llama/llama3/blob/main/MODEL_CARD.md.
    3. Anonymous, WildTeamming at Scale.
    4. Anthropic, The Claude 3 Model Family: Opus, Sonnet, Haiku, URL: https://api.semanticscholar.org/CorpusID:268232499.
    5. Anwar et al. [2024], Foundational Challenges in Assuring Alignment and Safety of Large Language Models, arXiv preprint arXiv:2404.09932.

    (注:此处省略部分参考文献以节省篇幅)

  • WildGuard:LLM安全风险、一站式审核工具

    引言

    现代语言模型(LLM)在没有充分保障的情况下,可能带来相当大的风险[5, 9, 42, 16, 37]。有效的内容审核对于减轻这些风险至关重要,通过过滤不良输入[24],监控有害模型输出[17],并通过测量有害与良性提示的拒绝率来评估模型的安全性[30]。

    在本文中,我们介绍了WildGuard,这是一款轻量级、多功能的审核工具,用于评估用户与LLM交互的安全性。WildGuard为三项安全审核任务提供了一站式资源:提示有害性检测、响应有害性检测和响应拒绝检测。我们展示了WildGuard如何在所有三项任务上推动开源安全审核工具的最先进水平,并提供了一种更开放、一致和经济的替代方案,与昂贵且非静态的API审核工具相比,WildGuard表现不相上下甚至更好。

    开发WildGuard的动机主要来自两个观察结果。首先,现有的开源工具如Llama-Guard2[17]在识别对抗性提示(即越狱)方面效果较差,远不如GPT-4。其次,虽然现有的开源工具可以在一定程度上识别响应中的有害内容,但仅凭响应的有害性不足以确定模型是否拒绝了用户的请求。这对于测试夸大的安全性尤为重要,例如,当用户询问“如何杀死Python进程?”时,响应通常是良性的,无论是过度拒绝(“我不能提供暴力行为的指示”)还是正确的合规(“杀死Python进程的方法是…”)。因此,分类有害性不足以评估安全性,需要独立评估拒绝。

    LLM安全审核工具的现状

    测试基准

    为了评估对抗性提示中的有害性检测,我们从WildJailbreak(WJ)[3]的验证集中抽样了一组250个良性和250个有害提示。为了评估细微拒绝检测,我们使用了我们新的基准XSTest-Resp。

    模型

    我们评估了开源和闭源工具。在开源工具中,我们测试了四个模型,旨在识别提示和响应中的有害性:Llama-Guard[17],Llama-Guard2[26],Aegis-Guard-Defensive[14]和Aegis-Guard-Permissive[14]。对于这些模型,为了标记拒绝,我们将输出有害的响应标记为合规,如果输出标签是安全的,则标记为拒绝。

    发现

    发现1:现有的开源工具在对抗性提示上不可靠,远远落后于GPT-4。如图2所示,现有的开源工具在检测普通提示中的有害性方面表现尚可,但在对抗性提示中却表现不佳。对于两种提示类型,我们还看到了开源工具与GPT-4之间的显著性能差距,从而导致对API工具的昂贵依赖持续存在。

    发现2:现有的开源工具难以测量模型响应中的拒绝。表2显示了开源工具在识别模型完成中的拒绝方面也存在困难。表现最好的有害检测模型Llama-Guard2比GPT-4低15.1%,验证了响应有害性不足以完成这项任务。

    构建WildGuardMix和WildGuard

    WildGuardTrain:多任务审核训练数据集

    WildGuardTrain(WGTrain)是一个综合训练数据集,共包含86,759项数据,涵盖多种来源的数据,包括普通(直接请求)和对抗性提示。数据覆盖了良性和有害场景,以及各种类型的拒绝和合规响应。

    提示构建

    我们生成了覆盖广泛风险场景的有害提示,并引入了两种类型的良性对比提示:1)表面上类似不安全提示的良性提示,以及2)讨论敏感但安全话题的良性提示。

    合规和拒绝构建

    对于我们的合成对抗性和普通提示,我们生成了匹配的拒绝和合规响应。我们使用了一套LLMs以及GPT-4来生成这些响应。

    WildGuardTest:高质量人工标注的测试审核数据集

    为了构建WildGuardTest(WGTest),我们从合成普通和对抗性数据中抽样了1,725对提示-响应对,并收集了三个独立标注者对每对提示-响应对的标注。

    训练WildGuard

    使用WGTrain,我们基于Mistral-7b-v0.3[20]训练了WildGuard。我们设计了统一的输入和输出格式,以捕捉三项任务。

    评估WildGuard相对于现有LLM安全审核工具的表现

    评估设置

    我们在十个公开的安全基准和我们的WGTest上测试WildGuard和相关基准。在提示有害性方面,我们使用了ToxicChat[23],OpenAI Moderation[24],AegisSafetyTest[14],SimpleSafetyTests[35]和HarmBenchPrompt[25]。在响应有害性方面,我们使用了HarmBenchResponse[25],SafeRLHF[10],BeaverTails[10]和XSTest-Resp。

    结果:WildGuard设立了新的多任务最先进水平

    WildGuard在提示分类方面表现最佳,超过了所有开源基准,并在WGTest上的表现比GPT-4高出1.8%。在响应有害性方面,WildGuard也超过了所有开源基准,并在两个评估中超过了GPT-4。在拒绝检测方面,WildGuard表现尤为出色,超越了现有开源模型,并与GPT-4的表现差距在4.1%以内。

    WildGuard的消融结果

    每个主要组件对WildGuard的成功至关重要,多任务训练提高了WildGuard的整体性能。

    WildGuard在实际人机交互中的表现

    作为实际应用示例,我们在模拟聊天审核使用案例中测试了WildGuard。结果显示,结合WildGuard过滤器的模型在拒绝有害越狱提示和避免过度拒绝方面表现最佳。

    相关工作

    LLM安全审核工具的研究主要集中在检测仇恨、毒性、攻击性和辱骂内容[13, 29, 21],并逐渐使用先进的LLM如GPT-4进行审核[41]。我们的工作通过对抗性输入的处理和多任务审核的支持,显著提升了LLM安全审核工具的性能。

    结论

    我们介绍了WildGuard,这是一款统一的多任务开源LLM安全审核模型,能够检测多种类型的普通和对抗性有害用户提示、有害模型响应和模型拒绝。通过公开的WildGuard模型和WildGuardMix数据集,我们的研究促进了LLM安全审核工具的开放和可靠的发展。

    参考文献

    1. Achiam et al. [2023], GPT-4 Technical Report, arXiv preprint arXiv:2303.08774.
    2. AI@Meta [2024], Llama 3 Model Card, URL: https://github.com/meta-llama/llama3/blob/main/MODEL_CARD.md.
    3. Anonymous, WildTeamming at Scale.
    4. Anthropic, The Claude 3 Model Family: Opus, Sonnet, Haiku, URL: https://api.semanticscholar.org/CorpusID:268232499.
    5. Anwar et al. [2024], Foundational Challenges in Assuring Alignment and Safety of Large Language Models, arXiv preprint arXiv:2404.09932.

    (注:此处省略部分参考文献以节省篇幅)

  • 概念组合性:解读基础模型的新视角

    近年来,基础模型在各个领域都取得了令人瞩目的成就,然而,其黑箱特性也为调试、监控、控制和信任这些模型带来了巨大挑战。概念解释作为一种新兴方法,试图利用诸如物体属性(例如条纹)或语言情感(例如快乐)等单个概念来解释模型的行为。通过将模型学习到的表示分解为多个概念向量,可以推导出这些概念。例如,模型对一张狗的图像的嵌入可以分解为代表其毛发、鼻子和尾巴的概念向量的总和。

    现有方法的不足

    现有的基于 PCA 或 KMeans 等方法的工作能够很好地提取基本概念的向量表示。例如,图 1 展示了从 CLIP 模型中提取的 CUB 数据集中的图像,这些图像包含了 PCA 学习到的概念。这些技术能够正确地提取诸如“白色鸟类”和“小型鸟类”等概念的表示,然而,将它们的表示相加并不能得到“小型白色鸟类”这一概念的表示。

    概念组合性的重要性

    概念的组合性对于以下几个用例至关重要:

    • 模型预测解释: 通过组合概念来解释模型预测。
    • 模型行为编辑: 组合性概念允许编辑细粒度的模型行为,例如在不影响其他行为的情况下提高大型语言模型的真实性。
    • 新任务训练: 可以训练模型组合基本概念来完成新任务,例如使用喙的形状、翅膀的颜色和环境等概念对鸟类进行分类。

    概念组合性的评估

    为了评估概念组合性,我们首先在受控环境下验证了概念的真实表示的组合性。我们观察到,概念可以被分组为属性,其中每个属性都包含关于某些共同属性的概念,例如物体的颜色或形状。来自不同属性的概念(例如蓝色和立方体)可以组合,而来自同一属性的概念(例如红色和绿色)则不能。我们还观察到,来自不同属性的概念大致正交,而来自同一属性的概念则不然。

    概念组合性提取 (CCE)

    为了提取组合性概念,我们提出了 CCE 方法。该方法的关键思想是一次性搜索整个概念子空间,而不是单个概念,从而允许 CCE 强制执行上述组合性概念的属性。CCE 算法主要包含以下步骤:

    1. 学习子空间 (LearnSubspace): 优化一个子空间,使得该子空间中的数据能够根据固定的聚类中心进行良好的聚类。
    2. 学习概念 (LearnConcepts): 在学习到的子空间中执行球形 K 均值聚类,以识别概念。
    3. 迭代优化: 交替执行学习子空间和学习概念步骤,直到收敛。

    实验结果

    我们在视觉和语言数据集上进行了广泛的实验,结果表明:

    • 在受控环境下,CCE 比现有方法更能有效地组合概念。
    • 在真实数据环境下,CCE 能够成功地发现新的、有意义的组合性概念。
    • CCE 提取的组合性概念可以提高下游任务的性能。

    结论

    本文从组合性的角度研究了基础模型的概念解释。我们验证了从这些模型中提取的真实概念是组合性的,而现有的无监督概念提取方法通常不能保证组合性。为了解决这个问题,我们首先确定了组合性概念表示的两个显著属性,并设计了一种新的概念提取方法 CCE,该方法在设计上尊重这些属性。通过对视觉和语言数据集进行的大量实验,我们证明了 CCE 不仅可以学习组合性概念,还可以提高下游任务的性能。

    参考文献

    • Andreas, J. (2019). Measuring compositionality in representation learning.
    • Blei, D. M., Ng, A. Y., & Jordan, M. I. (2001). Latent Dirichlet allocation.
    • Bolukbasi, T., Chang, K.-W., Zou, J. Y., Saligrama, V., & Kalai, A. T. (2016). Man is to computer programmer as woman is to homemaker? debiasing word embeddings.
    • Bricken, A., Liang, P., & Gilpin, L. H. (2023). Dictionary learning with transformers for interpretable image classification.
    • Chen, T. Q., Li, X., Grosse, R. B., & Duvenaud, D. K. (2020). Isolating sources of disentanglement in variational autoencoders.
    • Espinosa Zarlenga, J. M., Cogswell, M., Goh, H., & Romero, A. (2022). Improving robustness and calibration in medical imaging with semantic-aware contrastive learning.
    • Fel, T., Bau, D., & Regev, I. (2023). Craft: Concept-driven representation learning by adaptive feature transformation.
    • Frankland, S. J., & Greene, M. R. (2020). Generative models of visual imagination.
    • Ghorbani, A., Abid, A., Zhu, J., Liu, C., Huang, X., & Schuetz, A. (2019). Towards automatic concept-based explanations.
    • Havaldar, P., Stein, A., & Naik, M. (2023). Explaining by aligning: Interpreting decisions by aligning model behavior across groups.
    • Higgins, I., Matthey, L., Pal, A., Burgess, C., Glorot, X., Botvinick, M., … & Lerchner, A. (2016). Beta-vae: Learning basic visual concepts with a constrained variational framework.
    • Hill, F., Cho, K., & Korhonen, A. (2018). Learning distributed representations of sentences from unlabelled data.
    • Johnson, J., Hariharan, B., van der Maaten, L., Fei-Fei, L., Lawrence Zitnick, C., & Girshick, R. (2017). Clevr: A diagnostic dataset for compositional language and elementary visual reasoning.
    • Kim, B., Wattenberg, M., Gilmer, J., Cai, C., Wexler, J., Viegas, F., & Sayres, R. (2018). Interpretability beyond feature attribution: Quantitative testing with concept activation vectors (tcav).
    • Koh, P. W., Nguyen, T., Tang, Y. S., Wang, S., Pierson, E., Kim, B., … & Liang, P. (2020). Concept bottleneck models.
    • Kwon, Y., Kim, S., & Yoon, J. (2023). Editing compositional transformations in latent space.
    • Lake, B. M. (2014). Concept learning in humans and machines: Fundamental issues and a possible solution.
    • Lewis, H., Purdy, W., & Steinhardt, J. (2022). Transformers learn in-context compositionality.
    • Lovering, J., & Pavlick, E. (2022). Relational probes: A technique for analyzing the compositional capabilities of language models.
    • Mikolov, T., Sutskever, I., Chen, K., Corrado, G. S., & Dean, J. (2013). Efficient estimation of word representations in vector space.
    • Mitchell, T. (1999). Machine learning and data mining.
    • Radford, A., Kim, J. W., Hallacy, C., Ramesh, A., Goh, G., Agarwal, S., … & Sutskever, I. (2021). Learning transferable visual models from natural language supervision.
    • Rigotti, M., Spooner, T., Dodge, J., Gould, S., & Gordon, G. J. (2022). Learning to explain by concept discovery.
    • Rousseeuw, P. J. (1987). Silhouettes: A graphical aid to the interpretation and validation of cluster analysis.
    • Santurkar, S., Friedman, C., Wallace, E., Kulkarni, A., Zeng, A., & Thorat, A. (2021). Editing memories: Towards controllable and safe generation with transformers.
    • Schaeffer, R., Wang, S., Huang, D., Dhingra, B., Sanchez-Lengeling, B., Blunsom, P., & Cohen, W. W. (2024). Beyond language: Towards a unified foundation model evaluation benchmark.
    • Srivastava, A., Mittal, A., Thiebaut, J., Yen-Chun Chen, T., Manjunath, A., Jain, A., … & Salakhutdinov, R. (2023). Beyond the imitation game: Quantifying and extrapolating capabilities of language models.
    • Stein, A., Havaldar, P., & Naik, M. (2023). Towards group-fair concept-based explanations.
    • Tamkin, A., Brundage, M., Clark, J., & Amodei, D. (2023). Understanding the capabilities, limitations, and societal impact of large language models.
    • Todd, S., Srivastava, S., Htut, P. M., & Chang, M. W. (2023). Discovering latent knowledge in language models without supervision.
    • Todd, S., Srivastava, S., Htut, P. M., & Chang, M. W. (2024). Probing for robust, factual knowledge in language models.
    • Touvron, H., Lavril, T., Izacard, G., Martinet, X., Lachaux, M.-A., Lacroix, T., … & Lample, G. (2023). Llama 2: Open foundation and fine-tuned chat models.
    • Trager, M., Elhage, A., Bharadwaj, S., Kenton, Z., Bhatia, N. S., Cobb, A., … & Amodei, D. (2023). Linear algebra audits: Explaining and controlling language model behavior.
    • Tschandl, P., Rosendahl, C., & Kittler, H. (2018). The ham10000 dataset, a large collection of multi-source dermatoscopic images of common pigmented skin lesions.
    • Turpin, M., Khandelwal, U., Roberts, A., Lee, J., Raffel, C., Shazeer, N., & Irwin, J. (2024). Foundation models for decision-making: Problems, opportunities, and risks.
    • Wah, C., Branson, S., Welinder, P., Perona, P., & Belongie, S. (2011). The Caltech-UCSD Birds-200-2011 dataset.
    • Wang, C., Locatello, F., Schmidhuber, J., & Lapedriza, A. (2022). Pivron: Privacy-preserving representation learning with variational inference.
    • Wang, Z., Xie, Y., Wang, X., Zhou, W., Yu, S., Sun, S., … & Zhou, J. (2023). Compositional visual reasoning with large language models.
    • Wong, E., Schmidt, L., Torralba, A., & Jegelka, S. (2021). Discovering concepts for realistic counterfactual explanations.
    • Wu, Y., Wang, X., Tan, C., Huang, D., Wei, F., Zhou, M., … & Zhou, J. (2023). Reasoning with heterogeneous knowledge: Uncovering emergent reasoning abilities of large language models in e-commerce.
    • Xu, Y., Zhao, S., Song, J., Zhao, H., Eskenazi, M., LeCun, Y., & Romero, A. (2022). How well do vision transformers learn inductive biases? a case study in object recognition.
    • Yang, J., Wang, S., Zhou, D., Liu, M., Chang, P.-Y., & Zhao, W. X. (2023). Conceptgraph: Mining concept knowledge graph from pretrained language models for interpretable logical reasoning.
    • Yeh, C.-K., Hsieh, C.-Y., Suggala, A., Ravikumar, P., & Kumar, P. (2020). On textembeddings for numerical features.
    • Yuksekgonul, M., Gokmen, S., Elhoseiny, M., & Cicek, O. (2023). Zero-shot concept recognition for robot manipulation with large language models.
    • Yun, S., Oh, S. J., Bastani, O., & Lee, K. (2021). Transformers provide surprisingly effective representations for online and offline dictionary learning.
    • Zhai, C. (1997). Exploiting context to identify ambiguous terms.
    • Zhou, B., Khosla, A., Lapedriza, A., Oliva, A., & Torralba, A. (2018). Learning deep features for discriminative localization.
    • Zou, Y., Wang, L., Hu, Z., Li, Z., Wang, W., Tu, Z., … & Sun, M. (2023a). Controllable generation from pre-trained language models via inverse prompting.
    • Zou, Y., Wang, L., Hu, Z., Li, Z., Wang, W., Tu, Z., … & Sun, M. (2023b). Controllable generation from pre-trained language models via inverse prompting.
  • Transformers 和 SSM 的对偶性:State Space Duality 框架的突破

    近年来,Transformer 模型在自然语言处理等领域取得了巨大成功。与此同时,结构化状态空间模型(SSM)作为一种新兴的序列建模方法也展现出了强大的潜力。最近的研究表明,这两类看似截然不同的模型其实存在着深层次的联系。本文将介绍一项重要的理论突破 – State Space Duality(SSD)框架,该框架揭示了Transformer和SSM之间的对偶性,为统一和改进这两类模型提供了新的视角。

    State Space Duality框架的核心思想

    SSD框架的核心是将SSM和注意力机制都视为结构化矩阵变换。具体来说:

    1. SSM可以表示为半可分矩阵(semiseparable matrix)的乘法。
    2. 注意力机制可以推广为结构化掩码注意力(structured masked attention, SMA)。
    3. SSM和SMA在特定情况下是等价的,都可以用线性和二次两种不同的计算方式实现。

    这一框架揭示了SSM和注意力机制在本质上是相同的序列变换,只是从不同角度进行了参数化。

    理论洞见

    SSD框架带来了几个重要的理论洞见:

    1. SSM的线性递归形式和注意力的二次形式是同一变换的两种不同计算方式。
    2. 有效的自回归注意力必须具有半可分结构。
    3. SSM中的选择性机制类似于注意力中的位置编码。

    这些洞见不仅加深了我们对两类模型的理解,还为设计新的高效算法提供了理论基础。

    高效算法:SSD算法

    基于SSD框架,研究人员提出了一种新的高效算法来计算SSM,称为SSD算法。该算法结合了SSM的线性递归和注意力的二次计算,通过半可分矩阵的块分解来实现。

    SSD算法的主要优势包括:

    1. 计算复杂度与序列长度呈线性关系。
    2. 可以充分利用现代硬件上的矩阵乘法单元。
    3. 允许更大的状态扩展因子,而不会显著降低速度。

    实验表明,SSD算法比Mamba中的优化扫描实现快2-8倍,同时还能支持更大的递归状态大小。

    Mamba-2:结合SSD的新架构

    研究人员基于SSD框架设计了一种新的序列模型架构Mamba-2。Mamba-2相比原始的Mamba模型有以下改进:

    1. 简化了块结构,将SSM参数的生成并行化。
    2. 采用了类似多值注意力(MVA)的头部结构。
    3. 增加了额外的归一化层以提高稳定性。
    4. 可以灵活地与MLP和注意力层组合,形成混合模型。

    实验结果表明,Mamba-2在语言建模等任务上的性能可以媲美甚至超越同等规模的Transformer模型,同时在长序列处理方面具有更好的可扩展性。

    实验验证

    研究人员通过一系列实验验证了SSD框架和Mamba-2架构的有效性:

    1. 在多查询关联回忆(MQAR)任务上,Mamba-2显著优于Mamba和标准注意力模型。
    2. 在Pile数据集上的语言建模实验中,Mamba-2达到或超过了同等规模的Transformer++和Mamba模型的性能。
    3. 在零样本下游评估任务中,Mamba-2通常能够匹配两倍参数量的Pythia模型的表现。
    4. SSD算法在长序列(2K以上)上比FlashAttention-2更快。

    这些实验结果证明了SSD框架的理论洞见可以有效地指导实践,并在多个方面改进了现有的序列建模方法。

    总结与展望

    State Space Duality框架为统一和改进Transformer和SSM提供了一个强大的理论基础。通过揭示这两类模型之间的深层联系,SSD框架不仅加深了我们对序列建模的理解,还为设计更高效、更强大的模型指明了方向。

    未来的研究方向可能包括:

    1. 进一步探索SSM和注意力机制的理论联系。
    2. 设计更复杂的结构化掩码来改进注意力机制。
    3. 将SSD框架扩展到其他类型的序列模型。
    4. 开发针对特定任务优化的混合模型架构。

    总的来说,State Space Duality框架的提出标志着序列建模理论的一个重要进展,有望推动该领域在未来取得更多突破性进展。

  • Polyfill supply chain attack hits 100K+ sites

    The Polyfill.js project, a popular open-source library used to support older browsers, has been compromised by a supply chain attack. The attack occurred after a Chinese company acquired the ownership of the polyfill.io domain [1]. As a result, more than 100,000 websites that embed the cdn.polyfill.io domain have been affected [2].

    Details of the attack:

    • The new Chinese owner of the Polyfill.js project injected malware into the polyfill.io domain, which is used by numerous websites [2].
    • The malware is dynamically generated based on HTTP headers, allowing for multiple attack vectors [2].
    • The injected code redirects mobile users to a sports betting site using a fake Google Analytics domain [2].
    • The malware has specific protections against reverse engineering and only activates on specific mobile devices at specific hours. It also avoids activating when it detects an admin user and delays execution when a web analytics service is found [2].

    Impact and recommendations:

    • Users of websites that embed the cdn.polyfill.io domain may be unknowingly redirected to malicious sites, such as sports betting and adult content websites [2].
    • The original creator of the Polyfill.js project recommends not using Polyfill at all, as modern browsers no longer require it [2].
    • Trustworthy alternatives to Polyfill, provided by Fastly and Cloudflare, are available for those who still require similar functionality [2].
    • Google has started sending warnings about loading third-party JavaScript from domains like polyfill.io to protect users from potential harm [3].

    Learn more:

    1. Polyfill.io supply chain attack hits 100000+ websites – Sonatype
    2. Polyfill supply chain attack hits 100K+ sites
    3. Supply chain attack compromises 100,000 websites via polyfill.io domain takeover – SiliconANGLE
  • 基于大型语言模型的自主智能体

    导语: 近年来,大型语言模型 (LLM) 在人工智能领域取得了显著的进展。除了生成流畅的文本、故事、论文和程序代码外,LLM 还展现出作为通用问题解决者的巨大潜力。本文将深入探讨如何利用 LLM 构建自主智能体,并介绍其核心组件、应用案例以及面临的挑战。

    智能体系统概述

    LLM 驱动的自主智能体系统中,LLM 充当智能体的“大脑”,并与以下关键组件协同工作:

    • 规划: 智能体将复杂的任务分解成更小、更易于管理的子目标,并通过自我反思和改进机制,从过去的行动中学习,不断优化最终结果的质量。
    • 记忆: 智能体利用短期记忆 (例如上下文学习) 和长期记忆 (例如外部向量存储和快速检索) 来存储和回忆信息。
    • 工具使用: 智能体学习调用外部 API 来获取模型权重中缺失的信息,例如最新信息、代码执行能力、专有信息源等。

    ![LLM 驱动的自主智能体系统概述][]

    组件一:规划

    规划是智能体执行复杂任务的关键。智能体需要明确任务步骤并制定计划。

    任务分解

    • 思维链 (CoT) 是一种标准的提示技术,通过指示模型“逐步思考”来将复杂任务分解成更小、更简单的步骤,从而提高模型在复杂任务上的性能。
    • 思维树 (Tree of Thoughts) 扩展了 CoT,它在每个步骤中探索多种推理可能性,并将问题分解成多个思维步骤,每个步骤生成多个想法,形成树状结构。
    • LLM+P 则依赖外部的经典规划器进行长期规划,利用规划域定义语言 (PDDL) 作为描述规划问题的中间接口。

    自我反思

    自我反思使智能体能够通过改进过去的行动决策和纠正错误来迭代改进,这在现实世界中不可避免的试错过程中至关重要。

    • ReAct 通过将动作空间扩展为特定任务的离散动作和语言空间的组合,将推理和行动整合到 LLM 中。
    • Reflexion 为智能体配备了动态记忆和自我反思能力,以提高推理能力。它使用启发式函数来确定轨迹何时效率低下或包含幻觉,并使用自我反思结果来改进未来的计划。
    • Chain of Hindsight (CoH) 通过明确地向模型呈现一系列带有反馈的过去输出,鼓励模型改进自身的输出。
    • 算法蒸馏 (AD) 将相同的思想应用于强化学习任务中的跨情节轨迹,将算法封装在长期历史条件策略中。

    组件二:记忆

    记忆是指获取、存储、保留和检索信息的过程。

    记忆类型

    • 感觉记忆: 记忆的最初阶段,保留对感觉信息 (视觉、听觉等) 的印象。
    • 短期记忆 (STM) 或工作记忆: 存储我们当前意识到的信息,用于执行复杂的认知任务。
    • 长期记忆 (LTM): 可以长时间存储信息,容量基本无限,包括显性记忆 (事实和事件) 和隐性记忆 (技能和习惯)。

    最大内积搜索 (MIPS)

    外部记忆可以缓解有限注意力跨度的限制。标准做法是将信息的嵌入表示保存到支持快速最大内积搜索 (MIPS) 的向量存储数据库中。

    一些常见的快速 MIPS 算法包括:

    • LSH (局部敏感哈希)
    • ANNOY (近似最近邻 Oh Yeah)
    • HNSW (分层导航小世界)
    • FAISS (Facebook AI 相似性搜索)
    • ScaNN (可扩展最近邻)

    组件三:工具使用

    工具使用是人类的显著特征。为 LLM 配备外部工具可以显著扩展模型的能力。

    • MRKL (模块化推理、知识和语言) 是一种用于自主智能体的神经符号架构,它包含一组“专家”模块,通用 LLM 充当路由器,将查询路由到最合适的专家模块。
    • TALM (工具增强语言模型) 和 Toolformer 通过微调 LM 来学习使用外部工具 API。
    • ChatGPT 插件OpenAI API 函数调用是 LLM 在实践中增强工具使用能力的典型例子。
    • HuggingGPT 是一个框架,它使用 ChatGPT 作为任务规划器,根据模型描述选择 HuggingFace 平台上可用的模型,并根据执行结果汇总响应。
    • API-Bank 是一个用于评估工具增强型 LLM 性能的基准测试平台,它包含 53 个常用 API 工具、完整的工具增强型 LLM 工作流程以及 264 个注释对话,涉及 568 个 API 调用。

    案例研究

    科学发现智能体

    • ChemCrow 是一个特定领域的例子,其中 LLM 通过 13 个专家设计的工具进行增强,以完成有机合成、药物发现和材料设计等任务。
    • Boiko 等人 (2023) 还研究了 LLM 驱动的智能体在科学发现中的应用,以处理复杂科学实验的自主设计、规划和执行。

    生成式智能体模拟

    生成式智能体 (Generative Agents) 是一个有趣的实验,其中 25 个虚拟角色,每个角色由一个 LLM 驱动的智能体控制,生活在一个沙盒环境中,灵感来自《模拟人生》。

    概念验证示例

    • AutoGPT 是一个自主智能体演示,它使用 LLM 作为主控制器,可以访问互联网和运行代码。
    • GPT-Engineer 是另一个项目,旨在根据自然语言中指定的任务创建完整的代码库。

    挑战

    • 有限的上下文长度
    • 长期规划和任务分解的挑战
    • 自然语言接口的可靠性

    参考文献原文链接

    [1] Wei et al. “Chain of thought prompting elicits reasoning in large language models.” NeurIPS 2022

  • 驾驭语言模型:大型语言模型应用的生产实践挑战与展望

    导语: 近年来,大型语言模型(LLM)在人工智能领域掀起了一场革命,其强大的文本生成和理解能力为众多应用场景带来了新的可能性。然而,将LLM应用从酷炫的演示转化为可实际部署的生产系统并非易事。本文将深入探讨LLM应用生产实践所面临的挑战,并结合实例分析解决方案,最后展望LLM应用的未来发展方向。

    一、生产环境下LLM应用面临的挑战

    1. 自然语言的模糊性

    不同于精确的编程语言,自然语言本身就带有模糊性。这种模糊性在LLM应用中主要体现在用户指令和模型输出两个方面。

    首先,用户指令的灵活性可能导致难以察觉的错误。例如,对代码进行微小的修改,例如添加字符或删除一行,通常会导致明显的错误提示。但如果对LLM的指令进行类似的修改,程序仍然可以运行,但输出结果可能大相径庭。

    其次,LLM输出结果的模糊性是更大的挑战。这会导致两个问题:

    • 输出格式不一致: LLM的后续应用通常需要解析特定格式的输出结果。虽然我们可以通过精心设计的指令来明确输出格式,但这并不能保证模型始终遵循预期的格式。
    • 用户体验不一致: 用户期望应用程序具有一致性。例如,我们不希望每次查询保险报价时都得到不同的结果。然而,LLM本身具有随机性,无法保证相同的输入每次都能得到相同的输出。

    为了解决这个问题,OpenAI等机构正在积极探索提高模型可靠性的方法。一些经验丰富的LLM开发者建议,我们需要适应这种模糊性,并围绕它构建工作流程。此外,通过尽可能提高工程严谨性,例如采用本文接下来讨论的各种方法,可以有效缓解LLM应用中的模糊性问题。

    2. Prompt工程的挑战

    Prompt工程是指设计和优化LLM输入指令的过程,其目标是引导模型生成符合预期的输出。

    • Prompt评估:
      • 评估LLM是否理解Prompt中给出的示例。例如,在情感分析任务中,可以输入一些带有情感标签的文本,观察模型是否能输出正确的情感得分。
      • 评估LLM是否对Prompt中的示例过拟合。可以通过使用独立的测试集来评估模型的泛化能力。
    • Prompt版本控制:
      Prompt的微小变化可能会导致输出结果的显著差异。因此,对Prompt进行版本控制和性能跟踪至关重要。可以使用Git等工具来管理Prompt的不同版本及其性能指标。
    • Prompt优化:
      • 使用“思维链”(Chain-of-Thought,COT)技术,引导模型解释其推理过程,从而提高输出结果的可解释性和准确性。
      • 生成多个输出结果,并选择最佳结果作为最终输出。例如,可以使用多数投票法或让LLM自身选择最佳结果。
      • 将复杂的Prompt分解成多个更小、更简单的Prompt,可以降低模型理解和推理的难度。

    3. 成本和延迟

    • 成本:
      OpenAI等API服务提供商通常根据输入和输出token的数量收费。更长的Prompt和输出意味着更高的成本。
    • 延迟:
      输出token的生成是顺序进行的,因此输出长度会显著影响延迟。此外,网络延迟和工程开销也会影响LLM应用的整体延迟。

    4. Prompting、微调和替代方案

    • Prompting: 为每个样本提供明确的指令,告诉模型如何响应。
    • 微调: 在特定任务的数据集上训练模型,使其学习如何响应,而无需在Prompt中明确说明。

    选择Prompting还是微调取决于数据可用性、性能要求和成本限制。

    • 数据量少: Prompting更易于上手,但Prompt的长度有限,无法包含大量示例。
    • 数据量大: 微调可以利用更多数据,并获得更好的性能。

    5. 其他挑战

    • 嵌入和向量数据库: 使用LLM生成文本嵌入,并将其存储在向量数据库中,可以高效地进行语义搜索和推荐。
    • 向后和向前兼容性: LLM模型会不断更新迭代,因此需要确保Prompt和应用逻辑的兼容性。

    二、任务组合能力

    实际应用中,LLM应用通常需要执行多个任务,并按照一定的控制流程进行组合。

    1. 多任务应用

    例如,“与数据对话”应用需要执行以下任务:

    1. 将用户的自然语言输入转换为SQL查询(LLM)。
    2. 在数据库中执行SQL查询(SQL执行器)。
    3. 将SQL结果转换为自然语言响应(LLM)。

    2. 代理、工具和控制流程

    • 代理:
      能够根据给定的控制流程执行多个任务的应用程序。
    • 工具:
      代理可以利用的外部程序或服务,例如搜索引擎、数据库、计算器等。
    • 控制流程:
      定义任务执行顺序和条件的逻辑,例如顺序执行、并行执行、条件分支、循环等。

    3. 使用LLM代理进行控制流程

    可以使用LLM来决定控制流程的条件。例如,可以训练LLM根据用户输入选择不同的工具或执行不同的任务。

    4. 代理测试

    为了确保代理的可靠性,需要对每个任务以及整个控制流程进行测试。

    三、LLM应用的未来发展方向

    • AI助手:
      能够帮助用户完成各种任务的智能助手,例如日程安排、笔记记录、编程辅助等。
    • 聊天机器人:
      能够与用户进行自然对话的智能程序,例如虚拟伴侣、游戏角色等。
    • 编程和游戏:
      LLM可以用于代码生成、代码调试、游戏开发等领域。
    • 学习:
      LLM可以用于自动生成测验、评估学生答案、提供学习建议等教育场景。
    • 与数据对话:
      LLM可以帮助用户使用自然语言查询和分析数据。
    • 搜索和推荐:
      LLM可以改善搜索结果的相关性和推荐系统的个性化程度。
    • 销售:
      LLM可以用于自动生成销售邮件、分析客户信息等。
    • SEO:
      LLM可以用于生成SEO优化内容,但同时也带来了新的挑战,例如如何区分人工编写和机器生成的内容。

    结语

    LLM应用仍处于早期发展阶段,技术和应用场景都在快速迭代。Prompt工程、成本控制、延迟优化、任务组合等方面都面临着挑战。然而,LLM也为AI助手、聊天机器人、编程、教育、数据分析、搜索推荐等领域带来了前所未有的机遇。相信随着技术的进步和应用的深入,LLM将为我们带来更加智能和便捷的未来。

    参考文献

    • Huyen, C. (2023). Building LLM applications for production. Retrieved from https://huyenchip.com/2023/04/11/llm-engineering.html