【大模型推理论文阅读】Enhancing Latent Computation in Transformerswith Latent Tokens
一篇来自阿里的文章
Abstract
将大型语言模型(LLMs)与辅助标记相结合,已成为提升模型性能的一种颇具前景的策略。在本研究中,我们提出了一种轻量级方法——“潜在标记”(latent tokens)。这些虚拟标记在自然语言中可能不具备可解释性,但可通过注意力机制引导基于Transformer的LLM自回归解码过程。 所提出的潜在标记可与预训练Transformer无缝集成,以参数高效的方式训练,并在推理阶段灵活应用,同时几乎不会为标准Transformer的现有架构增加复杂度开销。我们针对潜在标记的底层机制提出若干假设,并相应设计合成任务进行验证。数值结果表明,该方法显著优于基线模型,尤其在分布外泛化场景中表现突出,凸显了其在提升LLM适应性方面的潜力。
1 Introduction
基于Transformer的大型语言模型(LLMs),如Llama[16]和GPT[21],通过下一个标记预测为任何给定查询生成响应。在这个过程中,LLM通常会连续逐个生成标记,但这在解决复杂任务时往往显得不足[7,1,17]。最近的研究一直在探索各种方法,通过在输入序列中插入辅助标记来增强LLM,以提供中间计算。这些标记要么携带明确的语义含义(例如思维链(CoT)[28]、草稿纸[20]和LLM提示[3,31]),要么作为没有直接语言解释的抽象占位符[8,22,9]。具体来说,基于Transformer的LLM[25]被允许在生成后续标记之前对一些额外标记进行前向传播,从而提高生成输出的质量。与“可解释”方法[28,20]相比,“不可解释”方法在输入序列中插入一些特殊标记以提供额外计算,这些标记本身可能没有明确含义。这种方法,如暂停标记[8]、填充标记[22]等,显示出在突破自然语言限制以提升模型性能方面的潜力。
现有使用不可解释标记的方法通常将标记插入固定位置,包括查询开头[14]或查询结尾[8,9]。这在两个关键方面限制了其有效性:(1)这些标记的作用随着序列长度的增加而逐渐减弱,可能导致在长文本生成场景中失效;(2)它们难以泛化到超出训练分布的更长分布外(OOD)序列。这些局限性凸显了需要一个原则性框架,以在保留泛化能力的同时有效协调潜在计算过程。
为此,我们提出了一种统一的方法,旨在以简单而有效的方式用潜在标记(latent tokens)增强任何仅解码器的Transformer。这些虚拟标记可能与自然语言没有对应关系,但可以在推理时灵活应用,并在预测任何输出标记之前增强潜在计算能力。我们详细介绍了潜在标记的设计,包括推理和训练过程。为确保通用性,我们精心设计了潜在标记的位置编码、损失函数等方面。通过这些设计,潜在标记无需对完整Transformer进行大量训练即可广泛适用于一般任务,并且与标准Transformer的现有架构完全兼容。尽管方法简单,但我们的方案在多个基准任务中均展现出对LLM性能的持续提升(见附录C)。
尽管结果令人鼓舞,但仍不清楚哪些任务从潜在标记中获益最多,以及其有效性的根本原因。在这项工作中,我们进行了深入研究,以阐明潜在标记在生成过程中所扮演的角色。具体而言,我们提出了关于其效用的几个假设:(i)用于长序列且一致的生成的自我提示,(ii)辅助信息检索,以及(iii)在更长的分布外(OOD)序列中提高指令遵循能力。针对每个假设,我们设计了相应的合成任务,以评估我们的方法与现有方法之间的性能差距。观察到的性能提升——尤其是在分布外场景中——凸显了潜在标记的优势,并暗示了其可能的底层机制。
2 Preliminaries for Standard Transformers
设s={s1,…,st,…,sn}s = \{s_1, \ldots, s_t, \ldots, s_n\}s={s1,…,st,…,sn}表示一个标记序列,其位置索引(或ID)为{1,…,t,…,n}\{1, \ldots, t, \ldots, n\}{1,…,t,…,n}。一个参数为θ\thetaθ的仅解码器Transformer模型[25]以自回归方式逐个预测标记。也就是说,每个输出标记st+1s_{t+1}st+1是基于其前面的输入标记s1:t={s1,…,st}s_{1:t} = \{s_1, \ldots, s_t\}s1:t={s1,…,st}生成的。在典型的微调场景中,训练数据中的序列sss由一个查询和相应的响应组成。训练或微调的标准目标是训练集TTT中每个样本sss的目标标记的负对数似然,其表达式为: minθ∑s∈T∑t∈Rs−logpθ(st+1∣s1:t),(1)\min_{\theta} \sum_{s \in T} \sum_{t \in R_s} -\log p_{\theta}(s_{t+1}|s_{1:t}), \quad (1)θmins∈T∑t∈Rs∑−logpθ(st+1∣s1:t),(1) 其中RsR_sRs表示样本序列sss中响应的标记索引,pθp_{\theta}pθ是给定模型θ\thetaθ和上下文s1:ts_{1:t}s1:t时输出标记的概率分布。 在推理时,将查询序列输入到Transformer模型中,模型以逐个标记的方式生成响应。例如,使用贪心解码策略时,模型将具有最高预测概率的标记作为下一个标记: st+1=argmaxs∈Vpθ(s∣s1:t),(2)s_{t+1} = \arg\max_{s \in V} p_{\theta}(s|s_{1:t}), \quad (2)st+1=args∈Vmaxpθ(s∣s1:t),(2) 其中VVV表示词汇表集合。然后将预测的标记作为上下文s1:t+1s_{1:t+1}s1:t+1的一部分反馈给模型,以生成下一个标记st+2s_{t+2}st+2,重复此过程直到遇到结束信号或达到最大标记数。
在标记层面,标准Transformer对下一个标记的预测仅涉及单个标记的前向计算。模型的表达能力可能会受到有限计算量的限制,导致在某些需要复杂推理或长期依赖的任务中表现不佳[17, 19, 8, 22]。为此,在下一节中,我们提出一种在序列生成过程中添加潜在标记的方法,以在推理时提供额外的潜在计算能力。
3 Latent Tokens: A Unified Methodology
在本节中,我们介绍将潜在标记整合到仅解码器Transformer中的方法,如图1所示。这些潜在标记通过注意力机制提供额外计算,以辅助模型生成输出标记,但不期望其生成具有明确文本含义的额外输出。我们力求实现潜在标记的多种理想特性,例如:
- 通用性:潜在标记可融入任何仅解码器Transformer,且该方法应与不同类型的任务兼容,而非局限于某些特定任务。
- 潜在计算:潜在标记用于辅助模型生成输出标记,但其本身可能不旨在产生额外的可解释序列。
- 最小干扰:在将潜在标记引入预训练Transformer时,应尽量减少对文本标记原始分布的负面干扰。
概括地说,我们引入一组m个潜在标记u1,…,umu_1, \dots, u_mu1,…,um作为新标记,这些标记不存在于原始词汇表中。每个索引为i的潜在标记uiu_iui对应一个可学习的向量zi∈Rdz_i \in \mathbb{R}^dzi∈Rd,其中d表示嵌入维度。接下来,我们将介绍所提出方法的详细设计,包括推理过程、训练过程以及潜在标记的设计选择。
3.1 Inference with Latent Tokens
在推理阶段,潜在标记会被融入查询序列和生成的响应中,以提供额外的计算辅助。对于查询序列{s₁, …, sₜ},我们假设已按照优化过程中的相同步骤(将在3.2和3.3节解释)预先在适当位置添加了一些潜在标记。基于插入潜在标记的查询,Transformer会生成响应的第一个标记sₜ₊₁。需要注意的是,预测标记的输出空间仍为原始词汇表,因为我们不期望模型在输出序列中生成潜在标记。
在自回归生成过程中,向序列中插入潜在标记也有助于后续标记的预测。为实现这一设计,我们需要为生成的文本标记和潜在标记(如有)分配合适的位置ID,确保Transformer能准确捕捉它们的相对位置信息。具体来说,我们将位置ID t+1分配给生成的标记sₜ₊₁。假设一组潜在标记u₁, …, uₘ旨在辅助sₜ₊₁生成后续标记,我们会在模型的输入侧将它们前置到标记sₜ₊₁之前²。此时,增强后的序列表示为{s₁, …, sₜ, u₁, …, uₘ, sₜ₊₁},并被反馈到Transformer中用于下一个标记的预测。
Position encoding of latent tokens. 输入标记的位置信息对于揭示输入序列的结构至关重要[12,35]。在将潜在标记融入输入序列时,确保它们不干扰原始输入标记的位置信息非常重要。为实现这一目标,我们建议对潜在标记使用与其后续文本标记相同的位置编码,如图2所示。具体而言,我们保持所有文本标记的位置ID不变,并将位置ID t+1分配给紧邻文本标记sₜ₊₁之前的一组潜在标记。这种设计确保模型仍能捕获文本标记和潜在标记的位置信息,这对模型正确理解输入序列至关重要。 值得注意的是,这种设计与本质上任何基于标记位置ID整合位置信息的方案兼容,从原始Transformer中的绝对位置嵌入[25]到最近的旋转位置嵌入[24]等方法均适用。在附录A.1中,我们更正式地讨论了上述位置编码方案的基本原理和优势。
3.2 Optimizing Latent Tokens
为了优化潜在标记,我们通过在输入序列中插入潜在标记来预处理训练数据。原则上,我们可以在输入序列的任何位置插入潜在标记。假设在两个输入标记sts_tst和st+1s_{t+1}st+1之间使用一组mmm个潜在标记,则模型会基于数据集T^\hat{T}T^中增强后的输入序列s^={s1,...,st,u1,...,um,st+1,...,sn}\hat{s} = \{s_1, ..., s_t, u_1, ..., u_m, s_{t+1}, ..., s_n\}s^={s1,...,st,u1,...,um,st+1,...,sn}进行优化以预测输出标记。在当前工作中,此优化过程仅限于预训练Transformer模型的微调阶段,而预训练阶段保持不变。接下来,我们专注于单独优化潜在标记,同时冻结预训练Transformer的模型参数。 与现有研究[8, 22, 9]相比,该方法提供了一种更轻量级的方式来实现潜在计算。
Loss function design. 潜在标记旨在辅助上下文序列s^1:k\hat{s}_{1:k}s^1:k预测下一个标记s^k+1\hat{s}_{k+1}s^k+1,其表达式为:
minz∑s^∈T^∑k∈Iloss−logpθ,z(s^k+1∣s^1:k),\min_{z} \sum_{\hat{s} \in \hat{\mathcal{T}}} \sum_{k \in \mathcal{I}_{loss}} -\log p_{\theta, z}\left(\hat{s}_{k+1} \mid \hat{s}_{1:k}\right), zmins^∈T^∑k∈Iloss∑−logpθ,z(s^k+1∣s^1:k),
其中Iloss\mathcal{I}_{loss}Iloss是用于计算损失的标记索引集合。所提出的潜在标记仅用于辅助文本标记的预测,因此我们忽略对潜在标记的预测。为此,我们最小化与文本标记对应的预测损失,即:
Iloss≜{k∈Rs:s^k 不是潜在标记}.(4) \mathcal{I}_{loss} \triangleq \left\{k \in \mathcal{R}_{s}: \hat{s}_{k} \text{ 不是潜在标记} \right\}. \quad (4) Iloss≜{k∈Rs:s^k 不是潜在标记}.(4)
备注1. 所提出的方法具有通用性,可应用于任何仅解码器的Transformer模型。特别地,我们实现了潜在标记的参数高效微调,这与现有需要从头重新训练整个模型的方法[8,22]不同。此外,我们的方法可以使用现有的训练和推理基础设施,例如键值(KV)缓存和批量推理,且几乎不会增加额外的基础设施复杂性。
3.3 Design Choices
潜在标记是基于特定设计选择融入序列的。原则上,可在输入序列内的任意位置插入任意数量的潜在标记。同时,不同输入序列的潜在标记数量可以是固定的或可变的。一种直接的策略是按固定频率添加一组m个潜在标记,例如每k个文本标记插入一次,用kmk_mkm表示。此外,潜在标记可基于特定的输入标记符号分配,如逗号(,)、句号(.)、问号(?)等。图3展示了插入潜在标记的一些选择。
Function specialization. 此外,我们引入了一种高级方案,可根据潜在标记的位置或其后的文本标记,使其在不同功能上实现专业化。例如,我们可以在序列的不同位置使用多组潜在标记,如查询开头、查询中间、查询结尾以及生成响应的中间位置。这种功能专业化设计(记为FS)可确保插入到多个位置的潜在标记不会因学习目标冲突而影响效果,从而在可训练参数有限的情况下提升模型性能。
我们在此总结所提出的方法与若干密切相关工作之间的关系:
- Prompt tuning[14]:如果仅在查询序列的开头添加m个潜在标记(记为Start_m),则所提出的方法等同于 Prompt tuning。在这种情况下,潜在标记的数量可视为软提示的长度,用于引导模型生成合适的响应。然而,我们的设计更为通用,通过在不同位置插入潜在标记能够解决更复杂的任务,这将在第4节和附录C中进行验证。
- Pause token[8]和 filler token[22]: Pause token 可视为我们方法的一种变体,即m个潜在标记被附加到查询的末尾(记为End_m)。 具体而言,在生成最终答案之前,某些《PAUSE》标记被期望作为思维链(CoT)过程。因此,在看到最后一个《PAUSE》标记之前,输入标记的预测会被忽略。类似地, filler token在某些推理任务中使用填充标记(…)来替代思维链过程,但发现很难让模型学习填充标记的用法。相比之下,我们提出的潜在标记仅需轻量级微调即可广泛适用于一般任务。在附录C.4中,我们通过实验表明,由于上述设计,所提出的方法比暂停标记取得了更好的性能。
值得注意的是,我们提出的插入潜在标记的策略与大型语言模型(LLM)解码的自回归特性一致,即是否插入特定潜在标记由截至当前标记的上下文决定。在这项工作中,我们发现简单的策略(例如在逗号等特定文本标记处插入潜在标记,甚至周期性插入)已能在合成任务(第4节)和基准任务(附录C)中实现令人满意的性能。接下来,我们旨在探究潜在标记在哪些类型的任务中具有优势,以及背后的可能原因。
4 Exploring the Rationales Behind Latent Tokens
在本节中,我们探讨潜在标记可能在下游任务中扮演的角色。我们首先提出三个假设,然后通过专门设计的合成任务对其进行验证。详细的实验设置和一些补充实验可在附录B中找到。
4.1 Hypothesis 1: Self-Prompting for Long and Consistent Generation
我们假设,在自回归生成过程中重复插入的潜在标记可起到自我提示的作用。换言之,这些潜在标记会持续向Transformer模型“提醒”其从训练数据中学习到的信息,从而使模型能够生成冗长且连贯的响应。
Setup。为验证这一假设,我们设计了一项任务(生成任务),要求模型基于某种规则尽可能长地生成响应序列。该任务需要根据从训练数据中学习到的预定义规则生成等式。具体而言,我们定义了一个运算(a)(a)(a),其输入为四个数字a1a_1a1、a2a_2a2、b1b_1b1、b2b_2b2,输出结果为f1(a1,b1)=∣a1+b1∣mod 9f_1(a_1, b_1) = |a_1 + b_1| \mod 9f1(a1,b1)=∣a1+b1∣mod9和f2(a2,b2)=∣a2−b2∣mod 9f_2(a_2, b_2) = |a_2 - b_2| \mod 9f2(a2,b2)=∣a2−b2∣mod9。这些等式表示为a1a2@b1b2=f1(a1,b1)f2(a2,b2)a_1a_2 @ b_1b_2 = f_1(a_1, b_1)f_2(a_2, b_2)a1a2@b1b2=f1(a1,b1)f2(a2,b2),后面紧跟一个逗号。使用Llama-3.2-1B模型的分词器时,该结构总共占用六个标记。随后,等式通过将a1a2a_1a_2a1a2换为b1b2b_1b_2b1b2,并将bbb2bbb2bbb2替换为f1(a1,b1)f2(a2,b2)f_1(a_1, b_1)f_2(a_2, b_2)f1(a1,b1)f2(a2,b2)来继续生成。每个样本的查询包含起始标记 BOS 和五个等式。按照此规则,模型需在响应的最大标记数限制内生成尽可能多的等式。但该规则并未明确提供给模型,模型需要从训练样例中自行学习。每个训练样本的响应包含若干等式,长度范围为1到10,且不含结束标记 EOS 。以下是一个示例:
查询:<BOS>44@47=83,47@83=34,83@34=21,34@21=53,21@53=72 查询:<BOS> 44 @ 47=83,47 @ 83=34,83 @ 34=21,34 @ 21=53,21 @ 53=72查询:<BOS>44@47=83,47@83=34,83@34=21,34@21=53,21@53=72
RESPONSE:53@72=31,72@31=11,RESPONSE: 53 @ 72=31,72 @ 31=11,RESPONSE:53@72=31,72@31=11,
我们实现了所提方法的多个变体,并在图4中观察不同方法可生成的正确等式数量。基线方法Start_m和End_m分别指在查询开头或结尾添加m个潜在标记;而所提方法Comma_m则在每个逗号标记前插入m个潜在标记。我们在与训练数据分布相同的同分布(ID)场景,以及Transformer需要生成比训练样本更多等式的分布外(OOD)场景中对这些方法进行了评估。
Results。从图4的结果可以观察到,在可训练参数数量相同的情况下,Comma_1和Comma_2的表现优于所有基线方法。在分布外(OOD)场景中,随着模型需要生成更多等式,性能差距变得更大。在极端的OOD设置中,我们的方法相较于最佳基线实现了23%的相对提升。一个合理的解释是,通过在每个逗号前插入潜在标记,模型获得了能够有效将等式分割为可处理组件的上下文线索。这种分割可能有助于在生成冗长且连贯的响应时保持一致性和结构完整性。相比之下,如Start_m和End_m那样在查询开头或结尾插入潜在标记,提供的上下文信息较少,限制了模型适应OOD场景的能力。因此,Comma_m方法增强了模型的泛化能力,使其能够以更高的准确性处理更广泛的等式数量。
为了进一步探究潜在标记的作用,我们在图5中可视化了Comma_2的注意力图谱。我们观察到一个每8个标记重复一次的模式——包含6个文本标记和2个潜在标记——这一模式在最后一层似乎变得更加清晰。具体而言,每组潜在标记会被其后的6个标记高度关注,这表明其在生成后续等式时起到了关键作用。
译者注:一开始感觉也很好理解,都是一样的token,当然attention强,但是发现也不对,在这个case中,@符号和=符号也是不停规律重复的,但是就没有这个现象,但是不排除是因为@和=是有明确的语义且在这个任务中也学习到了特殊的计算模式。
4.2 Hypothesis 2: Assisting Information Retrieval
我们的第二个假设是,插入到查询中的潜在标记可以帮助模型从输入序列中检索相关信息。
setup 为验证这一假设,我们设计了一个指令遵循任务(重复任务),要求模型按指定次数重复给定等式。每个样本构建如下:首先生成形式为a+b=ca+b=ca+b=c的基础等式,其中aaa和bbb是从1到100中随机采样的整数,ccc表示aaa与bbb的和。查询包含显式指令“请将以下等式重复n次:”,其后跟随已重复s1s_1s1次的等式(s1s_1s1从(1,5)中随机选择)。模型需继续精确重复该等式s2=n−s1s_2 = n - s_1s2=n−s1次,其中s2s_2s2范围为1到10。训练时仅使用s2∈[1,5]s_2 \in [1,5]s2∈[1,5]的样本,而s2>5s_2 > 5s2>5可视为分布外(OOD)评估。示例如下:
QUERY:<BOS>请将以下等式重复6次:48+19=67,48+19=67, QUERY:<BOS> 请将以下等式重复6次:48+19=67,48+19=67, QUERY:<BOS>请将以下等式重复6次:48+19=67,48+19=67,
RESPONSE:48+19=67,48+19=67,48+19=67,48+19=67,<EOS> RESPONSE:48+19=67,48+19=67,48+19=67,48+19=67,<EOS> RESPONSE:48+19=67,48+19=67,48+19=67,48+19=67,<EOS>
我们的初步研究发现,基础模型Llama-3.2-1B若不进行微调则无法完成此任务。与生成任务不同,该模型虽被提供了指令,但需要记住当前的生成状态并严格遵循初始指令中的重复次数。为此,我们提出了具有功能专业化的潜在标记,即Comma_1(w/ FS),其中在查询开头添加一个潜在标记,同时在每个逗号前定期插入另一个潜在标记。
Result。从图7的实验结果来看,与在同分布(ID)设置中100%的准确率相比,模型在分布外(OOD)场景下的性能出现了显著下降。通过检查错误样本,我们发现所有失败均源于等式计数错误,这凸显了当训练中未见过目标计数时,模型要实现正确计数的难度。相比之下,所提出的Comma_1(带FS)方法与所有基线方法相比,取得了显著更高的准确率,尤其是在极端OOD设置中,较最佳基线实现了220%的相对提升。这证明了功能专业化在使潜在标记适应不同功能方面的有效性。 具体而言,一个潜在标记可能用于记忆指令,而其他潜在标记则通过关注先前的潜在标记来获取当前状态。 在附录B.3中,我们提供了一些初步证据,表明潜在标记可能通过关注起始潜在标记和指令标记来影响序列生成的结束。
译者注:问题是,这样的话,不同的任务会训练出对应的针对性潜 token 的功能,而真实训练的时候我们希望hidden token可以自适应当前的任务。
4.4 Extended Comparisons
在本小节中,我们将回答以下问题:潜在标记的性能提升是否仅仅源于额外标记带来的计算量增加? 为此,我们将我们的方法与具有相同平均标记数量的基线方法进行了比较。具体来说,为了匹配训练期间使用的平均输入序列长度,我们将基线方法中添加的标记数量分别设置为23(生成任务)、20(求和任务)和7(重复任务)。
如表1所示,我们的方法在分布外(OOD)场景中显著优于基线方法,突显了所提方法的泛化能力。此外,我们还观察到,增加基线方法的可学习标记数量并不一定导致其性能单调提升,这一现象在现有文献[10]中也有报道。总而言之,结果表明我们的方法的优势不仅源于计算量的增加,还得益于潜在标记更有效的设计。
这个是希望证明有规律的加入hidden token,好于一股脑放在开头或者结尾。
5 Related Works
Learnable special tokens 将可学习标记融入Transformer的做法已被广泛探索,服务于多种目标:包括记忆历史序列[4]、提供自适应计算[30]、压缩提示词[18],以及缓解视觉Transformer特征图中的特定伪影[6]。为提升推理能力,[8]提出在查询内部或末尾插入 【PAUSE】 标记;[22]则使用填充标记(…)替代思维链(CoT)过程,并在部分设计任务中较非CoT方案提升了性能。但这些研究发现,直接微调此类特殊标记难以达到预期效果[26],这促使我们设计更有效的潜在计算引入方法。此外,[27]通过训练大语言模型在每步推理开始时生成规划标记,以引导模型优化推理过程。这些研究主要聚焦于具有显式推理步骤的任务,限制了其向其他任务的泛化能力。从另一个角度看,prompt tuning [14]也可视为在输入查询前后添加特殊标记的前期工作,属于本文所提方法的一个特例。
Broader Related Works 越来越多的研究表明,集成中间计算步骤可以增强大语言模型(LLMs)在多个下游应用中的能力[23, 29, 11, 34]。例如,许多研究(包括草稿本方法[20]、思维链提示[28, 17]等[32, 33])促使大语言模型显式生成一些中间计算步骤,以提升模型的推理能力。在此情况下,大语言模型被限制在“自然语言空间”中进行推理,因此在某些场景下性能可能有限[9]。另一类研究提出使用隐藏计算来引导模型输出,而隐藏计算的结果在自然语言中可能不具备可解释的含义[9, 15]。这些方法有效增强了推理能力,但通常需要对整个Transformer模型进行繁重的训练,使其难以适应不同的下游任务。
6 Conclusions and Discussions
在这项工作中,我们引入了一种将潜在标记集成到大型语言模型(LLMs)的统一方法,从而提供额外的潜在计算能力,并针对位置编码和损失函数等多个方面进行了专门设计。所提出的方法普遍适用于任何仅解码器的Transformer架构,且与现有的训练和推理基础设施兼容。由于潜在标记具有轻量级特性,因此可以轻松应用包含多组学习到的潜在标记的批量推理,以同时服务于不同的下游任务或用户。此外,我们通过提出三个可能的假设并通过合成任务对其进行验证,深入探究了潜在标记在LLM生成中的潜在机制。重要的是,这些结果展示了潜在标记在各种任务中的分布外(OOD)泛化能力。
还有一些需要未来研究的工作。首先,潜在标记的设计空间涉及调整一些超参数,但我们的实验尚未详尽涵盖所有可能的配置。此外,这项工作主要关注添加潜在标记的简单策略。开发更具适应性和先进性的策略以充分释放其潜力将是有趣的。另外,尽管我们通过合成任务探索了潜在标记的一些可能工作机制,但对其基本原理的完整理解仍留待未来的工作。最后,我们采用监督微调作为训练方案,但未来的工作可能会将优化过程扩展到其他设置,如强化微调。
Appendix
A.2 Prepending or Appending Latent Tokens
在本小节中,我们简要讨论将潜在标记插入序列的另一种选择。具体而言,我们可以在文本标记sts_tst之后附加一组潜在标记,并将位置ID ttt分配给这些潜在标记。然后,在训练和推理过程中,Transformer的预测会被忽略,直到看到最后一个潜在标记[8],如图8所示。在下文中,我们将这种选择称为“附加潜在标记”(表示为APPEND),而默认设置称为“前置潜在标记”(表示为PREPEND)。附录C.3中的实验对这两种设计进行了比较。
C.2 Performance Comparision
表4展示了通过控制潜在标记数量,不同可训练参数数量的各种方法的结果。我们观察到,所提出的方法,即在序列中周期性集成潜在标记,在大多数情况下比基线方法表现更好,尤其是在微调Llama-3.2-1B模型时。相比之下,在查询和生成的响应之间添加特殊标记的表现不如其他方法,但仍显著优于朴素基线(基础模型)。这些结果表明,所提出的插入潜在标记的方法成功增强了推理过程中的中间计算,从而提高了响应质量。
C.3 Ablation Studies
我们使用Llama-3.2-1B模型并采用8_4方法插入潜在标记来进行消融研究,结果如表5所示。与附录B.4类似,我们考虑了四种设置:(1)冻结位置ID并前置潜在标记(默认设置),(2)冻结位置ID并后置潜在标记,(3)增加位置ID并前置潜在标记,(4)增加位置ID并后置潜在标记。我们观察到,采用固定位置ID可有效稳定训练并避免性能不佳;前置潜在标记的设计也提升了训练性能。