Llama-2-13b-ms
来自Meta开发并公开发布的,LLaMa 2系列的大型语言模型(LLMs)。该系列模型提供了多种参数大小——7B、13B和70B等——以及预训练和微调的变体。本模型为13B规模的预训练版本,并适配到ModelScope生态,可以通过ModelScope library加载。
  • 模型资讯
  • 模型资料

Llama 2

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 pretrained model.

来自Meta开发并公开发布的,LLaMa 2系列的大型语言模型(LLMs),其规模从70亿到700亿参数不等。该系列模型提供了多种参数大小——7B、13B和70B等——以及预训练和微调的变体。本模型为13B规模的预训练版本,并适配到ModelScope生态,可以通过ModelScope library加载。

Model Details

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.

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.

注意:使用此模型受Meta许可证的约束。为了下载模型权重和分词器,请访问网站并在此处请求访问前接受我们的许可证。

Meta开发并公开发布了Llama 2系列的大型语言模型(LLMs),这是一系列预训练和微调的生成文本模型,规模从70亿到700亿参数不等。我们微调的LLMs,称为Llama-2-Chat,专为对话用例进行优化。在我们测试的大多数基准测试中,Llama-2-Chat模型的表现优于开源聊天模型,并且在我们对帮助性和安全性的人类评估中,与一些流行的闭源模型如ChatGPT和PaLM相当。

模型开发者 Meta

变体 Llama 2有多种参数大小——7B、13B和70B——以及预训练和微调的变体。

输入 模型只接受文本输入。

输出 模型只生成文本。

模型架构 Llama 2是一种自回归语言模型,使用优化的变压器架构。调整版本使用监督微调(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/

示例代码

推理代码

import torch
from modelscope import Model, AutoTokenizer


model = Model.from_pretrained("modelscope/Llama-2-13b-ms", revision='v1.0.2', device_map='auto', torch_dtype=torch.float16)
tokenizer = AutoTokenizer.from_pretrained("modelscope/Llama-2-7b-ms", revision='v1.0.2')

prompt = "Hey, are you conscious? Can you talk to me?"
inputs = tokenizer(prompt, return_tensors="pt")

# Generate
generate_ids = model.generate(inputs.input_ids.to(model.device), max_length=30)
print(tokenizer.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0])

SFT

代码链接: https://github.com/modelscope/swift/tree/main/examples/pytorch/llm

  1. 支持的sft方法: lora, qlora, 全参数微调, …
  2. 支持的模型: llama2-7b, llama2-13b, llama2-70b, …
  3. 支持的特性: 模型量化, DDP, 模型并行(device_map), gradient checkpoint, 梯度累加, 支持推送modelscope hub, 支持自定义数据集, 兼容notebook, …

使用qlora sft llama2-13b的脚本 (需要11G显存)

git clone https://github.com/modelscope/swift.git
cd swift/examples/pytorch/llm

CUDA_VISIBLE_DEVICES=0 \
python llm_sft.py \
    --model_type llama2-13b \
    --sft_type lora \
    --output_dir runs \
    --dataset alpaca-en,alpaca-zh \
    --dataset_sample 20000 \
    --max_length 1024 \
    --quantization_bit 4 \
    --lora_rank 8 \
    --lora_alpha 32 \
    --lora_dropout_p 0.1 \
    --batch_size 1 \
    --learning_rate 1e-4 \
    --gradient_accumulation_steps 16 \
    --eval_steps 50 \
    --save_steps 50 \
    --save_total_limit 2 \
    --logging_steps 10 \

Intended Use

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和<>标签,BOS和EOS令牌,以及其中的空格和换行(我们建议在输入上调用strip()以避免双空格)。详细信息请参见我们在github上的参考代码:chat_completion。

超出范围的用途 以任何违反适用法律或法规(包括贸易合规法)的方式使用。使用英语以外的语言。以任何其他方式使用,这被Llama 2的可接受使用政策和许可协议所禁止。

Hardware and Software

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的可持续性计划抵消,因为我们公开发布这些模型,所以不需要其他人承担预训练的成本。

Training Data

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月。

Evaluation Results

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.

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.

Ethical Considerations and Limitations

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.

Please see the Responsible Use Guide available at https://ai.meta.com/llama/responsible-use-guide/

Reporting Issues

Please report any software “bug,” or other problems with the models through one of the following means: