章节 01
导读 / 主楼:Chiquito:用内存预加载让消费级显卡跑起大模型
Chiquito 通过逐层推理和 RAM 预加载技术,让显存受限的设备也能流畅运行大型语言模型。相比从磁盘逐层读取,内存预加载可将推理速度提升 2-5 倍。
正文
Chiquito 通过逐层推理和 RAM 预加载技术,让显存受限的设备也能流畅运行大型语言模型。相比从磁盘逐层读取,内存预加载可将推理速度提升 2-5 倍。
章节 01
Chiquito 通过逐层推理和 RAM 预加载技术,让显存受限的设备也能流畅运行大型语言模型。相比从磁盘逐层读取,内存预加载可将推理速度提升 2-5 倍。
章节 02
随着大语言模型参数规模不断攀升,消费级显卡(如 8GB VRAM 的 RTX 2080)已难以直接加载完整的 LLM。即便是 7B 参数的模型,在 fp16 精度下也需要约 14GB 显存,远超普通游戏显卡的容量。
传统的解决方案要么依赖云端 API(牺牲隐私和自主性),要么使用量化技术(可能损失精度)。而 Chiquito 项目提供了一条不同的路径:通过逐层推理和系统内存预加载,在保持精度的同时,让大模型在消费级硬件上跑起来。
章节 03
Chiquito 是一个受 AirLLM 启发的轻量化重实现,专为显存受限但内存充足的机器设计。其核心思路很简单:
这种设计使得 PCIe 传输(RAM → GPU)取代磁盘 I/O 成为瓶颈,而前者速度是后者的 2-5 倍。
章节 04
Chiquito 提供灵活的配置选项,适应不同的硬件条件:
章节 05
适用于模型能完全放入系统内存的场景。初始化时将整个模型拆分为每层独立的 .safetensors 文件并加载到 RAM。推理时直接从内存拷贝到 GPU,速度最快。
章节 06
适用于模型超过可用内存的场景。只保持 N 层在内存中,后台线程持续预加载即将使用的层。只要磁盘 I/O 能跟上 GPU 计算速度,就不会产生停顿。
章节 07
最小内存占用模式,每次从磁盘读取层权重。速度最慢,但可在极低内存环境下运行。
章节 08
项目作者在 Intel Core i9-10980HK + 64GB RAM + RTX 2080 Super(8GB VRAM)环境下进行了测试:
小型模型(TinyLlama-1.1B):
中型模型(Qwen2.5-Coder-32B):
大型模型(65GB fp16):
此外,Chiquito 支持 bitsandbytes 的 4-bit/8-bit 量化,可将 32B 模型从 65GB 压缩至约 16GB(4-bit),进一步降低内存门槛。