
Este projeto realiza a implantação de vários生成式AI模型de código aberto para calcular chips BM1684X, principalmente LLM. O modelo é convertido em BModel através do compilador TPU-MLIR e implantado em um ambiente PCIE ou ambiente SOC usando o código C ++. Eu escrevi uma explicação sobre Zhihu, tomando ChatGLM2-6B como exemplo, para que todos possam entender o código-fonte: Chatglm2 Process Analysis e TPU-MLIR Deployment
Os modelos implantados são os seguintes (organizados em ordem alfabética):
| Modelo | Int4 | Int8 | FP16/BF16 | Link de huggingface |
|---|---|---|---|---|
| Baichuan2-7b | ✅ | LINK | ||
| Chatglm3-6b | ✅ | ✅ | ✅ | LINK |
| Chatglm4-9b | ✅ | ✅ | ✅ | 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-CAT | ✅ | ✅ | ✅ | LINK |
| Minicpm3-4b | ✅ | ✅ | LINK | |
| Mistral-7b-Instruct | ✅ | ✅ | LINK | |
| Difusão estável | ✅ | LINK | ||
| Difusão estável xl | ✅ | LINK | ||
| WizardCoder-15b | ✅ | LINK | ||
| Yi-6b-chat | ✅ | ✅ | LINK | |
| Yi-34b-chat | ✅ | ✅ | LINK | |
| Qwen-vl-chat | ✅ | ✅ | LINK | |
| QWEN2-VL-CAT | ✅ | ✅ | LINK | |
| Internvl2-4b | ✅ | ✅ | LINK | |
| Internvl2-2b | ✅ | ✅ | LINK | |
| Minicpm-v-2_6 | ✅ | ✅ | LINK | |
| Llama3.2-vision-11b | ✅ | ✅ | ✅ | LINK |
Se você deseja conhecer os detalhes de conversão e o código -fonte, poderá ir ao subdiretório de modelos deste projeto para visualizar os detalhes de implantação de vários modelos.
Se você estiver interessado em nossos chips, também poderá entrar em contato conosco no site oficial do SophGO.
Clone o projeto LLM-TPU e execute o script Run.sh
git clone https://github.com/sophgo/LLM-TPU.git
./run.sh --model llama2-7bPor favor, consulte o início rápido para obter detalhes
O efeito após a corrida é mostrado na figura a seguir

Os modelos atualmente usados para demonstração, todos os comandos são mostrados na tabela a seguir
| Modelo | 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-SOCAr | ./run.sh-Model Qwen1.5-1.8b --arch pcie |
| Qwen2.5-7b | ./run.sh-Model Qwen2.5-7b --arch pcie | |
| LWM-TEXT-CAT | ./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 Minicv2_6 --arch Soc | ./run.sh -Model Minicmv2_6 --arch PCIE |
Descrição da função avançada:
| Função | Índice | Descrição da função |
|---|---|---|
| Multi-core | Chatglm3/parallel_demo | Apoie Chatglm3 2-Core |
| LLAMA2/Demo_parallelel | Suporte LLAMA2 4/6/8 Core | |
| QWEN/Demo_parallel | Apoie Qwen 4/6/8 Cores | |
| QWEN1_5/DEMO_PARALL | Suporte QWEN1_5 4/6/8 Núcores | |
| Amostragem especulativa | QWEN/JACOBI_DEMO | LookaheadDecoding |
| Qwen1_5/speculative_sample_demo | Amostragem especulativa | |
| reutilização de pré -encerrar | QWEN/PRONTR_CACHE_DEMO | Multiplexação de pré -enchimento de sequência comum |
| Qwen/share_cache_demo | Multiplexação de pré -enchimento de sequência comum | |
| Qwen1_5/share_cache_demo | Multiplexação de pré -enchimento de sequência comum | |
| Criptografia de modelo | Qwen/share_cache_demo | Criptografia de modelo |
| Qwen1_5/share_cache_demo | Criptografia de modelo |
Consulte as Perguntas frequentes e respostas do LLM-TPU