0
点赞
收藏
分享

微信扫一扫

python web自动化(Pytest实战)

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

AI架构挑战

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

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

极其高

需要专业化的硬件

中到高

一般用途硬件

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

复杂

多轮的专业化计算

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

可扩展性

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

存储与吞吐

高性能高吞吐低延时

支持多样化的数据类型

中等吞吐量 

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

网络带宽

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

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

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

为什么要基于云原生

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

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

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

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

AI云原生架构

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

举报

相关推荐

0 条评论