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图形化工具创建数据库表。
相关文章
|
17天前
|
消息中间件 人工智能 运维
1月更文特别场——寻找用云高手,分享云&AI实践
我们寻找你,用云高手,欢迎分享你的真知灼见!
980 46
1月更文特别场——寻找用云高手,分享云&AI实践
|
18天前
|
人工智能 运维 负载均衡
智能运维新时代:AI在云资源管理中的应用与实践
智能运维新时代:AI在云资源管理中的应用与实践
121 23
|
8天前
|
机器学习/深度学习 存储 人工智能
AI实践:智能工单系统的技术逻辑与应用
智能工单系统是企业服务管理的核心工具,通过多渠道接入、自然语言处理等技术,实现工单自动生成、分类和分配。它优化了客户服务流程,提高了效率与透明度,减少了运营成本,提升了客户满意度。系统还依托知识库和机器学习,持续改进处理策略,助力企业在竞争中脱颖而出。
33 5
|
13天前
|
存储 人工智能 缓存
面向AI的存储软硬结合实践和创新
本次分享的主题是面向AI的存储软硬结合实践和创新,由阿里云智能集团专家袁茂军、王正勇和常存银主讲。内容涵盖三大板块:自研存储部件设计及实践、自研存储服务器设计及实践、以及面向AI场景的存储软硬一体解决方案及实践。重点介绍AliFlash系列存储部件的演进与优化,包括QLC SSD的设计挑战与解决方案,并探讨了高性能存储服务器在AI场景中的应用与未来发展方向。通过软硬件深度融合,旨在提升AI业务的性能与效率,降低总拥有成本(TCO)。
|
16天前
|
存储 人工智能 数据管理
云端问道17期方案教学-AI场景下的对象存储OSS数据管理实践
本文介绍了AI场景下的对象存储OSS数据管理实践,由阿里云技术专家明锦分享。主要内容分为两部分:1) AI场景下对象存储实践方案,包括对象存储的应用、优势及在模型推理中的优化;2) OSS常用工具介绍,如OSSFS、Python SDK、Go SDK等,并详细说明了这些工具的特点和使用场景。文中还探讨了不同模式下的性能优化,以及即将推出的OS Connector for AI/ML工具,旨在提升数据下载速度和IO性能。
|
15天前
|
人工智能 运维 物联网
云大使 X 函数计算 FC 专属活动上线!享返佣,一键打造 AI 应用
如今,AI 技术已经成为推动业务创新和增长的重要力量。但对于许多企业和开发者来说,如何高效、便捷地部署和管理 AI 应用仍然是一个挑战。阿里云函数计算 FC 以其免运维的特点,大大降低了 AI 应用部署的复杂性。用户无需担心底层资源的管理和运维问题,可以专注于应用的创新和开发,并且用户可以通过一键部署功能,迅速将 AI 大模型部署到云端,实现快速上线和迭代。函数计算目前推出了多种规格的云资源优惠套餐,用户可以根据实际需求灵活选择。
|
11天前
|
人工智能 算法 前端开发
OmAgent:轻松构建在终端设备上运行的 AI 应用,赋能手机、穿戴设备、摄像头等多种设备
OmAgent 是 Om AI 与浙江大学联合开源的多模态语言代理框架,支持多设备连接、高效模型集成,助力开发者快速构建复杂的多模态代理应用。
145 72
OmAgent:轻松构建在终端设备上运行的 AI 应用,赋能手机、穿戴设备、摄像头等多种设备
|
5天前
|
人工智能 自然语言处理 JavaScript
微软开源课程!21节课程教你开发生成式 AI 应用所需了解的一切
微软推出的生成式 AI 入门课程,涵盖 21 节课程,帮助开发者快速掌握生成式 AI 应用开发,支持 Python 和 TypeScript 代码示例。
101 14
|
23天前
|
机器学习/深度学习 人工智能 算法
AI在体育分析与预测中的深度应用:变革体育界的智能力量
AI在体育分析与预测中的深度应用:变革体育界的智能力量
106 31
|
3天前
|
人工智能 开发者 Python
Chainlit:一个开源的异步Python框架,快速构建生产级对话式 AI 应用
Chainlit 是一个开源的异步 Python 框架,帮助开发者在几分钟内构建可扩展的对话式 AI 或代理应用,支持多种工具和服务集成。
33 9