Llama-2-Onnx
Llama-2-Onnx 是微软推出的 Llama 2 大语言模型优化版本,旨在通过 ONNX(开放神经网络交换)格式提升模型在本地设备上的运行效率。它解决了原始大模型部署困难、推理速度慢以及对硬件资源要求过高的问题,让开发者能够更轻松地将强大的生成式 AI 集成到各类应用中。
该项目主要面向开发者和研究人员,提供了从 70 亿到 130 亿参数的多种精度版本(如 Float16/Float32),既包含预训练模型也包含针对对话场景微调的版本。其核心技术亮点在于采用了分组查询注意力机制(GQA)来优化架构,并利用 ONNX 运行时进行加速,显著降低了内存占用并提升了推理性能。
为了方便上手,Llama-2-Onnx 不仅提供了最小化的命令行示例用于文本续写,还附带了基于 Gradio 的完整聊天机器人界面代码,用户只需简单配置即可体验流畅的对话交互。无论是希望探索大模型底层原理的研究者,还是致力于构建高效本地 AI 应用的工程师,都能从中获得便捷的开发支持。需要注意的是,使用前需遵循 Meta 的社区许可协议并完成相应的访问权限申请。
使用场景
某初创团队希望在本地部署一个低延迟的中文客服对话机器人,以保护用户隐私并降低云端 API 调用成本。
没有 Llama-2-Onnx 时
- 推理速度缓慢:直接运行原始 PyTorch 版本的 Llama 2 模型,在消费级显卡上生成回复的延迟高达数秒,无法满足实时对话需求。
- 资源占用过高:未优化的模型显存占用巨大,导致团队无法在边缘设备或低成本服务器上同时运行多个实例。
- 部署环境复杂:需要配置庞大的深度学习框架依赖(如完整的 PyTorch 环境),在不同操作系统间迁移时经常遇到兼容性问题。
- 缺乏端到端优化:原始模型未针对特定硬件指令集进行加速,计算效率低下,电池供电设备难以长时间维持服务。
使用 Llama-2-Onnx 后
- 推理性能显著提升:借助 ONNX 运行时的高效执行引擎,文本生成延迟降低至毫秒级,实现了流畅的即时对话体验。
- 内存效率大幅优化:通过量化版本(如 float16)和图优化技术,模型体积缩小且显存占用减半,轻松在单张中端显卡上并发处理多路请求。
- 跨平台部署简便:仅需轻量级的 ONNX Runtime 即可运行,摆脱了对重型训练框架的依赖,可快速移植到 Windows、Linux 甚至移动端。
- 硬件适配性更强:利用 Llama 2 特有的分组查询注意力(GQA)机制与 ONNX 的深度结合,最大化利用了 CPU 和 GPU 的计算算力。
Llama-2-Onnx 通过将大模型转化为高效的标准格式,让高性能本地化 AI 应用从“实验室原型”真正变成了“可落地的产品”。
运行环境要求
- 未说明
- 非绝对必需,但建议使用支持原生 FP16 计算的 GPU 以获得最佳性能
- 若设备不支持原生 FP16,FP16 模型将自动转换为 FP32 运行(会导致额外开销)
- 具体显存需求取决于模型大小(7B Float16 模型文件约 10GB),未明确指定最低显存大小或 CUDA 版本
未说明(注:7B Float16 模型文件本身约 10GB,实际运行所需内存通常需大于模型文件大小)

快速开始
由 ONNX 提供支持的 Llama 2
这是一个经过优化的 Llama 2 模型版本,由 Meta 根据本仓库中的 Llama 社区许可协议提供。微软允许您使用、修改、重新分发并基于微软对优化版本的贡献创建衍生作品,但须遵守 Llama 社区许可协议中关于限制、保证免责及责任免除的相关条款。
开始之前
本仓库中包含 ONNX 文件的子模块受到访问控制。 如需获取 Llama 2 模型的访问权限,请填写 Llama 2 ONNX 注册页面。若申请获批,您将在接下来的 48 小时内获得 GitHub 访问权限,通常会更快。
克隆本仓库及子模块
在开始之前,请确保已安装 Git LFS。Git LFS(大文件存储)用于高效处理大型文件。您可以在 https://git-lfs.com/ 找到适用于您操作系统的 Git LFS 安装方法。
接下来,您可以选择要使用的 Llama 2 模型版本,只需检出相应的子模块即可。 可供选择的子模块如下:
- 7B_FT_float16
- 7B_FT_float32
- 7B_float16
- 7B_float32
- 13B_FT_float16
- 13B_FT_float32
- 13B_float16
- 13B_float32
git clone https://github.com/microsoft/Llama-2-Onnx.git
cd Llama-2-Onnx
git submodule init <chosen_submodule>
git submodule update
您可以通过指定不同的子模块名称来初始化多个子模块。请注意,这些文件体积非常大!(7B Float16 模型约为 10GB)
什么是 Llama 2?
Llama 2 是一系列预训练和微调过的生成式文本模型。如需了解更多关于 Llama 2 的信息,请参阅 Llama 2 模型卡片。
Llama 2 的结构是怎样的?
Llama 2 模型由多层解码器堆叠而成。每个解码器层(或 Transformer 块)由一个自注意力层和一个前馈多层感知机组成。与经典 Transformer 相比,Llama 模型在前馈层中使用了不同的投影尺寸;例如,Llama 1 和 Llama 2 的投影尺寸均为隐藏层大小的 2.7 倍,而非标准的 4 倍。Llama 1 和 Llama 2 之间的一个关键区别在于注意力层的架构变化:Llama 2 采用了分组查询注意力(GQA)机制,以提升效率。

常见问题解答
是否有使用 ONNX 运行 Llama 2 的简单代码示例?
本仓库提供了两个示例。最小可运行示例位于 Llama-2-Onnx/MinimumExample。这是一个简单的命令行程序,可利用所选版本的 Llama 2 完成一段文本。
输入如下:
python MinimumExample/Example_ONNX_LlamaV2.py --onnx_file 7B_FT_float16/ONNX/LlamaV2_7B_FT_float16.onnx --embedding_file 7B_FT_float16/embeddings.pth --tokenizer_path tokenizer.model --prompt "What is the lightest element?"
输出:
The lightest element is hydrogen. Hydrogen is the lightest element on the periodic table, with an atomic mass of 1.00794 u (unified atomic mass units).
是否有更完整的使用 ONNX 运行 Llama 2 的代码示例?
更完整的聊天机器人界面可在 Llama-2-Onnx/ChatApp 中找到。这是一个基于流行 Gradio Web 界面的 Python 程序,允许您通过聊天机器人界面与所选版本的 Llama 2 互动。
示例如下:

如何使用微调后的模型?
微调后的模型专为对话应用而训练。
为了获得预期的功能和性能,需要遵循特定的格式要求,包括 INST 标签、BOS 和 EOS 标记,以及中间的空格和换行符(建议对输入调用 strip() 方法以避免出现双空格)。这不仅使模型能够以聊天模式运行,还能提供额外的安全保障,以减少潜在的不良输出。
为什么首次推理会很慢?
ONNX Runtime 的执行提供者可能需要为底层硬件生成 JIT 二进制文件。通常情况下,这些二进制文件会被缓存,并在后续运行中直接加载,从而减少开销。
为什么在我的设备上,FP16 版本的 ONNX 比 FP32 版本慢?
这可能是由于您的设备不支持原生 FP16 运算,因此权重会在运行时被转换为 FP32。使用 FP32 版本的模型可以避免这种转换带来的额外开销。
如何提高推理速度?
建议将输入和输出数据放置在目标设备上,以避免昂贵的数据拷贝操作。有关详细信息,请参阅以下文档:
应该测试哪些参数?
用户可以使用模型的输出 logits 进行温度采样和 top-p 采样。请参考 Meta 提供的指导,以确定最佳参数组合;示例可在此处找到:这里。
如何负责任地开发 Llama 2 应用?
为帮助开发者以负责任的方式进行创新,Meta 鼓励您查阅 Llama 2 模型的 负责任使用指南。 微软则鼓励您了解其 负责任的人工智能方法,其中包括许多面向开发者的公开资源和工具。
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备
Deep-Live-Cam
Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具,用户仅需一张静态照片,即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点,让高质量的数字内容创作变得触手可及。 这款工具不仅适合开发者和技术研究人员探索算法边界,更因其极简的操作逻辑(仅需三步:选脸、选摄像头、启动),广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换,还是制作趣味短视频和直播互动,Deep-Live-Cam 都能提供流畅的支持。 其核心技术亮点在于强大的实时处理能力,支持口型遮罩(Mouth Mask)以保留使用者原始的嘴部动作,确保表情自然精准;同时具备“人脸映射”功能,可同时对画面中的多个主体应用不同面孔。此外,项目内置了严格的内容安全过滤机制,自动拦截涉及裸露、暴力等不当素材,并倡导用户在获得授权及明确标注的前提下合规使用,体现了技术发展与伦理责任的平衡。