概述
行业背景
AI时代的挑战与难题
在AI技术快速发展的今天,企业面临多重挑战:
- 技术门槛高,从模型选型、环境部署到应用开发,均需要专业的AI人才和技术储备。
- 基础设施成本高,GPU等硬件投入大,且需要专业运维团队。
- 数据安全合规难,企业需要稳妥的系统管理和使用数据,否则将面临数据资产难以维护或泄露的风险。
- AI应用落地周期长,从技术验证到实际应用部署,往往需要经过漫长探索期。
上述挑战均严重制约企业AI创新的步伐。
企业如何AI转型和快速赋能
企业AI转型需要采取务实的阶段性策略:
- 第一步:选择合适的切入场景,从成本效益最明显的业务环节开始。
- 第二步:建立标准化的AI基础设施,统一管理算力资源和数据资源;
- 第三步:打造企业级AI开发平台,降低技术使用门槛,支持快速验证和部署;
- 第四步:建立完整的AI治理体系,确保数据安全和模型可控。
通过平台化、标准化方式,企业可大幅降低AI应用门槛,加速创新落地。
ZStack AIOS智塔平台应运而生
ZStack AIOS智塔平台(简称ZStack AIOS)致力于成为企业AI创新的加速器,通过平台+生态方式,为企业提供一站式AI应用开发与运维平台。在技术层面,提供从基础设施到应用开发的全栈能力,支持企业快速构建私有AI平台;在生态层面,整合开源社区和产业资源,提供丰富的预置模型和最佳实践;在服务层面,提供专业技术支持和咨询服务,帮助企业缩短AI创新周期。ZStack AIOS的宗旨是让每个企业都能轻松拥抱AI技术,释放创新潜能。
技术优势
简化AI模型管理
提供直观的用户界面和强大的后端支持,用户可轻松管理大量AI模型和数据集,无论是在本地还是云端。
一键部署AI服务
通过简化的部署流程,用户可快速将AI模型转化为生产级别的推理服务,无论是在云主机还是容器环境中。
模型精调与优化
支持多种模型精调技术,用户可根据具体业务需求优化模型性能,提升模型的准确性和效率。
模型评估和性能测试
提供模型推理能力的全面评估和性能并发测试,确保AI服务的稳定性和可靠性。
促进AI技术创新
提供预置的系统模型和灵活的自定义模型支持,激发开发者的创新潜力,推动AI技术的发展。
产品架构
软件架构
ZStack AIOS软件架构如图 1: 软件架构所示:
ZStack AIOS控制面组件构成:
模型仓库(Model Repository)
- 关联模型所使用的存储:NFS、ZDFS。
- 部署Agent,完成实际与存储关联的操作。
- 通过Async HTTP形式调用。
AI服务代码(AI Service Code)
基于AI服务抽象出的概念:模型、推理模板、推理服务。
基于推理模板的拓展概念:
- 应用类推理模板:Dify,FastGPT等。
- 精调类推理模板:目前是LLAMA Factory。
- 模型评测类模板:主要运行评测任务。
- EndPoint类推理模板:主要作为EndPoint对外提供服务。
部署服务(Deployment Service)
- 支持云主机/容器两种类型的插件。
- 云主机通过Cloud-init初始化服务。
- 容器通过Dockerfile初始化服务。
容器服务(Container Service)
- 对接Kubernetes SDK,创建Deployment完成部署。
企业管理容器服务(EnterPrise Management Container Service)
- 对接Zaku API,对应映射Cloud中的项目、用户配额概念,主要作为IAM2和容器的双料插件实现。
功能架构
ZStack AIOS功能架构如图 2: 功能架构所示:
ZStack AIOS功能架构特点:
应用层
- 支持AI应用开发、服务测评、以及门户运营。
- 支持AI应用构建,包括:Prompt工程、向量检索、知识库管理,可灵活接入本地或线上模型。
- 支持多租户场景,可对AI数据、服务和算力资源等进行配额和权限管理。
模型层
- 支持AI模型的管理、调优、以及推理服务。
- 支持一键部署LLM、媒体、向量、多模态等大模型。
- 支持模型精调训练、Notebook、服务监控等。
算力层
- 支持灵活调度GPU算力、服务器资源。
- 适配丰富的国产化服务器和GPU。
- 配备完善的存储、网络服务。
- 提供强大的运维管理能力,可实时监控GPU负载,支持故障自愈等。
核心设计
批量AI模型推理
场景挑战与应对
在AI模型推理场景中,用户主要面临以下挑战:
- 高并发请求的性能瓶颈:当系统需要处理大量请求时,单个模型推理的计算代价高,可能导致响应延迟增加或服务不可用。
- 不同硬件资源的利用效率低:GPU、CPU等资源未被充分利用,可能因推理任务的分布不均造成性能浪费。
- 复杂的服务部署与扩展:AI模型从开发到生产环境的部署流程繁琐,缺乏统一的管理工具,难以快速迭代。
ZStack AIOS提供一套预置推理服务模板,便于处理批量AI推理,同时帮助用户快速部署和使用常用模型。
技术特色:
- 提供批量推理技术,将多个推理请求合并为一个批次,从而提高硬件资源利用率和吞吐量。
- 提供灵活、高效的工具链,支持模型的快速部署和高性能生产级推理服务。
- 自动化资源调度与服务扩展,降低对底层基础设施的依赖。
- 扩展性高,允许用户选择使用Huggingface、或完全自定义推理服务框架。
自适应批量推理 (Adaptive Batching)
通过在所有推理服务中设定一个调度程序,负责监督将请求收集到批次中,直至满足批次窗口或批次大小的条件,此时批次被发送到模型进行推理。通过批量推理,可最大限度利用GPU等并行计算资源,避免资源空闲或单次推理计算的低效。
在多服务场景中,亦能很好地处理跨服务带来的复杂性。支持基于服务的负载情况和延迟需求动态调整批量大小,确保在吞吐量和响应时间之间达到平衡。
可见,负责运行模型推理的服务(ServiceTwo)从依赖服务(ServiceOne)收集请求,并根据最佳延迟形成批次。
自适应批量推理(Adaptive Batching)带来显著的性能和开发效率提升:
- 吞吐量提升:通过批量推理,一次性处理更多请求,减少重复操作。
- 降低延迟波动:动态调整批量大小,适配不同的负载场景,保证响应时间稳定。
- 无需手动配置:完全自动化,无需开发者额外干预。
模型服务化与自动化部署
提供一套简洁的模型服务化框架,支持从模型导出到生产环境部署的全流程自动化。其关键能力包括:
- 统一的模型打包格式:通过标准命令行工具或Python API,开发者可轻松将AI模型及其依赖打包为一个标准化的Bento包。
- 自动化部署到多种环境:支持将服务快速部署到Kubernetes、AWS Lambda、Docker等多种生产环境,无需复杂配置。
- 高性能模型运行时:针对不同深度学习框架(如TensorFlow、PyTorch、ONNX等)提供优化的运行,并确保推理性能最大化。
上述功能让开发者能够快速将模型上线,并确保其在生产环境中高效运行。
高性能智算基础设施
场景挑战与应对
在智算基础设施场景中,用户主要面临以下挑战:
GPU算力如何灵活切分和高效利用:
- 在AI推理过程中,GPU通常是最昂贵的资源,但GPU利用率受限于模型加载时间、数据传输延迟和任务分配机制,可能造成算力浪费。
- 不同推理任务对GPU资源需求差异显著,如何动态切分和分配GPU资源以适应不同任务规模成为一大挑战。
海量模型与数据存储需求:
- AI推理通常涉及大规模的模型文件(GB级甚至TB级)以及海量的推理输入/输出数据。
- 传统文件系统在扩展到PB级别时成本高、可靠性差,无法满足需求。
高并发访问:
- 推理服务往往需要处理大量并发请求,要求存储系统支持高吞吐量和低延迟的文件访问。
- 模型加载、推理数据的读取和写入都可能成为性能瓶颈。
小文件操作性能问题:
- 推理任务中频繁涉及小文件(如推理配置、输入数据、日志等)的读写操作,而传统存储系统在处理小文件时效率低下。
ZStack AIOS支持丰富的GPU虚拟化技术,可在云主机、容器实例中直通或切分GPU算力,从而实现GPU在多客户端复用,有效避免使用国外技术的高昂成本,以及弥补国产GPU硬件层面不支持虚拟化和复用的不足。同时,ZStack AIOS支持集中监控海量GPU的运行状态,针对存在异常迹象的GPU可主动触发告警,提醒运维人员及时介入和处理;以及支持为多个企业账户分配可使用的GPU、存储等资源额度,实现高效的多租户管理。
技术特色:
GPU切分与高效利用:
- 通过GPU虚拟化(dGPU管理、vGPU管理)和直通技术,将GPU资源切分为多个虚拟GPU单元,按需分配给不同推理任务。
- 在容器中,通过CUDA劫持技术灵活切分GPU资源,实现多容器间GPU的动态共享,提高硬件利用率。
- 通过CUDA API拦截转发技术,支持将NVIDIA物理GPU按需切分为细粒度的dGPU(动态GPU),供云主机灵活使用。无需整卡预切,按需动态加载与释放,打破固定等分限制,可有效避免大显存GPU独占浪费。同时无需额外License授权,显著降低运维成本。
无限扩展的存储能力:利用对象存储作为后端,实现PB级的存储扩展能力,轻松管理大规模模型和推理数据。
高性能的数据访问:通过多级缓存和分布式架构,显著提升模型加载速度和推理数据的读写效率,支持高并发访问。
小文件高效处理:优化小文件的存储和访问性能,保证推理任务中频繁的小文件操作不会影响整体性能。
算力利用最大化 (GPU虚拟化)
GPU直通
支持将物理GPU卡直接映射到云主机的地址空间。在云主机中,使用原生设备驱动就可直接使用设备,达到近乎物理设备的性能。GPU被透传后由云主机独享,其它云主机无法共享使用该设备。
vGPU切分与直通
支持将物理GPU卡切割成更细粒度的vGPU,形成vGPU资源池,并支持将vGPU直接映射到云主机的地址空间。vGPU被透传后由云主机独享,其它云主机无法共享使用该设备。
容器GPU显存切分(CUDA劫持技术)
主要使用软件层面的vCUDA方案,对原生CUDA驱动进行重写,然后挂载到Pod中进行替换,以及在CUDA驱动中对API进行拦截,从而实现资源隔离以及限制的效果。
dGPU切分(CUDA API拦截转发技术)
通过在云主机内拦截CUDA API调用,将GPU操作请求转发至物理机侧的dGPU Worker进程代理执行,并利用ivshmem(物理机共享内存)实现云主机与物理机之间的零拷贝通信。dGPU Worker进程对每个dGPU实例实施显存硬隔离,并根据分配显存占物理卡总显存的比例自动计算算力限速,实现算力软隔离。物理GPU无需提前划分,dGPU Worker随云主机启动按需创建、关机按需销毁,显存实时归还资源池。
高性能缓存与优化 (ZDFS)
为满足AI推理场景对低延迟和高吞吐量的要求,ZStack AIOS采用ZDFS存储系统提供高效的缓存机制和性能优化策略。
ZDFS软件架构如图 10: 软件架构所示:
ZDFS核心组件:
客户端(Client):
- 所有文件读写,以及碎片合并、回收站文件过期删除等后台任务,均在客户端中发生。客户端需要同时与对象存储和元数据引擎打交道。
- 客户端支持多种接入方式:通过FUSE、ZDFS文件系统能够以POSIX兼容方式挂载到服务器,将海量云端存储直接当做本地存储来使用。
数据存储(Data Storage):
- 文件会被切分上传至对象存储。
- 支持几乎所有的公有云对象存储。
- 支持OpenStack Swift、Ceph、MinIO等私有化对象存储。
元数据引擎(Metadata Engine):
用于存储文件元数据(metadata),包括:
- 常规文件系统的元数据:文件名、文件大小、权限信息、创建修改时间、目录结构、文件属性、符号链接、文件锁等。
- 文件数据的索引:文件的数据分配和引用计数、客户端会话等。
采用多引擎设计,目前已支持Redis、TiKV、MySQL/MariaDB、PostgreSQL、SQLite等作为元数据服务引擎,也将陆续实现更多元数据存储引擎。
ZDFS技术特色:
多级缓存机制:
提供三个读写缓冲区:内核页缓存、客户端的内存缓存、客户端所在机器的本地缓存。
可实现:
- 本地缓存:将模型文件和常用数据缓存到本地磁盘或内存中,显著降低模型加载的延迟。
- 分布式缓存:在多个推理节点之间共享缓存,避免重复加载模型文件,提升资源利用率。
可见,读请求会依次尝试内核分页缓存(Page Cache)、ZDFS进程的预读缓冲区(Read Buffer)、本地磁盘缓存(Block Cache Index),当缓存中没找到对应数据时才会从对象存储读取,并且会异步写入各级缓存保证下一次访问的性能。
小文件优化:
- AI推理场景中频繁的小文件操作(如模型配置文件、推理输入数据等)通过聚合写入和批量读取优化,保证小文件读写性能。
并行数据访问:
- 支持多线程并行加载模型文件,充分利用底层对象存储的带宽,提升推理服务的启动速度。
智能数据分层存储:
- 热数据(如当前推理任务的模型文件)优先存储于本地缓存或高速介质中,冷数据则存储在对象存储中,平衡性能和存储成本。
推理服务访问网络架构
场景挑战与应对
推理服务涉及平台管理、业务调用、开发调试和模型文件访问等通信需求。各类流量对访问对象、安全策略和连通范围的要求不同。在多集群环境中,各集群还可能使用不同的业务网络。统一规划访问网络,是保障业务安全、简化服务部署和扩展GPU集群的基础。
ZStack AIOS以集群为边界配置访问网络。每个集群均配置独立的业务网关,并由业务网关连接本集群的业务网络和开发访问网络。应用通过业务网络调用推理API,开发者通过开发访问网络使用Chat、Jupyter等开发与调试能力。两类访问均由业务网关转发至推理云主机。管理员可根据集群的网络环境和安全要求分别配置访问方式。
推理服务访问网络架构如图 12: 推理服务访问网络架构所示:
推理服务访问网络由以下部分构成:
- 业务网关:作为集群独立的访问入口,接收应用和开发者的访问请求,并通过业务网络或开发访问网络转发至推理云主机。
- 业务网络:承载应用系统与推理服务之间的请求和响应。
- 开发访问网络:为Chat、Jupyter等开发与调试能力提供访问路径。
- 受控管理通道:由推理云主机直接向管理平台回传服务状态、监控和告警等信息,使平台管理与业务访问采用独立的通信路径。
模型文件由物理机侧提供,并通过virtiofs挂载至推理云主机。推理云主机无需配置存储网卡和存储网络IP。模型文件的缓存与访问机制详见模型文件高效访问与复用。
该架构具有以下特点:
- 集群级网络配置:各集群可独立配置业务网络和开发访问网络,满足多集群扩展需求。
- 访问边界清晰:业务调用、开发访问和管理信息分别通过对应路径传输,便于落实网络隔离和访问控制策略。
- 简化推理云主机网络配置:推理云主机无需接入存储网络,减少网卡和IP地址配置,降低网络规划与运维复杂度。
- 网络配置自动继承:管理员可为集群设置默认访问配置,推理服务部署时自动继承,减少重复配置。
该架构适用于多个GPU集群使用不同业务网络,以及需要分别管理业务调用、开发调试和平台管理访问的场景。
模型文件高效访问与复用
场景挑战与应对
大模型文件通常体量大、准备时间长。同一模型被多次部署、扩容或重建时,重复读取和准备文件会延长服务交付时间,并持续占用存储网络带宽。
ZStack AIOS在推理服务使用的主存储上建立模型缓存。首次使用模型或缓存未命中时,平台从Model Center下载模型文件并准备至主存储。缓存可用时,推理服务直接复用已有文件。物理机访问模型缓存,并通过virtiofs将模型目录提供给推理云主机,使其直接使用主存储中的缓存文件。
模型文件缓存面向推理服务部署阶段的文件准备与复用,与ZDFS用于提升存储读写性能的多级缓存机制相互独立。
模型文件高效访问与复用架构如图 13: 模型文件高效访问与复用架构所示:
技术特色:
- 减少重复下载和准备:同一模型再次部署、扩容或重建时,可优先复用主存储中的有效缓存。
- 降低存储网络压力:减少大模型文件的重复传输,降低模型准备过程对存储网络带宽的占用。
- 提升服务交付效率:缩短模型文件下载和准备时间,提高服务创建、扩容及异常重建效率。
- 统一缓存管理:对模型缓存的容量、状态和使用关系进行管理,并支持清理未被推理服务使用的缓存。
模型文件缓存优化模型文件的下载、传输和准备过程。推理服务启动后,推理框架仍需读取模型权重,并完成内存、显存及运行环境初始化。该能力适用于大模型文件重复使用,或推理服务频繁扩容和重建的场景。
未来展望与发展
ZStack AIOS着眼于持续演进的AI技术与云计算融合发展,致力于构建更加智能、高效、弹性的企业级AI平台。
未来,我们将关注三大技术趋势:
- 先进模型与算法集成。不断融合最新的AI模型与算法,如GPT-5、Diffusion Models等,提升模型的泛化能力和推理效率,满足企业对AI技术的持续需求。
- 云原生AI服务优化。深化ZStack AIOS与Kubernetes、Docker等云原生技术的融合,实现更高效、更灵活的AI服务部署与管理,降低企业AI运维成本。
- AI安全与隐私保护。强化ZStack AIOS在数据安全、模型安全、隐私保护等方面的能力,采用联邦学习、差分隐私等技术,确保企业在享受AI带来的便利同时,数据安全无忧。
ZStack AIOS将持续进化,致力于成为企业AI转型的强有力支撑。
