高效底座模型LLaMA

论文标题:LLaMA: Open and Efficient Foundation Language Models
论文链接:https://arxiv.org/abs/2302.13971
论文来源:Meta AI

一、概述

大型语言模型(Large Languages Models,LLMs)通过大规模文本数据的训练,展示了其根据文本指令或少量样本完成新任务的能力。这种少数示例的性质首次在规模足够大的模型中出现,导致了一系列聚焦于进一步扩大这些模型的工作。这些努力都是基于一个假设:模型参数越多,性能越好。然而,Hoffmann等人(2022)的近期研究显示,在给定的计算预算下,最佳的性能并非由最大的模型实现,而是由训练数据更多的较小模型实现。

Hoffmann等人(2022)的目标是确定如何最好地根据特定的训练计算预算来调整数据集和模型大小。然而,这个目标忽略了推理预算,这在大规模使用语言模型时变得至关重要。在这种背景下,目标性能水平下的首选模型并不是训练速度最快的,而是推理速度最快的,尽管训练大模型以达到一定的性能水平可能更加容易,但更长时间训练的小模型最终在推理时成本会更低。例如,尽管Hoffmann等人(2022)推荐在200B个token上训练一个10B的模型,我们发现7B模型的性能即使在1T个token之后仍在提高。

本文研究的主要目标是通过使用比通常更多的数据来训练一系列在各种推理预算下达到最佳可能性能的语言模型。这一系列模型称为LLaMA,参数范围从7B到65B,与现有最佳LLMs的性能相媲美。例如,LLaMA-13B在大多数基准测试中都优于GPT-3,尽管其大小只有GPT-3的十分之一。作者们认为这个模型将有助于民主化访问和研究LLMs,因为它可以在单个GPU上运行。对于最大规模的模型,LLaMA的65B参数模型也可以与最佳的LLMs(如Chinchilla或PaLM-540B)相媲美。

不同于Chinchilla、PaLM或GPT-3,LLaMA只使用公开可用的数据,使他们的工作与开源兼容,而大多数现有的模型依赖于非公开或未记录的数据(例如“Books – 2TB”或“Social media conversations”)。存在一些例外,如OPT、GPT-NeoX、BLOOM和GLM,但没有一个能与PaLM-62B或Chinchilla竞争。

二、方法

LLaMA使用完全开源的数据进行预训练,并且融合了已有LLMs的一些训练技巧,同时为了高效运算也对模型架构和运算过程做了一些改动。

  1. 预训练数据

LLaMA的预训练数据来自各个开源语料,数据组成如下:

数据组成

这些数据中既包括网络语料也包括一些代码、书籍等开源数据,这既使得模型能够具备一些多领域的知识和代码理解能力,也可能使得模型会生成一些偏见、毒性和错误信息等有害内容。

LLaMA使用BPE(byte-pair encoding)算法来对数据进行token化,并且将所有的数字分割成单独的数字,并在无法识别的UTF-8字符时回退到byte级别进行分解。这样的处理方式能够帮助模型更好地理解和处理各种类型的字符和数字。最终从这些数据中得到了1.4T个token,对于大多数数据,每个token在训练时只使用一次,除了Wikipedia和Books这两部分执行大约2个epoch。

  1. 架构

LLaMA整合了一些已有的研究来对Transformer架构进行改进,主要包括:
Pre-normalization[GPT3]:为了提高训练稳定性,LLaMA归一化了每个Transformer子层的输入,而不是归一化输出。他们使用RMSNorm归一化函数。
SwiGLU激活函数 [PaLM]:他们将ReLU非线性函数替换为SwiGLU激活函数。他们使用的维度是\frac{2}{3}4d,而不是PaLM中的4d
Rotary Embeddings[GPTNeo]:他们移除了绝对位置嵌入,而是在网络的每一层添加Rotary Embeddings(RoPE)。

以上的改进均有助于提升模型的性能和训练稳定性。所有模型的超参数细节如下:

超参数设置
  1. 优化器

LLaMA使用的是AdamW优化器,设置的超参数为:\beta _{1}=0.9, \beta _{2}=0.95。并且使用了余弦学习率调度,使得最终学习率等于最大学习率的10%。他们设置的权重衰减为0.1,梯度裁剪为1.0。同时使用2000步的warm-up,并根据模型的大小改变学习率和批处理大小(具体细节见上表)。

  1. 代码层面的高效实现

首先,LLaMA使用了一种高效的因果多头注意力运算符的实现(causal multi-head attention operator),这受到一些已有研究的启发。这种实现方式,可以在xformers库中找到,它降低了内存使用和计算量。这是通过不存储注意力权重和不计算因语言模型任务的因果性而被mask的key/query得分来实现的。

为了进一步提高训练效率,LLaMA通过检查点技术减少了在反向传播过程中需要重新计算的激活量。更具体地说,他们保存了那些计算成本较高的激活,例如线性层的输出。这是通过手动实现transformer层的反向函数来实现的,而不是依赖于PyTorch的自动梯度计算。为了充分利用这种优化,他们需要通过使用模型和序列并行化来减少模型的内存使用。此外,他们还尽可能地重叠了激活的计算和GPU之间网络的通信(使用all_reduce操作)。

在训练LLaMA的65B参数的模型时,本文的代码在拥有80GB RAM的2048个A100 GPU上,每秒每个GPU可以处理大约380个tokens。这意味着在他们包含1.4T tokens的数据集上训练需要大约21天。

三、实验

  1. 主要实验结果

本文在20个不同的benchmark数据集上进行了Zero-shot和Few-shot的实验来验证模型性能,主要结果如下:

  • Common Sense Reasoning
实验
  • Closed-book Question Answering
实验
实验
  • Reading Comprehension
实验
  • Mathematical reasoning
实验
  • Code generation
实验
  • Massive Multitask Language Understanding
实验
  • Evolution of performance during training
实验
实验
  1. 指令微调
实验
  1. 偏见、毒性和错误信息
  • RealToxicityPrompts
实验
  • CrowS-Pairs
实验
  • WinoGender
实验
  • TruthfulQA
实验
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 227,837评论 6 531
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 98,196评论 3 414
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 175,688评论 0 373
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 62,654评论 1 309
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 71,456评论 6 406
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 54,955评论 1 321
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 43,044评论 3 440
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 42,195评论 0 287
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 48,725评论 1 333
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 40,608评论 3 354
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 42,802评论 1 369
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 38,318评论 5 358
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 44,048评论 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 34,422评论 0 26
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 35,673评论 1 281
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 51,424评论 3 390
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 47,762评论 2 372

推荐阅读更多精彩内容