Bootstrap

基于TGI的大模型推理框架适配之昇腾部署

docker run -it -u root --ipc=host --network host --device=/dev/davinci0 --device=/dev/davinci1 --device=/dev/davinci2 --device=/dev/davinci3 --device=/dev/davinci4 --device=/dev/davinci5 --device=/dev/davinci6 --device=/dev/davinci7 --device=/dev/davinci_manager --device=/dev/devmm_svm --device=/dev/hisi_hdc -v /etc/localtime:/etc/localtime -v /usr/local/Ascend/driver:/usr/local/Ascend/driver -v /var/log/npu/:/usr/slog -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi -v /home/test:/home/test --name llama13B_910B swr.cn-central-221.ovaijisuan.com/wuh-aicc_dxy/pytorch_kernels:PyTorch_1.11-cann7.0rc1_py_3.9-euler_2.8.3-d910b-1201-test /bin/bash

痛点:

LLM 高并发部署,要求高吞吐,用户体验好(如模型生成文字速度快,用户排队时间缩短)

解决方案

vllm 和 TGI 等(昇腾的AscendIE、MindIE等推理加速引擎)
————————————————————————————————————————————————————————

本文重点介绍下TGI

优势

  • 支持 continuous batching
  • 支持flash-attention 和 Paged Attention
  • 支持Safetensors 权重加载
  • 支持部署 GPTQ 模型服务(量化)

在这里插入图片描述
Router和Server是最重要的组件

若干个客户端同时请求Web Server的“/generate”服务后,服务端会将这些请求在“Buffer”组件处整合为Batch,并通过gRPC协议转发请求给GPU推理引擎进行计算生成。至于将请求发给多个Model Shard,多个Model Shard之间通过NCCL通信,这是因为显存容量有限或出于计算效率考虑,需要多张GPU进行分布式推理
请添加图片描述
Router和Server的4种交互(Prefill、Decode、Concatenate、Filter)是大模型推理的核心业务逻辑

;