Home

Awesome

中文 | English

基于TencentPretrain的LLaMa推理

本项目主要支持基于TencentPretrain的LLaMa模型量化推理以及简单的微服务部署。也可以扩展至其他模型,持续更新中。

<br>

特性

tips:当前脚本只支持cuda推理,未来计划更多的量化部署推理的功能,敬请期待。

<br>

依赖环境

<br>

输入参数参考

<br>

快速开始

FP16/Int8推理

fp16推理:

python llama_infer.py --test_path ./prompts.txt --prediction_path ./result.txt  \
                      --load_model_path xxx.bin \
                      --config_path ./config/llama_7b_config.json \
                      --spm_model_path ./tokenizer.model

如果要使用int8推理的话,加入--use_int8:

python llama_infer.py --test_path ./prompts.txt --prediction_path ./result.txt  \
                      --load_model_path xxx.bin --use_int8 \
                      --config_path ./config/llama_7b_config.json \
                      --spm_model_path ./tokenizer.model
<br>

多轮对话

有可选参数keep_length_ratio,表示保留多少比例的上下文。输入clear会进行新的一轮对话,输入exit会退出。

python llama_dialogue.py --load_model_path xxxx.bin \
                         --config_path config.json \
                         --spm_model_path tokenizer.model \
                         --world_size 2
<br>

gradio部署

需要安装gradio

pip install gradio
python llama_gradio.py --load_model_path xxxx.bin \
                       --config_path config.json \
                       --spm_model_path tokenizer.model

然后在网页上打开:http://127.0.0.1:7860/

<br>

微服务部署

需要安装flask

pip install flask
python llama_server.py --load_model_path xxxx.bin \
                       --config_path config.json \
                       --spm_model_path tokenizer.model

查询命令:

curl -H 'Content-Type: application/json' http://127.0.0.1:8888/chat -d '{"question": "xxx"}' 
<br>

多卡张量并行推理

需要安装tensor_parallel 参数world_size为希望使用多少gpu(gpu的id从0开始)

pip install tensor_parallel
python llama_infer.py --test_path ./prompts.txt --prediction_path ./result.txt \
                      --load_model_path xxxx.bin \
                      --config_path config.json \
                      --spm_model_path tokenizer.model \
                      --world_size 2