llama-factory生成Meta-Llama-3-8B-Instruct模型api服务
·
使用llama-factory完成模型的微调训练后,需要开启其api服务进行调用,参考官方https://github.com/hiyouga/LLaMA-Factory/blob/main/examples/inference/llama3_lora_sft.yaml 中的内容进行改写
API 实现的标准是参考了OpenAI的相关接口协议,基于uvicorn服务框架进行开发, 使用如下的方式启动:
下述为官方使用模型的示例
model_name_or_path: meta-llama/Meta-Llama-3-8B-Instruct
adapter_name_or_path: saves/llama3-8b/lora/sft
template: llama3
finetuning_type: lora
下述为启动api服务示例,此处展示的为直接使用原始本地模型进行api服务启动
set CUDA_VISIBLE_DEVICES=0
set API_PORT=8000
python src\api.py ^
--model_name_or_path F:\models\Meta-Llama-3-8B-Instruct ^
--template llama3
可选
--infer_backend vllm ^
--vllm_enforce_eager
需要注意的是 src\api.py 是llama-factory文件中提供的api服务文件 确认好路径和文件名。
启动成功后:

遇到的问题:
1、需注意transformer版本和llama-factory版本适配问题
transformers 需要在4.41.2 到 4.43.4 之间的版本
2、很奇怪的问题是通过vllm的推理后端,会出现版本冲突的问题
安装了vllm 会因为transformers不是最新版本而找不到vllm._C
但是如果transformers为最新版本,又会兼容不了llama-factory,所以就弃用了vllm的方法,把vllm卸掉了


所有评论(0)