LLM-TPU

LLM-TPU

Run generative AI models in sophgo BM1684X

Stars: 114

Visit
 screenshot

LLM-TPU project aims to deploy various open-source generative AI models on the BM1684X chip, with a focus on LLM. Models are converted to bmodel using TPU-MLIR compiler and deployed to PCIe or SoC environments using C++ code. The project has deployed various open-source models such as Baichuan2-7B, ChatGLM3-6B, CodeFuse-7B, DeepSeek-6.7B, Falcon-40B, Phi-3-mini-4k, Qwen-7B, Qwen-14B, Qwen-72B, Qwen1.5-0.5B, Qwen1.5-1.8B, Llama2-7B, Llama2-13B, LWM-Text-Chat, Mistral-7B-Instruct, Stable Diffusion, Stable Diffusion XL, WizardCoder-15B, Yi-6B-chat, Yi-34B-chat. Detailed model deployment information can be found in the 'models' subdirectory of the project. For demonstrations, users can follow the 'Quick Start' section. For inquiries about the chip, users can contact SOPHGO via the official website.

README:

目录

介绍

本项目实现算能BM1684X芯片部署各类开源生成式AI模型,其中以LLM为主。通过TPU-MLIR编译器将模型转换成bmodel,并采用c++代码将其部署到PCIE环境或者SoC环境。在知乎上写了一篇解读,以ChatGLM2-6B为例,方便大家理解源码:ChatGLM2流程解析与TPU-MLIR部署

模型介绍

已部署过的模型如下(按照首字母顺序排列):

Model INT4 INT8 FP16/BF16 Huggingface Link
Baichuan2-7B LINK
ChatGLM3-6B LINK
CodeFuse-7B LINK
DeepSeek-6.7B LINK
Falcon-40B LINK
Phi-3-mini-4k LINK
Qwen-7B LINK
Qwen-14B LINK
Qwen-72B LINK
Qwen1.5-0.5B LINK
Qwen1.5-1.8B LINK
Qwen1.5-7B LINK
Qwen2-7B LINK
Qwen2.5-7B LINK
Llama2-7B LINK
Llama2-13B LINK
Llama3-8B LINK
Llama3.1-8B LINK
LWM-Text-Chat LINK
Mistral-7B-Instruct LINK
Stable Diffusion LINK
Stable Diffusion XL LINK
WizardCoder-15B LINK
Yi-6B-chat LINK
Yi-34B-chat LINK
Qwen-VL-Chat LINK
InternVL2-4B LINK
InternVL2-2B LINK
MiniCPM-V-2_6 LINK

如果您想要知道转换细节和源码,可以到本项目models子目录查看各类模型部署细节。

如果您对我们的芯片感兴趣,也可以通过官网SOPHGO联系我们。

快速开始

克隆LLM-TPU项目,并执行run.sh脚本

git clone https://github.com/sophgo/LLM-TPU.git
./run.sh --model llama2-7b

详细请参考Quick Start

效果图

跑通后效果如下图所示

Command Table

目前用于演示的模型,全部命令如下表所示

Model SoC PCIE
ChatGLM3-6B ./run.sh --model chatglm3-6b --arch soc ./run.sh --model chatglm3-6b --arch pcie
Llama2-7B ./run.sh --model llama2-7b --arch soc ./run.sh --model llama2-7b --arch pcie
Llama3-7B ./run.sh --model llama3-7b --arch soc ./run.sh --model llama3-7b --arch pcie
Qwen-7B ./run.sh --model qwen-7b --arch soc ./run.sh --model qwen-7b --arch pcie
Qwen1.5-1.8B ./run.sh --model qwen1.5-1.8b --arch soc ./run.sh --model qwen1.5-1.8b --arch pcie
Qwen2.5-7B \ ./run.sh --model qwen2.5-7b --arch pcie
LWM-Text-Chat ./run.sh --model lwm-text-chat --arch soc ./run.sh --model lwm-text-chat --arch pcie
WizardCoder-15B ./run.sh --model wizardcoder-15b --arch soc ./run.sh --model wizardcoder-15b --arch pcie
InternVL2-4B ./run.sh --model internvl2-4b --arch soc ./run.sh --model internvl2-4b --arch pcie
MiniCPM-V-2_6 ./run.sh --model minicpmv2_6 --arch soc ./run.sh --model minicpmv2_6 --arch pcie

进阶功能

进阶功能说明:

功能 目录 功能说明
多芯 ChatGLM3/parallel_demo 支持ChatGLM3 2芯
Llama2/demo_parallel 支持Llama2 4/6/8芯
Qwen/demo_parallel 支持Qwen 4/6/8芯
Qwen1_5/demo_parallel 支持Qwen1_5 4/6/8芯
投机采样 Qwen/jacobi_demo LookaheadDecoding
Qwen1_5/speculative_sample_demo 投机采样
prefill复用 Qwen/prompt_cache_demo 公共序列prefill复用
Qwen/share_cache_demo 公共序列prefill复用
Qwen1_5/share_cache_demo 公共序列prefill复用
模型加密 Qwen/share_cache_demo 模型加密
Qwen1_5/share_cache_demo 模型加密

常见问题

请参考LLM-TPU常见问题及解答

资料链接

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for LLM-TPU

Similar Open Source Tools

For similar tasks

For similar jobs