AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


TorchChat:Ollama的潜在对手
发布日期:2024-09-08 15:37:16 浏览次数: 1804 来源:鲁班模锤




PyTorch最近发布TorchChat,TorchChat允许在本地台式机、笔记本电脑或移动设备上下载和运行大型语言模型。会不会让你想到什么,没错就是OllamaTorchChat是一个适应性强的框架,旨在提高各种硬件平台的LLMs效率,有助于在各种设备上有效地运行本地模型。TorchChat通过支持 GGML 生态系统中常用的GGUF文件来扩展其兼容性。

Torchchat整体而言,主要特色如下:
  • 支持流行 LLMs:直接在本地设备上运行最先进的模型,包括 Llama 3、Llama 2、Mistral
  • 多种执行模式:支持Python(Eager、Compile)和原生(AOT Inductor、ExecuTorch)<可执行文件>模式
  • 跨平台兼容性:在 Linux(x86)、macOS(M1/M2/M3)、Android 和 iOS 上流畅运行
  • 高级量化支持:通过各种量化技术减少内存占用并加速推理
  • 灵活导出能力:轻松准备模型以在桌面和移动平台上部署
  • 内置评估框架:使用内置评估工具评估模型准确性和性能


上图为整体的交互模式,Torchchat的核心是一个REST API,可以通过命令行界面 (CLI) 或浏览器访问。这使得可以轻松集成到现有的Python工作流程和快速原型设计中。


TorchChat使用AOT Inductor为PyTorch推理程序创建独立的、可分发的可执行文件,特别是以动态库的形式,不依赖于Python和PyTorch。这能满足生产环境中部署模型的需求,即能够保证模型运行时的稳定性,确保它不受到生产环境系统的和升级影响,同时确保模型无需重新编译运行。同时使得推理任务能够实现接近原生的性能。

AOT Inductor专注于通过高效的二进制格式来优化模型部署,这些格式可以快速加载并准备执行,从而解决与TorchScript等文本格式相关的限制和开销。它利用代码生成优化技术来提高CPU和GPU性能,减少开销且提高执行速度。


对于移动设备执行,TorchChat利用ExecuTorch。与AOT Inductor类似,ExecuTorch优化模型以便在移动或嵌入式设备上执行。通过生成PTE来执行模型。这为具有低延迟和高隐私性的 AI 驱动的移动应用程序开辟了可能性。

Torchchat估模式可用于评估LLM各种任务的性能。对于新模型的研究人员而言,这是加分项。通过下面的几行命令快速启动:

git clone https://github.com/pytorch/torchchat.gitcd torchchat
python3 -m venv .venvsource .venv/activate
./install_requirements.sh

命令行模式为:
python3 torchchat.py chat llama3.1

可视化web模式将启动一个基于Web的UI,用于与Llama 3.1模型进行交互,提供更直观和用户友好的体验。

streamlit run torchchat.py -- browser llama3.1


下表展示了Llama 3 8B Instruct在M1 Max和64GB RAM的Apple MacBook Pro上的性能,MPS显示出明显的加速。



MPS (Metal Performance Shaders) 是Apple提供的一个图形和计算框架,用于利用GPU进行高效的计算确保最佳性能。


Torchchat在移动设备上的表现同样令人印象深刻。在三星Galaxy S23和 iPhone上通过ExecuTorch使用4 位GPTQ量化实现每秒超过8令牌。这种性能水平可在现代智能手机上实现响应迅速的设备端 AI 体验


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询