本项目主要支持基于TencentPretrain的LLaMa模型量化推理以及简单的微服务部署。也可以扩展至其他模型,持续更新中。
tips:当前脚本只支持cuda推理,未来计划更多的量化部署推理的功能,敬请期待。
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
有可选参数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
需要安装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/
需要安装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"}'
需要安装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
from modelscope.utils.constant import Tasks
from modelscope.pipelines import pipeline
pipe = pipeline(task=Tasks.text_generation, model='AI-ModelScope/ChatFlow-7B', device_map='auto', model_revision='v1.0.0')
inputs = 'What do you think of OpenAI organization?'
result = pipe(inputs,batch_size=1, world_size=2, seq_length=118,
use_int8=False, top_k=30, top_p=1, temperature=0.85, repetition_penalty_range=1024,
repetition_penalty_slope=0, repetition_penalty=1.15)
print(result)