进入正文之前,先考虑一下像 ChatGPT 这样的 Transformer 语言模型(LM)的 prompt:

文章插图
随着每天产生数百万用户和查询,ChatGPT 使用自注意力机制对 prompt 进行反复编码,其时间和内存复杂度随输入长度呈二次方增长 。缓存 prompt 的 transformer 激活可以防止部分重新计算,但随着缓存 prompt 数量的增加,这种策略仍然会产生很大的内存和存储成本 。在大规模情况下,即使 prompt 长度稍微减少一点,也可能会带来计算、内存和存储空间的节省,同时还可以让用户将更多内容放入 LM 有限的上下文窗口中 。
那么 。应该如何降低 prompt 的成本呢?典型的方法是微调或蒸馏模型,使其在没有 prompt 的情况下表现得与原始模型相似,或许还可以使用参数高效的自适应方法 。然而,这种方法的一个基本缺点是每次需要为新的 prompt 重新训练模型(下图 1 中间所示) 。

文章插图
本文中,斯坦福大学的研究者提出了 gisting 模型(上图 1 底部),它将任意 prompt 压缩成一组更小的虚拟「Gist」 token,类似于前缀微调。然而,前缀微调需要通过梯度下降为每个任务学习 prefix,而 Gisting 采用元学习方法,仅仅通过 prompt 预测 Gist prefix,而不需要为每个任务进行 prefix 学习 。这样可以摊销每个任务 prefix 学习的成本,使得在没有额外训练的情况下泛化到未知的指令 。
此外,由于「Gist」token 比完整 prompt 要短得多,因此 Gisting 允许 prompt 被压缩、缓存和重复使用,以提高计算效率 。

文章插图
论文地址:https://arxiv.org/pdf/2304.08467v1.pdf
研究者提出了一种非常简单的方法来学习指令遵循的 gist 模型:简单地进行指令微调,在 prompt 后插入 gish token,修改后的注意力掩膜阻止 gist token 后的 token 参考 gist token 前的 token 。这使得模型同时学习 prompt 压缩和指令遵循,而无需额外的训练成本 。
在 decodr-only(LLaMA-7B)和 encoder-decoder(FLAN-T5-XXL)LM 上,gisting 可实现高达 26 倍的即时压缩率,同时保持与原始模型相似的输出质量 。这使得推理过程中 FLOPs 减少了 40%,延迟加速了 4.2%,与传统的 prompt 缓存方法相比,存储成本大大降低 。
Gisting研究者首先在指令微调的背景下描述 gisting 。对于指令遵循数据集

文章插图
,t 表示用自然语言 prompt 编码的任务 (例如将此翻译成法语),x 表示任务的(可选)输入 (例如 The cat),y 表示期望的输出(例如 Le chat) 。指令微调的目的是通过连接 t 和 x,然后让通常预先训练的语言模型自回归地预测 y,从而学习分布 pLM(y | t,x) 。推理时可以使用新的任务 t 和输入 x 进行 prompt,从模型中解码以获得预测结果 。
然而,连接 t 和 x 的这种模式具有缺点:基于 Transformer 的 LM 具有有限的上下文窗口,其受架构或计算能力所限 。后者特别难解决,因为自注意力随输入长度呈二次方扩展 。因此很长的 prompt,尤其那些被反复重用的 prompt,计算效率低下 。有哪些选项可以用来降低 prompt 的成本呢?
一种简单的方法是针对特定任务 t 进行 LM 微调,即给定包含仅在任务 t 下的输入 / 输出示例的数据集
【将26个token压缩成1个,新方法极致节省ChatGPT输入框空间】

文章插图
,可以学习一个专门的

文章插图
,它更快,因为不需要考虑 t 。
更好的是,prefix/prompt 微调或 adapter 等参数高效微调方法能够以比全面微调低得多的成本实现相同的目的 。然而仍然存在问题:必须至少存储每个任务的一部分模型权重,并且更重要的是,对于每个任务 t,必须收集相应的输入 / 输出对数据集 D^t 并重新训练模型 。
Gisting 是一种不同的方法,它摊销了两部分成本:(1)在 t 上条件化 p_LM 的推理时间成本,(2)学习每个 t 的新 p^t_LM 的训练时间成本 。其思想是在微调期间学习 t 的压缩版本 G (t),使得从 p_G (y | G (t),x) 进行推理比从 p_LM (y|t,x) 更快 。
在 LM 术语中,G (t) 将是一组「虚拟」的 Gist token,其数量比 t 中的 token 少,但仍会在 LM 中引起类似的行为 。接着可以缓存并重复使用 G (t) 上的 transformer 激活(例如键和值矩阵)以提高计算效率 。重要的是,研究者希望 G 可以泛化到未见过的任务:给定一个新任务 t,则可以预测并使用相应的 Gist 激活 G (t) 而无需进行任何额外训练 。
推荐阅读
- 真有这么恐怖?巴菲特将AI的危险程度比作原子弹
- 一篇读懂Java工厂设计模式
- 制服|5月起将会有吉星帮助的几个星座,好运连连,吉上加吉!
- 云襄传|云襄传:福王即将上线,利用明珠郡主接近云襄,舒亚男情敌来了
- 诸葛亮|诸葛亮管理不当致使季汉两大将身亡,他应该承担责任吗?
- 王俊凯|大瓜!当红男明星将女友装进行李箱带进酒店,两人分别时依依不舍
- 芒果台|芒果台这档以女性为主的推理真人秀,是否成功将综艺本土化了?
- 王丽坤|和乔振宇同居八年,陷“夜光麻将”丑闻,褪去画皮后真实的王丽坤
- 肖战|肖战新剧将空降官宣?各营销号纷纷开始预热,粉丝翘首以盼好期待
- 赵丽颖|又一新谍战剧将至,全员演技实力派,网友:终于有剧可追了