如何基于 ACK Serverless 快速部署 AI 推理服务

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 如何基于 ACK Serverless 快速部署 AI 推理服务

作者:元毅

随着 AI 浪潮的到来,各种 AI 应用层出不穷,众所周知 AI 应用对 GPU 资源强烈依赖,但 GPU 很昂贵,如何降低 GPU 资源使用成本成为用户首要问题。而 AI 与 Serverless 技术结合,完全可以达到按需使用资源,降低资源成本的目的。


那么在云原生场景下,是否有这样开箱即用、标准、开放的方案呢?答案是有。我们在 ACK Serverless 中提供 Knative + KServe 的方案,可以帮助用户快速部署 AI 推理服务,按需使用,在无请求时支持 GPU 资源自动缩容到 0,大幅节省 AI 应用场景下资源使用成本。


关于 ACK Serverless


容器服务 Serverless 版 ACK Serverless 是一款基于阿里云弹性计算基础架构之上,同时完全兼容 Kubernetes 生态,安全、可靠的容器产品。通过 ACK Serverless,您无需管理和维护 k8s 集群即可快速创建 Kubernetes 容器应用,支持多种 GPU 资源规格,并且根据应用实际使用的资源量进行按需付费。



Knative 与 KServe


Knative 是一款基于 Kubernetes 之上的开源 Serverless 应用架构,提供基于请求的自动弹性、缩容到 0 以及灰度发布等功能。通过 Knative 部署 Serverless  应用可以做到专注于应用逻辑开发,资源按需使用。


而 KServe 提供了一个简单的 Kubernetes CRD,可以将单个或多个经过训练的模型部署到模型服务运行时,例如 TFServing、TorchServe、Triton 等推理服务器。这些模型服务运行时能够提供开箱即用的模型服务,KServe 提供基本 API 原语,让您轻松构建自定义模型服务运行时。基于 Knative 使用 InferenceService 部署推理模型后,您将获得以下 Serverless 能力:


  • 缩容到 0
  • 基于 RPS、并发数、CPU/GPU 指标自动弹性
  • 多版本管理
  • 流量管理
  • 安全认证
  • 开箱即用可观测性


KServe 模型服务控制面主要由 KServe Controller 负责,用于协调 InferenceService 自定义资源并创建 Knative Service 服务,可以实现根据请求流量实现自动缩放,以及在未收到流量时缩小到零。



基于 KServe 快速部署第一个推理服务


在本文中,我们将部署一个带有预测能力的 InferenceService 推理服务,该推理服务将使用 iris(鸢尾花)数据集训练的 scikit-learn 模型。该数据集具有三个输出类别:Iris Setosa(山鸢尾,索引:0)、Iris Versicolour(杂色鸢尾花,索引:1)和 Iris Virginica(弗吉尼亚鸢尾,索引:2)。最后您可以向部署的模型发送推理请求,以便预测对应的鸢尾植物类别。


前提条件

  • 已开通 ACK Serverless[1]
  • 部署 KServe[2]


当前阿里云 Knative 支持一键部署 KServe。支持 ASM、ALB、MSE 以及 Kourier 等网关能力。


创建 InferenceService 推理服务


kubectl apply -f - <<EOF
apiVersion: "serving.kserve.io/v1beta1"
kind: "InferenceService"
metadata:
  name: "sklearn-iris"
spec:
  predictor:
    model:
      modelFormat:
        name: sklearn
      storageUri: "gs://kfserving-examples/models/sklearn/1.0/model"
EOF


检查服务状态:


kubectl get inferenceservices sklearn-iris


预期输出:


NAME           URL                                                         READY   PREV   LATEST   PREVROLLEDOUTREVISION   LATESTREADYREVISION                    AGE
sklearn-iris   http://sklearn-iris-predictor-default.default.example.com   True           100                              sklearn-iris-predictor-default-00001   51s


服务访问

1. 获取服务访问地址


$ kubectl get albconfig knative-internet
NAME               ALBID                    DNSNAME                                              PORT&PROTOCOL   CERTID   AGE
knative-internet   alb-hvd8nngl0lsdra15g0   alb-hvd8nngl0lsdra15g0.cn-beijing.alb.aliyuncs.com                            24m


2. 在文件中准备您的推理输入请求

iris 数据集是由三种鸢尾花,各 50 组数据构成的数据集。每个样本包含 4 个特征,分别为萼片(sepals)的长和宽、花瓣(petals)的长和宽。


cat <<EOF > "./iris-input.json"
{
  "instances": [
    [6.8,  2.8,  4.8,  1.4],
    [6.0,  3.4,  4.5,  1.6]
  ]
}
EOF


3. 访问


INGRESS_DOMAIN=$(kubectl get albconfig knative-internet -o jsonpath='{.status.loadBalancer.dnsname}')
SERVICE_HOSTNAME=$(kubectl get inferenceservice sklearn-iris -o jsonpath='{.status.url}' | cut -d "/" -f 3)
curl -v -H "Host: ${SERVICE_HOSTNAME}" "http://${INGRESS_DOMAIN}/v1/models/sklearn-iris:predict" -d @./iris-input.json


预期输出:


*   Trying 39.104.203.214:80...
* Connected to 39.104.203.214 (39.104.203.214) port 80 (#0)
> POST /v1/models/sklearn-iris:predict HTTP/1.1
> Host: sklearn-iris-predictor-default.default.example.com
> User-Agent: curl/7.84.0
> Accept: */*
> Content-Length: 76
> Content-Type: application/x-www-form-urlencoded
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< content-length: 21
< content-type: application/json
< date: Wed, 21 Jun 2023 03:17:23 GMT
< server: envoy
< x-envoy-upstream-service-time: 4
<
* Connection #0 to host 39.104.203.214 left intact
{"predictions":[1,1]}


您应该看到返回了两个预测(即 {"predictions": [1, 1]}),该结果为推理发送的两组数据点对应于索引为 1 的花,模型预测这两种花都是 “Iris Versicolour(杂色鸢尾花)”。


小结


当前 ACK  Serverless 已全新升级,顺应了 AI 等新场景爆发下催生的新需求,以标准、开放、灵活的方式帮助企业更简单、平滑地向 Serverless 业务架构演进。基于ACK Serverless 结合 KServe 可以给你带来 AI 模型推理场景下极致的 Serverless 体验。


相关链接:

[1] 开通 ACK Serverless

https://help.aliyun.com/zh/ack/serverless-kubernetes/user-guide/create-an-ask-cluster-2

[2] 部署 KServe

https://help.aliyun.com/zh/ack/ack-managed-and-ack-dedicated/user-guide/knative-support-kserve


点击此处,完成“ACK Serverless 快速入门”活动任务,获得阿里云限量定制鸭舌帽,快来参加吧!

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。 &nbsp; &nbsp; 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
4天前
|
人工智能 运维 安全
加速智能体开发:从 Serverless 运行时到 Serverless AI 运行时
在云计算与人工智能深度融合的背景下,Serverless 技术作为云原生架构的集大成者,正加速向 AI 原生架构演进。阿里云函数计算(FC)率先提出并实践“Serverless AI 运行时”概念,通过技术创新与生态联动,为智能体(Agent)开发提供高效、安全、低成本的基础设施支持。本文从技术演进路径、核心能力及未来展望三方面解析 Serverless AI 的突破性价值。
|
3月前
|
人工智能 运维 Serverless
活动邀请 | 阿里云AI原生应用开发实战营—Serverless AI 专场(北京站)开启报名!
阿里云 AI 原生应用开发实战营——Serverless AI 专场将于 2025 年 8 月 1 日在北京举办。活动聚焦 Serverless 架构如何助力 AI 应用解决算力成本高、资源弹性需求高、运维复杂等难题,提供分钟级构建生产级 AI 应用的实战体验。
|
28天前
|
人工智能 运维 安全
聚焦 AI 应用基础设施,云栖大会 Serverless AI 全回顾
2025 年 9 月 26 日,为期三天的云栖大会在杭州云栖小镇圆满闭幕。随着大模型技术的飞速发展,我们正从云原生时代迈向一个全新的 AI 原生应用时代。为了解决企业在 AI 应用落地中面临的高成本、高复杂度和高风险等核心挑战,阿里云基于函数计算 FC 发布一系列重磅服务。本文将对云栖大会期间 Serverless+AI 基础设施相关内容进行全面总结。
|
1月前
|
人工智能 Cloud Native 中间件
【云栖大会】AI原生、AI可观测、AI Serverless、AI中间件,4场论坛20+议题公布!
2025 年 9 月 24 日至 26 日,杭州·云栖小镇,4 大论坛、20+ 主题分享,从云原生到 AI 原生,我们诚邀您共赴企业智能化升级浪潮之巅。
|
4月前
|
人工智能 Serverless API
Serverless 加 AI 让应用开发更简单
本文介绍了 Serverless 技术在 AI 领域的应用及 FunctionAI 平台的功能与优势。首先探讨了 Serverless 解决的核心问题,包括降低成本和提升效率。接着分析了构建 AI 应用的阻碍因素,如技术积累不足、大模型迭代快及算力资源有限。FunctionAI 平台通过按需模型托管、一键部署、流程式开发工具和灵活组装能力,帮助企业降低试错成本并提高开发效率。平台架构分为四层,涵盖模型层、开发层、服务层和部署层。实际应用场景包括图像生成、外部开发者支持及大流量处理等。最后,通过客户案例展示了平台在弹性扩展与成本优化方面的价值。
|
5月前
|
安全 搜索推荐 Serverless
HarmonyOS5云服务技术分享--Serverless抽奖模板部署
本文详细介绍了如何使用华为HarmonyOS的Serverless模板快速搭建抽奖活动,手把手教你完成从前期准备到部署上线的全流程。内容涵盖账号注册、云函数配置、参数调整、托管上线及个性化定制等关键步骤,并附带常见问题解答和避坑指南。即使是零基础用户,也能轻松上手,快速实现抽奖活动的开发与部署。适合希望高效构建互动应用的开发者参考学习。
|
运维 Cloud Native 关系型数据库
活动回顾|阿里云 Serverless 技术实战与创新成都站回放&PPT下载
7月29日“阿里云 Serverless 技术实战与创新”成都站圆满落幕。可免费下载成都站|阿里云 Serverless 沙龙演讲 PPT。
|
人工智能 弹性计算 运维
阿里云宣布 Serverless 应用引擎 SAE2.0 将公测上线,多款产品全新升级
阿里云宣布 Serverless 应用引擎 SAE2.0 将公测上线,多款产品全新升级
70567 53
|
人工智能 弹性计算 运维
阿里云容器服务 Serverless 版(ACK Serverless)全新升级
阿里云容器服务 Serverless 版(ACK Serverless)全新升级
1759 10

相关产品

  • 容器服务Kubernetes版
  • 推荐镜像

    更多