MetaLlama 大模型系列详解
LLaMA 大模型介绍
LLaMA (Large Language Model Meta AI) 是由 Meta 开发的基础语言模型集合。该系列模型参数范围从 7B 到 65B,旨在展示仅使用公开可用的数据集即可训练出最先进的模型,无需依赖专有或无法访问的数据集。
在多项基准测试中,LLaMA-13B 的表现优于 GPT-3 (175B),证明了小参数模型在特定优化下的高效性。这一发现推动了开源社区对高效预训练模型的探索。
LLaMA 2 大模型介绍
Meta 随后发布并开放了 LLaMA 2,这是一组经过预训练和微调的大型语言模型 (LLM),参数规模从 70 亿到 700 亿不等。其中,经过微调的大语言模型(称为 Llama 2-Chat)针对对话用例进行了专门优化。
根据官方评估,我们的模型在大多数基准测试上都优于现有的开源聊天模型,并且在有用性和安全性的人工评估中,被认为是闭源模型的合适替代品。这标志着开源大模型在商业可用性上的重要进展。
Code Llama 模型
Code Llama 是基于 Llama 2 的大型代码语言模型系列,专为编程任务设计。它在开放模型、代码填充功能、对大输入上下文的支持以及编程任务的零样本指令跟踪能力方面提供了先进的性能。
主要变体
我们提供多种风格来覆盖广泛的应用程序:
- 基础模型 (Code Llama): 适用于通用代码生成和理解。
- Python 专业化 (Code Llama - Python): 针对 Python 生态进行了深度优化。
- 指令跟随模型 (Code Llama - Instruct): 遵循自然语言指令进行代码编写。
每个模型都有 7B、13B 和 34B 参数版本。所有模型均在 16k 个标记序列上进行训练,并在最多 100k 个标记的输入上显示出改进。7B 和 13B Code Llama 及指令变体支持基于周围内容的填充(Infilling)。
Code Llama 是通过使用更高的代码采样率对 Llama 2 进行微调而开发的。与 Llama 2 一样,我们对模型的微调版本应用了大量的安全缓解措施,以防止生成恶意代码或有害内容。有关模型训练、架构和参数的详细信息,请参阅官方研究论文。
注意:Llama 材料(包括 Code Llama)的代码生成功能生成的输出可能受第三方许可的约束,包括但不限于开源许可。在使用前请确认目标项目的许可证兼容性。
申请与获取模型
目前,Meta 通过 Hugging Face 平台提供模型的下载权限。用户需要填写申请表单,说明使用目的。申请通过后,如果使用的邮箱与 Hugging Face 账号一致,系统会自动提示已授权,从而允许下载模型权重文件。
使用方式概览
使用 LLaMA 模型主要有以下几种途径:
- 使用官方 API: 部分云服务提供商提供托管的 LLaMA API。
- 使用第三方封装库: 如
llama.cpp-python、ollama等。 - 使用 LangChain: 构建复杂的应用流程。
- 使用 Hugging Face Transformers: 标准的 PyTorch 集成方式。
原生 PyTorch 运行
对于拥有高性能 GPU 环境的用户,可以使用 PyTorch 原生运行。
torchrun --nproc_per_node 1 example_text_completion.py \
--model_path ./models/llama-2-7b \
--prompt "Hello, world!"
NCCL 错误处理
在 Windows 和 Mac 上基本无法直接运行 torchrun,因为 PyTorch 的分布式包默认依赖 NCCL (NVIDIA Collective Communications Library),而 NCCL 仅支持 Linux 和 CUDA 环境。
如果遇到以下错误:


