如何用网页制作网站,百度怎么建网站,有没有教如何做衣服的网站,谁能给个网站谢谢文 | ZenMoore编 | 小轶GPT3 一声枪响#xff0c;给 NLP 带来了大模型风潮。这么长时间过来#xff0c;无论是中文还是英文#xff0c;模型越做越大。当然#xff0c;这确实是符合逻辑的#xff0c;因为如果以人脑为向导的话#xff0c;那么多神经元#xff0c;不得不需… 文 | ZenMoore编 | 小轶GPT3 一声枪响给 NLP 带来了大模型风潮。这么长时间过来无论是中文还是英文模型越做越大。当然这确实是符合逻辑的因为如果以人脑为向导的话那么多神经元不得不需要大参数量来模拟。但是过于关注“大”本身是存在很多问题的一方面模型规模增大带来的性能增益逐渐饱和让我们不得不思考“精”这个维度另一方面大模型实在臃肿在部署成本、下游任务适配、绿色、边缘化等等方面有着难以解决的劣势。因此大模型发展至今我们同样需要重点思考的是如何把模型做精做强如何把模型轻量化而效果不减 毕竟模型之大有涯而知也无涯以有涯随无涯殆已当然2021 年出现了很多轻量化模型相关的工作他们的 Motivation 基本都是采用一系列技巧把模型的 size 减下来但是 performance 依旧不输给 GPT3、Megatron等等超大模型。例如使用 Prompting 技术的 T0 模型使用知识增强、训练策略改进、压缩蒸馏、Prompting 等一系列方案的中文孟子模型 等等。DeepMind 最近也入局了 NLP 模型上来就是一套组合拳总计三篇论文280B 参数的 Transformer 语言模型Gopher大模型的伦理与社会风险研究检索增强的自回归语言模型Retro我们重点聊一聊第三篇使用检索增强的方式不仅减小了模型的参数量而且效果也非常能打因此不失为模型轻量化的又一条路把模型做成 Open System 论文标题:Improving language models by retrieving from trillions of tokens作者机构:DeepMind论文链接:https://arxiv.org/pdf/2112.04426.pdf方法1. 检索增强的自回归语言模型从输入开始首先将输入文本均分为 个块(chunk), 每个 chunk 总共 个 tokens, 即输入文本长度为 . 这些 chunk 分别 记为 . 对每个 , 从 Rertieval Dataset 召回 个 neighbours, 记为 或者 .因此目标函数即序列的对数似然公式如下需要注意的是.整个模型的结构是基于 Transformer Encoder-Decoder 的。2. kNN 检索然后介绍 Frozen kNN Retriever 部分。首先有一个事先搜集好的 Retrieval Database (数据来源MassiveText), 总共有 5T tokens 的数据量。将他们以键值对的形式一个 chunk 一个 chunk 地存储起来不得不说DeepMind 还是壕啊...值包含两个组分记为 , 其中 是 text token chunk, 是这个 token chunk 在数据源文档中的接续文本 (continuation)键即对应的 BERT embedding, 记为 (这里的 BERT 是训练好的参数不会改变)。这样计算输入文本 chunk 的 BERT embedding将其与 Retrieval Database 中的各个键计算 距离作为度量就可以得到这个输入文本 chunk 的 个 nearest neighbours.3. Retro Model▲Retro 算法流程接下来介绍 Retro 模型的主体部分包含 层 Encoder, 以及 层 Decoder.首先记输入文本的第 个 chunk 的 activation 为 .在 Decoder 部分定义一个整数集合 决定哪些层需要使用 Retro-block, 然后其余层均使用 Transformer 原版 Decoder 层即可。即同样地在 Encoder 部分也有一个对应的 .我们这里不聊 Transformer 原版的 Encoder 或者 Decoder 层只聊新的 Decoder (即 Retro-block) 和新的 Encoder.新的 Encoder :对于第 个 chunk 的 第 近邻的 retrieval neighbour, 我们使用这个方式对其进行编码这样就能以一种可微分的方式将输入文本的信息融合到 Retrieval Encoder 里面从而控制 Retrieval Neighbour 的编码。新的 Decoder :这个的核心在于 Chunked Cross-Attention(CCA). 首先以 Figure.2 右侧图的方式将 分割为 个 attending chunks, 分别记为然后计算 和 的 cross-attention, 即其中cross-attention 这样计算.最后在 Transformer 的实现上还有两点小小的细节LayerNorm 替换为 RMSNorm使用相对位置编码 (relative position encoding)4. 数据泄露的量化除了模型上的改进作者为了让自己的工作更加严谨有说服力还针对大规模 Retrieval Database 以及训练集常见的数据泄露问题提出了更加科学的定量分析方法可圈可点这个问题其实非常自然训练集、测试集都来自互联网规模大了测试数据很容易泄露即测试集数据出现在训练集中很多工作对这样的问题睁一只眼闭一只眼但其实在卖萌屋往期的推文也谈到过这非常的不严谨有没有什么解决办法呢首先对于每个测试集(或者验证集)的 chunk , 从训练集中召回 10 个 nearest neighbours, 计算 与这些 neighbours 的最长公共子序列长度记作 . 定义 用来表征测试集(或验证集)中的 chunk 和训练数据的重合程度。另外再记 编码的字节数为 , 的对数似然为 对 设置一个阈值 就可以定义一个新的评估指标 bits-per-bytes(bpb) :bpb 值越小模型的效果越好同时可以用阈值 来控制对数据泄露问题的容忍度即 越小bpb 越能代表无数据泄露时的模型效果另外bpb 的斜率还能表征模型对泄露数据的依赖度 (how much the model exploits evaluation leakage).5. 与其他检索方法的对比作者在这个表中总结得很明白就不赘述了溜...实验结果Baseline 基本是原版的 Transformer没有使用 Retrieval 进行增强改动仅限于 RMSNorm 和相对位置编码Retro[OFF] 指的是在 evaluation 阶段Retro 是不带 Retrieval 的Retro[ON] 就是上面介绍的完整的 Retro 模型▲注意纵坐标越小模型越好第一张图蓝色的圆点代表 172M 的 Retro[ON], 红色的三角代表 7.5B 的 Baseline这两个效果差不多证明了 Retrieval 确实可以在保证模型效果的前提下缩减模型的参数量增大 Retrieval Database 的规模可以有效地提升模型效果Retrieval Neighbours 的数量也会影响模型效果但是有一个最优点不同 model size、不同模型在各个数据集上的效果可以看上面这张图这里挑一个 retrieval intensive 的下游任务——Question Answering. 可见Retro 仍然战胜了不少模型。至于为什么比 FID 等略逊一筹主要是因为 FID 等使用的是 T5-style model这些模型更加依赖于 encoder output, 而这是影响 QA 性能的关键baseline 模型可以快速灵活地 finetuned 为 Retro 模型同时效果与 trained from scratch 的模型相比基本相同。这个结论感觉还挺重要的有了这个结论我们就能够非常灵活地将现有的模型进一步精调成检索型模型而不需要重新进行漫长的预训练。使用作者这种数据泄露问题的定量分析方法可以证明 Retro 模型的效果增益基本和数据泄露没有关系。另外也提倡学界、业界重视起这个问题来让实验更加严谨写在最后DeepMind 很善于从人类身上汲取创造智能的灵感这一波的灵感是人类学习的过程不仅仅是对当下知识的整合还包括对记忆的检索甚至包括对学习资料的检索。那么这样一个检索型的语言模型是非常自然的想法。另外虽然作者进行这个工作的初衷并不一定是模型轻量化但是从它 10x 的参数缩减量来看确确实实给轻量化提供了一个新的思路。无论是为了 training efficient, 还是为了 green, 模型的轻量化任重而道远正如孟子模型的开篇语引用的话一样“以力服人者, 非心服也,力不赡也。权,然后知轻重;度,然后知长短。” 把模型做精做强也是我们应该考虑的核心问题。笔者还有一点思考是当下的语言模型大多是 closed system 输入数据训练训练完之后“包裹”起来使用。但是封闭式系统就意味着在使用模型进行 inference 的时候不能“查资料”是“闭卷考试”这样真的合理吗我们都知道对人类来说这个世界不会被排除在外我们一直都在做“开卷考试”写作时难免查一查词典翻一翻名著编文案时难免上网找一找灵感看一看模板。相信对于机器来说也更需要一个 open system毕竟 “知也无涯”而 “模型之大有涯”以有涯随无涯殆已萌屋作者ZenMoore来自北航中法的本科生数学转码 (AI)想从 NLP 出发探索人工认知人工情感的奥秘... 个人主页是 zenmoore.github.io, 知乎 ID 是 ZenMoore, 微信号是 zen1057398161, 嘤其鸣矣求其友声作品推荐一文跟进Prompt进展综述15篇最新论文逐一梳理图灵奖大佬谷歌团队为通用人工智能背书CV 任务也能用 LM 建模后台回复关键词【入群】加入卖萌屋NLP/IR/Rec与求职讨论群后台回复关键词【顶会】获取ACL、CIKM等各大顶会论文集 [1]. Language Models are Few-Shot Learners: https://arxiv.org/abs/2005.14165[2]. Megatron-LM: Training Multi-Billion Parameter Language Models Using Model Parallelism: https://arxiv.org/pdf/1909.08053.pdf[3]. Multitask Prompted Training Enables Zero-Shot Task Generalization: https://arxiv.org/abs/2110.08207[4]. Mengzi: Towards Lightweight yet Ingenious Pre-trained Models for Chinese:https://arxiv.org/pdf/2110.06696.pdf[5]. Scaling Language Models: Methods, Analysis Insights from Training Gopher: https://arxiv.org/abs/2112.11446[6]. Ethical and social risks of harm from Language Models: https://arxiv.org/abs/2112.04359[7]. Leveraging Passage Retrieval with Generative Models for Open Domain Question Answering: https://arxiv.org/pdf/2007.01282.pdf[8]. Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer: https://arxiv.org/abs/1910.10683[9]. Multitask Prompted Training Enables Zero-Shot Task Generalization: https://arxiv.org/abs/2110.08207