🚀 🦙适用于Huggingface Transformers的Llama模型
本项目将官方的 Llama-7B 通过 HF的转换脚本 转换为Huggingface模型,以便与Transformers/HuggingFace框架兼容。此模型遵循特殊许可协议,具体细节请查看 LICENSE
文件。
本项目基于 decapoda-research/llama-7b-hf 进行更新(由于decapoda仓库中的许多拉取请求尚未合并,因此我直接在此处创建了一个新仓库)。更新内容包括:
(1) 名称修改(LLaMA -> Llama),以更好地符合 transformers
的命名规则,涉及 LlamaForCausalLM
和 LlamaTokenizer
。此修改在 transformers>=4.28.0
版本中完美适用。
(2) 模型检查点保存为2个分片(而非 decapoda-research/Llama-7b-hf 中的33个分片)。更少的分片将加快从磁盘加载模型的速度。
📚 详细文档
模型详情
属性 |
详情 |
开发组织 |
Meta AI的FAIR团队 |
模型日期 |
Llama于2022年12月至2023年2月期间进行训练 |
模型版本 |
此为模型的第1版 |
模型类型 |
Llama是基于Transformer架构的自回归语言模型。该模型有不同的规模:70亿、130亿、330亿和650亿参数 |
更多信息资源 |
更多信息可在论文 “Llama, Open and Efficient Foundation Language Models” 中找到,链接为:https://research.facebook.com/publications/Llama-open-and-efficient-foundation-language-models/ |
引用详情 |
https://research.facebook.com/publications/Llama-open-and-efficient-foundation-language-models/ |
许可证 |
非商业定制许可证 |
问题反馈途径 |
关于Llama的问题和建议可通过项目的 GitHub仓库 提交issue |
预期用途
主要预期用途
Llama的主要用途是进行大语言模型的研究,包括:
- 探索潜在应用,如问答、自然语言理解或阅读理解。
- 了解当前语言模型的能力和局限性,并开发改进技术。
- 评估和减轻偏见、风险、有毒有害内容生成以及幻觉问题。
主要预期用户
该模型的主要预期用户是自然语言处理、机器学习和人工智能领域的研究人员。
超出范围的用例
Llama是一个基础模型。因此,在未进行进一步风险评估和缓解的情况下,不应将其用于下游应用。特别是,我们的模型未经过人类反馈训练,因此可能会生成有毒或冒犯性内容、错误信息或通常无用的答案。
影响因素
相关因素
模型性能可能会因使用的语言而有所不同。尽管我们在训练数据中包含了20种语言,但大部分数据集是英文文本,因此我们预计模型在英文上的表现会优于其他语言。相关地,先前的研究表明,不同方言的性能可能会有所差异,我们预计该模型也会出现这种情况。
评估因素
由于我们的模型是在网络数据上进行训练的,我们预计它会反映出该来源的偏见。因此,我们在RAI数据集上进行了评估,以衡量模型在性别、宗教、种族、性取向、年龄、国籍、残疾、外貌和社会经济地位方面表现出的偏见。我们还根据用于提示模型的上下文的毒性来衡量模型生成内容的毒性。
评估指标
模型性能指标
我们使用以下指标来评估模型:
- 常识推理、阅读理解、自然语言理解(MMLU)、BIG-bench hard、WinoGender和CrowS-Pairs的准确率。
- 问答的精确匹配率。
- RealToxicityPrompts上来自Perspective API的毒性得分。
决策阈值
不适用。
不确定性和变异性处理方法
由于训练大语言模型的计算要求很高,我们每种规模只训练了一个模型,因此无法评估预训练的变异性。
评估数据集
该模型在以下基准测试中进行了评估:BoolQ、PIQA、SIQA、HellaSwag、WinoGrande、ARC、OpenBookQA、NaturalQuestions、TriviaQA、RACE、MMLU、BIG-bench hard、GSM8k、RealToxicityPrompts、WinoGender、CrowS-Pairs。
训练数据集
该模型使用以下数据源进行训练:CCNet [67%]、C4 [15%]、GitHub [4.5%]、Wikipedia [4.5%]、Books [4.5%]、ArXiv [2.5%]、Stack Exchange[2%]。Wikipedia和Books领域的数据包含以下语言:bg、ca、cs、da、de、en、es、fr、hr、hu、it、nl、pl、pt、ro、ru、sl、sr、sv、uk。有关训练集和相应预处理的更多详细信息,请参阅论文。
定量分析
模型架构超参数
Llama参数规模 |
维度 |
头数 |
层数 |
学习率 |
批量大小 |
标记数 |
70亿 |
4096 |
32 |
32 |
3.0E-04 |
4M |
1T |
130亿 |
5120 |
40 |
40 |
3.0E-04 |
4M |
1T |
330亿 |
6656 |
52 |
60 |
1.5.E-04 |
4M |
1.4T |
650亿 |
8192 |
64 |
80 |
1.5.E-04 |
4M |
1.4T |
表1 - Llama模型超参数总结
推理任务性能
Llama参数规模 |
BoolQ |
PIQA |
SIQA |
HellaSwag |
WinoGrande |
ARC-e |
ARC-c |
OBQA |
COPA |
70亿 |
76.5 |
79.8 |
48.9 |
76.1 |
70.1 |
76.7 |
47.6 |
57.2 |
93 |
130亿 |
78.1 |
80.1 |
50.4 |
79.2 |
73 |
78.1 |
52.7 |
56.4 |
94 |
330亿 |
83.1 |
82.3 |
50.4 |
82.8 |
76 |
81.4 |
57.8 |
58.6 |
92 |
650亿 |
85.3 |
82.8 |
52.3 |
84.2 |
77 |
81.5 |
56 |
60.2 |
94 |
表2 - Llama模型在推理任务上的性能总结
模型偏差
编号 |
类别 |
FAIR LLM偏差值 |
1 |
性别 |
70.6 |
2 |
宗教 |
79 |
3 |
种族/肤色 |
57 |
4 |
性取向 |
81 |
5 |
年龄 |
70.1 |
6 |
国籍 |
64.2 |
7 |
残疾 |
66.7 |
8 |
外貌 |
77.8 |
9 |
社会经济地位 |
71.5 |
|
Llama平均偏差值 |
66.6 |
表3 - 我们模型输出的偏差总结
伦理考虑
数据
用于训练模型的数据来自各种来源,主要是网络。因此,它包含冒犯性、有害和有偏见的内容。我们预计模型会表现出训练数据中的此类偏见。
人类生活
该模型并非用于为与人类生活核心相关的决策提供信息,不应以这种方式使用。
缓解措施
我们根据数据与维基百科文本和参考资料的接近程度对网络数据进行了过滤。为此,我们使用了Kneser-Ney语言模型和fastText线性分类器。
风险和危害
大语言模型的风险和危害包括生成有害、冒犯性或有偏见的内容。这些模型通常容易生成错误信息,有时被称为幻觉。我们预计我们的模型在这方面也不例外。
用例
Llama是一个基础模型。因此,在未进行进一步调查和风险缓解的情况下,不应将其用于下游应用。这些风险和潜在的有问题用例包括但不限于:生成错误信息以及生成有害、有偏见或冒犯性内容。
📄 许可证
此项目遵循特殊许可协议,具体细节请查看 LICENSE
文件。