项目页面 |文档 |博客 |网络法学硕士 |网络稳定扩散 |不和
MLC LLM 是一种通用解决方案,允许将任何语言模型本地部署在各种硬件后端和本机应用程序上,并为每个人提供一个高效的框架,以进一步优化自己用例的模型性能。
我们的使命是使每个人都能在每个人的设备上本地开发、优化和部署 AI 模型。
一切都在本地运行,无需服务器支持,并通过手机和笔记本电脑上的本地 GPU 加速。支持的平台包括:
[新闻]MLC LLM现在支持7B / 13B / 70B Llama-2!
近年来,生成人工智能(AI)和大型语言模型(LLM)取得了显着进展,这些技术正变得越来越普遍。由于开源计划,现在可以使用开源模型开发个人AI助手。然而,LLM往往是资源密集型和计算要求高的。要创建可扩展的服务,开发人员可能需要依靠强大的集群和昂贵的硬件来运行模型推理。此外,部署LLM带来了一些挑战,例如它们不断发展的模型创新,内存约束以及对潜在优化技术的需求。
该项目的目标是开发、优化和部署 AI 模型,以便在各种设备上进行推理,不仅包括服务器级硬件,还包括用户的浏览器、笔记本电脑和移动应用程序。为了实现这一目标,我们需要解决计算设备和部署环境的多样性。一些主要挑战包括:
MLC LLM 提供了一个可重复、系统和可定制的工作流程,使开发人员和人工智能系统研究人员能够以以生产力为中心、Python 优先的方法实施模型和优化。此方法支持对新模型、新想法和新编译器传递进行快速试验,然后对所需目标进行本机部署。此外,我们通过拓宽TVM后端来不断扩展LLM加速,使模型编译更加透明和高效。
我们解决方案的基石是机器学习编译 (MLC),我们利用它来高效部署 AI 模型。我们建立在开源生态系统的肩膀上,包括来自Hugging Face和Google的令牌化器,以及Llama,Vicuna,Dolly,MOSS,RWKV等开源LLM。我们的主要工作流程基于 Apache TVM Unity,这是 Apache TVM 社区中令人兴奋的持续发展。
此外,我们还提供了一个轻量级的基于 C++ 的示例 CLI 应用程序,展示了如何包装已编译的工件和必要的预/后处理,这将有望阐明将它们嵌入本机应用程序的工作流程。
作为起点,MLC为CUDA,Vulkan和Metal生成GPU着色器。通过改进TVM编译器和运行时,可以添加更多支持,例如OpenCL,sycl,webgpu-native。MLC还支持各种CPU目标,包括通过LLVM的ARM和x86。
我们严重依赖开源生态系统,更具体地说,TVM Unity,这是TVM项目中令人兴奋的最新发展,它支持python优先的交互式MLC开发体验,使我们能够轻松地在Python中编写新的优化,并逐步将我们的应用程序带到感兴趣的环境中。我们还利用了融合量化内核、一流的动态形状支持和多样化的 GPU 后端等优化。
请查看我们的文档以开始使用MLC-LLM的旅程。
该项目由来自CMU catalyst,UW SAMPL,SJTU,OctoML和MLC社区的成员发起。我们很乐意继续开发和支持开源 ML 社区。
这个项目之所以成为可能,要归功于我们肩负的开源生态系统。我们要感谢 Apache TVM 社区和 TVM Unity 工作的开发人员。开源 ML 社区成员公开了这些模型。PyTorch和Hugging Face社区使这些模型易于访问。我们要感谢Vicuna,SentencePiece,LLaMA,Alpaca,MOSS和RWKV背后的团队。我们还要感谢支持这个项目的 Vulkan、Swift、C++、Python Rust 社区。