Llama 3.1 技术研究报告-6

6 推理

我们研究了两种主要技术,以使 Llama 3 405B 模型的推理⾼效:(1) 流⽔线并⾏和 (2) FP8 量化。我们已经公开发布了我们的 FP8 量化实现。

6.1 流⽔线并⾏

当使⽤ BF16 数字表⽰模型参数时,Llama 3 405B 不适合在装有 8 个 Nvidia H100 GPU 的单台机器的 GPU 内存中。为了解决这个问题,我们使⽤ BF16 精度在两台机器上的 16 个 GPU 上并⾏化模型推理。在每台机器内,⾼ NVLink 带宽使得可以使⽤张量并⾏(Shoeybi 等⼈,2019)。然⽽,跨节点的连接带宽较低且延迟较⾼,因此我们使⽤流⽔线并⾏(Huang 等⼈,2019)。
在这里插入图片描述

在使⽤流⽔线并⾏进⾏训练时,⽓泡是主要的效率问题(⻅第 3.3 节)。然⽽,在推理过程中它们不是问题,因为推理不涉及需要流⽔线刷新的反向传递。因此,我们使⽤微批处理来提⾼流⽔线并⾏推理的吞吐量。

我们评估了在推理⼯作负载中使⽤两个微批处理,在推理的关键值缓存预填充阶段和解码阶段,输⼊令牌为 4,096,输出令牌为 256 的效果。我们发现微批处理提⾼了相同本地批量⼤⼩的推理吞吐量;⻅图 24。这些改进来⾃于微批处理使得这两个阶段的微批处理能够并⾏执⾏。由于微批处理引起的额外同步点也增加了延迟,但总体上,微批处理仍然导致更好的吞吐量-延迟权衡。

6.2 FP8 量化

我们利⽤ H100 GPU 的原⽣ FP8 ⽀持进⾏低精度推理。为了启⽤低精度推理,我们对模型内的⼤多数矩阵乘法应⽤了 FP8 量化。特别是,我们量化了模型中前馈⽹络层中的⼤部分参数和激活,这些占推理计算时间的⼤约 50%。我们没有量化模型的⾃注意⼒层的参数。我们利⽤动态缩放因⼦以获得更好的准确性(Xiao 等⼈,2024b),优化我们的 CUDA 内核 15 以减少计算⽐例的开销。我们发现 Llama 3 405B 的质量对某些类型的量化敏感,并进⾏了⼀些额外的更改以提⾼模型输出质量

  1. 类似于 Zhang 等⼈(2021),我们不在第⼀层和最后⼀层 Transformer 层中进⾏量化。
  2. ⾼困惑度的令牌(如⽇期)可能导致⼤的激活值。反过来,这可能导致 FP8 中的⾼动态缩放因⼦和⼤量下溢,导致解码错误。为了解决这个问题,我们将动态缩放因⼦上界限制为 1200。
    在这里插入图片描述
  3. 我们使⽤⾏量化,为参数和激活矩阵计算跨⾏的缩放因⼦(⻅图 25)。我们发现这⽐张量量化⽅法更有效。

量化误差的影响。标准基准测试通常表明,即使没有这些缓解措施,FP8 推理也与 BF16 推理相当。然⽽,我们发现这样的基准测试并没有充分反映 FP8 量化的影响。当缩放因⼦没有上界限制时,模型偶尔会产⽣损坏的响应,尽管基准测试性能很强。我们发现,依靠基准测试来衡量量化引起的分布变化,不如分析使⽤ FP8 和 BF16 ⽣成的 100,000 个响应的奖励模型分数的分布更好。图 26 显⽰了我们量化⽅法的奖励分布结果。图中的结果表明,我们对 FP8 量化的⽅法对模型的响应影响⾮常有限。

效率的实验评估。图 27 描述了在预填充和解码阶段使⽤ Llama 3 405B 进⾏ FP8 推理的吞吐量-延迟权衡,使⽤ 4,096 个输⼊令牌和 256 个输出令牌。该图⽐较了第 6.1 节中描述的两台机器 BF16 推理⽅法的效率。结果表明,使⽤ FP8 推理在预填充阶段的吞吐量提⾼了最多 50%,在解码期间的吞吐量-延迟权衡显著更好。
在这里插入图片描述

7 视觉实验

我们进⾏了⼀系列实验,通过⼀种由两个主要阶段组成的组合⽅法将视觉识别能⼒整合到 Llama 3 中。⾸先,我们通过在⼤量的图像-⽂本对上引⼊和训练⼀组交叉注意⼒层(Alayrac 等⼈,2022),将预训练的图像编码器(Xu 等⼈,2023)和预训练的语⾔模型组合起来。这导致形成了图 28 所⽰的模型。其次,我们引⼊了时间聚合层和额外的视频交叉注意⼒层,它们在⼤量的视频-⽂本对上操作,以学习模型识别和处理视频中的时间信息。

采⽤组合⽅法进⾏基础模型开发有⼏个优点

(1) 它使我们能够并⾏开发视觉和语⾔建模能⼒;
(2) 它避免了视觉数据标记、来⾃不同模态的标记背景困惑度差异以及模态间竞争所带来的联合预训练的复
杂性;
(3) 它保证了模型在仅⽂本任务上的性能不会因引⼊视觉识别能⼒⽽受到影响,
(4) 交叉注意⼒架构确保我们不需要在⽇益增⻓的⼤型语⾔模型(特别是每个变换器层中的前馈⽹络)中通过全分辨率图像来消耗计算资源,使推理过程更加⾼效。我们注意到我们的多模态模型仍在开发中,尚未准备好发布。

在第 7.6 和 7.7 节中呈现我们的实验结果之前,我们描述了⽤于训练视觉识别能⼒的数据处理、视觉组件的模型架构、这些组件训练的扩展⽅式,以及我们

<think>好的,用户想下载Meta Llama-3.1-8B-bnb-4bit模型文件。首先,我需要确认这个模型是否真的存在。根据提供的引用内容,用户提到了Meta-Llama-3.1-8B-Instruct和Meta-Llama-3-8B-Instruct,但没有明确提到bnb-4bit版本。可能用户混淆了模型的不同量化版本,比如4bit量化通常是通过Hugging Face的bitsandbytes库实现的,而不是官方发布的独立模型。 接下来,我需要检查Hugging Face的模型库。根据引用[1],用户之前下载的是meta-llama/Meta-Llama-3.1-8B-Instruct,而引用[3]提到了升级transformers版本。通常,4bit量化是在加载模型时通过参数设置的,比如使用load_in_4bit=True。因此,用户可能需要先下载原始模型,再在代码中应用4bit量化。 用户可能误解了模型名称,认为存在一个单独的bnb-4bit版本。这时候需要澄清,说明如何通过代码实现量化。同时,要确保用户安装了必要的库,如bitsandbytes和最新版本的transformers。另外,需要提醒用户注意硬件要求,比如足够的显存,根据引用[2],8B模型需要16G显存,4bit量化可能减少显存使用,但需要确认兼容性。 最后,给出步骤:安装库、使用huggingface_hub下载原始模型、在代码中应用4bit参数。还要注意用户可能需要登录Hugging Face并申请访问权限,使用正确的token。如果有错误,建议检查库版本,如引用[3]提到的transformers 4.43.1。</think>### 分步解答:下载Meta Llama-3.1-8B模型并实现4bit量化 #### 1. 确认模型定位 目前Meta官方和Hugging Face平台上均未发布名为"Llama-3.1-8B-bnb-4bit"的预量化模型[^1][^3]。4bit量化通常需要用户自行实现,可通过以下两种方式: #### 2. 标准下载流程 ```bash # 安装必要库 pip install transformers==4.43.1 huggingface_hub accelerate bitsandbytes # 下载原始模型(需登录Hugging Face) huggingface-cli download --token YOUR_TOKEN \ --resume-download meta-llama/Meta-Llama-3.1-8B-Instruct \ --local-dir ./Meta-Llama-3.1-8B-Instruct ``` #### 3. 实现4bit量化加载 ```python from transformers import AutoModelForCausalLM, AutoTokenizer model = AutoModelForCausalLM.from_pretrained( "./Meta-Llama-3.1-8B-Instruct", device_map="auto", load_in_4bit=True, # 启用4bit量化 bnb_4bit_compute_dtype=torch.float16, quantization_config=BitsAndBytesConfig( load_in_4bit=True, bnb_4bit_quant_type="nf4", bnb_4bit_use_double_quant=True ) ) tokenizer = AutoTokenizer.from_pretrained("./Meta-Llama-3.1-8B-Instruct") ``` #### 4. 关键注意事项 - 显存需求:4bit量化后显存需求约8-10GB[^2] - 权限申请:需在Hugging Face提交Llama3使用申请 - 硬件要求:推荐NVIDIA显卡(RTX 3090/4090或A10/A100) #### 5. 验证量化效果 ```python print(f"模型内存占用: {model.get_memory_footprint()/1024**3:.1f} GB") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值