Meta 最近放出了 Llama 3,这次的开源大模型提供了两个版本:8B 和 70B。还有一个参数量超过 400B 的版本还在训练,暂时没公布。
相比 Llama 2 强在哪儿
训练数据量涨到了 15T tokens,是 Llama 2 的 7 倍;其中代码部分更是前代的 4 倍。这直接拉高了模型在推理、数学、代码生成和指令跟随上的表现。
架构上也动了几刀:
- 分组查询注意力(GQA):减少 KV Cache 占用,推理更快,效果却没打折扣。
- 掩码机制优化了长文本的注意力计算,长文理解有提升。
- 词汇表扩到 128K token,编码效率更高,多语言和复杂代码处理起来更灵活。
官方 benchmark 显示,同参数量下 Llama 3 比 Llama 2 强一截。后训练阶段里,拒答率降了,回复一致性更好,多样性也上去了。推理连贯性、代码生成质量和指令跟随精度这几个点尤其明显。
跑起来需要什么环境
软件侧:Python 3.10 以上,PyTorch 2.0 以上(兼容 1.12),CUDA 11.4 以上,transformers 库要 ≥ 4.40.0。
硬件侧:8B 模型用 FP16 量化,8GB 显存就够,想流畅点最好 16GB。70B 就吃多了,全精度推理起码双卡 A100 (80GB),要么上 INT4/INT8 量化,单卡 48GB 级别能跑。
两种推理路子
用 Transformers 直接跑
下面这段以 8B 指令版为例:
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
device = "cuda"
model_name = "meta-llama/Meta-Llama-3-8B-Instruct"
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype=torch.bfloat16,
device_map="auto",
trust_remote_code=True
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
prompt = "Give me a short introduction to large language model."
messages = [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(device)
generated_ids = model.generate(
model_inputs.input_ids,
max_new_tokens=512,
do_sample=True,
temperature=0.7
)
generated_ids = [
output_ids[len(input_ids):] input_ids, output_ids (model_inputs.input_ids, generated_ids)
]
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=)[]
(response)


