推理业务迁移评估表
通用的推理业务及LLM推理可提供下表进行业务迁移评估:
收集项 |
说明 |
实际情况(请填写) |
---|---|---|
项目名称 |
项目名称,例如:XXX项目。 |
- |
使用场景 |
例如:
|
- |
CPU架构 |
X86/ARM,自有软件是否支持ARM。 例如:4个推理模型在ARM上运行,6个推理模型在X86上运行。 |
- |
当前使用的操作系统及版本 |
当前推理业务的操作系统及版本,如:Ubuntu 22.04。 是否使用容器化运行业务,以及容器中OS版本,HostOS中是否有业务软件以及HostOS的类型和版本。 需要评估是否愿意迁移到华为云的通用OS。 |
- |
AI引擎及版本 |
当前引擎(TF/PT/LibTorch),是否接受切换MindSpore。 例如:当前使用TF 2.6,PyTorch 1.10,可以接受切换MindSpore。 |
- |
业务编程语言、框架、版本。 |
C++/Python/JAVA等。 例如:业务逻辑使用JAVA,推理服务模块使用C++自定义实现推理框架,Python 3.7等。 |
- |
CPU使用率 |
业务中是否有大量使用CPU的代码,以及日常运行过程中CPU的占用率(占用多少个核心),以及使用CPU计算的业务功能说明和并发机制。 |
- |
是否有Linux内核驱动 |
是否有业务相关的Linux内核驱动代码。 |
- |
依赖第三方组件列表 |
当前业务依赖的第三方软件列表(自行编译的第三方软件列表)。 例如:Faiss等。 |
- |
推理框架 |
TensorRT/Triton/MSLite等。 例如:
|
- |
GPU卡的类型 |
Vnt1/Ant1/Ant03/Tnt004等。 例如: 20卡Ant1,运行Bert Large推理。 10卡Tnt004运行YOLOv5。 |
- |
Backbone类型 |
ResNet/DarkNet/Transformer等。 例如:
|
- |
模型训练方式 |
关于推理业务中使用的模型,填写该模型训练时使用的框架以及套件。 例如:模型使用PyTorch+Megatron+DeepSpeed进行训练。 |
- |
自定义算子 |
是否有自定义算子,CPU还是CUDA,复杂程度。 例如:有5个CUDA自定义算子。1个高复杂度算子,基于C++开发2000行代码。4个中等复杂度算子,基于C++开发,平均每个自定义算子约500行代码。 |
- |
动态shape |
是否需要支持动态shape。 例如:需要动态Shape,需要动态Shape的模型有ResNet-50、YOLOv5。 |
- |
参数类型(FP32/FP16) |
FP32还是FP16混合,判断精度调优难度。 例如:ResNet-50、YOLOv5模型使用FP16。BertLarge使用FP32。 |
- |
模型变更频率 |
模型变更场景如下:
例如:每半年对模型进行一次变更,变更的内容包含模型结构,并升级AI框架。 |
- |
是否使用华为MDC产品 |
如果使用华为MDC产品,请填写MDC版本号,如果没有可以不填。 例如:使用了C83版本。 |
- |
性能指标与预期 |
- |
|
业务访问方式 |
推理业务访问:“客户端 -> 云服务” 或 “云客户端 -> 云服务”。 推理业务时延要求,客户端到云服务端到端可接受时延。 例如:当前是“客户端 -> 云服务”模式,客户端请求应答可接受的最长时延为2秒。 |
- |
模型参数规模,是否涉及分布式推理 |
10B/100B,单机多卡推理。 |
- |
能否提供实际模型、网络验证的代码和数据等信息 |
提供实际模型、网络验证的代码和数据。 提供与业务类型类似的开源模型,例如GPT3 10B/13B。 提供测试模型以及对应的Demo代码路径(开源或共享)。 可以提前的完成POC评估,例如框架、算子支持度,以及可能的一些性能指标。 |
- |
如果是AIGC场景的业务例如Stable Diffusion,请在上表的基础上,再提供以下信息:
收集项 |
说明 |
实际情况(请填写) |
---|---|---|
使用场景 |
例如:
|
- |
stable-diffusion套件 |
|
- |
具体使用库 |
例如:
|
- |
Lora/TextInversion |
|
- |
动态shape |
是否可接受分档shape(固定n个挡位的shape)。 |
- |
模型变更频率 |
模型变更场景如下:
例如:每半年对模型进行一次变更,变更的内容包含模型结构,并升级AI框架。 |
- |
尺寸要求 |
超分前产生的图片尺寸要求:
|
- |