AI场景下的对象存储OSS数据管理实践

本文涉及的产品
对象存储 OSS,20GB 3个月
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
对象存储 OSS,恶意文件检测 1000次 1年
简介: 本文介绍了对象存储(OSS)在AI业务中的应用与实践。内容涵盖四个方面:1) 对象存储作为AI数据基石,因其低成本和高弹性成为云上数据存储首选;2) AI场景下的对象存储实践方案,包括数据获取、预处理、训练及推理阶段的具体使用方法;3) 国内主要区域的默认吞吐量提升至100Gbps,优化了大数据量下的带宽需求;4) 常用工具介绍,如OSSutil、ossfs、Python SDK等,帮助用户高效管理数据。重点讲解了OSS在AI训练和推理中的性能优化措施,以及不同工具的特点和应用场景。

内容介绍

一、对象存储是AI业务创新数据基石

二、AI场景下对象存储实践方案

三、国内主售地域默认吞吐提升至100Gbps

四、OSS常用工具介绍

 

image.png

本次介绍AI场景下对象存储相关使用。介绍分为两部分,先介绍典型数据流程,接下来介绍相关工具使用和实践。

image.png

首先介绍OSS。

 

一、对象存储是AI业务创新数据基石

image.png

OSS是目前在整个云上存储成本最低,弹性最强存储服务,对象存储除AI,云上存储或云上数据湖都是用对象存储来作为他们云上数据数据技术,在ADC大家更多用NAS时或者是hdfs。


在云上,OSSfs是绕不过去的存储系统。近几年AI发展使得大部分客户在AI领域都使用多种存储系统,包括NAS以及OSS等系统来进行组合,这么做主要是因为OSS是它以前拥有低存储成本,但是客户在使用当中会有高性能要求,它通常会将它大量数据存储在非常存储,它需要某一部分数据,它在根据它迁移业务,将它迁移到其它存储系统,比如NAS,AI训练在其它存储系统方面来运行。


但随着近几年AI技术发展,对数据需求增长,AI运行出数据规模呈指数型增长,再进行数据搬迁,能效比就并不相配。近一两年,接触到客户显现出趋势,越来越多会倾向于直接在对象存储存储和使用数据,尽量减少在不同系统之间搬迁,对象存储是希望将它作为以后在云上AI训练或者推理服务数据基石。

 

二、AI场景下对象存储实践方案

image.png

介绍在整个AI场景整个数据流中对象存储如何发挥自身作用。数据获取阶段,大部分客户使用对象存储,比如像其他存储服务或者是别系统,rpc上传不方便。对象存储它接口是HTTP,它能很方便通过手机或者微博端将数据上传到对象存储来,并且对象存储还提供跨类型数据复制能力,在海外或是在北京,数据可以很容易将它复制到香港,或者是复制到上海等等,GPU集群集中某区域来方便使用。


在数据预处理,很多客户更倾向于采用大数据处理一套流程来处理AI数据,也考虑到客户老系统使用情况,像很多客户,他可能比如SDK是从以前IDC迁移上,他可能更倾向于使用HDFS这种接口,在对象存储也提供两种结构,一种是对象存储API,另外是跟H点开始兼容API,客户在使用大数据程序进行数据预处理时,会进行选择。


如ClickHouse系统,它天然能够直接使对象存储在云上,并使用OSS SDK。像以前老版本,还有Spark老版本,其HDFS接入性更好,可使用sdk做到平滑牵引。在数据处理方面,客户处理完会将处理完数据写回对象存储,用于后面训练进行使用。


在训练阶段,推荐两种使用方式给,一种是OSS sdk,像用很多PyTorch,就用python OSS Pythonsdk,在使用OSS python sdk时,其是基于语言开发,效率不高,客户需要更多CPU核心数才能够将它数据下载能力给他打。另外后面会推出OSS connector for AI and ml,是一种PyTorch库。它作用跟OSS sdk主要区别是主要有两个,主要都是为提高性能。他将在训练阶段,数据下载速度提升,在训练阶段,有些视频下载时,在OSS sdk,整个文件通过单流HTTP下载下来,但connector可以将文件切成多个部分,比如100兆文件,它可以通过编排将每个其中10兆来提高下载速度。


如果在以前PyTorch客户必须要自己来做视频。第二它在 io做优化,在OSS  connector基于操作系统不同,它会基于aio实现异步,它对客户端资源开销会更好。在训练阶段倾向于客户使用OSS connector for AI and ml,作为新开发程序,在8月中旬会有正式推出,到时欢迎大家来进行使用,目前已经开发完毕。在训练阶段,CHECKPOINT通常还是会写入NFS力量,因为CHECKPOINT时间越久,训练集训gpu闲置时间会更长,它对写吞吐要求特别高。


目前,大部分客户还是会将他多轮训练操作CHECKPOINT写入NFS,最终结果是会返回到OSS作为整体数据部分。后面是验证和微调阶段,如果是只是对模型进行验证和微调,可以选择connector或者是ossfs。ossfs主要特点它能够将oss模拟层一哥盘,在机器可以通过接口来访问数据,缺点:它qts会有放大,它不太适合大规模在训练阶段使用,比如平时在外面看到很多会讲 AI训练对qps要求高,它逻辑是训练图片要通过结合,原数据操作特别多,通常倾向形成结论,在训练阶段,它qps要求会特别大,但OSSFS它模拟接口,它qps最后都会反映到对象存储方面,像connector对qps进行优化,比如open与close操作对对象存储都是没有这种接口,connector也不会做这种操作,它整体来qps会比各种Fs系统会低很多,性能会更好。


最后是模型进行进行推理,不涉及到多文件加载和操作。给大家推荐两个工具,OSS fs,OSSSDK以及ossutil也可以在推理阶段来进行使用。它都主要需要要尽快将模型加载到阶梯来,要求具备大下载带宽。OSS提供能力主要分为三个部门,第一是数据获取和数据预处理阶段,主要是便捷上传以及兼容,对大数据处理数据湖程序进行处理,让客户更好对接。


在训练阶段主要要求弹性能力。OSS横向扩展能力很强,100兆视频文件下载,可以给它切成10个请求,要求后端请求要有很高横向扩展能力。推理和微调阶段,要求加载速度会快,同时也支持file-like接口,便于客户进行小规模文件使用。

 

三、国内主售地域默认吞吐提升至100Gbps

image.png

随着数据量增加,训练对带宽需求越来越大,但对延迟需求,在大数据量情况下,对延迟需求并不高,在国内oss主要优化手段是提升整体吞吐。像在国内主要区域,北京,上海,杭州和深圳。在低维度账号级贷款流控都是默认100g,随便在这几个大区去开个账号,很高并发都能够达到100GB吞吐。在训练以及包括以前对延迟不敏感分析业务,效果是明显。

 

四、OSS常用工具介绍

image.png

主要是介绍整个流程几种工具,从工具挑选两种用于后面大家做实验实操。

image.png

大致介绍各个工具特点。首先是OSSutil,它是命令行工具,通常是用来做数据牵引,实验可能会想到将它下载到本地来进行使用,OSS,它没有文件夹这种概念,它都是对象,oss文件夹是模拟出来。OSSutil它可以将模拟出来文件数据整个给sink或者是copy到本地,或者数据桶,让做实验时进行数据下载更方便。


另外一种ossutil用法,真实存在客户会运用ossutil来下载模型,将模型下载到本地后,再通过其它系统从本地加载系统,典型是stable diffusion variable ui,默认加载就只能从本地加载。如果要在stable diffusion variable ui做实验,除非自己去改它源码,其中最好最方便方式通过ossutil将模型或者数据下载到本地来做实验。


Ossfs它特点能够提供文件接口,比如产品化组件,它提供完整整条链路从模型开发到训练,到最后微调整个链路,它就会集成这种Fs结构,当然它用不是OSS,这边上它是类似另外系统,它是原理是类似,让客户在训练时写程序和他在推理时是体验是一模一样,对象存储作为本地磁盘来使用,怎么实验,到时训练时就怎么用,包括推理之后就怎么用,体验会一致。


第三个是oss-python sdk。在PyTorch框架用非常多,做AI领域中大型客户,追求性能,通常不会使用OSSfs,会使用oss-python sdk但是需要强大开发能量,它需要客户自己进行封装,包括文件切片封装,才能达到好性能。


第四个python sdk提供更好用接口,并且加强数据下载性能。OSS connector for AI and ml 不用挂载,是库。它优势在于能挂载。它是直接可以在作 sdk使用,在云上使用时感觉会更云原生,在微调和线上训练阶段,性能也会更好。


最后两个工具分别是oss-gosdk以及 oss-go sdkv2。这两个工具主要区别是使用上区别,性能上差别不大。机器学习特殊领域,比如基因检测数据文件通常都会特别大,客户通常不是很解OSS sdk特性。接口特性不了解,就会拿sdk来进行直接上传下载。在v 2版本相比sdkv1版本,对客户生物数据进行大量下载时,性能会更好,原因是因为它做并发下载工作。在v2它会自动将5个g描述DNA序列文件,将它拆分成50兆左右大小,并发通过高并发数据方案,将数据下载达到更好性能。


1、ossfs

重点介绍可能后续实验当中会用到工具。

image.png

使用方式主要有三种,第一种默认模式,它默认模式是在原理是,客户去下载,它会将下载数据默认临时缓存在本地,关闭时清理。默认模式是落盘,数据要先写到本地磁盘。


第二种缓存模式,跟刚才默认模式相同,但是在关闭时没有清理,将数据留在磁盘,等待下次做重复访问时,它会从磁盘来一次,这两个模式,它都是受本地磁盘性能影响,在阿里云盘性能是有限,跟盘类型有关,比如P20和pl1性能是不一样,通常性能差可150兆左右,性能就跟盘能力直接相关。


第三个模式自动模式,为避免性能受磁盘影响自动模式,它不落盘,它会直接将下载数据来缓存到内存,关闭时再从内存将它释放掉,避免磁盘影响,在连续下载大文件,直读模式效果很好。

image.png

对OSSFS模型加载性能方面也做优化,分别对5.6gCKPT和8.5GSafeTensor模型做加载测试。相比于1.9.1不支持直读和1.9.3支持直读这种模式,性能能够提高3~4倍左右性能。


2、 Python SDK

image.png

客户可以自己来通过并发化装sdk来提高它性能。一组简单测试数据表明在10个并发时和1个并发时, SDK性能平均带宽是有实力提升,峰值带宽有6倍,对于客户开发以及维护能力有一定要求。


3、Python connector

image.png

image.png

Python connector将需要客户自己做操作,将它封装,跟S3类似。今年,8月中旬也会有OSS connector,它主要部分提高速度,避免数据挂载。这里有OSS是常见工具相关资料, OSS作为主要工具是开源,可以在github看代码,或是自己有特殊修改或者是有更好意见也可以提供。以上本次课程全部内容。

相关实践学习
MySQL基础-学生管理系统数据库设计
本场景介绍如何使用DMS工具连接RDS,并使用DMS图形化工具创建数据库表。
相关文章
|
7天前
|
人工智能 自然语言处理 算法
主动式智能导购 AI 助手解决方案实践与测评
主动式智能导购 AI 助手解决方案实践与测评
|
8天前
|
弹性计算 人工智能 数据管理
AI场景下的对象存储OSS数据管理实践
本文介绍了ECS和OSS的操作流程,分为两大部分。第一部分详细讲解了ECS的登录、密码重置、安全组设置及OSSUTIL工具的安装与配置,通过实验创建并管理存储桶,上传下载文件,确保资源及时释放。第二部分则聚焦于OSSFS工具的应用,演示如何将对象存储挂载为磁盘,进行大文件加载与模型训练,强调环境搭建(如Conda环境)及依赖安装步骤,确保实验结束后正确清理AccessKey和相关资源。整个过程注重操作细节与安全性,帮助用户高效利用云资源完成实验任务。
56 10
|
5天前
|
人工智能 Serverless 视频直播
活动实践 | AI智能体实时语音互动
AI智能体实时语音互动方案提供端到端的实时音频交互,用户通过终端SDK与云端AI智能体进行音频通话。AI智能体接收音频输入,依据预定义工作流处理并生成响应,通过ARTC网络推送结果。该方案支持灵活编排AI组件如语音转文字、大语言模型等,确保高可用、低延迟的通信体验。用户可轻松创建和管理智能体及实时工作流,实现高效对话,并可通过示例网站体验功能。
|
1天前
|
人工智能 运维 监控
云卓越架构:企业稳定性架构体系和AI业务场景探秘
本次分享由阿里云智能集团公共云技术服务部上海零售技术服务高级经理路志华主讲,主题为“云卓越架构:企业稳定性架构体系和AI业务场景探秘”。内容涵盖四个部分:1) 稳定性架构设计,强调高可用、可扩展性、安全性和可维护性;2) 稳定性保障体系和应急体系的建立,确保快速响应和恢复;3) 重大活动时的稳定重宝策略,如大促或新业务上线;4) AI在企业中的应用场景,包括智能编码、知识库问答、创意广告生成等。通过这些内容,帮助企业在云计算环境中构建更加稳定和高效的架构,并探索AI技术带来的创新机会。
|
5月前
|
机器学习/深度学习 人工智能 专有云
人工智能平台PAI使用问题之怎么将DLC的数据写入到另一个阿里云主账号的OSS中
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
1月前
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
4月前
|
存储 机器学习/深度学习 弹性计算
阿里云EMR数据湖文件系统问题之OSS-HDFS全托管服务的问题如何解决
阿里云EMR数据湖文件系统问题之OSS-HDFS全托管服务的问题如何解决
|
5月前
|
消息中间件 分布式计算 DataWorks
DataWorks产品使用合集之如何使用Python和阿里云SDK读取OSS中的文件
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
5月前
|
存储 运维 安全
阿里云OSS的优势
【7月更文挑战第19天】阿里云OSS的优势
243 2
|
5月前
|
存储 API 开发工具
阿里云OSS
【7月更文挑战第19天】阿里云OSS
208 1