LLaMA 微调后的模型管理及部署
此最佳实践旨在介绍在完成了 LLaMA 微调后,用户如何将其创建为私有模型,并进行模型部署及调用操作。
前提条件
-
已经获取基石智算控制台账户和密码。
-
已完成实名认证且账户余额大于 0 元。
操作步骤
步骤 1:完成 LLaMA 模型微调
-
参考前文内容,进行 LLaMA 模型微调。
注意 在创建训练任务时,
启动命令
输入时,要求使用-o
参数指定模型的输出路径。故,本次示例中,启动命令完整为:bash main-train.sh -o /root/epfs/sft_output/20241120_1
。 -
待分布式任务运行完成后,在左侧导航栏,选择存储与数据服务,点击指定用户目录,找到上一步微调完成的模型输出路径。
步骤 2:创建私有模型
-
在左侧导航栏,选择模型管理 > 创建模型,按如下要求配置各项参数。
-
模型基本信息配置要求如下:
模型名称
、模型简介
、模型描述
、模型标签
以及版本号
,用户可根据实际需要自定义。 -
模型部署配置要求如下:
-
镜像选择
:选择公共镜像,llama2-train:pytorch-2.1.2-cuda12.1-cudnn8-with-model
。 -
模型配置:
模型文件
:选择<root>/sft_output/20241120_1
,即微调完成后模型的输出路径,其中<root>
为存储目录名,需根据实际情况进行选择。挂载地址
:此示例中为/data
,该地址与启动命令中的Atom-7B-Chat-lora
参数有关,建议参考本示例。 -
环境变量
:无需设置。 -
第三方依赖
:选择第三方列表,并输入vllm==0.6.1
。 -
启动命令
:vllm serve /root/Llama-trains/Atom-7B-Chat --enable-lora --lora-modules Atom-7B-Chat-lora=/data --chat-template "{%- for message in messages -%}{{- '<s>' + message['role'] + ':' + message['content'] + '\n</s>' -}}{%- endfor -%}{%- if messages[-1]['role'] == 'Human' -%}{{- '<s>Assistant: ' -}}{%- else -%}{{- '<s>Human: ' -}}{%- endif -%}"
-
网络端口
:输入8000
。
-
-
-
完成上述参数配置后,点击确定。
步骤 3:创建推理服务
-
返回模型管理列表页面在已创建好的模型所在列。
-
点击相应模型操作列中的模型部署,创建推理服务。
-
在创建推理服务页面中,用户根据实际需要填写服务名称,选择资源配置,点击创建即可。
步骤 4:调用服务接口
-
推理服务创建完成后,等待大约 3 分钟。
-
在左侧导航栏中,选择模型部署,在推理服务列表中,点击前文已完成创建的服务名称/ID。
-
进入推理服务详情页面,在服务信息页签内,获取外网访问地址和 API 密钥。用户点击相应信息右侧的复制按钮
即可。
-
执行如下命令,直接使用 curl 调用服务接口。
curl -i --request POST \ --url http://ai.coreshub.cn/xb2a/inference/usr-hs9prmcv/inf-c3u7trtl/v1/chat/completions \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer sk-8mjgk1Bq9KRzZ2dm1BVKEjXVbmrqcwgpdkXrTmJMX7aT2gQC' \ --data '{ "model": "Atom-7B-Chat-lora", "messages": [ { "role": "System", "content": "You are a helpful assistant." }, { "role": "Human", "content": "要描述如何准备一道水煮鱼。\n准备一道水煮鱼。" } ], "stream": false }'
回显示例:
-
sk-8mjgk1Bq9KRzZ2dm1BVKEjXVbmrqcwgpdkXrTmJMX7aT2gQC
是模型部署完成后,在服务信息中复制得到的 API 密钥,需根据实际情况进行修改。 -
messages
中的文字提问内容,用户可自行修改。 -
http://ai.coreshub.cn/xb2a/inference/usr-hs9prmcv/inf-c3u7trtl/v1/chat/completions
其中,http://ai.coreshub.cn/xb2a/inference/usr-hs9prmcv/inf-c3u7trtl/
为推理服务的外网访问地址,在服务信息中复制得到,需根据实际情况进行修改。
-