Llama 2 是一个由 Meta 开发的大型语言模型,是 LLaMA 1 的继任者。Llama 2 可通过 AWS、Hugging Face 获取,并可以自由用于研究和商业用途。Llama 2 预训练模型在 2 万亿个标记上进行训练,相比 LLaMA 1 的上下文长度增加了一倍。它的微调模型则在超过 100 万个人工标注数据下完成。
这篇博客包含了所有的相关资源,以帮助您快速入门。
来自 Meta 官方的公告可以在这里找到:Llama 2 - Meta AI
LLaMA 2 是什么?
Meta 发布的 Llama 2,是新的 SOTA 开源大型语言模型(LLM)。Llama 2 代表着 LLaMA 的下一代版本,可商用。Llama 2 有 3 种不同的大小 —— 7B、13B 和 70B 个可训练参数。与原版 LLaMA 相比,新的改进包括:
- 在 2 万亿个标记的文本数据上进行训练
- 允许商业使用
- 默认使用 4096 个前后文本视野
- 70B 模型采用了分组查询注意力(GQA)
- 可以在 Hugging Face Hub 上直接获取
Models - Hugging Face
即刻解锁 Llama2
有几个不同的游乐场供与 Llama 2 来测试:
HuggingChat
在我们推出的 HuggingChat 中使用 Llama 2 70B:
HuggingChat
Hugging Face Space 应用
我们在 Space 应用上提供了三个大小的 Llama 2 模型的体验,分别是:
- 7B Llama 2 7B Chat - a Hugging Face Space by huggingface-projects
- 13B Llama 2 13b Chat - a Hugging Face Space by huggingface-projects
- 70B Explore Llamav2 With TGI - a Hugging Face Space by ysharma
Perplexity
Perplexity 的对话 AI 演示提供 7B 和 13B 的 Llama 2 模型:
https://llama.perplexity.ai/
Llama 2 背后的研究工作
Llama 2 是一个基础大语言模型,它由网络上公开可获取到的数据训练完成。另外 Meta 同时发布了它的 Chat 版本。Chat 模型的第一个版本是 SFT(有监督调优)模型。在这之后,LLaMA-2-chat 逐步地经过人类反馈强化学习(RLHF)来进化。 RLHF 的过程使用了拒绝采样与近端策略优化(PPO)的技术来进一步调优聊天机器人。 Meta 目前仅公布了模型最新的 RLHF (v5) 版本。若你对此过程背后的过程感兴趣则请查看:
- Llama 2: 开源并已微调的聊天模型
[2307.09288] Llama 2: Open Foundation and Fine-Tuned Chat Models - Llama 2: 一个超赞的开源大语言模型 Llama 2: an incredible open LLM - by Nathan Lambert
- Llama 2 的全面拆解 https://www.youtube.com/watch?v=zJBpRn2zTco
Llama 2 的性能有多好,基准测试?
Meta 表示
Llama 2 在众多外部基准测试中都优于其他开源的语言模型,包括推理、编程、熟练程度与知识测验。
关于其性能你可以在这里找到更多信息:
- Hugging Face 开源大语言模型排行榜 Open LLM Leaderboard - a Hugging Face Space by HuggingFaceH4
- Meta 官方公告 Llama 2 - Meta AI
如何为 LLaMA 2 Chat 写提示词 (prompts)
Llama 2 Chat 是一个开源对话模型。想要与 Llama 2 Chat 进行高效地交互则需要你提供合适的提示词,以得到合乎逻辑且有帮助的回复。Meta 并没有选择最简单的提示词结构。
以下是单轮、多轮对话的提示词模板。提示词模板遵循模型训练过程,你可以在这里查看到详细描述:
- Llama 2 论文 https://huggingface.co/papers/2307.09288
- Llama 2 提示词模板 Llama 2 Prompt Template · GPU Utils ⚡️
单轮对话
<s>[INST] <<SYS>>
{{ system_prompt }}
<</SYS>>
{{ user_message }} [/INST]
多轮对话
<s>[INST] <<SYS>>
{{ system_prompt }}
<</SYS>>
{{ user_msg_1 }} [/INST] {{ model_answer_1 }} </s><s>[INST] {{ user_msg_2 }} [/INST] {{ model_answer_2 }} </s><s>[INST] {{ user_msg_3 }} [/INST]
如何训练 LLaMA 2
因 LLaMA 2 为开源模型,使得可以轻易的通过微调技术,比如 PEFT,来训练它。这是一些非日适合于训练你自己版本 LLaMA 2 的学习资源:
- 扩展指引:指令微调 Llama 2 Extended Guide: Instruction-tune Llama 2
- 在 Amazon SageMaker 上微调 Llama 2 (7-70B) Fine-tune LLaMA 2 (7-70B) on Amazon SageMaker
- 使用 PEFT 技术微调 Llama 2 is here - get it on Hugging Face
- Meta 提供的 Llama 模型示例以及方案 GitHub - facebookresearch/llama-recipes: Examples and recipes for Llama 2 model
- 在本地机器上微调 LLAMA-v2 最简单的方法! https://www.youtube.com/watch?v=3fsn19OI_C8
如何部署 Llama 2?
Llama 2 可以在本地环境部署,使用托管服务如 Hugging Face Inference Endpoints 或通过 AWS、Google Cloud、Microsoft Azure 等。
你可以查阅下述资源:
- llama.cpp GitHub - ggerganov/llama.cpp: Port of Facebook's LLaMA model in C/C++
- 使用文本生成接口与推理终端来部署 LLama 2 Llama 2 is here - get it on Hugging Face
- 使用 Amazon SageMaker 部署 LLaMA 2 70B Deploy Llama 2 7B/13B/70B on Amazon SageMaker
- 在你的 M1/M2 Mac 上通过 GPU 接口来本地部署 Llama-2-13B-chat Run Llama-2-13B-chat locally on your M1/M2 Mac with GPU inference. Uses 10GB RAM. UPDATE: see https://twitter.com/simonw/status/1691495807319674880?s=20 · GitHub
英文原文: LLaMA 2 - Every Resource you need
原文作者: Philipp Schmid