下沙网站建设,企业官网 开源,网站制作应该注意到的问题,东莞市交易中心网作者#xff1a;元毅
随着 AI 浪潮的到来#xff0c;各种 AI 应用层出不穷#xff0c;众所周知 AI 应用对 GPU 资源强烈依赖#xff0c;但 GPU 很昂贵#xff0c;如何降低 GPU 资源使用成本成为用户首要问题。而 AI 与 Serverless 技术结合#xff0c;完全可以达到按需使…作者元毅
随着 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: sklearnstorageUri: 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服务访问
获取服务访问地址
$ kubectl get albconfig knative-internet
NAME ALBID DNSNAME PORTPROTOCOL CERTID AGE
knative-internet alb-hvd8nngl0lsdra15g0 alb-hvd8nngl0lsdra15g0.cn-beijing.alb.aliyuncs.com 24m在文件中准备您的推理输入请求
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访问
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.1Host: sklearn-iris-predictor-default.default.example.comUser-Agent: curl/7.84.0Accept: */*Content-Length: 76Content-Type: application/x-www-form-urlencoded* Mark bundle as not supporting multiuseHTTP/1.1 200 OKcontent-length: 21content-type: application/jsondate: Wed, 21 Jun 2023 03:17:23 GMTserver: envoyx-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 快速入门”活动任务获得阿里云限量定制鸭舌帽 快来参加吧