阿里云PAI-EAS共享GPU,一卡部署多个模型(EasyRec/TorchEasyRec Processor)

简介: 本文介绍在阿里云PAI-EAS平台单GPU卡(如A10/gu30/L20)上部署多个模型实例的实践方案:需购买GPU专有资源组,通过显存划分(如24G卡分3×7G)、配置`gpu_memory`参数实现共享,禁用`gpu_core_percentage`防RT毛刺,并合理设置BatchCount提升吞吐。

我们需要在GPU一张卡部署多个模型实例。

在PAI-EAS先需要先购买GPU专有资源组(包月资源组),然后把模型打分服务部署在专有资源组上。

一般来说:推理卡可以是32核的A10或者gu30,或者是L20 。

官方文档:共享gpu

参数:

以下是重点的参数,具体操作看下一节。

显卡内存可以划分:例如A10的GPU有24G的显存(实际可用不到24G),可划分3个实例,每个实例用7G(并不是8G)。

PAI-EAS服务配置中的重点参数:

       "gpu_memory": 7, 7G内存

不要配置 gpu_core_percentage ,可能导致GPU RT的毛刺。

在EasyRec中,需要设置 'cuda': "11.2"。

pairec 引擎配置单中的重点参数:

BatchCount,设置每次打分的物品个数。

操作步骤:

(1)点击“更新服务”

(2)点击“GPU”共享,设置cpu数量、内存数量、显存。

(3)点击“确定”更新服务。

(4)在PAI-EAS服务的“监控”tab页面,查看cpu内存、gpu显存

内存和gpu显存都正常,服务状态“运行中”,则正常。

核:32个

内存:188G

gu30卡:一个实例7G显存

gpu 核心占比:30%

(5)设置引擎配置单中的BatchCount

BatchCount一般设置为100到300。如果BatchCount=300,精排数量是900,则意味着精排PAI-EAS服务的实例至少要有3个,才能尽快返回打分结果;如果打分实例只有1个,则需要打分3次,rt时间则是前者的3倍。

参考TorchEasyRec版本的配置文件

TorchEasyRec Processor: https://help.aliyun.com/zh/pai/torcheasyrec-processor

{
    "cronscaler": {
        "excludeDates": [],
        "scaleJobs": []
    },
    "metadata": {
        "cpu": 10,
        "gateway": "default",
        "gpu_memory": 7,
        "instance": 4,
        "memory": 32000,
        "name": "${服务名称}",
        "resource": "eas-r-xxxxx",
        "resource_burstable": false,
        "rpc": {
            "enable_jemalloc": 1,
            "max_queue_size": 256
        },
        "worker_threads": 16,
        "workspace_id": "32668"
    },
    "model_config": {
        "access_key_id": "1111",
        "access_key_secret": "2222",
        "featuredb_password": "aaaa",
        "featuredb_username": "bbbb",
        "fg_mode": "normal",
        "fg_threads": 8,
        "fs_entity": "host",
        "fs_model": "${model_name}",
        "fs_project": "${fs_name}",
        "load_feature_from_offlinestore": false,
        "outputs": "probs_is_click",
        "period": 2880,
        "region": "ap-southeast-1",
        "security_token": "None",
        "steady_mode": true,
        "storage_api_quota_name": "ot_quota_name_xxxx"
    },
    "model_path": "oss://xxxx/EasyRec/deploy/model_name/20250515/export/final_with_fg",
    "name": "model_name",
    "networking": {
        "gateway": "default"
    },
    "processor": "easyrec-torch-1.0",
    "processor_envs": [
        {
            "name": "INPUT_TILE",
            "value": "2"    ### input tile 参数
        },
        {
            "name": "NO_GRAD_GUARD",
            "value": "1"
        },
        {
            "name": "PYTORCH_TENSOREXPR_FALLBACK",
            "value": "2"
        }
    ],
}

EasyRec版本:参考DataWorks部署任务的脚本:

EasyRec 需要设置  'cuda': "11.2"

'''PyODPS 3
请确保不要使用从 MaxCompute下载数据来处理。下载数据操作常包括Table/Instance的open_reader以及 DataFrame的to_pandas方法。 
推荐使用 PyODPS DataFrame(从 MaxCompute 表创建)和MaxCompute SQL来处理数据。
更详细的内容可以参考:https://help.aliyun.com/document_detail/90481.html
'''
import json
import os
service_name = 'fs_dbmtl_v4'
config = {
  'name': service_name,
  'metadata': {
    'cpu': 7,
    'gateway': 'default',
    'gpu': 0,
    'cuda': "11.2",
    'gpu_memory': 7,
    'memory': 55000,
    'name': 'fs_dbmtl_v4',
    'rpc': {
        'enable_jemalloc': 1,
        'max_queue_size': 256
    },
    'resource': 'eas-r-ssss',
    'rolling_strategy.max_unavailable': 1
  },
  'model_path': f"oss://xxx-saas/EasyRec/deploy/home_feed_dbmtl_v3/{args['ymd']}/export/final_with_fg",
  'model_config': {
    'outputs': 'probs_is_click,probs_is_collect_like_comment',
    'fg_mode': 'tf',
    'steady_mode': True,
    'period': 2880,
    'access_key_id': f'{o.account.access_id}',
    'access_key_secret': f'{o.account.secret_access_key}',
    "load_feature_from_offlinestore": True,
    'region': 'cn-shanghai',
    'fs_project': 'ffffff',
    'fs_model': 'fs_dbmtl_v2',
    'fs_entity': 'item',
    'featuredb_username': '111',
    'featuredb_password': '111',
    'log_iterate_time_threshold': 100,
    'iterate_featuredb_interval': 5,
    'mc_thread_pool_num': 1,
  },
  "processor": "easyrec-2.6"
}
with open('echo.json', 'w') as output_file:
    json.dump(config, output_file)
#os.system(f'/home/admin/usertools/tools/eascmd -i {o.account.access_id} -k {o.account.secret_access_key} -e pai-eas.cn-shanghai.aliyuncs.com create echo.json')
os.system(f'/home/admin/usertools/tools/eascmd -i {o.account.access_id} -k {o.account.secret_access_key} -e pai-eas.cn-shanghai.aliyuncs.com modify {service_name} -s echo.json')

相关实践学习
使用PAI+LLaMA Factory微调Qwen2-VL模型,搭建文旅领域知识问答机器人
使用PAI和LLaMA Factory框架,基于全参方法微调 Qwen2-VL模型,使其能够进行文旅领域知识问答,同时通过人工测试验证了微调的效果。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
1月前
|
缓存 人工智能 安全
90% 的人不知道 Claude Code 还有插件系统!官方从未公开的 6 大组件深度拆解
本文深度拆解 Claude Code 插件系统的 6 大核心组件:Skills、Hooks、Agents、MCP、规则文件与配置系统,帮你快速上手插件开发与管理。
389 1
|
机器学习/深度学习 分布式计算 DataWorks
EasyRec 使用介绍|学习笔记
快速学习 EasyRec 使用介绍。
2194 0
|
6月前
|
缓存 Rust 算法
使用 uv 的优点分析:为什么它正在取代 pip
uv 以 Rust 打造,速度比 pip 快 10–100 倍,依赖解析毫秒级完成。命令完全兼容,零学习成本迁移。虚拟环境创建更快、更小、更智能,适合日常开发、CI 自动化等场景,显著提升 Python 开发效率。
|
1月前
|
机器学习/深度学习 人工智能 网络架构
深度解析:Transformer 的“灵魂”——QKV 变换的物理直觉
本文用图书馆检索等生活隐喻,从物理意义与认知科学角度解析Transformer中QKV设计的精妙本质:解耦查询(q)、键(k)、值(v)三重角色,实现语义分离、避免自注意力“自恋”,模拟人类动态信息路由的认知过程。(239字)
396 13
|
3月前
|
机器学习/深度学习 搜索推荐 数据处理
PAI-Rec推荐开发平台:企业级智能推荐解决方案,驱动业务全域增长
PAI-Rec是阿里云一站式推荐系统平台,集成多路召回、多目标精排(如DBMTL)、GPU加速推理与灵活迭代能力,已助力电商、直播、音视频等多行业提升点击率、转化率与ROI,实现高效、低成本、可自主演进的智能推荐。
464 16
|
3月前
|
存储 搜索推荐 PyTorch
为什么使用 TorchRec 训练和推理更快
本文结合TorchEasyRec实践,从四大维度解析推荐系统加速:1)KeyedJaggedTensor统一变长特征,实现Embedding批量融合查找;2)自动分布式分片突破单卡显存瓶颈;3)TrainPipelineSparseDist流水线并行,重叠通信与计算;4)fbgemm-gpu融合优化器,减少显存访问。端到端提升训练效率与扩展性。
500 9
|
3月前
|
存储 搜索推荐 Python
TorchRec大量使用Jagged Tensor
Jagged Tensor(锯齿张量)是专为变长序列设计的紧凑存储格式,用values+lengths/offsets替代padding,显著节省内存与计算。广泛应用于推荐系统中用户行为、多值标签等不等长特征处理,如HSTU模型中的拼接、拆分与矩阵乘法操作。
412 8
|
3月前
|
机器学习/深度学习 自然语言处理 iOS开发
Feature Generator(FG)特征算子配置指南
本文档全面介绍Feature Generator(FG)的各类特征算子配置方法,涵盖基础(ID/原始特征)、计算(表达式)、交叉(组合)、查找(Lookup/Match)、文本(重叠/BM25)、序列、预处理(分词/归一化)及字符串处理(正则替换/切片)等9大类算子,附详细配置示例与说明。
448 9
|
3月前
|
机器学习/深度学习 JSON 自然语言处理
PAI-Rec 特征工程全解析:统计特征、实时特征、序列特征与 FG 特征算子
PAI-Rec是阿里云智能推荐的特征工程解决方案,支持离线统计、实时及序列特征自动衍生,并通过Feature Generator(17种内置算子)保障离线/在线特征一致性,大幅降低开发与维护成本。
632 9
|
3月前
|
机器学习/深度学习 分布式计算 搜索推荐
PAI-Rec 召回引擎:构建高性能推荐系统的核心引擎
PAI-Rec是阿里云智能推荐平台的核心召回引擎,经阿里大规模场景验证。支持多路召回融合(U2I/I2I/向量/随机)、召回即过滤、毫秒级实时更新与分布式弹性架构,开箱即用,助力企业构建毫秒级、高精度、强实时的推荐系统。
463 9