尽管大型语言模型(LLM)API提供了快速访问强大模型的能力,但它们并非总是最佳选择——无论是从成本、隐私还是定制化需求的角度来看。在很多情况下,本地运行模型似乎更具吸引力,甚至在某些特定需求下成为必然选择。然而,这也带来了一系列操作上的挑战,如硬件采购、确定最佳运行方式以及实现必要的监控和可观察性。
面对这些挑战时,如何做出正确的决策呢?本文将探讨如何在资源有限的情况下选择并部署最适合的本地模型。
01
—
大模型内存要求
大众对于运行大语言模型(LLMs)存在一种普遍认知,即认为这一任务必须依赖强劲且昂贵的硬件设施。在多数场景下,这种观点确实无误。不过,随着量化以及注意力机制优化等技术的近期发展与革新,如今在本地运行大语言模型已成为可能,即便是仅借助 CPU 也能够实现。
有一件事是你无法优化的,那就是内存。需要内存来存储模型的权重和提供给模型的数据。如果在CPU上运行,需要RAM;如果在GPU上运行,需要VRAM。在大多数情况下,限制模型大小的因素是本地可用的内存。但到底需要多少呢?经验法则是将每个权重的字节数乘以模型权重的数量。为了了解这一点,让我们来看看在没有优化的情况下加载最新的Llama 3.1模型家族的内存需求:
目前,还没有一款消费级GPU能够运行较小的8b参数模型。英伟达GPU的最高VRAM是24 GB的RTX 4090。
估计的数字还不包括传递给模型的上下文所需的内存。Transformer模型采用自关注机制,这意味着每个令牌都需要关注上下文中的其他令牌。这导致了与上下文大小相关的二次内存复杂度。因此,上下文内存可能会迅速超过模型权重所需的内存。
上面的数据来自Hugging Face对Llama 3.1模型的分析。在这个例子中,测量是在FP16精度下进行的,这意味着对于具有128k tokens完整上下文窗口的8B模型,上下文占用的内存与加载的模型权重一样多!
然而,你会经常看到人们在15GB的VRAM上运行甚至微调这些模型。那么他们是如何实现的呢?
02
—
资源优化
正如我们刚才看到的,运行LLM所需的内存量有两个主要组成部分:模型权重和上下文窗口。那么,我们如何能够最小化这些需求呢?
量化
量化是一种降低模型权重精度的技术,允许更少的内存运行LLM模型。通过将模型权重从全浮点精度(通常为32位)转换为较低精度格式(例如16位甚至4位),我们可以减少内存使用并提高计算速度。这使我们能够将更大的模型放入有限的内存中。
这个过程是一种有损压缩方法,意味着将会有性能退化。一个很好的类比是JPEG压缩。类似于量化模型权重,我们对一个值矩阵进行有损压缩。如果我们不过度压缩,最终结果几乎与原始图像无法区分。
根据华盛顿大学(University of Washington)最新的研究,采用4位量化精度的大型模型在性能上通常优于那些使用较低压缩率的小型模型。换句话说,将推理精度默认设置为4位是一个很好的策略。现在,让我们看看Llama 3.1系列模型在不同量化级别下加载权重时的内存需求情况。
03
—
Flash Attention
Flash Attention是一种优化技术,旨在加速大型语言模型(LLM)中的自注意机制。它通过减少内存使用和提高计算效率来有效计算注意力分数。具体来说,Flash Attention采用专门设计的算法,以最小化内存中存储的数据量,从而在不耗尽可用内存的情况下处理更大的上下文窗口。
Flash Attention优化技术将内存需求与上下文长度的关系从二次缩放转变为更线性的缩放。这意味着随着上下文窗口的增大,这种优化带来的影响也更加显著。
如果你需要处理超过4000到8000个标记(tokens),那么是否采用Flash Attention已经不再是一个问题。因为在这种情况下,准确性的差异几乎可以忽略不计,而在内存占用和速度方面的优势则非常显著。特别是在最新的Flash-Attention 3版本中,加速效果提高了大约三倍,这对于较大的模型来说尤其有用。
04
—
GPU还是CPU
默认情况下,如果你运行的是大型语言模型(LLM),你总是希望有一个GPU。然而,这可能并不总是可行的。也许你负担不起,或者你正在开发应用程序的设备没有GPU。那么,关于CPU推理,你应该了解哪些知识呢?有一件事是肯定的:它会很慢。因为CPU并不是为LLM所需的张量操作的规模而设计的。然而,对于CPU来说,最大的限制因素是内存量。由于RAM非常便宜,只要你不太关心延迟,就可以在CPU上以非常便宜的价格运行更大的模型。英伟达80 GB VRAM的H100 GPU价格超过2.5万美元。但是你可以花更少的钱买一台256 GB的高端服务器。
05
—
找出硬件适合的大模型
正如我们所讨论的,当涉及到本地运行大型语言模型(LLM)时,内存是限制因素。因此,需要做的第一件事是找出你有多少内存。一个关于你能运行多大模型的合理估计是将你的内存加倍,然后减去大约30%用于加载其他与模型相关的数据。这会给你一个大致的概念,即在4位精度下你可以运行的最大参数数量。
下面给大家分享一份2025最新版的大模型学习路线,帮助新人小白更系统、更快速的学习大模型!
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
2024最新版CSDN大礼包:《AGI大模型学习资源包》免费分享**
一、2025最新大模型学习路线
一个明确的学习路线可以帮助新人了解从哪里开始,按照什么顺序学习,以及需要掌握哪些知识点。大模型领域涉及的知识点非常广泛,没有明确的学习路线可能会导致新人感到迷茫,不知道应该专注于哪些内容。
我们把学习路线分成L1到L4四个阶段,一步步带你从入门到进阶,从理论到实战。
L1级别:AI大模型时代的华丽登场
L1阶段:我们会去了解大模型的基础知识,以及大模型在各个行业的应用和分析;学习理解大模型的核心原理,关键技术,以及大模型应用场景;通过理论原理结合多个项目实战,从提示工程基础到提示工程进阶,掌握Prompt提示工程。
L2级别:AI大模型RAG应用开发工程
L2阶段是我们的AI大模型RAG应用开发工程,我们会去学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。
L3级别:大模型Agent应用架构进阶实践
L3阶段:大模型Agent应用架构进阶实现,我们会去学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造我们自己的Agent智能体;同时还可以学习到包括Coze、Dify在内的可视化工具的使用。
L4级别:大模型微调与私有化部署
L4阶段:大模型的微调和私有化部署,我们会更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调;并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。
整个大模型学习路线L1主要是对大模型的理论基础、生态以及提示词他的一个学习掌握;而L3 L4更多的是通过项目实战来掌握大模型的应用开发,针对以上大模型的学习路线我们也整理了对应的学习视频教程,和配套的学习资料。
二、大模型经典PDF书籍
书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)
三、大模型视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。
四、大模型项目实战
学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。
五、大模型面试题
面试不仅是技术的较量,更需要充分的准备。
在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取