用TensorRT-LLM跑通chatGLM3_6B模型

零、参考资料

NVIDIA官网
THUDM的Github
NVIDIA的Github

一、构建 TensorRT-LLM的docker镜像

git lfs install
git clone  https://github.com/NVIDIA/TensorRT-LLM.git
cd TensorRT-LLM
git submodule update --init --recursive
sudo make -C docker release_build
sudo make -C docker release_run

二、在docker镜像中配置并跑GLM模型

1、配置python环境

cd ./examples/chatglm
pip install -r requirements.txt
apt-get update
apt-get install git-lfs

2、从 HuggingFace 下载模型权重

git clone https://huggingface.co/THUDM/chatglm3-6b chatglm3_6b
需要等一段时间 

3、将Hugging Face提供的GLM模型转换成TensorRT格式

python3 convert_checkpoint.py --model_dir chatglm3_6b --output_dir trt_ckpt/chatglm3_6b/fp16/1-gpu

4、构建 TensorRT 引擎

# ChatGLM3-6B: single-gpu engine with dtype float16, GPT Attention plugin, Gemm plugin
trtllm-build --checkpoint_dir trt_ckpt/chatglm3_6b/fp16/1-gpu \
        --gpt_attention_plugin float16 \
        --gemm_plugin float16 \
        --output_dir trt_engines/chatglm3_6b/fp16/1-gpu

5、运行例子

# Run the default engine of ChatGLM3-6B on single GPU, other model name is available if built.
python3 ../run.py --input_text "What's new between ChatGLM3-6B and ChatGLM2-6B?" \
        --max_output_len 50 \
        --tokenizer_dir chatglm3_6b \
        --engine_dir trt_engines/chatglm3_6b/fp16/1-gpu

你可能感兴趣的:(语言模型,python)