跳转至

自定义模型部署

概述

自定义模型部署功能允许用户部署自己的模型或使用预训练模型,支持多种部署方式以满足不同的业务需求。本文档详细介绍如何使用 vLLM、SGLang 和自定义镜像等方式部署模型。

先决条件

在开始之前,请确保您已完成以下准备工作:

  1. 拥有一个阿里云账号
  2. 登录 FunModel 控制台

    根据控制台的指引,完成 RAM 相关的角色授权等配置;如果您默认是老版页面,请点击右上角新版本控制台切换到新版

  3. 点击 自定义开发

vLLM 部署

vLLM 是一个快速且易于使用的 LLM 推理库,支持多种模型架构。

注意: vLLM 仅针对大语言模型 (LLM)

模型来源: ModelScope 模型 ID

  1. 填写模型名称,按照自己的需求取一个有意义的名字
  2. 填写模型描述(可选)
  3. 模型来源选中 "ModelScope 模型 ID",填写您想要部署的模型ID,比如 Qwen/Qwen3-0.6B
  4. 注意一定要填写 ModelScope 上真实存在的模型 ID
  5. 选择弹性实例或者常驻资源池实例
  6. 默认的启动命令和端口绝大部分的时候都是正确的,比如:
    vllm serve /mnt/test-vllm-id-1 --served-model-name Qwen/Qwen3-0.6B --port 9000 --trust-remote-code
    
    一般不需要您这边做修改,除非您需要加一些额外的 vLLM serve 启动参数
  7. 点击 创建模型服务 按钮,等待模型下载以及模型服务启动成功

ModelScope 模型 ID 部署界面

模型来源: 对象存储 OSS

  1. 填写模型名称,按照自己的需求取一个有意义的名字
  2. 填写模型描述(可选)
  3. 模型来源选中 "对象存储",填写你提前在 OSS 上准备的模型
  4. 选择弹性实例或者常驻资源池实例
  5. 默认的启动命令和端口绝大部分的时候都是正确的(仅需要修改 served-model-name 参数值),比如:
    vllm serve /mnt/fun-model-test/Qwen/Qwen3-0.6B --served-model-name Qwen/Qwen3-0.6B --port 9000 --trust-remote-code
    
    其他要加一些额外参数可以参考 vLLM serve 启动参数
  6. 点击 创建模型服务 按钮,等待模型下载以及模型服务启动成功

OSS 模型部署界面

模型来源: 硬盘挂载 NAS

  1. 填写模型名称,按照自己的需求取一个有意义的名字
  2. 填写模型描述(可选)
  3. 模型来源选中 "硬盘挂载 NAS",填写你提前在 NAS 上准备的模型路径
  4. 选择弹性实例或者常驻资源池实例
  5. 默认的启动命令和端口绝大部分的时候都是正确的(仅需要修改 served-model-name 参数值),比如:
    vllm serve /mnt/fun-models/Qwen/Qwen3-0_6B --served-model-name Qwen/Qwen3-0.6B --port 9000 --trust-remote-code
    
    其他要加一些额外参数可以参考 vLLM serve 启动参数
  6. 点击 创建模型服务 按钮,等待模型下载以及模型服务启动成功

NAS 模型部署界面

SGLang 部署

SGLang 是一个专为大型语言模型设计的快速推理框架。

注意: SGLang 仅针对大语言模型 (LLM)

模型来源: ModelScope 模型 ID

  1. 填写模型名称,按照自己的需求取一个有意义的名字
  2. 填写模型描述(可选)
  3. 模型来源选中 "ModelScope 模型 ID",填写您想要部署的模型ID,比如 Qwen/Qwen3-0.6B
  4. 注意一定要填写 ModelScope 上真实存在的模型 ID
  5. 选择弹性实例或者常驻资源池实例
  6. 默认的启动命令和端口绝大部分的时候都是正确的,比如:
    python3 -m sglang.launch_server --model-path /mnt/test-sglang-id --host 0.0.0.0 --port 9000
    
    一般不需要您这边做修改,除非您需要加一些额外的 SGLang server_arguments
  7. 点击 创建模型服务 按钮,等待模型下载以及模型服务启动成功

模型来源: 对象存储 OSS

  1. 填写模型名称,按照自己的需求取一个有意义的名字
  2. 填写模型描述(可选)
  3. 模型来源选中 "对象存储",填写你提前在 OSS 上准备的模型
  4. 选择弹性实例或者常驻资源池实例
  5. 默认的启动命令和端口绝大部分的时候都是正确的,比如:
    python3 -m sglang.launch_server --model-path /mnt/fun-model-test/Qwen/Qwen3-0.6B --host 0.0.0.0 --port 9000
    
    其他要加一些额外参数可以参考 SGLang server_arguments
  6. 点击 创建模型服务 按钮,等待模型下载以及模型服务启动成功

模型来源: 硬盘挂载 NAS

  1. 填写模型名称,按照自己的需求取一个有意义的名字
  2. 填写模型描述(可选)
  3. 模型来源选中 "硬盘挂载 NAS",填写你提前在 NAS 上准备的模型路径
  4. 选择弹性实例或者常驻资源池实例
  5. 默认的启动命令和端口绝大部分的时候都是正确的,比如:
    python3 -m sglang.launch_server --model-path /mnt/fun-models/Qwen/Qwen3-0_6B --host 0.0.0.0 --port 9000
    
    其他要加一些额外参数可以参考 SGLang server_arguments
  6. 点击 创建模型服务 按钮,等待模型下载以及模型服务启动成功

自定义镜像

对于需要自定义环境的场景,可以使用自定义镜像部署模型。

适用场景

  1. 针对大语言模型,可以自己定制 vLLM 或者 SGLang 镜像
  2. 需要特殊依赖或配置的模型
  3. 不是能通过命令行直接运行的模型应用

官方预置镜像

目前官方提供了如下版本的 vLLM 镜像:

国内 region

  • serverless-registry.cn-hangzhou.cr.aliyuncs.com/functionai/vllm-openai:v0.10.1
  • serverless-registry.cn-hangzhou.cr.aliyuncs.com/functionai/vllm-openai:v0.10.2
  • serverless-registry.cn-hangzhou.cr.aliyuncs.com/functionai/vllm-openai:v0.11.0

海外 region

  • serverless-registry.ap-southeast-1.cr.aliyuncs.com/functionai/vllm-openai:v0.10.1
  • serverless-registry.ap-southeast-1.cr.aliyuncs.com/functionai/vllm-openai:v0.10.2
  • serverless-registry.ap-southeast-1.cr.aliyuncs.com/functionai/vllm-openai:v0.11.0

使用 DevPod 开发自定义镜像

如果模型无法通过命令行直接运行,建议使用自定义镜像启动 DevPod,在其中完成模型的开发与调试,最终将调试好的环境打包为镜像以完成部署。

具体流程请参考 三分钟拥有一个 deepseek-ocr 的体验开发调试 GPU 环境

配置参数说明

启动命令参数

vLLM 常用参数

  • --served-model-name:指定服务模型名称
  • --port:指定服务端口
  • --trust-remote-code:信任远程代码
  • --tensor-parallel-size:张量并行大小
  • --max-model-len:最大模型长度

vLLM serve 启动参数

SGLang 常用参数

  • --model-path:模型路径
  • --host:监听主机地址
  • --port:监听端口
  • --tp-size:张量并行大小

SGLang server_arguments

最佳实践

模型选择建议

  1. 根据业务需求选择合适的模型大小
  2. 考虑成本和性能的平衡
  3. 优先使用经过优化的预训练模型

性能优化

  1. 合理配置实例规格和数量
  2. 使用模型量化技术减少资源消耗
  3. 根据实际需求,设置合理的推理框架的启动参数优化性能

安全考虑

  1. 确保模型来源可靠
  2. 避免在镜像中硬编码敏感信息
  3. 定期更新基础镜像和依赖库
  4. 使用环境变量传递密钥等敏感配置

故障排除

部署失败

  1. 检查模型路径是否正确
  2. 验证模型文件是否完整
  3. 确认实例规格是否满足模型要求
  4. 查看部署日志获取详细错误信息

服务启动失败

  1. 检查启动命令参数是否正确
  2. 验证模型文件权限
  3. 确认配置的端口和启动命令端口是否一致,以及启动命令中的 host 是否为 0.0.0.0
  4. 查看服务日志获取详细错误信息

性能问题

  1. 检查实例资源使用情况
  2. 调整模型参数配置
  3. 考虑使用更高规格实例

相关资源