创建TensorRT执行框架的模型服务
TensorRT执行框架提供了基于NVIDIA Triton Inference Server的推理服务镜像,使用的推理加速框架为TensorRT-LLM。在CAP中创建TensorRT执行框架的模型服务时,CAP兼容的Triton Inference Server的版本为24.06-trtllm-python-py3。
支持的模型列表
TensorRT-LLM不支持每类模型中太旧或者太新的版本。由于版本支持情况动态变化,您可以在tensorrt_llm/examples里面找到不同模型的说明,模型的版本号为v0.10.0
,具体版本支持情况请参考说明中的支持矩阵,详情请参见通义千问模型版本支持矩阵。
前提条件
已创建项目,具体操作,请参见管理项目。
已将NVIDIA Triton Inference Server的推理服务镜像转换为TensorRT-LLM engines的格式。转换示例详情请参见构建TensorRT LLM模型。
步骤一:上传模型到OSS Bucket
将原始模型和TensorRT-LLM engines上传到OSS,模型目录结构和示例如下:
${model_root_path}
/engines
...
model_root_path
包含从模型社区,比如从ModelScope下载的模型原始代码和模型文件。您需要将转换后的TensorRT-LLM engines文件放到模型根目录下的engines目录。以Qwen2-7B-Instruct模型为例,OSS Bucket中的文件目录如下图所示:
步骤二:创建TensorRT模型服务
登录云原生应用开发平台 CAP控制台,单击目标项目,在项目详情页面,单击左上角的新建服务,选择模型服务类型并单击跳转至创建服务页面。
在配置基础信息区域,在选择模型下方,单击更多模型来源,在弹出的对话框中,模型来源选择对象存储 OSS,选择Bucket 存储桶和填写路径,在执行框架单选框中选择TensorRT,单击确定按钮。
说明OSS配置项路径需要指定为OSS Bucket下模型的根路径。
设置GPU规格。
说明GPU显存规格比转换后的engines至少大20%。
配置角色权限。高级配置中的角色名称
aliyundevsdefaultrole
需要配置访问OSS的AliyunOSSReadOnlyAccess
权限策略。如果您没有特殊需求,其他配置项保持默认值即可,然后单击预览&部署。部署完成后,获取访问地址。
推理接口
对于generate
扩展,请参考NVIDIA Triton Inference Server 文档,使用访问地址通过Postman工具调用结果如下:
其中payload
里的text_input
的值请看原始模型的相关文档,适当优化prompt
,例如在适当的情况下添加合适的诸如eos
之类的special_token
,以取得更加确定准确的生成结果。
special_token
是Qwen2-7B-Instruct模型为例,不同模型具体请参考模型自身的相关文档。
更新模型服务
编辑配置
服务可以随时进行配置并暂存,服务配置需要部署后才会生效。
编辑完某一类配置项后需要保存或者取消才能编辑其余配置项,不支持同时编辑两类配置项,例如编辑基础配置的同时,无法编辑资源配置。
保存配置
配置项编辑完成单击保存,即可暂存配置。如果需要让所有的编辑结果生效,还需要部署服务。
删除服务
在待删除服务的详情页,单击删除,在弹出的删除服务对话框,根据界面提示确认服务名称,勾选确认删除复选框,然后单击确认删除。