Skip to content

Llama 系列

Llama 是 Meta 的开源大模型系列,单枪匹马推动了开源 LLM 生态的爆发

版本时间最大参数关键创新
Llama 12023.0265B证明小模型+多数据 > 大模型
Llama 22023.0770BGQA、4K 上下文、商用许可
Llama 32024.0470B15T tokens 训练、128K 词表
Llama 3.12024.07405B开源首次对标 GPT-4
Llama 42025-多模态、MoE 架构
# Llama 的核心架构特点
# 1. Pre-Norm — 训练更稳定
# 2. RoPE 位置编码 — 可外推到更长序列
# 3. SwiGLU 激活 — 比 ReLU/GELU 性能更好
# 4. GQA (Grouped Query Attention) — 节省 KV Cache
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model = AutoModelForCausalLM.from_pretrained(
"meta-llama/Llama-3.2-3B-Instruct",
torch_dtype=torch.bfloat16,
device_map="auto",
)
tokenizer = AutoTokenizer.from_pretrained("meta-llama/Llama-3.2-3B-Instruct")
messages = [
{"role": "system", "content": "你是一个 AI 助手。"},
{"role": "user", "content": "解释什么是 Transformer"},
]
inputs = tokenizer.apply_chat_template(messages, return_tensors="pt").to("cuda")
outputs = model.generate(inputs, max_new_tokens=200, temperature=0.7)
print(tokenizer.decode(outputs[0]))

Llama 使用 SwiGLU 替代传统 FFN:

SwiGLU(x)=(xW1SiLU(xW2))W3\text{SwiGLU}(x) = (xW_1 \odot \text{SiLU}(xW_2))W_3

其中 SiLU(x)=xσ(x)\text{SiLU}(x) = x \cdot \sigma(x)

变体K、V 头数显存性能
MHA等于 Q 头数最大最好
GQA少于 Q 头数中等接近 MHA
MQA1最小略有下降

Llama 3 使用 8 个 KV 头配 32 个 Q 头,平衡了效率和性能。

  1. 开源:任何人都能下载、微调、部署
  2. 商用许可:Llama 2 起允许商用
  3. 衍生生态:Alpaca、Vicuna、Llama-2-Chinese 等数千个微调版本
  4. 本地部署:通过量化可在消费级 GPU 运行