Meta Llama Models:Llama 4 单卡量化推理与选型指南

发布时间:2026/9/20 4:31:33
Meta Llama Models:Llama 4 单卡量化推理与选型指南 Meta Llama ModelsLlama 4 单卡量化推理与选型指南【免费下载链接】llama-modelsUtilities intended for use with Llama models.项目地址: https://gitcode.com/GitHub_Trending/ll/llama-models显存只有 1 张 80GB却要跑 Llama-4-Scout-17BMeta 官方参考仓库llama-models从 checkpoint 到输出 token 的完整推理实现让你不依赖第三方框架跑通官方模型。80GB 显存部署 Llama 4 的参考实现项目全景llama-models 解决什么问题拿到.pth权重后从格式化成 prompt、tokenize、进模型、采样到流式吐字一条链路全在仓库内闭环llama-model命令负责权重的 list/download/verify。核心组成llama-modelCLI 管权重与校验llama_models/llama4/generation.py 做批量推理与采样quantize_impls.py实现 FP8/Int4 混精chat_format.py套官方 prompt 模板checkpoint.py负责按 GPU 数重切分权重。与同类最大的差异它是官方参考实现而非推理引擎——官方 benchmark 即由此代码跑出prompt 格式、分词、量化行为与 Meta 评测完全一致。数据流从量化加载到 top-p 采样的 5 个环节一条 chat 请求的完整路径ChatFormat把对话编码成 token若含图片占位符|patch|位置在首步被视觉编码器输出替换token 经并行嵌入进入 N 层 TransformerKV 缓存只追加不重算注意力按层在 RoPE/NoPE 间切换iRoPE 设计logits 经温度缩放做 top-p 采样每步yield一个 token天然流式。采样环节做了什么裁剪概率质量到 p 再重归一化抽样并判断 stop token。为什么nucleus 采样控制生成多样性stop 位掩码保证不覆盖 prompt。# llama_models/llama4/generation.py if temperature 0: probs torch.softmax(logits[:, -1] / temperature, dim-1) # 温度缩放 next_token sample_top_p(probs, top_p) # nucleus 采样 else: next_token torch.argmax(logits[:, -1], dim-1) ... eos_reached | (~input_text_mask[:, cur_pos]) (torch.isin(next_token, stop_tokens))量化环节做了什么BF16 权重在模型构建时加载随后被原地替换为 FBGEMM 的 FP8 行级或 Int4 分组128 一组权重。为什么激活保持 BF16 计算权重减半到四分之精度损失换显存。# llama_models/quantize_impls.py def bmm_nt(x, w, num_tokensNone): if isinstance(w, Fp8ScaledWeights): xq, x_scale torch.ops.fbgemm.quantize_fp8_per_row(x, num_tokens, w.activation_scale_ub) return torch.ops.fbgemm.f8f8bf16_rowwise_batched(xq, w.weight, x_scale, w.scale) elif isinstance(w, Int4ScaledWeights): return torch.ops.fbgemm.bf16i4bf16_rowwise_batched(x, w.weight, w.scale, torch.zeros_like(w.scale))三条推理路径差异以 Scout-17B-16E 为准README 实测配置路径权重精度最低配置特点纯 BF16bf164×80GB精度基准fp8_mixedFP8 行级2×80GB激活保持 BF16int4_mixedInt4 分组1×80GBgroup_size128视觉输入bf164×80GB\|patch\|占位换图像嵌入Llama 2 到 Llama 4 演进能力矩阵与 2 个转折点能力233.13.2-V4上下文4K8K128K128K1M/10MMoE❌❌❌❌✅16E/128E图像理解❌❌❌✅✅原生FP8/Int4 推理❌✅✅✅✅iRoPE/NoPE 层❌❌❌❌✅转折点在 2024-093.2-Vision 把视觉编码器内置进官方参考实现而不是外挂2025-04Llama 4 用 MoE 加 iRoPE 把上下文从 128K 推到 10M同时把单专家压到 17B 让量化部署可行。下图是仓库自带的视觉示例两张图输入模型输出融合两图内容的俳句。最少 GPU 数量跑通 Llama 4 的最短路径环境要求项要求Python3.10GPUNVIDIAint4 单张 80GBbf16 需 4×80GB存储≥120GBScout 权重依赖torch fbgemm-gpu-genai量化必装# 1. 克隆并装 torch 依赖含 fairscale/fbgemm git clone https://gitcode.com/GitHub_Trending/ll/llama-models cd llama-models pip install .[torch] # 2. 在官方站点接受协议后用 CLI 下载权重 llama-model list --show-all # 查看模型 ID llama-model download --source meta --model-id Llama-4-Scout-17B-16E-Instruct # 3. 四卡 int4 混合精度跑 chat 示例 NGPUS4 PYTHONPATH$(git rev-parse --show-toplevel) torchrun --nproc_per_node$NGPUS \ -m models.llama4.scripts.chat_completion ~/.llama/checkpoints/Llama-4-Scout-17B-16E-Instruct \ --world_size $NGPUS --quantization-mode int4_mixed看到 Loaded in X seconds 后模型流式打印示例回答即成功。现象原因解法下载报 403 Forbidden签名链接 24 小时过期重新申请新链接量化模式报错fbgemm-gpu-genai 未装或架构不支持改跑 bf16 或换 CUDA 环境vocab_size 断言失败权重目录不完整llama-model verify-download校验后重下llama-models vs Transformers vs vLLM 开源选型对比维度llama-modelsHugging Face TransformersvLLM模型覆盖Llama 2/3 全系Llama 2/3 全系社区以 Llama 为主量化FP8/Int4 原生需 bitsandbytes 等外挂内建多档上下文官方上限10M受社区实现限制视版本服务框架无纯推理脚本无内建高并发引擎行为一致性与官方评测一致prompt 需手动对齐采样/模板可能漂移如果你要复现官方 benchmark 或核对量化行为选 llama-models如果你要在 5 分钟内跑通验证想法选 Transformers如果你要上生产扛并发选 vLLMllama-models 只用来当正确性基准。边界与下一步llama-models 目前不做什么不擅长三点仓库只有推理没有任何训练与微调代码Llama 4 全精度推理硬性要求 4×80GB小显存只能走量化FP8/Int4 依赖 fbgemm-gpu-genai非 NVIDIA 平台基本跑不了量化路径。维护状态包版本 0.2.0Llama 4 于 2025-04-05 上架后仓库仍在滚动合入量化加载与 iRoPE 相关代码。按 models/llama4/USE_POLICY.md 的更新节奏与量化方案Int4 已落地、FP8 已可用推断下一步大概率是更小的 group_size 量化与更多 3.2 视觉能力回填而非训练侧。【免费下载链接】llama-modelsUtilities intended for use with Llama models.项目地址: https://gitcode.com/GitHub_Trending/ll/llama-models创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考