TorchChat:Ollama的潜在对手

文摘   科技   2024-08-14 07:30   上海  

庞德公

编辑郭嘉

--->更多内容,请移步“鲁班秘笈”!!<---


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 体验


鲁班号导读火热上线!!
------>敬请移步“鲁班秘笈”!<------
------>敬请移步“鲁班秘笈!<------
------>敬请移步“鲁班秘笈!<------

鲁班模锤
基于开源技术生态,跟踪与普及人工智能、隐私计算、区块链以及数据空间的最新技术。着力于数据治理自动化,依托语料库构建数据可信流通方案,为所有企业提供平等的数据增益服务。
 最新文章