AI整体架构设计4:理解AI云原生

news2025/2/24 8:12:09

泛AI架构设计这个专栏主要关注围绕着AI运用于实际的业务场景所需的系统架构设计,包括业务数据治理、模型训练与管理、模型部署与调度。整体基于云原生技术,旨在通过开源领域的LLMOps或者MLOps技术,充分运用低代码平台构建高性能、高效率和敏捷响应的AI中台。

该专栏需要具备一定的计算机基础,专栏的前部会以基础知识点为主,后部会将这些知识点串起来。虽然文章已经深入浅出,还需仔细推敲。若卡在某篇文章,则请回到AI架构设计专栏再细细推敲。斯坦福2024人工智能报告则面向入门者通识性专栏。若已经稍有基础,则可以深入理解如何优雅的谈论大模型。技术宅麻烦死磕LLM背后的基础模型。

AI架构挑战

上面几节从GPU的知识点入手,清晰的介绍了GPU原理、构造以及运算模型。有了初步的认知之后,回到最原始的AI需求,来看看其对于基础架构的要求。AI最早于1956年提出,数十年沉沉浮浮,最后还是被广泛的运用于语音识别、机器学习、翻译、图像处理。深度学习的创新推出,使得近期人工智能有了突破性的增长。AI分为Discriminative AI和Generative AI两类,前者用于预测与分类,后者用于学习知识生成。下面的表格列出两种AI对于各项基础设施的需求:

需求生成式AI预测式AI
计算资源

极其高

需要专业化的硬件

中到高

一般用途硬件

数据容量大量且多样化格式专业化的历史数据
训练与微调

复杂

多轮的专业化计算

中等强度的训练
扩展与弹性高度的可扩展和弹性的基础设施(应对可变和密集计算)

可扩展性

弹性要求较低,支持流批一体处理

存储与吞吐

高性能高吞吐低延时

支持多样化的数据类型

中等吞吐量 

注重数据分析,大部分为架构化

网络带宽

高带宽低延时,支持模型分布式训练

数据访问需要一致性和可靠

从上面各种AI对于基层基础设施的需求,有经验的工程师一般都能浮现一个关键的名词:云原生。

云原生技术使组织能够在公共云、私有云和混合云等现代化的动态环境中构建和运行可扩展的应用程序。容器、服务网格、微服务、基础设施和声明式 API 就是其中的典型案例。这些技术使低耦合的系统具有弹性、可管理和可监测。通过和Devops结合,工程师能够以低成本实现高频且可预测的系统迭代。

为什么要基于云原生

下图则直观的将AI所需要的关系图勾勒出来,黑色为某种能力,红色为两者的关系,箭头代表着谁服务于谁。例如编排(Orchestration)需要解决数据科学的可扩展性,而模型服务则为数据科学提供部署能力,自动化建模数据科学提供自动化。希望读者还是花点时间仔细推敲下这幅图。

因此可以看到编排设计很重要的,它贯穿所有环节,其次对于每个能力对象的技术选型也十分关键。

那么AI为什么要基于云原生,因为云原生给AI带来很多的益处。按照CNAI的定义基于云原生的AI架构解决了人工智能应用科学家、开发人员和部署人员在云基础设施上开发、部署、运行、扩展和监控人工智能工作负载时面临的挑战。通过利用底层云基础设施的能力(例如CPU、GPU、网络和存储),提供隔离和受控共享机制,加速AI应用程序性能并降低成本。其实很大顶尖的公司都是将AI搭建在云原生的基础上,尤其是Kubernetes。

这里需要先科普下Kubernetes,它是一个编排平台,可用于部署和管理容器。容器是轻量级、可移植、独立的软件单元。AI模型可以打包到容器,然后部署到K8s集群。容器化对于AI部署尤其重要,因为不同模型依赖于不同版本的底层类库,经常会发生冲突。采用容器技术,可以解决依赖关系冲突的问题,且在模型部署中能够提供巨大的灵活性。

举个栗子:在一个服务器上面将A和B的应用打包到两个容器,一个容器里面装了Ubuntu系统,另一个容器里面装了Linux系统。两个容器可以看成是小的世界,都可以跑在服务器的操作系统上面。两个应用各自所需要的环境互不打扰。而且容器可以随时销毁,随时启动。

在存储方面,高质量的数据用于训练和测试人工智能模型,云原生基础设施可以通过多种方式访问数据,例如数据湖和数据仓库。无论是私有还是公有的云技术都能够支持块、对象和文件存储系统,非常适合提供低成本、可扩展的存储。

例如,模型的大小可以达到千兆字节。在训练阶段,每次拉取模型的检查点都会对网络和存储带宽造成严重负载。 对模型采用容器化设计,且在注册表中完成托管和缓存则能有效解决,同时还有利于模型的加签、验证、证明和数据来源管控。

AI云原生架构

下图为CNAI提出来的AI云原生架构,它将整个架构设计分为五层,从下往上分别是硬件层,基础设施层,云原生平台层,AIOps/MLOps/LLMOps层,最顶层则为模型应用层。这个专栏还是关注在上三层,除此之外也会覆盖到新的计算资源GPU,以及其调度策略。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1682647.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring Cloud Gateway 网关

一. 什么是网关(Gateway) 网关就是一个网络连接到另一个网络的关口。 在同一个项目或某一层级中,存在相似或重复的东西,我们就可以将这些相似重复的内容统一提取出来,向前或向后抽象成单独的一层。这个抽象的过程就是…

简述MyBatis中#{}引用和${}引用的区别

各位大佬光临寒舍,希望各位能赏脸给个三连,谢谢各位大佬了!!! 目录 1.有无预编译 优点 缺点 2.SQL执行的快慢 3.能否被SQL注入 4.参数输入方式 5.总结 1.有无预编译 #{}是有预编译的而${}是没有预编译的&…

深度学习之基于Yolov3的行人重识别

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 行人重识别(Person Re-Identification,简称ReID)是计算机视觉领域…

基础2 JAVA图形编程桌面:探索图形程序的抽象实现

嘿,大家好!我非常高兴又一次有机会与大家相聚,分享新的知识和经验。对于热爱编程和探索新技术的朋友们来说,今天的内容绝对不容错过。我为大家准备了一个详尽的视频教程:《基础2 JAVA 图形编程:主程序调用…

软件协作开发方法论

引言 作为程序员,你是否有过这样的经历?软件发版前,你需要把你的代码合并到主分支,拉取主分支代码后,发现有数十个文件冲突,你开始小心翼翼地解决冲突,有些其实你也不知道咋处理,几…

Spring Cloud Alibaba-08-SMS短信服务

Lison <dreamlison163.com>, v1.0.0, 2024.5.1 Spring Cloud Alibaba-08-SMS短信服务 短信服务介绍 短信服务(Short Message Service)是阿里云为用户提供的一种通信服务的能力。 产品优势:覆盖全面、高并发处理、消息堆积处理、开发管理简单、智能监控调度 产品功能:短…

linux 排查java内存溢出(持续更新中)

场景 tone.jar 启动后内存溢出,假设pid 为48044 排查 1.确定java程序的pid(进程id) ps 或 jps 都可以 ps -ef | grep tone jps -l 2.查看堆栈信息 jmap -heap 48044 3.查看对象的实例数量显示前30 jmap -histo:live 48044 | head -n 30 4.查看线程状态 jstack 48044

5.23 学习总结

一.项目优化&#xff08;语音通话&#xff09; 实现步骤&#xff1a; 1.用户发送通话申请&#xff0c;并处理通话请求&#xff0c;如果同意&#xff0c;为两个用户之间进行连接。 2.获取到电脑的麦克风和扬声器&#xff0c;将获取到的语音信息转换成以字节数组的形式传递。 …

宇宙“超级地球”系列,你知道几个?

在宇宙中&#xff0c;可能存在着类地行星&#xff0c;这样的行星可能同样也拥有适宜生命存在的条件。银河系大约有60亿颗类地行星。 开普勒442b 这是脱离太阳系以后&#xff0c;人类发现的第二颗离地球最近的类地行星。开普勒442b这颗类地行星位于天鹅座&#xff0c;离地球约有…

机器学习势系列教程(3):cp2k的安装

大家好&#xff0c;我是小马老师。 本文继续介绍机器学习势相关内容&#xff1a;cp2k的安装。 和abacus一样&#xff0c;cp2k也是一款开源的第一性原理模拟软件&#xff0c;模拟的数据也可作为机器学习势的训练数据集。 cp2k安装方法也很多&#xff0c;常见的有docker安装、…

数据可视化第十天(爬虫爬取某瓣星际穿越电影评论,并且用词云图找出关键词)

开头提醒 本次爬取的是用户评论&#xff0c;只供学习使用&#xff0c;不会进行数据的传播。希望大家合法利用爬虫。 获得数据 #总程序 import requests from fake_useragent import UserAgent import timefuUserAgent()headers{User-Agent:fu.random }page_listrange(0,10) …

AI绘画Stable diffusion小白入门:文生图精讲,超全干货一定要看!

大家好&#xff0c;我是设计师阿威 今天&#xff0c;我们将深入了解Stable diffusion的文生图功能&#xff0c;让你也能生成满意的图片&#xff01; 如上图&#xff0c;这是Stable diffusion的文生图界面&#xff0c;这个界面总体可以分为五个区域&#xff1a; 模型区&#xf…

NegativePrompt:利用心理学通过负面情绪刺激增强大型语言模型

【摘要】大型语言模型 (LLM) 已成为各种应用不可或缺的一部分&#xff0c;从传统的计算任务到高级人工智能 (AI) 应用。这种广泛的应用促使社会科学等各个学科对 LLM 进行了广泛的研究。值得注意的是&#xff0c;研究表明 LLM 具有情商&#xff0c;可以通过积极的情绪刺激进一步…

UNION的使用

UNION的使用 给出将多条查询语句组合成单个结果集&#xff0c;两个表对应的列数和数据类型必须相同 UNION操作符&#xff1a; 返回两个查询结果集的并集&#xff0c;并去除重复记录 UNION ALL操作符 返回两个查询的结果集的并集。不去掉两个结果集的重复部分&#xff0c;重…

为什么说change Buffer写缓冲区,仅适用于辅助索引页

change buffer: 写缓冲区&#xff0c;是针对于二级索引页的更新优化措施。 change Bufer作用:在进行DML操作的时候&#xff0c;如果请求的是辅助索引(非唯一索引)并且没有在缓冲池中&#xff0c;并不会立刻将磁盘页加载到缓冲池&#xff0c;而是在CB记录缓冲变 更&#xff0c…

JVM(7):虚拟机性能分析和故障解决工具之jstat工具

1 jstat(JVM Statistics Monitoring Tool)作用 监视虚拟机各种运行状态信息&#xff0c;可以显示本地或者是远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据 2 命令格式 jstat [options vmid [interval[count]]] 参数解释 第一个参数&#xff1a;options 代…

linux:信号深入理解

文章目录 1.信号的概念1.1基本概念1.2信号的处理基本概念1.3信号的发送与保存基本概念 2.信号的产生2.1信号产生的五种方式2.2信号遗留问题(core,temp等) 3.信号的保存3.1 信号阻塞3.2 信号特有类型 sigset_t3.3 信号集操作函数3.4 信号集操作函数的使用 4.信号的处理4.1 信号的…

CSS学习笔记之中级教程(三)

14、CSS 下拉菜单 14.1 示例1&#xff1a;普通弹窗 思路&#xff1a;弹窗内容先隐藏display: none;&#xff0c;:hover时候修改弹窗部分的 display: block; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><me…

IT学习笔记--Kafka

Kafka概述: 定义: Kafka是一个分布式的基于发布/订阅模式的消息队列&#xff0c;主要应用于大数据实时处理领域。 消息队列消息队列的两种模式: 点对点模式: 消息生产者生产消息发送到Queue中&#xff0c;然后消息消费者从Queue中取出并且消费消息。 消息被消费以后&#…

C语言游戏实战(12):植物大战僵尸(坤版)

植物大战僵尸 前言&#xff1a; 本游戏使用C语言和easyx图形库编写&#xff0c;通过这个项目我们可以深度的掌握C语言的各种语言特性和高级开发技巧&#xff0c;以及锻炼我们独立的项目开发能力&#xff0c; 在开始编写代码之前&#xff0c;我们需要先了解一下游戏的基本规则…