torchchat入门指南 - PyTorch推出的本地LLM运行解决方案
PyTorch最近推出了一个名为torchchat的新项目,这是一个可以在本地服务器、桌面和移动设备上运行大型语言模型(LLMs)的解决方案。本文将介绍torchchat的主要特性、安装步骤、使用方法以及其他重要信息,帮助你快速上手这个强大的工具。
什么是torchchat?
torchchat是一个小型代码库,展示了无缝运行大型语言模型的能力。使用torchchat,你可以:
- 使用Python在本地运行LLMs
- 在自己的C/C++应用程序(桌面或服务器)中运行LLMs
- 在iOS和Android移动设备上运行LLMs
torchchat的主要特性
- 支持通过命令行与流行的LLMs交互,如Llama 3、Llama 2、Stories、Mistral等
- 原生PyTorch执行,性能优异
- 支持多种硬件和操作系统:
- Linux (x86)
- Mac OS (M1/M2/M3)
- Android (支持XNNPACK的设备)
- iOS 17+ (需8GB以上RAM,如iPhone 15 Pro+或搭载Apple Silicon的iPad)
- 支持多种数据类型:float32、float16、bfloat16
- 支持多种量化方案
- 多种执行模式:Python(Eager、Compile)或原生(AOT Inductor、ExecuTorch)
安装torchchat
安装torchchat需要Python 3.10以上版本。建议使用虚拟环境进行安装:
git clone https://github.com/pytorch/torchchat.git
cd torchchat
python3 -m venv .venv
source .venv/bin/activate
./install/install_requirements.sh
使用torchchat
torchchat提供了多种使用方式:
- Python命令行交互
- 原生运行器
你可以通过以下命令查看所有可用选项:
python3 torchchat.py --help
下载模型
torchchat使用Hugging Face作为模型分发渠道。你需要创建一个Hugging Face账号并获取访问令牌。然后可以使用以下命令下载模型:
python3 torchchat.py download llama3.1
运行模型
下载模型后,你可以使用chat
或generate
命令与模型交互:
# 聊天模式
python3 torchchat.py chat llama3.1
# 生成文本
python3 torchchat.py generate llama3.1 --prompt "从前有座山"
支持的模型
torchchat支持多种流行的LLM模型,包括:
- Llama 3.1 (8B)
- Llama 3 (8B)
- Llama 2 (7B/13B/70B)
- CodeLlama (7B/34B)
- Mistral (7B)
- TinyLlamas (15M/42M/110M)
- Open Llama (7B)
高级用法
torchchat还支持一些高级功能,如:
- 使用AOT Inductor进行更快的执行
- 在移动设备上运行(iOS/Android)
- 模型评估
- 量化
结语
torchchat为在本地运行大型语言模型提供了一个简单而强大的解决方案。无论你是想在自己的设备上进行LLM实验,还是想将LLM集成到自己的应用中,torchchat都是一个值得尝试的工具。
欢迎访问torchchat的GitHub仓库了解更多信息,并参与到这个开源项目中来!