一文读懂Llama2的架构和推理过程 📅 发布时间:2026/7/5 9:18:18 👁️ 浏览次数: 01 Llama 2简介为了更深入了解Llama 2我们从Meta官网探寻了一些基本信息· Llama 2作为Llama的下一代版本推出了三种尺寸供选择7B、13B和70B。其中7B和13B沿用了Llama 1的经典架构而70B模型则采用了创新的分组查询注意力GQA架构。·在****预训练数据方面Llama 2的表现颇为出色。相较于Llama 1Llama 2的预训练语料增加了40%这使得模型能够在更丰富的语境中学习。更令人惊艳的是预训练模型在2万亿个标记上进行了训练且上下文长度是Llama 1的两倍。而经过微调的模型也在超过100万条人工标注的数据上进行了精进训练。进一步观察了Llama 2模型的评估性能发现它在许多外部基准测试中都优于其他开源语言模型。这些测试涵盖了推理、编码、熟练度和知识等多个方面。优化后的Llama 2展现出的卓越表现让人对其架构产生了浓厚兴趣。下面我们将深入探索Llama 2模型的架构以揭示其强大的能力背后的秘密。02 Llama 2模型的整体结构在深入探讨Llama 2的架构之前我们先来对比一下传统的Transformer架构和Llama 2的架构以便更好地理解其创新之处。与传统的Transformer架构相比Llama 2架构具有以下独特的特点1、取消Encoder仅保留Decoder这一设计使得模型结构更为简洁专注于生成和解码任务。2、采用RMSNorm并将Norm前置这种归一化方式有助于提高模型的训练稳定性和收敛速度。3、在Q和K上使用RoPE旋转式位置编码这种位置编码方式能够更好地捕捉序列中的位置信息提高模型的表达能力。4、使用causal mask确保每个位置只能看到前面的tokens这保证了模型在生成文本时每个位置只依赖于前面的tokens符合语言生成的因果性。5、更早地将K、V拼接到当前K、V前面这使得模型能够利用更多的上下文信息提高文本生成的一致性和连贯性。6、Llama 2使用了Group query attention来节省cache这一优化减少了模型的计算量和内存占用提高了模型的效率。下面我们详细解释下Llama 2架构中各部分功能2.1TokenizerLlama 2架构中的Tokenizer组件负责将输入的文本语句进行分词和编码。分词是指将连续的文本拆分成一个个独立的词汇单元而编码则是将这些词汇单元转换为模型能够处理的整数表示。Llama 2使用了专门的分词表tokenizer.json来定义词汇与整数之间的映射关系。具体来说当我们输入一串语句给Llama 2模型进行推理时Tokenizer首先会根据分词表将语句中的词拆分成对应的整数序列。这些整数序列将作为模型的输入经过模型的计算后输出的也是整数序列。推理结束后需要再次使用分词表将这些输出整数转换回原始的词汇形成最终的推理结果句子。举个例子来说当我们输入语句“南京市长江大桥”Tokenizer会将其分词为“南京市”、“长江”和“大桥”并将这些词汇转换为对应的整数。模型经过计算后输出的也是一组整数。推理结束后再次使用分词表将这些整数转换回词汇得到最终的推理句子。这样我们就能够理解Llama 2如何处理输入文本以及如何将模型的输出转换回可读的句子形式。2.2Token EmbeddingToken Embedding负责将输入的整数序列转换为高维的特征向量表示。在完成分词和编码后每个词汇都被表示为一个整数。然而模型需要将这些整数转换为更具表达能力的向量形式以便能够捕获词汇之间的语义关系和特征信息Token Embedding通过查找一个预定义的嵌入表Embedding table来实现这一转换过程。该嵌入表将每个整数映射到一个高维dim维的特征向量。这样每个输入的词汇都被映射到一个稠密的向量空间中这个向量空间能够更好地捕捉词汇的语义信息和上下文关系。通过Token EmbeddingLlama 2能够将输入的整数序列转换为模型可以处理的向量表示从而为后续的计算提供了更加丰富和表达能力的输入特征。2.3RMSNorm在完成Token Embedding之后RMSNorm组件负责对输入的向量数据进行归一化处理。归一化是一种常见的数据预处理技术它可以将输入的向量数据进行缩放使其期望值为0标准差为1。这样做有助于加快模型的收敛速度提高模型的性能。RMSNorm是一种特定的归一化方法它采用了均方根Root Mean Square的方式来计算缩放因子。通过对输入向量进行RMSNorm处理可以使得不同尺度的特征具有相同的权重从而提高了模型的稳定性和泛化能力。经过RMSNorm处理后的向量X具有相同的尺度和分布这有助于模型在训练过程中更快地收敛同时提高了模型的性能表现。Norm处理过程可以简化视为RMSNorm对应的计算公式为2.4Self-attention2.4.1 计算Query、Key和Value矩阵首先通过线性变换将输入的向量转换为Query、Key和Value矩阵。这些矩阵分别代表了查询、键和值的信息用于计算注意力权重。计算公式如下其中WQ、WK和WV是可学习的权重矩阵用于将输入向量映射到相应的查询、键和值空间。2.4.2对Q、K向量进行RoPE (旋转式位置编码)在进行自注意计算之前Llama 2会对Query和Key矩阵应用旋转式位置编码RoPE。这种位置编码方式能够更好地捕捉序列中的位置信息提高模型的表达能力。RoPE的原理图如下RoPE计算过程为2.4.3 进行Softmax(Q,K)以及计算自我注意层的输出在进行Softmax(Q,K)以及计算自我注意层输出之前需要先对经过RoPE运算的Q、K向量进行矩阵运算。具体地这个矩阵运算是将Query矩阵和Key矩阵进行点积得到注意力得分。注意力得分衡量了每个位置对当前位置的重要性。然后对这些注意力得分进行Softmax运算将它们转换成注意力权重。Softmax函数确保了这些权重的总和为1且每个权重值都在0到1之间。再将计算得到的注意力权重与Value矩阵进行矩阵运算即将注意力权重应用于Value矩阵。这样每个位置都会根据注意力权重聚合相关的值向量形成自我注意层的输出。对应的结构为Llama 2使用了Group Query Attention整个自注意力输出的计算过程可以归纳为2.5FFN与FinalRMSN在自注意计算输出后Llama 2会将其与输入进行残差连接然后进行FFN前馈神经网络计算输出y。这个计算过程是为了进一步捕获非线性特征并增强模型的表达能力。在Llama 2中FFN由两个线性层和一个激活函数组成。首先输入向量会经过一个线性变换然后经过激活函数如SiLU最后再进行另一个线性变换得到输出向量y。具体计算过程为然后将y进行Final RMSNorm归一化处理会输出一个概率数组logitslogits里面每个元素代表了出现对应token的概率然后可以根据策略选择某一个token作为输出。03 写在最后我们以输入“南京市长江大桥”为例通过上述各个步骤的协同作用整个Llama 2的推理过程可以归纳为下图*本文部分图片来源于网络如有侵权请联系删除
Lenny‘s Podcast:你的产品为什么突然不增长了?这套5步诊断框架帮你找到病根 横版:竖版:每个创业者都经历过这种焦虑:用户增长曲线开始变平,试了各种方法却收效甚微。到底是哪里出了问题?今天分享的这期播客,来自连续4次创业、打造过2家独角兽公司的 Jason Cohen。他提出了一个扎心但… 2026/7/3 11:27:08
CMake基础: 全局变量CMAKE_POSITION_INDEPENDENT_CODE 目录 1.简介 2.CMake 配置方式 3.注意事项 4.与 BUILD_SHARED_LIBS 的关系 1.简介 这是 CMake 全局变量,用来统一控制是否默认生成 位置无关代码(-fPIC)。这是构建共享库 (Shared Libraries, .so/.dll) 的必要条件。 核心作用:… 2026/5/17 8:28:36
在B站学AI绘图笔记 在B站学AI绘图笔记 防止图像失真 AI绘图基本操作 文件格式 图形工具 对齐工具 参考线 绘图模式 选择工具 形状工具 矩形工具 防止图像失真 在PS中可以转化成智能对象。 在AI中图像方法缩小不会失真,是矢量图,非像素形式。 AI绘图基本操作 操作界面,菜单栏、选项栏、工具… 2026/5/17 8:28:34
MATLAB版随机森林回归全流程工具:训练、调参、预测、评估一键运行 本文还有配套的精品资源,点击获取 简介:直接在MATLAB里跑通随机森林回归的完整工作流——从数据导入、模型训练、超参数自动搜索(树数量、最大深度、最小分割样本数等),到预测输出、特征重要性排序、均方误差等回归… 2026/7/5 9:16:35
GPS加惯导位置融合MATLAB仿真包,含卡尔曼滤波核心代码与实测数据 本文还有配套的精品资源,点击获取 简介:提供一套可直接运行的GPS/INS位置级组合导航MATLAB仿真环境,主脚本s_GPS_INS_position_sp_demo.m调用扩展卡尔曼滤波器KF_SINS.m和SINS状态传播模型shixiong.m,基于实测数据ode500.mat完… 2026/7/5 9:14:35
安卓蓝牙app技术-Claude 1. 通用蓝牙音箱(媒体按键)标准蓝牙音箱上的媒体控制键(播放/暂停、音量/-、上一曲/下一曲) ❯ 2. 蓝牙耳机 品牌音箱带多媒体按键的蓝牙耳机(接听/挂断、切歌、音量调节)以及JBL、Bose等品牌特殊按键3. 所… 2026/7/5 9:12:35
「 简记往来」第十八篇:云服务器部署——从购买到上线的完整流程 一、服务器选购 简记往来的后端部署在腾讯云轻量应用服务器上。 配置: CPU:4核内存:4GB硬盘:160GB SSD带宽:5Mbps操作系统:Ubuntu 22.04 LTS 为什么选这个配置?考虑因素选择理由4核4G足够支撑当… 2026/7/5 9:10:34
工业预诊:06 品牌大乱斗:GE、西门子、国产 06 品牌大乱斗:GE、西门子、国产 品牌大乱斗:GE、Siemens、华为云、汇川、树根互联!今天咱们不端架子,就当板凳上抽根烟闲聊,谁家平台最能让机器“自己看病”,谁家停机砍得最狠、老板钱包最鼓。新手听完知道“原来AI维护这么接地气”,老手听完直呼“部署时挑这个最稳”… 2026/7/5 9:08:34
如何为Unity游戏打造智能翻译系统:XUnity.AutoTranslator完全指南 如何为Unity游戏打造智能翻译系统:XUnity.AutoTranslator完全指南 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 还在为外语游戏的语言障碍而烦恼吗?XUnity.AutoTranslator为你提… 2026/7/5 9:06:34
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/5 0:01:32
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/5 0:01:32
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/5 0:05:36
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/5 0:01:32
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/5 0:01:32
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/5 0:05:36