推理是指使用预训练的LLM来生成文本、回答问题或执行其他语言任务。实现这一过程需要特定的硬件资源。推理对硬件的要求通常比训练低,但它们仍然与你打算运行的模型大小直接相关。主要要求:足够的内存(尤其是VRAM)运行LLM推理最直接的硬件考量是内存。具体来说,你需要足够的内存来存储模型的参数。模型参数: 正如第一章所述,LLM由其参数定义,这些参数通常数量达数十亿。它们代表了模型学习到的知识。加载模型: 为了执行推理,这些参数必须加载到活动内存中,以便处理单元可以快速访问它们。VRAM是优选: 为了高效处理,这些参数的理想位置是GPU的专用内存,即显存(VRAM)。正如第二章所述,GPU专为LLM所需的并行计算而设计,将参数直接存储在VRAM中可以使GPU比存储在主系统RAM中更快地访问它们。可以将模型参数视为一本非常大的操作手册。VRAM就像工人(GPU)旁边的操作台。如果手册能放在操作台上,工人可以非常快地查阅。如果手册太大,必须放在房间另一边的架子上(系统RAM),工人就必须不断来回走动,大大减慢整个过程。因此,在考虑推理硬件时的首要问题是:“我是否有足够的VRAM来加载所需的模型?”我们将在第五章讨论如何估算这一点,但基本原理是:更大的模型(更多参数)需要更多的VRAM。使用量化等方法(在第三章简要介绍)可以减少内存占用,使得更大的模型能够适应更少的VRAM,但基本要求仍然是:模型(可能经过压缩)必须能够装入内存。GPU计算能力的作用虽然拥有足够的VRAM对于加载模型是必要的,但GPU的处理能力决定了推理运行的速度。推理涉及使用模型参数和输入提示来执行大量计算(矩阵乘法)以生成输出。并行处理: GPU擅长并行执行这些计算,使得它们在这项任务上比CPU快得多。性能指标: LLM的GPU性能通常与核心数量(例如,NVIDIA GPU的CUDA核心)、时钟速度以及重要的内存带宽(数据在GPU核心和VRAM之间移动的速度)等因素有关。推理速度: 更强大的GPU和更高的内存带宽通常会更快地生成输出标记(单词或单词的一部分),带来更灵敏的体验。在CPU上运行推理对于较小的模型是可能的,但通常会慢上几个数量级。因此,VRAM决定了你能否运行模型,而GPU的计算能力和内存带宽则决定了你能多快运行它。{"layout": {"title": "硬件对LLM推理速度的相对重要性", "xaxis": {"title": "硬件组件"}, "yaxis": {"title": "对推理速度的影响(标记/秒)"}, "showlegend": false, "colorway": ["#228be6", "#228be6", "#495057", "#495057"]}, "data": [{"type": "bar", "x": ["GPU显存容量", "GPU计算与带宽", "系统内存速度/容量", "CPU速度"], "y": [1, 5, 2, 2], "text": ["使模型得以加载", "主要速度驱动因素", "辅助作用", "辅助作用"], "hoverinfo": "x+text"}]}此图显示了不同硬件组件对LLM推理速度的普遍影响,前提是VRAM足以首先加载模型。GPU计算和带宽是性能(每秒标记数)的主要驱动因素。系统内存和CPU的作用系统内存和CPU在推理过程中也扮演着重要的辅助作用。系统内存:存储操作系统、运行LLM的应用程序、输入数据(提示)和输出数据(生成的文本)。如果模型正在从磁盘加载,或者当VRAM不足时使用CPU卸载等技术,它可能会暂时存储模型的一部分(尽管这会大大降低速度)。即使你有足够的VRAM,你通常也需要至少与模型大小相当,甚至更多的系统内存。CPU:管理整个过程:将模型从存储设备(如SSD)加载到RAM或VRAM中,准备输入数据(标记化),协调GPU的工作,以及处理最终输出。虽然CPU在执行核心LLM计算方面不如GPU快,但需要一个性能不错的现代CPU来避免成为数据流进出GPU的瓶颈。总而言之,对于推理,你需要:足够的VRAM: 用于存储模型参数(这通常是主要的瓶颈)。一个有能力的GPU: 用于快速处理模型计算,以获得可接受的生成速度。充足的系统内存: 用于支持操作系统、应用程序和数据处理。一个能正常工作的CPU: 用于协调整个过程。了解这些作用在选择硬件或决定现有系统可以运行哪些模型时是很重要的。对于大多数与预训练LLM交互的用户来说,重点将是满足这些推理要求,这些要求远不如从头开始训练模型的要求密集。