当前位置: 首页 > news >正文

看看你的电脑可以跑 AI 模型吗?

随着大语言模型(LLM)在各个领域的应用快速普及,越来越多开发者想要尝试在本地运行这些模型。然而,这些模型对计算机硬件的要求极高,特别是在显存(VRAM)和推理速度方面。那么,如何评估你的设备是否合适?本文将帮助你了解模型的存储需求、推理平台选择和不同硬件的实际表现,助力你找到最适合的配置。

不废话,先上结论
绝大多数电脑 (包括笔记本) 几乎可以跑 AI 模型,但是使用不同 AI 模型,不同平台,不同机器推理速度差异会很大。
如果你想要跑一个勉强可玩的 LLM (比如 Llamma3.2 1B 模型),至少需要:

  • 内存至少 16 GB
  • CPU 至少是 4核 (非硬性要求,只是为了保证 1 秒大概能生成 5 个字的速度) 及以上
  • CPU 至少 4GB 的显卡 (可选,如果不想用 llamma.cpp 跑模型)
  • 优先推荐 vLLM 平台 (使用 GPU) 上跑模型,来获取最快的推理速度。

image.png

一、模型参数和存储需求计算

要高效运行大语言模型,我们首先需要了解模型的 参数量比特量化(Bit Quantization)。模型的显存需求(VRAM)可以通过以下公式计算:
$$

M=\frac{P \times 4B}{32 / Q} \times 1.2

$$

符号含义
M M M显存大小需求,单位:GB
P P P模型的参数量(Billion = 10 亿)
Q Q Q量化位宽(如 16-bit、8-bit、4-bit) ,每个参数占用的存储
4 B 4B 4B4 个字节 (原始模型用 32-bit 参数量化,占 4 个字节存储)
1.2 1.2 1.220% 的额外开销,用于加载辅助数据

by https://training.continuumlabs.ai/infrastructure/data-and-memory/calculating-gpu-memory-for-serving-llms

示例:计算 70B 参数的模型所需显存

假设模型参数量为 70B (B 是指 billion,10亿参数量),采用 8-bit 量化模式,则显存需求为:

$$

M = \frac{70 \times 4B}{32 / 8} \times 1.2 = 42 \text{ GB}

$$
在该公式中,位宽越小,占用显存越少,例如使用 4-bit 量化会显著降低存储需求。8-bit 表示每个参数占用 1 字节(Byte),1024 字节=1MB,1024MB=1GB。因此,在量化配置上选择合适的位宽非常重要,可以大幅度降低硬件资源需求。

如果你没有显卡的话,模型会在内存中跑,占用的存储会比显存少 (对应公式 不需要 × 1.2)。

一些常见模型显存 (VRAM) 占用量的参考:
image.png


二、推理平台对比:vLLM、Llama.cpp、Ollama

运行 LLM 有多种推理平台可选,下面是三个流行平台的特点分析:

  1. vLLM:适合高吞吐量批处理场景,优化了 GPU 内存管理并支持 4-bit 量化,大大减少显存需求,性能表现优异。
  2. Llama.cpp:实现了灵活的 CPU 和 GPU 混合推理,量化选项丰富,适合资源有限的中小型模型部署。
  3. Ollama:具有内存管理优化、易于部署等优势,适合快速上线的场景。
平台优势劣势
vLLM支持批处理、高吞吐量,适合高端 GPU需较高硬件配置
Llama.cpp支持灵活的 CPU/GPU 配置GPU 优化不足
Ollama内存管理优化、易用性强灵活性稍逊

三、硬件性能对比:不同 GPU 和 CPU 的实际表现

在选择硬件时,需要根据模型规模和推理需求来确定配置。以下是几款常见的 GPU 和 CPU 在 LLM 推理任务中的表现:

1. 一些 GPU 性能对比(测试平台:Llama.cpp)
GPU速度 (t/s)适用场景
RTX 4090139适合高性能需求和大型模型推理
RTX 4080113性价比较高,适合中型模型
RTX 3080 Ti108支持中等模型推理
RTX 2080 Ti26可满足小型模型运行需求
RTX 4060 Ti22入门级模型部署
2. 一些 CPU 性能对比
CPU速度 (t/s)适用场景
AMD Ryzen 9 7950X11.2可支持较高效的推理需求
Intel Core i9-10900X8.0较高的推理速度,适合小型模型
AMD Ryzen 7 5800X6.3可支持中等规模模型推理
Intel Core i5-10400f5.1适合小型模型推理

说明:t/s 即 tokens per second,每秒生成的 tokens 数量。1 个 token 大约为 0.75 个英文单词,或 1 个汉字。例如,“the quick brown fox” 包含 4 个 tokens。t/s 值越高,模型的推理速度越快,适合生成速度要求较高的场景。


四、实际配置建议

  1. 小型模型部署:适合 4GB VRAM 的显卡(如 RTX 3060),并选择 16GB RAM。
  2. 中型模型部署:推荐使用 12GB 以上显存的显卡,配合 8-bit 量化,可满足绝大部分 LLM 推理需求。
  3. 大型模型和高并发推理部署:推荐选择 24GB 显存的 RTX 4090 以上显卡,并配合高性能 vLLM 推理平台,实现高吞吐量。

某个网友提供的多个模型在 4代 i5 和 4080 显卡的推理速度例子

CPU: 4 代 i5: i5-4460
GPU: RTX 4080

Model_Name_VersionGPU RAMGPU durationGPU Perfor-manceMain RAMCPU DurationCPU Perfor-mancePerfor-mance diffe-rence
llama3:8b-instruct-q4_05.8GB2.1s80t/s4.7GB49s4.6t/s17.4x
llama3:8b-instruct-q8_09.3GB3.4s56t/s8.3GB98s2.7t/s20.7x
phi3:3.8b4.5GB3.6s98t/s3.0GB83s7.2t/s13.6x
phi3:3.8b-mini-4k-instruct-q8_06.0GB6.9s89t/s4.6GB79s5.3t/s16.8x
phi3:3.8b-mini-instruct-4k-fp169.3GB4.2s66t/s7.9GB130s2.9t/s22.8x
phi3:14b9.6GB4.2s55t/s7.9GB96s2.7t/s21.2x
phi3:14b-medium-4k-instruct-q6_K12.5GB8.9s42t/s11.1GB175s1.9t/s21.8x
mistral:7b-instruct-v0.3-q4_05.4GB2.1s87t/s4.1GB36s4.9t/s17.8x
mistral:7b-instruct-v0.3-q8_08.7GB2.3s61t/s7.5GB109s2.9t/s21.0x
gemma:7b-instruct-v1.1-q4_07.4GB1.8s82t/s7.5GB25s4.4t/s18.6x
gemma:7b-instruct-v1.1-q6_K9.1GB1.6s66t/s7.5GB40s3.0t/s22.0x

不定期更新专业知识和有趣的东西,欢迎反馈、点赞、加星

您的鼓励和支持是我坚持创作的最大动力!ღ( ´・ᴗ・` )

参考

  1. Substratus AI:如何计算 LLM 的 GPU 内存需求
  2. Puget Systems:消费级 GPU 在 LLM 中的性能对比
  3. Hardware Corner:不同硬件平台的 LLM 基准测试
  4. Valohai:AMD 和 NVIDIA 的推理性能深度分析
  5. AnandTech:AI 推理中的 CPU 性能
  6. 网友测试的 i5 和 4080 显卡推理速度

http://www.mrgr.cn/news/66544.html

相关文章:

  • Android Preference浅析(设置Setting)
  • 这个开源项目牛逼,集成了多款短信通道,让发送短信变的更简单!(带私活源码)
  • Vue3和Springboot前后端简单部署
  • sicp每日一题[2.70]
  • 11.4工作笔记
  • wpf 制作丝滑Flyout浮出侧边栏Demo (Mahapps UI框架)
  • 基于图像处理的硬币个数识别系统
  • Rust 跨平台构建与部署实战:构建并部署跨平台应用
  • 网关 Spring Cloud Gateway
  • Hive操作库、操作表及数据仓库的简单介绍
  • 受控制组件与非受控组件
  • 基于Matlab的语音识别
  • 苍穹外卖 各状态的订单数量统计
  • 【拥抱AI】如何让软件开发在保证数据安全的同时更加智能与高效?
  • 使用 Visual Studio Installer 彻底卸载 Visual Studio方法与下载
  • MySQL事务管理
  • window 利用Putty免密登录远程服务器
  • 读代码题 错题集
  • C++:unordered_set、unordered_map类
  • [CKS] K8S Admission Set Up
  • C语言进阶:二.数据的存储(2)
  • js WebAPI黑马笔记(万字速通)
  • Java基础-JDBC
  • 教育机构如何利用知识中台进行数字教学
  • 【学习日常】导热方式计算,物体导热计算,小白方式计算导热量,导热胶的正确选择
  • 【C++之STL】一文学会使用 string