跳转到主要内容
公告

介绍 torchchat:加速笔记本、台式机和移动设备上的本地 LLM 推理

作者: 2024年7月30日2025年4月30日暂无评论

今天,我们发布了 torchchat,这是一个展示如何无缝且高性能地在笔记本电脑、台式机和移动设备上运行 Llama 3、3.1 及其他大型语言模型的库。

在我们之前的博客文章中,我们 展示了 如何使用原生 PyTorch 2 结合 CUDA 以出色的性能运行大型语言模型。Torchchat 在此基础上进行了扩展,支持更多的目标环境、模型和执行模式。此外,它还以易于理解的方式提供了重要的功能,如导出、量化和评估,为那些希望构建本地推理解决方案的人提供了一个端到端的故事。

该项目分为三个部分:

  • Python:Torchchat 提供了一个 REST API,可以通过 Python CLI 调用,也可以通过浏览器访问。
  • C++:Torchchat 使用 PyTorch 的 AOTInductor 后端生成适用于桌面的二进制文件。
  • 移动设备:Torchchat 使用 ExecuTorch 导出 .pte 二进制文件以进行设备上推理。
torchchat schema

性能

下表记录了 torchchat 在不同配置下 Llama 3 的性能。
Llama 3.1 的数据即将发布。

在 Apple MacBook Pro M1 Max 64GB 笔记本电脑上运行 Llama 3 8B Instruct

模式 数据类型 Llama 3 8B 每秒 token 数
Arm 编译 float16 5.84
int8 1.63
int4 3.99
Arm AOTI float16 4.05
int8 1.05
int4 3.28
MPS Eager float16 12.63
int8 16.9
int4 17.15

在 Linux x86 和 CUDA 上运行 Llama 3 8B Instruct
Intel(R) Xeon(R) Platinum 8339HC CPU @ 1.80GHz with 180GB Ram + A100 (80GB)

模式 数据类型 Llama 3 8B 每秒 token 数
x86 编译 bfloat16 2.76
int8 3.15
int4 5.33
CUDA 编译 bfloat16 83.23
int8 118.17
int4 135.16

在移动设备上运行 Llama3 8B Instruct
Torchchat 使用 ExecuTorch 通过 4 位 GPTQ 在三星 Galaxy S23 和 iPhone 上实现了 > 8T/s 的性能。

结论

我们鼓励您 克隆 torchchat 仓库并试用它,探索其功能,并分享您的反馈,因为我们将继续赋能 PyTorch 社区在本地和受限设备上运行大型语言模型。让我们携手在任何设备上释放生成式 AI 和大型语言模型的全部潜力。请在发现 问题 时及时提交,因为我们仍在快速迭代。我们还邀请社区在广泛的领域做出贡献,包括更多模型、目标硬件支持、新的量化方案或性能改进。祝您实验愉快!