Meta Llama Models 实战手册:Llama 2 到 Llama 4 的开源大语言模型,自己跑一遍
【免费下载链接】llama-modelsUtilities intended for use with Llama models.项目地址: https://gitcode.com/GitHub_Trending/ll/llama-models
想在一台 80GB 显卡的机器上跑 17B 的对话模型?先看 Meta Llama Models。这是 Meta 官方的开源大语言模型仓库:Llama 2 到 Llama 4 的权重、推理代码和 CLI 工具都在里面。这篇文章带你串一遍。
它到底是什么
一句话:Meta 官方的 Llama 模型仓库。代码开源,模型权重按可商用的许可发布,在 Meta 官网接受许可后即可下载。PyPI 上的llama-models包自带llama-model命令,管权重列表、下载、校验、删除一条龙。
数据流向很直白,输入、模型、输出三段:
各版本速查(数据来自仓库 README):
| 版本 | 参数量 | 上下文 | 核心特性 |
|---|---|---|---|
| Llama 2 | 7B/13B/70B | 4K | Sentencepiece 分词器 |
| Llama 3 | 8B/70B | 8K | TikToken 系分词器 |
| Llama 3.1 | 8B/70B/405B | 128K | 超长上下文 |
| Llama 3.2-Vision | 11B/90B | 128K | 视觉多模态 |
| Llama 3.3 | 70B | 128K | 通用旗舰 |
| Llama 4 | Scout-17B-16E / Maverick-17B-128E | 10M / 1M | MoE + 原生多模态 |
一个请求怎么走完全程
跟着一句用户输入走,一共五站:
- 分词:文本经 TikToken 系分词器变成 token(Llama 2 是 Sentencepiece);图片先缩放归一化,再由视觉编码器转成图像 token 序列。
- 对话模板格式化:
ChatFormat给每条消息套上<|header_start|>user<|header_end|>这样的角色头,图片在对应位置插入特殊标记。 - Transformer 前向:每层是注意力 + 前馈。Llama 4 的若干前馈层换成了 MoE——路由器给每个 token 打分,只有 top-k 个专家参与计算。开启 FP8/Int4 混合精度时,权重从量化形态读取,激活保持 bf16。
- 采样生成:从输出 logits 里逐个采样 token,循环到停止符或长度上限。
- 后处理:解码成文本;若模型发起工具调用,再把 JSON 解析成结构化结果返回。
MoE 路由是最好玩的部分,核心就几行:
# 每个 token 给全部专家打分,top_k 决定哪些专家上岗 router_scores = torch.matmul(x, self.router_DE) # token × 专家 分数矩阵 _, idx = torch.topk(router_scores, top_k, dim=1) gates = torch.sigmoid(router_scores) # sigmoid 输出门控权重 out = self.shared_expert(x) # 共享专家:每次都跑 out.scatter_add_(0, idx, routed_out) # 路由专家输出按门控加权加回效果是:总参数可以做大,但每个 token 只走少数专家,推理成本远低于同等规模的稠密模型。
🔀 从 Llama 2 到 Llama 4,改了什么
转折点一:GQA(Llama 2)。Llama 2 用分组查询注意力替代了标准多头注意力:多个查询头共享同一组 KV 头。KV cache 大幅缩水,长序列推理和在线服务都更省,改动小收益大。
转折点二:128K 上下文(Llama 3.1)。上下文从 8K 跳到 128K,约 16 倍。整本书、整个代码库可以一次喂进去做分析,不用再切块拼接。代价是位置编码和注意力的计算压力,这正是后来 MoE 和量化要摊薄的成本。
转折点三:MoE + 原生多模态(Llama 4)。前馈层改成专家混合:路由 + 共享专家的组合让"大参数、低激活"成为可能;视觉理解则内建进模型,不再靠外挂编码器。Scout 和 Maverick 分别把上下文推到 10M 和 1M 量级。
3.1 与 4 之间的 Llama 3.2-Vision 是过渡形态:视觉编码器和文本主干靠交叉注意力层融合,下图就是仓库里的架构图。
四行看演进:
| 版本 | 参数量 | 上下文 | 多模态 |
|---|---|---|---|
| Llama 2 | 7B-70B | 4K | 不支持 |
| Llama 3.1 | 8B-405B | 128K | 不支持 |
| Llama 3.2-Vision | 11B / 90B | 128K | 支持(视觉编码器融合) |
| Llama 4 | Scout-17B-16E / Maverick-17B-128E | 10M / 1M | 支持(原生) |
🚀 跑起来要几步
环境要求一行说清:Python 3.10+;Llama 4 全精度(bf16)推理至少要 4 张 GPU,FP8 量化需 2×80GB,Int4 量化 1×80GB 就够。
git clone https://gitcode.com/GitHub_Trending/ll/llama-models cd llama-models pip install llama-models llama-model list llama-model download --source meta --model-id Llama-4-Scout-17B-16E-Instruct pip install .[torch]下载前要先去 Meta 官网接受许可,批准后邮件里会给你一个签名 URL,下载时按提示填入。然后开跑:
NGPUS=4 torchrun --nproc_per_node=$NGPUS -m models.llama4.scripts.chat_completion \ ~/.llama/checkpoints/Llama-4-Scout-17B-16E-Instruct --world_size $NGPUS两个最常见的坑:签名链接报403 Forbidden,说明 URL 过期(有效期约 24 小时),重新申请一条即可;手里 GPU 不足 4 张,就加--quantization-mode int4_mixed,单张 80GB 卡能跑 Scout。
适合谁、适合做什么
三个典型用法:
- 客服 / 对话机器人:选 Instruct 模型,在仓库自带的
chat_completion脚本上改改就能出多轮对话服务。 - 长文档分析:合同、论文、整库代码,128K 或 1M 上下文直接整份喂进去。
- 边缘 / 显存受限部署:1B/3B 小模型加 Int4 量化,低配机器也能跑。
| 场景 | 推荐模型规模 | 关键配置点 |
|---|---|---|
| 客服对话机器人 | 8B~17B Instruct | FP8/Int4 压进单卡 |
| 长文档分析 | 3.1/3.3(128K)或 Llama 4 | 控制批大小,盯 KV cache |
| 边缘轻量部署 | Llama 3.2 1B/3B | Int4 量化,单 GPU |
从权重、CLI 到推理脚本,开源大语言模型的全链路就在一个仓库里。做 Llama 系应用,这是你该先 clone 的那一个。
【免费下载链接】llama-modelsUtilities intended for use with Llama models.项目地址: https://gitcode.com/GitHub_Trending/ll/llama-models
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考