文档首页> AI开发平台ModelArts> 最佳实践> 推理部署> 使用大模型创建AI应用部署在线服务
更新时间:2024-04-30 GMT+08:00
分享

使用大模型创建AI应用部署在线服务

背景说明

目前大模型的参数量已经达到千亿甚至万亿,随之大模型的体积也越来越大。千亿参数大模型的体积超过200G,在版本管理、生产部署上对平台系统产生了新的要求。例如:导入AI应用管理时,需要支持动态调整租户存储配额;模型加载、启动慢,部署时需要灵活的超时配置;当负载异常重启,模型需要重新加载,服务恢复时间长的问题亟待解决。

为了应对如上诉求,ModelArts推理平台针对性给出解决方案,用于支持大模型场景下的AI应用管理和服务部署。

约束与限制

  • 需要申请单个AI应用大小配额和添加使用节点本地存储缓存的白名单
  • 需要使用自定义引擎Custom,配置动态加载
  • 需要使用专属资源池部署服务
  • 专属资源池磁盘空间需大于1T

申请扩大AI应用的大小配额和使用节点本地存储缓存白名单

服务部署时,默认情况下,动态加载的模型包位于临时磁盘空间,服务停止时已加载的文件会被删除,再次启动时需要重新加载。为了避免反复加载,平台允许使用资源池节点的本地存储空间来加载模型包,并在服务停止和重启时仍有效(通过哈希值保证数据一致性)

使用大模型要求用户采用自定义引擎,并开启动态加载的模式导入模型。基于此,需要执行以下操作:

  • 如果模型超过默认配额值,需要提工单申请扩大单个AI应用的大小配额。单个AI应用大小配额默认值为20GB。
  • 需要提工单申请添加使用节点本地存储缓存的白名单。

上传模型数据并校验上传对象的一致性

为了动态加载时保证数据完整性,需要在上传模型数据至OBS时,进行上传对象的一致性校验。obsutil、OBS Browser+以及OBS SDK都支持在上传对象时进行一致性校验,您可以根据自己的业务选择任意一种方式进行校验。详见校验上传对象的一致性

以OBS Browser+为例,如图1。使用OBS Browser+上传数据,开启MD5校验,动态加载并使用节点本地的持久化存储时,检查数据一致性。

图1 OBS Browser+配置MD5校验

创建专属资源池

使用本地的持久化存储功能,需使用专属资源池,且专属资源池磁盘空间大小必须超过1T。您可以通过专属资源池详情页面,规格页签,查看专属资源池磁盘信息。当服务部署失败,提示磁盘空间不足时,请参考服务部署、启动、升级和修改时,资源不足如何处理?

图2 查看专属资源池磁盘信息

创建AI应用

使用大模型创建AI应用,选择从对象存储服务(OBS)中导入,需满足以下参数配置:

  1. 采用自定义引擎,开启动态加载

    使用大模型要求用户使用自定义引擎,并开启动态加载的模式导入模型。用户可以制作自定义引擎,满足大模型场景下对镜像依赖包、推理框架等的特殊需求。自定义引擎的制作请参考使用自定义引擎创建AI应用

    当用户使用自定义引擎时,默认开启动态加载,模型包与镜像分离,在服务部署时动态将模型加载到服务负载。

  2. 配置健康检查

    大模型场景下导入的AI应用,要求配置健康检查,避免在部署时服务显示已启动但实际不可用。

    图3 采用自定义引擎,开启动态加载并配置健康检查示例图

部署在线服务

部署服务时,需满足以下参数配置:

  1. 自定义部署超时时间

    大模型加载启动的时间一般大于普通的模型创建的服务,请配置合理的“部署超时时间”,避免尚未启动完成被认为超时而导致部署失败。

  2. 添加环境变量

    部署服务时,增加如下环境变量,会将负载均衡的请求亲和策略配置为集群亲和,避免未就绪的服务实例影响预测成功率。

    MODELARTS_SERVICE_TRAFFIC_POLICY: cluster
    图4 自定义部署超时时间和添加环境变量示例图

建议部署多实例,增加服务可靠性。

分享:

    相关文档

    相关产品