大模型赛道如何实现华丽的弯道超车【赠书活动|第十期《分布式统一大数据虚拟文件系统 Alluxio原理、技术与实践》】

news2024/9/24 1:26:27

文章目录

  • 01 具备对海量小文件的频繁数据访问的 I/O 效率
  • 02 提高 GPU 利用率,降低成本并提高投资回报率
  • 03 支持各种存储系统的原生接口
  • 04 支持单云、混合云和多云部署
  • 01 通过数据抽象化统一数据孤岛
  • 02 通过分布式缓存实现数据本地性
  • 03 优化整个工作流的数据共享
  • 04 通过并行执行数据预加载、缓存和训练来编排数据工作流
  • 直播预告
    • 直播主题
    • 直播时间
    • 直播观看方式
  • 抽奖方式

在人工智能(AI)和机器学习(ML)领域,数据驱动的决策和模型训练已成为现代应用和研究的核心。伴随大模型技术迅猛发展,模型训练所需数据的规模不断扩大,数据的处理、存储和传输都面临着巨大的挑战,传统的存储和处理方式已经无法满足实时性和性能需求。同时,不同计算框架之间的数据孤岛问题也制约了数据的有效利用。如何在激烈竞争的大模型赛道脱颖而出,实现华丽的弯道超车,成为了众多参赛选手投入巨大人力、物力不断探索的方向。

而这其中,模型训练成为重中之重。当我们进行模型训练时,需要高效的数据平台架构快速生成分析结果,而模型训练在很大程度上依赖于大型数据集。执行所有模型训练的第一步都是将训练数据从存储输送到计算引擎的集群,而数据工作流的效率会大大影响模型训练的效率。在现实场景中,AI/ML 模型训练任务对数据平台常常有以下几个需求:

01 具备对海量小文件的频繁数据访问的 I/O 效率

AI/ML 工作流不仅包含模型训练和推理,还包括前期的数据加载和预处理步骤,尤其是前期数据处理对整个工作流都有很大影响。与传统的数据分析应用相比,AI/ML 工作负载在数据加载和预处理阶段往往对海量小文件有较频繁的 I/O 请求。因此,数据平台需要提供更高的 I/O 效率,从而更好地为工作流提速。

02 提高 GPU 利用率,降低成本并提高投资回报率

机器学习模型训练是计算密集型的,需要消耗大量的 GPU 资源,从而快速准确地处理数据。由于 GPU 价格昂贵,因此优化 GPU 的利用率十分重要。这种情况下,I/O 就成为了瓶颈——工作负载受制于 GPU 的数据供给速度,而不是GPU 执行训练计算的速度。数据平台需要达到高吞吐量和低延迟,让 GPU 集群完全饱和,从而降低成本。

03 支持各种存储系统的原生接口

随着数据量的不断增长,企业很难只使用单一存储系统。不同业务部门会使用各类存储,包括本地分布式存储系统(HDFS和Ceph)和云存储(AWS S3,Azure Blob Store,Google 云存储等)。为了实现高效的模型训练,必须能够访问存储于不同环境中的所有训练数据,用户数据访问的接口最好是原生的。

04 支持单云、混合云和多云部署

除了支持不同的存储系统外,数据平台还需要支持不同的部署模式。随着数据量的增长,云存储成为普遍选择,它可扩展性高,成本低且易于使用。企业希望不受限制地实现单云、混合云和多云部署,实现灵活和开放的模型训练。另外,计算与存储分离的趋势也越来越明显,这会造成远程访问存储系统,这种情况下数据需要通过网络传输,带来性能上的挑战。数据平台需要满足在跨异构环境访问数据时也能达到高性能的要求。

综上,AI/ML 工作负载要求能在各种类型的异构环境中以低成本快速访问大量数据。企业需要不断优化升级数据平台,确保模型训练的工作负载在能够有效地访问数据,保持高吞吐量和高 GPU 利用率 。

在这里插入图片描述

Alluxio作为一款强大的分布式统一大数据虚拟文件系统,已经在众多领域展现出了其卓越的应用价值,并且为AI/ML训练赋能提供了一个全新的解决方案,其核心密码有四个方面组成:

01 通过数据抽象化统一数据孤岛

Alluxio作为数据抽象层,可以做到数据无缝访问而不拷贝和移动数据,无论是在本地还是在云上的数据都留在原地。通过Alluxio,数据被抽象化从而呈现统一的视图,大大降低数据收集阶段的复杂性。

由于Alluxio已经实现与存储系统的集成,机器学习框架只需与Alluxio交互即可从其连接的任何存储中访问数据。因此,我们可以利用来自任何数据源的数据进行训练,提高模型训练质量。在无需将数据手动移动到某一集中的数据源的情况下,包括Spark、Presto、PyTorch和TensorFlow在内所有的计算框架都可以访问数据,不必担心数据的存放位置。

02 通过分布式缓存实现数据本地性

Alluxio的分布式缓存,让数据均匀地分布在集群中,而不是将整个数据集复制到每台机器上,如图1所示。当训练数据集的大小远大于单个节点的存储容量时,分布式缓存尤其有用,而当数据位于远端存储时,分布式缓存会把数据缓存在本地,有利于数据访问。此外,由于在访问数据时不产生网络I/O,机器学习训练速度更快、更高效。

Image

图1 分布式缓存

如上图所示,对象存储中存有全部训练数据,两个文件(/path1/file1和/path2/file2)代表数据集。我们不在每台训练节点上存储所有文件块,而是将文件块分布式地存储在多台机器上。为了防止数据丢失和提高读取并发性,每个块可以同时存储在多个服务器上。

03 优化整个工作流的数据共享

在模型训练工作中,无论是在单个作业还是不同作业之间,数据读取和写入都有很大程度的重叠。Alluxio可以让计算框架访问之前已经缓存的数据,供下一步的工作负载进行读取和写入,如图2所示。比如在数据准备阶段使用Spark进行ETL数据处理,那么数据共享可以确保输出数据被缓存,供后续阶段使用。通过数据共享,整个数据工作流都可以获得更好的端到端性能。

Image

图2 通过Alluxio在工作流间传递数据

04 通过并行执行数据预加载、缓存和训练来编排数据工作流

Alluxio通过实现预加载和按需缓存来缩短模型训练的时间。如图3所示,通过数据缓存从数据源加载数据可以与实际训练任务并行执行。因此,训练在访问数据时将得益于高数据吞吐量,不必等待数据全部缓存完毕才开始训练。

Image

图3 Alluxio数据加载提升GPU利用率

虽然一开始会出现I/O延迟,但随着越来越多的数据被加载到缓存中,I/O等待时间会减少。在本方案中,所有环节,包括训练数据集从对象存储加载到训练集群、数据缓存、按需加载用于训练的数据以及训练作业本身,都可以并行地、相互交错地执行,从而极大地加速了整个训练进程。

Image

了解更多Alluxio与AI/ML模型训练传统方案的对比分析,具体性能测试情况,以及来自广泛行业的应用案例,欢迎阅读《分布式统一大数据虚拟文件系统——Alluxio原理、技术与实践》。

直播预告

直播主题

Alluxio: 加速新一代大数据与AI变革 |

《分布式统一大数据虚拟文件系统 Alluxio原理、技术与实践》新书发布会

在这里插入图片描述

直播时间

9 月 21日(星期四)

20:00 - 21:30

本次直播主要介绍Alluxio的技术原理、核心功能、使用方法,以及Alluxio在大数据分析、AI/ML等场景的实战案例。

直播观看方式

微信搜索视频号:IT阅读排行榜,预约直播

Image

抽奖方式

  • 关注 + 点赞 + 收藏 文章

  • 评论区留言:学全栈知识找鹤冲天(关注并留言才能进入奖池,每人最多留言三条)

  • 周日晚八点随机抽奖

  • 本次送书2~5本【阅读量越多,送的越多】
    500-1000 赠书2本
    1000-1500 赠书3本
    1500-2000 赠书4本
    2000+ 赠书5本

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

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

相关文章

【Java实战项目】【超详细过程】—— 大饼的图片服务器

目录 一.下载前端模板二. 展示图片(index.htmll)1. 标题2. 页面跳转链接3. 图片展示引入js和vue依赖:写在html文件的head中js代码:写在html文件中的body中html代码:写在html文件的body中 二. 删除图片在上面的vue对象a…

【OWASP如何导出测试报告】

为什么我的OWASP无法导出报告?明明已经扫描完成了

【Linux从入门到精通】多线程 | 线程介绍线程控制

本篇文章主要对线程的概念和线程的控制进行了讲解。其中我们再次对进程概念理解。同时对比了进程和线程的区别。希望本篇文章会对你有所帮助。 文章目录 一、线程概念 1、1 什么是线程 1、2 再次理解进程概念 1、3 轻量级进程 二、进程控制 2、1 创建线程 pthread_create 2、2…

Postgresql与执行计划相关的配置项

1. ENABLE_*参数 在PostgreSQL中有一些以“ENABLE_”开头的参数,这些参数提供了影响查询优化器选择不同执行计划的方法。有时,如果优化器为特定查询选择的执行计划并不是最优的,可以设置这些参数强制优化器选择一个更好的执行计划来临时解决这…

java开发之个微朋友圈机器人的开发

简要描述: 取消点赞 请求URL: http://域名地址/snsCancelPraise 请求方式: POST 请求头Headers: Content-Type:application/jsonAuthorization:login接口返回 参数: 参数名必选类型说明…

分子对接简介-2023

分子对接简介-2023 分子对接(Molecular Docking)是分子模拟的重要方法之一,其本质是两个或多个分子之间的识别过程,其过程涉及分子之间的空间匹配和能量匹配。这项技术在药物研发、生物医学研究和药物设计中具有广泛的应用&#…

简明 SQL 组合查询指南:掌握 UNION 实现数据筛选

在SQL中,组合查询是一种将多个SELECT查询结果合并的操作,通常使用UNION和UNION ALL两种方式。 UNION 用于合并多个查询结果集,同时去除重复的行,即只保留一份相同的数据。UNION ALL 也用于合并多个查询结果集,但不去除…

MapRdeuce工作原理

hadoop - (三)通俗易懂地理解MapReduce的工作原理 - 个人文章 - SegmentFault 思否 MapReduce架构 MapReduce执行过程 Map和Reduce工作流程 (input) ->map-> ->combine-> ->reduce-> (output) Map: Reduce

腾讯mini项目-【指标监控服务重构】2023-07-27

今日已办 SigNoz Log Management SigNoz原生支持 OpenTelemetry 来收集日志,SigNoz 在收集器端进行了优化,为SigNoz中的日志添加了不同的功能。 OpenTelemetry 提供了各种接收器和处理器,用于直接通过 OpenTelemetry Collector 或通过 Flue…

Everything+cpolar内网穿透轻松实现公网远程访问本地硬盘文件

公网远程访问本地硬盘文件【内网穿透】 文章目录 公网远程访问本地硬盘文件【内网穿透】前言1. 下载cpolar和Everything软件3. 设定http服务器端口4. 进入cpolar的设置5. 生成公网连到本地内网穿透数据隧道 总结 前言 随着云概念的流行,不少企业采用云存储技术来保…

建筑模板的抗震性能如何评估和测试?

评估和测试建筑模板的抗震性能通常涉及以下几个方面: 1. 材料测试:首先,需要对建筑模板所使用的材料进行力学性能测试。这包括测量材料的抗弯强度、抗压强度、剪切强度等参数。这些测试可以通过标准化的实验方法进行,例如使用万能…

Gavin Wood 演讲全文:建设更具韧性以应变化的 Polkadot

我们非常激动能邀请到 Gavin Wood 博士来现场分享关于 Polkadot 的近况以及最新的进展,带来他对于《加密项目应该怎样应对当今世界的变化》的演讲分享。 🚩点击视频链接观看演讲实录:https://www.youtube.com/watch?vYw3mQNJ5UJQ&t1048s…

数据驱动的仿真

数据驱动的仿真 数据驱动的仿真(1)动态状态估算。(2)在线模型调整。(3)动态事件重构。 数据驱动的仿真 数字孪生体之所以与传统仿真不同,是因为它产生之初就是数据驱动的。早在1979年&#xff…

10英寸及以上占比超7成!车载大屏保持高增速,哪些供应商在领跑?

中控大屏「上车」继续保持高增速态势。 高工智能汽车研究院监测数据显示,今年1-7月中国市场(不含进出口)乘用车前装标配搭载10英寸及以上大屏(含多联屏)交付775.16万辆,同比去年同期增长38.19%。 同时&am…

生信分析Python实战练习 7 | 视频24

开源生信 Python教程 生信专用简明 Python 文字和视频教程 源码在:https://github.com/Tong-Chen/Bioinfo_course_python 目录 背景介绍 编程开篇为什么学习Python如何安装Python如何运行Python命令和脚本使用什么编辑器写Python脚本Python程序事例Python基本语法 数…

Docker部署Canal监听MySQL binlog

文章目录 概念简述binlogCanal MySQL配置Canal配置创建挂载目录设置权限创建MySQl的Canal账户拉取镜像运行容器简单运行配置文件复制到宿主机修改配置文件删除之前运行的canal容器正式运行Canal容器 查看运行状态排查问题 概念简述 binlog MySQL的二进制日志binlog可以说是My…

支持向量机(SVM)案例分析

支持向量机(support vector machines, SVM)是一种二分类模型,所谓二分类模型是指比如有很多特征(自变量X)对另外一个标签项(因变量Y)的分类作用关系,比如当前有很多特征,…

MySQL 解决数据重复添加

1. sql语句: insert ignore into insert ignore into 表名 (xx1,xx2,xx3) VALUES (#{xx1},#{xx2},#{xx3}) 2. 复合索引

Vue基础入门---详细简介

一,对Vue的概念 1.1 什么是Vue ? 一种流行的JavaScript前端框架,用于构建交互式的Web应用程序。它以简洁、灵活和高效的特性而受到广泛欢迎。Vue采用了一种响应式的数据绑定机制,使得数据的变化能够自动更新相关的DOM元素&#x…

无涯教程-JavaScript - COMBIN函数

描述 COMBIN函数返回给定数量的项目的组合数量。使用COMBIN确定给定数量的项目的组总数。 语法 COMBIN (number, number_chosen)争论 Argument描述Required/OptionalNumberThe number of items.RequiredNumber_chosenThe number of items in each combination.Required No…