打破算力瓶颈,快速部署AI大模型应用

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 打破算力瓶颈,快速部署AI大模型应用

作者:庄宇


大语言模型的问世掀起了新一波的 AI 浪潮,而受限于个人电脑的算力资源,用户通常无法在本地运行一个资源需求庞大的AI应用。同样,由于GPU资源紧张,在本地数据中心运行大模型应用也存在挑战。同时近年来 Kubernetes 技术的兴起,也使得协同调度不同架构的计算资源成为可能。然而本地 Kubernetes 集群在运行诸如 AI 模型等对算力资源要求巨大的应用时,往往会面临资源不足的问题,因此越来越多的企业和用户选择采用混合云架构来部署自己的应用和服务。


在之前的文章 选对方法,K8s多集群管理没那么难 中,我们介绍过阿里云 ACK One 注册集群正是为混合云架构而生。无论是本地自建集群还是其他公共云厂商集群,都能够接入注册集群,在阿里云控制台进行统一操作和管理。本文介绍如何在本地通过 kind 快速创建一个 Kubernetes 集群,接入阿里云注册集群,通过本地kind集群提交一个 AI 聊天机器人服务 FastChat,最终通过云上资源运行。


关于 kind

kind 是一个通过使用 docker 容器来模拟节点,帮助用户快速创建本地 Kubernetes 集群的工具。安装 kind 前需要先安装 docker 环境。macOS 用户可以按照如下命令安装 docker 和 kind:


brew install --cask docker
brew install kind


其余系统下 kind 的安装请参见:kind 官方安装教程。安装完成后,可以快速在本地创建一个 Kubernete 集群:


kind create cluster


关于 onectl

Onectl 是阿里云分布式云容器平台的命令行工具,可以帮助用户快捷管理注册集群和集群组件。其主要功能包括:


  • 集群管理:帮助用户在本地管理云上注册集群,包括注册集群的创建、连接、删除与状态描述。
  • 组件管理:帮助用户在本地管理注册集群中安装的组件,包括组件的安装、升级、卸载等。


image.png


更多关于 onectl 的功能描述、安装方法、使用步骤,请参见如何使用 onectl 管理注册集群


基于注册集群快速部署一个 AI 聊天服务

前提条件

  • 已在本地部署 Kubernetes 集群
  • 已在本地安装并配置 onectl


通过 onectl 创建并连接注册集群

以交互式的方式创建注册集群,根据提示选择地域、VPC 等信息即可:


onectl cluster create -i
onectl cluster describe --cluster-id xxx //获取集群状态,等待状态变为waiting


连接注册集群:


onectl cluster connect --cluster-id ***


更多关于使用 onectl 创建注册集群的信息,请参见如何通过onectl创建注册集群


安装组件

要使注册集群能够使用阿里云的云上资源,并对外提供 LoadBalance 类型的 Service,需要安装 ack-virtual-node 组件和 cloud-controller-manager 组件:


onectl addon install ack-virtual-node --version v2.8.0
onectl addon install cloud-controller-manager


部署 AI 聊天服务 FastChat

FashChat 服务的资源文件 fastchat.yaml:


---
apiVersion: v1
kind: Pod
metadata:
  labels:
    app: fastchat
    alibabacloud.com/eci: "true"
  annotations:
    # 指定云上GPU机型
    k8s.aliyun.com/eci-use-specs: ecs.gn6i-c8g1.2xlarge,ecs.gn5-c8g1.2xlarge,ecs.gn6v-c8g1.8xlarge,ecs.gn6i-c16g1.4xlarge
    # 指定存储空间
    k8s.aliyun.com/eci-extra-ephemeral-storage: 100Gi
  name: fastchat
  namespace: default
spec:
  activeDeadlineSeconds: 3600 # 默认运行1小时,节省成本,避免忘记删除
  schedulerName: eci-scheduler
  dnsPolicy: Default
  containers:
  - command:
    - sh
    - -c
    - "/root/webui.sh"
    image: yunqi-registry.cn-shanghai.cr.aliyuncs.com/lab/fastchat:v1.1.0
    imagePullPolicy: IfNotPresent
    name: fastchat
    ports:
    - containerPort: 7860
      protocol: TCP
    readinessProbe:
      failureThreshold: 3
      initialDelaySeconds: 5
      periodSeconds: 10
      successThreshold: 1
      tcpSocket:
        port: 7860
      timeoutSeconds: 1
    resources:
      requests:
        cpu: "8"
        memory: 16Gi
      limits:
        nvidia.com/gpu: 1
---
apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: internet
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-instance-charge-type: PayByCLCU
  name: fastchat-svc
  namespace: default
spec:
  externalTrafficPolicy: Local
  ports:
  - port: 7860
    protocol: TCP
    targetPort: 7860
  selector:
    app: fastchat
  type: LoadBalancer


其中,labels 中的 aibabacloud.com/eci 字段指定使用云上 ECI 资源运行此应用,annotations 中的 k8s.aliyun.com/eci-use-specs 指定 ECI 的资源规格。


检查服务状态:


kubectl get svc fastchat-svc


预期输出:


NAME           TYPE           CLUSTER-IP    EXTERNAL-IP    PORT(S)          AGE
fastchat-svc   LoadBalancer   10.96.119.1   47.xxx.xxx.27   7860:30631/TCP   95s


访问 AI 聊天服务

打开浏览器,访问 http://47.xxx.xxx.27:7860


image.png


可以看到 AI 聊天服务 FastChat 已经部署成功,并已经能正常对外提供服务。至此,我们成功在本地kind集群提交了一个AI大模型应用,并成功使用云上计算资源运行。通过接入云上无限算力,打破了本地计算资源瓶颈。


资源清理

服务使用完成后,清理相应资源:


kubectl delete -f fastchat.yaml


相关链接:

[1] 注册集群概述:

https://help.aliyun.com/document_detail/155208.html

[2] 通过 onectl 管理注册集群

https://help.aliyun.com/zh/ack/distributed-cloud-container-platform-for-kubernetes/user-guide/use-onectl-to-manage-registered-clusters

[3] 通过 onectl 创建注册集群

https://help.aliyun.com/zh/ack/distributed-cloud-container-platform-for-kubernetes/user-guide/create-a-registered-cluster-by-using-onectl

[4] 扩容弹性容器实例ECI

https://help.aliyun.com/zh/ack/distributed-cloud-container-platform-for-kubernetes/user-guide/scale-out-elastic-container-instances


11月21日直播预告:如何基于分布式云容器平台 ACK One 实现跨云协同?


  • 全面上云已成现状,目前行业对云原生容器工程师的需求是什么样?人才缺口有多大?
  • ACP 认证的价值和好处是什么?对整个行业的云原生人才培养有哪些积极影响?
  • 云原生领域新进展?未来我们需要重点关注云原生哪些技术?快来直播间与大咖互动提问吧~


直播时间:2023年11月21日(周二)20:00

直播嘉宾:阿里云高级技术专家,庄宇;极客帮科技联合创始人&CEO 司巧蕾


点击下方链接或扫描海报二维码即刻预约:

https://live.geekbang.org/room/1952?utm_source=aliyun&utm_medium=zhibotuiguang&utm_term=aliyunzhibotuiguang

image.png

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
CogAgent-9B:智谱 AI 开源 GLM-PC 的基座模型,专注于预测和执行 GUI 操作,可应用于自动化交互任务
CogAgent-9B 是智谱AI基于 GLM-4V-9B 训练的专用Agent任务模型,支持高分辨率图像处理和双语交互,能够预测并执行GUI操作,广泛应用于自动化任务。
39 12
CogAgent-9B:智谱 AI 开源 GLM-PC 的基座模型,专注于预测和执行 GUI 操作,可应用于自动化交互任务
|
1天前
|
机器学习/深度学习 人工智能 监控
AI在交通管理系统中的应用
AI在交通管理系统中的应用
30 22
|
3天前
|
人工智能 API
新年课程开启:手把手教学,0基础5次课程学会搭建无限拓展的AI应用
你是否想过自己也能动手搭建一个AI应用?现在,这个目标触手可及!
|
19小时前
|
数据采集 人工智能 搜索推荐
SocraticLM:通过 AI 提问引导学生主动思考,中科大与科大讯飞联合推出苏格拉底式教育大模型
SocraticLM 是由中科大和科大讯飞联合开发的苏格拉底式教学大模型,通过提问引导学生主动思考,提供个性化教学,显著提升教学效果。
15 5
SocraticLM:通过 AI 提问引导学生主动思考,中科大与科大讯飞联合推出苏格拉底式教育大模型
|
6天前
|
人工智能 自然语言处理 前端开发
三大行业案例:AI大模型+Agent实践全景
本文将从AI Agent和大模型的发展背景切入,结合51Talk、哈啰出行以及B站三个各具特色的行业案例,带你一窥事件驱动架构、RAG技术、人机协作流程,以及一整套行之有效的实操方法。具体包含内容有:51Talk如何让智能客服“主动进攻”,带来约课率、出席率双提升;哈啰出行如何由Copilot模式升级为Agent模式,并应用到客服、营销策略生成等多个业务场景;B站又是如何借力大模型与RAG方法,引爆了平台的高效内容检索和强互动用户体验。
78 5
|
3天前
|
人工智能 供应链 安全
面向高效大模型推理的软硬协同加速技术 多元化 AI 硬件引入评测体系
本文介绍了AI硬件评测体系的三大核心方面:统一评测标准、平台化与工具化、多维度数据消费链路。通过标准化评测流程,涵盖硬件性能、模型推理和训练性能,确保评测结果客观透明。平台化实现资源管理与任务调度,支持大规模周期性评测;工具化则应对紧急场景,快速适配并生成报告。最后,多维度数据消费链路将评测数据结构化保存,服务于综合通用、特定业务及专业性能分析等场景,帮助用户更好地理解和使用AI硬件。
|
3天前
|
人工智能 自然语言处理 API
大模型编程(3)让 AI 帮我调接口
这是大模型编程系列第三篇,分享学习某云大模型工程师ACA认证免费课程的笔记。本文通过订机票和查天气的例子,介绍了如何利用大模型API实现函数调用,解决实际业务需求。课程内容详实,推荐感兴趣的朋友点击底部链接查看原文,完全免费。通过这种方式,AI可以主动调用接口并返回结果,极大简化了开发流程。欢迎在评论区交流实现思路。
30 1
|
2天前
|
人工智能 运维 API
PAI企业级能力升级:应用系统构建、高效资源管理、AI治理
PAI平台针对企业用户在AI应用中的复杂需求,提供了全面的企业级能力。涵盖权限管理、资源分配、任务调度与资产管理等模块,确保高效利用AI资源。通过API和SDK支持定制化开发,满足不同企业的特殊需求。典型案例中,某顶尖高校基于PAI构建了融合AI与HPC的科研计算平台,实现了作业、运营及运维三大中心的高效管理,成功服务于校内外多个场景。
|
2月前
|
人工智能 JSON API
阿里云文档智能 & RAG解决方案:提升AI大模型业务理解与应用
阿里云推出的文档智能 & RAG解决方案,旨在通过先进的文档解析技术和检索增强生成(RAG)方法,显著提升人工智能大模型在业务场景中的应用效果。该方案通过文档智能(Document Mind)技术将非结构化文档内容转换为结构化数据,提取文档的层级树、样式和版面信息,并输出为Markdown和Json格式,为RAG提供语义分块策略。这一过程不仅解决了文档内容解析错误和切块丢失语义信息的问题,还优化了输出LLM友好的Markdown信息。方案的优势在于其多格式支持能力,能够处理包括Office文档、PDF、Html、图片在内的主流文件类型,返回文档的样式、版面信息和层级树结构。
144 2
|
3月前
|
机器学习/深度学习 人工智能 运维
企业内训|LLM大模型在服务器和IT网络运维中的应用-某日企IT运维部门
本课程是为某在华日资企业集团的IT运维部门专门定制开发的企业培训课程,本课程旨在深入探讨大型语言模型(LLM)在服务器及IT网络运维中的应用,结合当前技术趋势与行业需求,帮助学员掌握LLM如何为运维工作赋能。通过系统的理论讲解与实践操作,学员将了解LLM的基本知识、模型架构及其在实际运维场景中的应用,如日志分析、故障诊断、网络安全与性能优化等。
101 2