Llama 2 is a collection of pretrained and fine-tuned generative text models ranging in scale from 7 billion to 70 billion parameters. This is the repository for the 7B fine-tuned model, optimized for dialogue use cases.
Llama 2是一系列预训练和微调的生成文本模型的集合,参数规模从70亿到700亿不等。这是7B微调模型的存储库,专为对话用例优化,并适配到ModelScope生态,可以通过ModelScope library加载。
Note: Use of this model is governed by the Meta license. In order to download the model weights and tokenizer, please visit the website and accept our License before requesting access here.
Meta developed and publicly released the Llama 2 family of large language models (LLMs), a collection of pretrained and fine-tuned generative text models ranging in scale from 7 billion to 70 billion parameters. Our fine-tuned LLMs, called Llama-2-Chat, are optimized for dialogue use cases. Llama-2-Chat models outperform open-source chat models on most benchmarks we tested, and in our human evaluations for helpfulness and safety, are on par with some popular closed-source models like ChatGPT and PaLM.
注意:使用此模型受Meta许可证的约束。为了下载模型权重和分词器,请访问网站并接受我们的许可证,然后在这里请求访问。
Meta开发并公开发布了Llama 2系列的大型语言模型(LLMs),这是一系列预训练和微调的生成文本模型的集合,参数规模从70亿到700亿不等。我们微调的LLMs,称为Llama-2-Chat,专为对话用例优化。Llama-2-Chat模型在我们测试的大多数基准上优于开源聊天模型,并且在我们对帮助性和安全性的人类评估中,与一些流行的闭源模型如ChatGPT和PaLM相当。
Model Developers Meta
Variations Llama 2 comes in a range of parameter sizes — 7B, 13B, and 70B — as well as pretrained and fine-tuned variations.
Input Models input text only.
Output Models generate text only.
Model Architecture Llama 2 is an auto-regressive language model that uses an optimized transformer architecture. The tuned versions use supervised fine-tuning (SFT) and reinforcement learning with human feedback (RLHF) to align to human preferences for helpfulness and safety.
Llama 2有多种参数大小——7B、13B和70B——以及预训练和微调的版本。
输入 模型只输入文本。
输出 模型只生成文本。
模型架构 Llama 2是一个自回归语言模型,使用优化的Transformer架构。调整版本使用监督微调(SFT)和人类反馈的强化学习(RLHF)来符合人类对帮助性和安全性的偏好。
Training Data | Params | Content Length | GQA | Tokens | LR | |
---|---|---|---|---|---|---|
Llama 2 | A new mix of publicly available online data | 7B | 4k | ✗ | 2.0T | 3.0 x 10-4 |
Llama 2 | A new mix of publicly available online data | 13B | 4k | ✗ | 2.0T | 3.0 x 10-4 |
Llama 2 | A new mix of publicly available online data | 70B | 4k | ✔ | 2.0T | 1.5 x 10-4 |
Llama 2 family of models. Token counts refer to pretraining data only. All models are trained with a global batch-size of 4M tokens. Bigger models - 70B – use Grouped-Query Attention (GQA) for improved inference scalability.
Model Dates Llama 2 was trained between January 2023 and July 2023.
Status This is a static model trained on an offline dataset. Future versions of the tuned models will be released as we improve model safety with community feedback.
License A custom commercial license is available at: https://ai.meta.com/resources/models-and-libraries/llama-downloads/
模型日期 Llama 2的训练时间为2023年1月至2023年7月。
状态 这是一个在离线数据集上训练的静态模型。随着我们改进模型安全性的社区反馈,调整模型的未来版本将会发布。
许可证 自定义商业许可证可在以下网址获取:https://ai.meta.com/resources/models-and-libraries/llama-downloads/
pip install modelscope -U
推理代码
import torch
from modelscope import Model, snapshot_download
from modelscope.models.nlp.llama2 import Llama2Tokenizer
model_dir = snapshot_download("modelscope/Llama-2-7b-chat-ms", revision='v1.0.2',
ignore_file_pattern=[r'.+\.bin$'])
tokenizer = Llama2Tokenizer.from_pretrained(model_dir)
model = Model.from_pretrained(
model_dir,
torch_dtype=torch.float16,
device_map='auto')
system = 'you are a helpful assistant!'
inputs = {'text': 'Where is the capital of Zhejiang?', 'system': system, 'max_length': 512}
output = model.chat(inputs, tokenizer)
print(output['response'])
inputs = {'text': 'What are the interesting places there?',
'system': system,
'history': output['history'],
'max_length': 512}
output = model.chat(inputs, tokenizer)
print(output['response'])
Intended Use Cases Llama 2 is intended for commercial and research use in English. Tuned models are intended for assistant-like chat, whereas pretrained models can be adapted for a variety of natural language generation tasks.
To get the expected features and performance for the chat versions, a specific formatting needs to be followed, including the INST
and <<SYS>>
tags, BOS
and EOS
tokens, and the whitespaces and breaklines in between (we recommend calling strip()
on inputs to avoid double-spaces). See our reference code in github for details: chat_completion
.
Out-of-scope Uses Use in any manner that violates applicable laws or regulations (including trade compliance laws).Use in languages other than English. Use in any other way that is prohibited by the Acceptable Use Policy and Licensing Agreement for Llama 2.
预期用例 Llama 2预期用于商业和研究用途,语言为英语。调整模型预期用于类似助手的聊天,而预训练模型可以适应各种自然语言生成任务。
为了获得聊天版本的预期特性和性能,需要遵循特定的格式,包括INST和<
超出范围的用途 以任何违反适用法律或法规(包括贸易合规法)的方式使用。使用英语以外的语言。以任何其他方式使用,这被Llama 2的可接受使用政策和许可协议所禁止。
Training Factors We used custom training libraries, Meta’s Research Super Cluster, and production clusters for pretraining. Fine-tuning, annotation, and evaluation were also performed on third-party cloud compute.
训练因素 我们使用了定制的训练库,Meta的研究超级集群,以及用于预训练的生产集群。微调、注释和评估也在第三方云计算上进行。
Carbon Footprint Pretraining utilized a cumulative 3.3M GPU hours of computation on hardware of type A100-80GB (TDP of 350-400W). Estimated total emissions were 539 tCO2eq, 100% of which were offset by Meta’s sustainability program.
碳足迹 预训练使用了累计330万GPU小时的计算,硬件类型为A100-80GB(TDP为350-400W)。估计的总排放量为539 tCO2eq,其中100%由Meta的可持续性计划抵消。
Time (GPU hours) | Power Consumption (W) | Carbon Emitted(tCO2eq) | |
---|---|---|---|
Llama 2 7B | 184320 | 400 | 31.22 |
Llama 2 13B | 368640 | 400 | 62.44 |
Llama 2 70B | 1720320 | 400 | 291.42 |
Total | 3311616 | 539.00 |
CO2 emissions during pretraining. Time: total GPU time required for training each model. Power Consumption: peak power capacity per GPU device for the GPUs used adjusted for power usage efficiency. 100% of the emissions are directly offset by Meta’s sustainability program, and because we are openly releasing these models, the pretraining costs do not need to be incurred by others.
预训练期间的CO2排放。时间:训练每个模型所需的总GPU时间。功耗:根据功耗效率调整的每个GPU设备的峰值功率容量。100%的排放直接由Meta的可持续性计划抵消,因为我们公开发布这些模型,所以不需要其他人承担预训练的成本。
Overview Llama 2 was pretrained on 2 trillion tokens of data from publicly available sources. The fine-tuning data includes publicly available instruction datasets, as well as over one million new human-annotated examples. Neither the pretraining nor the fine-tuning datasets include Meta user data.
概述 Llama 2在来自公开可用源的2万亿令牌的数据上进行了预训练。微调数据包括公开可用的指令数据集,以及超过一百万个新的人类注释示例。预训练和微调数据集都不包括Meta用户数据。
Data Freshness The pretraining data has a cutoff of September 2022, but some tuning data is more recent, up to July 2023.
数据新鲜度 预训练数据的截止日期为2022年9月,但一些调整数据更近,最近的数据为2023年7月。
In this section, we report the results for the Llama 1 and Llama 2 models on standard academic benchmarks.For all the evaluations, we use our internal evaluations library.
在这一部分,我们报告了Llama 1和Llama 2模型在标准学术基准上的结果。对于所有的评估,我们使用我们的内部评估库。
Model | Size | Code | Commonsense Reasoning | World Knowledge | Reading Comprehension | Math | MMLU | BBH | AGI Eval |
---|---|---|---|---|---|---|---|---|---|
Llama 1 | 7B | 14.1 | 60.8 | 46.2 | 58.5 | 6.95 | 35.1 | 30.3 | 23.9 |
Llama 1 | 13B | 18.9 | 66.1 | 52.6 | 62.3 | 10.9 | 46.9 | 37.0 | 33.9 |
Llama 1 | 33B | 26.0 | 70.0 | 58.4 | 67.6 | 21.4 | 57.8 | 39.8 | 41.7 |
Llama 1 | 65B | 30.7 | 70.7 | 60.5 | 68.6 | 30.8 | 63.4 | 43.5 | 47.6 |
Llama 2 | 7B | 16.8 | 63.9 | 48.9 | 61.3 | 14.6 | 45.3 | 32.6 | 29.3 |
Llama 2 | 13B | 24.5 | 66.9 | 55.4 | 65.8 | 28.7 | 54.8 | 39.4 | 39.1 |
Llama 2 | 70B | 37.5 | 71.9 | 63.6 | 69.4 | 35.2 | 68.9 | 51.2 | 54.2 |
Overall performance on grouped academic benchmarks. Code: We report the average pass@1 scores of our models on HumanEval and MBPP. Commonsense Reasoning: We report the average of PIQA, SIQA, HellaSwag, WinoGrande, ARC easy and challenge, OpenBookQA, and CommonsenseQA. We report 7-shot results for CommonSenseQA and 0-shot results for all other benchmarks. World Knowledge: We evaluate the 5-shot performance on NaturalQuestions and TriviaQA and report the average. Reading Comprehension: For reading comprehension, we report the 0-shot average on SQuAD, QuAC, and BoolQ. MATH: We report the average of the GSM8K (8 shot) and MATH (4 shot) benchmarks at top 1.
TruthfulQA | Toxigen | ||
---|---|---|---|
Llama 1 | 7B | 27.42 | 23.00 |
Llama 1 | 13B | 41.74 | 23.08 |
Llama 1 | 33B | 44.19 | 22.57 |
Llama 1 | 65B | 48.71 | 21.77 |
Llama 2 | 7B | 33.29 | 21.25 |
Llama 2 | 13B | 41.86 | 26.10 |
Llama 2 | 70B | 50.18 | 24.60 |
Evaluation of pretrained LLMs on automatic safety benchmarks. For TruthfulQA, we present the percentage of generations that are both truthful and informative (the higher the better). For ToxiGen, we present the percentage of toxic generations (the smaller the better).
TruthfulQA | Toxigen | ||
---|---|---|---|
Llama-2-Chat | 7B | 57.04 | 0.00 |
Llama-2-Chat | 13B | 62.18 | 0.00 |
Llama-2-Chat | 70B | 64.14 | 0.01 |
Evaluation of fine-tuned LLMs on different safety datasets. Same metric definitions as above.
Llama 2 is a new technology that carries risks with use. Testing conducted to date has been in English, and has not covered, nor could it cover all scenarios. For these reasons, as with all LLMs, Llama 2’s potential outputs cannot be predicted in advance, and the model may in some instances produce inaccurate, biased or other objectionable responses to user prompts. Therefore, before deploying any applications of Llama 2, developers should perform safety testing and tuning tailored to their specific applications of the model.
Llama 2是一种新技术,使用时带有风险。到目前为止进行的测试是用英语进行的,并且没有覆盖,也无法覆盖所有的情况。因此,与所有LLMs一样,Llama 2的潜在输出无法预先预测,模型可能在某些情况下对用户提示产生不准确、有偏见或其他令人反感的响应。因此,在部署Llama 2的任何应用之前,开发者应进行针对他们的特定应用的安全测试和调整。
Please see the Responsible Use Guide available at https://ai.meta.com/llama/responsible-use-guide/
请参阅https://ai.meta.com/llama/responsible-use-guide/上的负责任使用指南
Please report any software “bug,” or other problems with the models through one of the following means: