当前位置:   article > 正文

探索TinyChatEngine:在设备上的大型语言模型推理库

tiny chat

探索TinyChatEngine:在设备上的大型语言模型推理库

tinychat_logo

在数字化时代,即时的智能助手服务已经变得不可或缺,无论是编码辅助还是日常聊天。TinyChatEngine为此提供了一个全新的解决方案——它允许你在笔记本电脑、汽车甚至机器人等边缘设备上运行大型语言模型(LLMs),确保数据的隐私和快速响应。

这项创新得益于两项先进的模型压缩技术:SmoothQuantAWQ (Activation-aware Weight Quantization),它们与TinyChatEngine一起实现了低精度模型的高效执行。

项目亮点演示:

  • 在配备NVIDIA GeForce RTX 4070的笔记本上,你可以体验到流畅的代码提示服务: coding_demo_gpu
  • 而在苹果MacBook Pro (M1, 2021) 上,即时聊天功能同样运行自如: chat_demo_m1

技术深入解析

SmoothQuant:通过数学等价变换,将激活异常值的量化困难转移到权重上,有效地平滑了激活分布,降低了计算难度。

AWQ (Activation-aware Weight Quantization):通过对激活幅度而非权重进行分析,保护重要权重通道,以实现更精确的量化。

TinyChatEngine 引擎特性一览:

  • 通用性:支持x86 (Intel/AMD),ARM (Apple M1/M2, Raspberry Pi),以及CUDA (Nvidia GPU)。
  • 无依赖:纯C/C++实现,无需额外库。
  • 高性能:实现在Macbook和GeForce笔记本上的实时响应。
  • 易用性:下载编译即可启动!

overview

最新动态

  • (2023/10) 添加了对Code Llama编码辅助的支持,欢迎尝试。
  • (2023/10) 推出全新CUDA后端,适配Nvidia GPU,计算能力>=6.1,性能提升约40%。
  • (2023/09) 发布TinyVoiceChat,这是一个语音聊天机器人,可部署在你的边缘设备上,如MacBook或Jetson Orin Nano。

开始使用前的准备

对于不同平台,安装相应的依赖项,例如在MacOS上使用Homebrew安装boost和llvm;Windows用户则可以下载并安装GCC编译器和MSYS2。

部署LLaMA2-7B-chat与TinyChatEngine

我们提供了从头开始部署LLaMA2-7B-chat和TinyChatEngine的详细步骤:

  1. 克隆仓库并进入目录:

    git clone --recursive https://github.com/mit-han-lab/TinyChatEngine
    cd TinyChatEngine
    
    • 1
    • 2
  2. 安装Python依赖包:

    conda create -n TinyChatEngine python=3.10 pip -y
    conda activate TinyChatEngine
    pip install -r requirements.txt
    
    • 1
    • 2
    • 3
  3. 从模型动物园下载量子化的LLaMA2-7B-chat模型: 根据你的硬件选择不同的指令,例如在x86设备上:

    python tools/download_model.py --model LLaMA2_7B_chat_awq_int4 --QM QM_x86
    
    • 1
  4. (仅针对CUDA)根据你的平台和GPU计算能力修改Makefile。

  5. 编译并启动本地聊天:

    make chat -j
    ./chat
    
    • 1
    • 2

后端支持与模型精度

查看表格了解不同精度在各硬件平台上的支持情况,并请注意,在Raspberry Pi上建议使用拥有8GB内存的版本。

模型转换与量化解析

TinyChatEngine致力于支持多种硬件平台上的多量化方法。例如,目前支持来自smoothquant的int8优化模型的量子化重量,以及使用提供的转换脚本将Huggingface格式的检查点转化为我们的int4权重格式。

下载与部署模型

查看模型动物园,找到目标模型ID并使用相应脚本下载并部署到你的设备上。

TinyChatEngine为跨平台的大型语言模型提供了强大的边缘计算能力,结合SmoothQuant和AWQ的先进技术,真正实现了高效、安全的本地化智能服务。无论你是开发者,还是希望为你的项目添加AI助手,TinyChatEngine都是一个值得探索的选择。立即行动,加入这个充满无限可能的世界!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/1011384
推荐阅读
相关标签
  

闽ICP备14008679号