大型语言模型时代的存储系统(专家讨论会)
YJJ  2024-08-15 10:10  发布于中国

本文转载自:Andy730 公众号


640.jpg

核心内容

一、AI存储需求与挑战

1. AI存储的特殊需求:AI存储不仅需要更大的容量和更高的性能,还需支持高效的数据处理和管理,以适应深度学习系统中大量且动态变化的数据负载。

2. AI数据管理的具体挑战:当前大型模型训练并不存在显著的数据问题,但随着多模态AI的发展,尤其是“大世界模型”的出现,未来将面临更大的数据处理需求。

3. 多模态数据的重要性:AI的多模态能力使其能够处理来自不同源的数据(如图像、文本、声音等),这增加了对存储和分析能力的要求。例如,詹姆斯·韦伯太空望远镜每天产生235GB的多模态数据,如何全面分析这些数据成为新的挑战。

4. 存储需求的演变:当前冷数据的存取模式可能会随着需求的增加而发生改变,特别是在使用庞大的数据集(如YouTube视频)进行模型训练时,这些数据的访问频率显著提高,存储系统需要重新设计以适应新的访问模式。

二、用户需求与支持

1. 用户自主处理能力:用户希望存储解决方案能够降低成本并提高容量,而无需深入理解存储的具体实现。他们希望通过简化的参数配置自行处理数据,减少对存储细节的依赖。

2. 多样化的客户需求:客户群体包括具备技术能力的用户和缺乏专业知识的用户。后者更倾向于使用简单的配置文件(如YAML)来实现自动化的数据管理流程,而不希望关注存储的复杂性。此外,结合超级计算机的部署增加了存储系统的复杂性,要求存储解决方案能够灵活适应不同应用场景。

3. 用户友好的解决方案:AI可以驱动聊天机器人等工具,帮助用户更快解决存储问题,降低对技术支持的依赖,使用户在面对复杂文件系统时能更轻松地获得所需信息。

4. 自动化培训与用户支持:通过自动化工具帮助用户更好地使用存储系统,可以降低学习成本,让用户更快掌握系统操作,改善使用体验。

三、数据管理与处理

1. 复杂的数据管理流程:在数据管理过程中,通常需要多个存储系统来处理数据的不同阶段,包括原始数据存储、模型训练存储和特征存储等。这种多层存储架构增加了数据追踪和管理的复杂性。

2. 实时数据处理的需求:随着对实时信息的需求上升,未来的数据管理将需要更高的效率,尤其是在处理PB级数据集时,用户希望能够快速加载和处理数据。

3. 数据溯源和追踪问题:AI系统生成的数据使得数据的真实与合成之间的界限变得模糊。未来需要解决数据的溯源和追踪问题,以确保能够正确识别和管理不同类型的数据。

四、AI在存储系统中的应用

1. AI在存储系统中的应用:AI可以被用于识别性能瓶颈、优化数据布局和诊断问题根因,帮助存储系统设计更高效。

2. I/O路径的优化:存储系统的I/O路径通常复杂,AI有潜力通过优化代码和简化系统来减少手动调优的工作量,从而提高系统效率。

3. AI应用的适用标准:要考虑AI应用于存储问题的有效性,必须具备两项标准:相关数据的可用性和能够衡量AI表现的指标。这两点能帮助研究人员判断AI是否能够改善存储系统的性能。

五、自然语言接口的未来

1. 对话接口的未来:复杂系统的对话接口将成为未来的趋势,用户可以通过自然语言与存储系统沟通,获取实时状态和故障信息,这种能力预计将在两到三年内进入商用。

2. 自然语言的模糊性:自然语言的模糊性可能会导致与计算机的交互中出现理解偏差,因此在设计自然语言查询系统时需要谨慎,确保用户能明确知道查询结果的准确性。

-----

Keith A. Smith (MongoDB)

今天我们探讨大型语言模型时代的存储系统。我想将讨论范围扩大到AI领域的存储系统,因为这个交叉领域蕴含丰富的研究价值。首先,请各位介绍自己,并分享在AI和存储方面的经验。

Glenn Lockwood (Microsoft)

各位好,我是Glenn Lockwood,现就职于Microsoft。我曾专注于HPC存储架构,转入Microsoft后开始涉足AI存储产品开发。两个月前,我全面投入AI领域,现与我们的核心AI客户合作,解决他们的基础设施挑战。

Dean Hildebrand (Google)

大家好,我是Dean Hildebrand。我在HPC领域耕耘十余载,专注于可扩展存储系统,主要在IBM研究院工作。七年前离开IBM时,我曾构想在GPU上追踪I/O工作负载,但未获资金支持。加入Google后,我在CTO办公室负责整体云存储战略。近一年来,我们全面评估AI对现有存储方案的影响,探索新解决方案的必要性。从全局角度审视这一问题,而非仅聚焦单一存储系统,这个过程令人振奋。

Greg Ganger (Carnegie Mellon University)

我是Greg Ganger,来自Carnegie Mellon University。在存储领域,我从FAST创立之初就积极参与。在AI/机器学习方面,约10至12年前,CMU的机器学习研究者寻求我们的协助,探讨如何实现并行化以及构建适合统计计算模型的系统,这与传统并行化技术的精确性质有所不同。我们一直深入这一领域,因此我带来了机器学习系统的学术视角。

Zhe Zhang (AnyScale)

大家好,我是Zhe Zhang,负责AnyScale的Ray开源项目。Ray是一个广泛应用于AI工作流的分布式计算框架,如OpenAI在其技术栈中使用Ray训练最大规模的模型。过去三年半,我主要从事AI相关工作。此前,我在存储领域工作了十多年,最初在橡树岭国家实验室研究高性能计算系统,如Lustre文件系统。之后转向HDFS,因此我能从不同角度提供见解。

Nisha Talagala (Pyxeda)

大家好,我是Nisha Talagala。我起步于存储领域,专注分布式存储,涉足多个项目。在存储领域的最后几个项目,我聚焦闪存和持久性内存。约九年前,我转向AI,创立了首个机器学习运维(MLOps)平台。我经历了一些有趣的事,如撰写MLOps的首个维基百科页面,尽管最初遭遇质疑。那家公司近期被收购,现在我经营Pyxeda,又称AI俱乐部。我们致力于AI素养和教育,将AI应用于从卫星图像到基因组学的多个领域,同时开发可扩展平台,推广AI教育。目前,我正在亚洲部署100所基于云计算的AI教育学校。


AI领域存储技术的衰退与复兴


Keith A. Smith (MongoDB)

感谢各位的介绍。我有几个初步议题,其中之一是“AI对存储有何特殊需求?”。除了更大容量和更高性能,AI是否需要存储提供其他特性?这是否是一个需要全新解决方案的工作负载?

Glenn Lockwood (Microsoft)

我想提出一个可能会引起讨论的观点:AI,特别是大型语言模型的训练,实际上并不面临根本性的存储问题。核心挑战在于如何不断降低存储成本和增加存储容量,同时将数据处理的负担交给用户。这是我的客户普遍持有的关于存储使用的看法。

Keith A. Smith (MongoDB)

你所说的“让用户自行处理”具体指什么?他们只需要文件系统、对象存储,还是直接操作硬盘上的原始数据?

Glenn Lockwood (Microsoft)

这不是问题的核心所在,他们有办法有效地利用这些资源。只要向他们提供必要的参数,他们就能够找到解决问题的途径。他们不希望深入了解存储的具体细节,也不愿意学习特定的专业知识。只需提供资源,其他的事情他们可以自己解决。

Dean Hildebrand (Google)

我想补充的是,我并非完全反对你的观点。然而,如果我们放宽视野,我们会发现我们面临着多种加速器和多样化的软件环境,包括GKE、Kubernetes以及使用Slurm等调度器的常规Linux系统。同时,我们的客户群体也非常多元化。确实,有些客户拥有优秀的人才,他们清楚如何操作。但也有一些客户表达了不同的需求:“我们只希望有一个YAML文件,能够实现自动数据分层、数据摄入、训练、检查点和重启等功能。”他们期望通过一个YAML文件来处理所有事务,而不希望过多地关注存储的具体细节。

因此,我倾向于认为我们已经拥有了不少基础,然而,一旦你开始部署超级计算机并将其连接到现有的存储系统,情况可能会变得相当复杂,从而带来一系列挑战。目前,我们的处境是努力适应并平衡这两方面的需求,以应对各种不同的应用场景。这不仅仅涉及到单一的超级计算机,而是包括了多种形态的超级计算机,我们正在全力以赴地应对这一复杂局面。

Nisha Talagala (Pyxeda)

我基本同意前两位的观点。关键可能不在于数据路径;数据路径主要追求更快、更便宜和尽可能大的容量。然而,AI的控制路径至关重要。问题在于,AI严重依赖数据,且出现了许多新规定,导致我们难以确定使用哪些数据以及这些数据的用途。未来将出现非常棘手的数据溯源和追踪问题。

简而言之,AI能够生成数据,除非你格外小心,否则很难辨别哪些是真实的数据,哪些是AI生成的合成数据。在创建之初你可能能够识别,但随着时间的推移,这种区分变得困难。管理控制路径,以及在逻辑上追踪所有元素,理解它们之间的相互联系,将构成一项重大的挑战。


AI数据管理

机器学习管道全生命周期管理的最佳实践

面向多样化AI框架和加速器平台的高性能存储分层与生命周期管理通用方案


Keith A. Smith (MongoDB)

这为我们假设的会议中的下一环节提供了很好的切入点,即讨论AI的数据管理。你能详细说明一下吗?你提到的内容比较宏观,有哪些具体的研究课题可以探讨?

Zhe Zhang (AnyScale)

我想重申一点,目前的大型模型训练并不存在数据问题,我用一个简单例子来具体说明。大家认为整个维基百科的内容有多大?我给出三个选项:超过100GB、20到100GB和低于20GB。实际上,它刚好在20GB左右。因此,每台计算机都能加载它。即使是整个互联网爬虫数据也只有几TB。然而,随着多模态的发展,情况将会有很大变化。最近出现了“大世界模型”(Large World Models)的新概念,我认为我们将在这个领域见证重大变革。这很难预测,但我个人对此感到非常兴奋。

Nisha Talagala (Pyxeda)

我想要强调的是多模态的重要性。在过去的一两年里,AI领域最引人注目的进展之一是,以往的AI通常是单模态的,即每种模态都有专门的AI系统。如今,我们拥有了能够流畅地在不同模态之间切换的AI,这将显著增加它们能够处理的数据量。

Glenn Lockwood (Microsoft)

你能详细说明一下你认为哪些模态将对未来存储挑战贡献最大吗?

Nisha Talagala (Pyxeda)

举个例子,詹姆斯·韦伯太空望远镜每天产生约235GB的数据。这些数据本质上是多模态的,因为它跨越各种频率捕获信息,而不仅仅是可见光谱。目前,我们确实不知道如何全面分析这些数据。将会出现越来越多的AI,它们会跨越不同光谱进行数据交叉比较,这将导致巨大的数据处理需求。

Dean Hildebrand (Google)

我想补充一点。通常,会有一个存储系统作为真相源(the source of truth),数据首先落入其中,然后是独立的训练存储系统用于模型训练,接着是特征存储用于数据分析,最后可能通过CDN或其他方式分发结果。如你所说,考虑到整个过程中可能使用平均四种不同的存储系统,数据管理的复杂性会逐渐增加。这使得追踪和确定用于构建特定模型的数据变得棘手,尤其是在数据管理日益复杂的情况下。

Nisha Talagala (Pyxeda)

另一个值得关注的例子是人体内部数据。设想一下与个体相关的多模态数据集合:包括基因组信息、表型数据、X光影像、血液检测结果等,这些数据类型各异,但都源自同一个人。这种情况带来了显著的数据管理挑战,因为需要在保护所有这些数据类型的隐私的同时,还要将它们整合到一个旨在理解如何治疗特定癌症的AI模型中。

Keith A. Smith (MongoDB)

你提到了追踪哪些模型生成了哪些数据的挑战。大约10到12年前,FAST会议上出现了一些关于数据溯源的论文。我们是否应该重新审视或更多关注这个问题?

Greg Ganger (Carnegie Mellon University)

我们不应该止步于此。回顾之前的讨论,我们发现,当前大型语言模型(LLM)训练所需的带宽、速度和输入量,相较于模型训练本身的工作量来说,占比并不大。然而,一旦我们将目光转向那些通常被归类为冷数据的庞大数据集,情况就会发生变化。例如,如果我们打算利用海量的YouTube视频来训练模型,那么这些原本设计为冷访问的数据集将面临前所未有的访问频率。为了应对这一变化,我们需要对存储系统进行重新设计,以满足处理当前数据集规模百倍的需求。

Glenn Lockwood (Microsoft)

我认为这是存储行业的一个常见误解:AI并不需要随时访问所有数据。实际上,大型语言模型的训练过程并非如此。原始文本或图像在输入GPU进行训练之前,需要经过大量的预处理。如果预处理数据量过大,无法在训练热路径上高效管理,我们就需要寻找更有效的表示方式,比如token。实际上,没有人会直接将ASCII文件加载到GPU中。预处理步骤通常在训练之前离线完成,本质上就是一个标准的大数据分析问题,类似于Hadoop的处理方式。那么,这究竟有什么新意呢?

Dean Hildebrand (Google)

没错,但我也看到对实时信息的实时访问需求不断增加。展望2030年,我认为重点将转向训练较小的数据集并实时动态改进模型。这将改变现状,不再是花一周时间调整数据格式、确保列的正确位置。没错,目前我们可能有这样的余地,但未来可能没有。当用户带来PB级的卫星数据、基因组数据等大型数据集时,他们希望能在上千个节点同时加载模型,快速处理数据,并会问:“多快能完成?”因为这是时间敏感的。

因此,虽然可能不需要每次都重构数据,但从一开始就追求高效将变得至关重要。

Glenn Lockwood (Microsoft)

但这些处理总得在某个地方进行,对吧?

Dean Hildebrand (Google)

或者我们可以从一开始就追求高效。

Keith A. Smith (MongoDB)

那么,这些是真正的新存储问题,还是我们只是在假设未来的挑战?

Zhe Zhang (AnyScale)

说到新的存储挑战,我认为另一个非常有趣的新兴存储类型是嵌入式向量数据库。这不仅仅是简单的字符串输入输出查询,还需要补充检索自有数据。这个概念称为检索增强生成(RAG)。该领域正在快速发展,我相信我们还没有看到它的巅峰。

Greg Ganger (Carnegie Mellon University)

没错。我不想用“降采样”(downsampling)这个词,因为不太准确,但你可以将庞大的数据提炼成更易管理的形式。然而,随着原始数据集变大,提炼过程中可能损失的信息带来的潜在后果也变得更显著。这变成了一种权衡:是找方法减少所需压缩来推进,还是增加压缩来完全避免这个问题?我不确定正确答案是什么,也许你知道,但这里似乎有很大的试错空间。

Keith A. Smith (MongoDB)

那么,这是一个存储问题吗?还是如Glenn所说,只是存储变得更快更便宜,而这是我们一直关注的?Glenn,我是否误解了你的观点?

Glenn Lockwood (Microsoft)

我的观点是,举个例子,如果我们考虑训练一批4K图像,那么使用32位色彩通道的4K电影是否真的必要呢?因为在训练或推理过程中,这些图像通常会被转换为4位整数。我们是在训练模型,而不是进行尖端科学研究,因此并不需要FP64精度。这些模型在实际应用中涉及大量的近似处理。我的意思是,任何使用过AI聊天机器人的人都有这样的体验:这些工具在某些方面确实令人印象深刻,但当你试图用它们来完成一些真正有实际价值的工作时,就会发现它们存在一定的局限性。当然,这种情况可能会随着技术的发展而改变,但我们是否真的需要在大规模数据处理中追求完全的保真度,以便开发下一代的应用,比如生成猫视频呢?

Zhe Zhang (AnyScale)

针对你的观点以及之前关于大数据和Hadoop式处理的问题,一个有趣的问题是,我们是否应该将这些过程推向存储系统,还是将其视为独立的管道。例如,我们用户常见的需求是去重网页爬虫数据。同时在特定条件下检索数据的需求也很强烈,但不一定要求完全准确。

Dean Hildebrand (Google)

我想补充一点。目前系统中存在许多效率低下的问题,我们对此感到不太满意。我们到处复制数据,将4K图像降采样,或将其缩减为128KB的文件。我们做了很多工作,但效率极低。从写放大或读放大的角度看,我们处理每个字节数据的低效程度是惊人的。我相信,随着时间推移,我们在数据处理方式上有巨大的效率提升空间。目前的方法有效,但这应该成为标准吗?我认为我们应该追求更高的标准。

Nisha Talagala (Pyxeda)

另一个值得深思的领域是小型化AI的应用潜力。尽管我们通常倾向于追求更大规模的系统,但在AI领域,开发更小巧、更高效的系统实际上蕴藏着巨大的可能性。如果我们能够设计出能够在微型设备上高效运行的存储设备或软件,并且这些设备与针对此类环境进行优化的AI技术相结合,这将是一个重大的技术进步。AI的能耗问题一直是业界关注的焦点,任何能够降低能耗的解决方案在当前都显得尤为重要。因此,我们的关注点不应该仅仅局限于扩大规模,实际上,缩小规模同样具有不可忽视的实际价值。


AI赋能存储系统

存储性能预测分析:利用AI预测和消除性能瓶颈

基于AI的I/O路径代码优化:降低延迟,提升效率

针对异构存储环境的AI驱动数据放置策略

分布式存储系统实时交互式根因分析与瓶颈检测


Keith A. Smith (MongoDB)

像FAST这样的会议的另一个角度是探讨AI对存储的需求,以及存储系统和研究人员如何利用AI。例如,如何利用AI优化存储系统设计?ChatGPT似乎通过在标题中加入“AI”,解决了许多任意的存储问题。我们可以利用AI来识别瓶颈、优化数据布局或诊断问题根因。

Dean Hildebrand (Google)

我记得我确实阅读过一些类似的论文。让我回想一下,其中一篇可能是我自己的作品。我想要表达的是,AI技术无疑正在逐渐渗透并影响我们的专业领域。

Greg Ganger (Carnegie Mellon University)

很高兴我没有成为那个听起来像老年人说“太阳底下无新事”的人。不知道在座有多少人还记得“自主计算”(Autonomic Computing)这个词。自我调优、自我修复、自我这个、那个,所有年长些的人可能都参与过带有这些修饰词的项目,因为这是2000年到2006或2007年间吸引关注的方式。但后来这些都销声匿迹了,主要是因为机器学习技术还不够成熟。如果模型经常出错,预测与实际相差太大,就无法基于预测模型自动决策。

我不介意现在看到一些类似的标题,因为也许技术终于达到了足够好的水平。我们曾经渴望用这些自动化工具实现的一些目标,这次可能真的能成功。我相信在座的各位可能提交过只差一步的类似论文,对吧?如果是三年前,那就不算。那是在当前热潮之前。但如果是2004年的论文有类似标题,那就会让人反思:“等等,发生了什么?”

Keith A. Smith (MongoDB)

在设计存储系统时,有无数策略决策需要做。该预取什么?该驱逐什么?如何决定何时对数据分层?在分布式系统中,如何决定数据的放置位置?还有很多问题。研究人员是否应该随机选一个想法,应用AI,然后看看效果如何?还是我们应该用某种筛选方法来确定哪些存储问题最适合应用AI模型?

Nisha Talagala (Pyxeda)

我通常认为,如果一个问题符合两个标准,那么它适合应用AI:首先,你是否有相关数据?你知道什么是“好”的性能吗?其次,你知道如何衡量和判断AI的表现是否更好吗?你总是可以将AI应用于一个问题,但这并不意味着它必然会改善情况,有时你甚至无法判断它是否有所改善。如果你具备这两个条件,那么值得一试。

Dean Hildebrand (Google)

我想举一个与I/O路径相关的例子。不知道有多少人关注过存储系统的关键组件:I/O路径,但它们往往相当复杂。单个函数内的代码行数可能比应有的多出几千行,涉及许多关于位操作、缓存和其他方面的优化。我真希望AI能够优化现有代码,或者帮助我们避免十年来手动调优系统。相反,我们可以从一开始就构建更优的文件系统或存储系统。

Glenn Lockwood (Microsoft)

或者,我们也可以继续创建非常复杂的文件系统,但利用AI让用户更易于使用。我曾在一个DOE实验室工作,经常收到这样的工单:“我的I/O很慢,发生了什么?”你不需要高薪的博士来回答这个问题——这只是基本的故障排查。那么为什么不利用AI驱动的聊天机器人来帮助用户从复杂的文件系统中更快地获得更好的结果,而不是等几天才等到唯一一个懂得如何操作的员工呢?

Greg Ganger (Carnegie Mellon University)

这就相当于创造了自动化工具来培训人们使用该系统。

Glenn Lockwood (Microsoft)

没错,就是降低使用门槛。用户不应该需要阅读复杂的内核代码才能理解为什么以某种方式运行应用程序时会出现异常行为。从I/O或存储研究的角度来看,这可能不是最令人满意的方向——存储研究应该致力于改进存储本身——但在无法立即获得更优存储的情况下,我们应该让人们更容易克服这些障碍。

Greg Ganger (Carnegie Mellon University)

对,无法直接优化用户。

Glenn Lockwood (Microsoft)

是的,这算是一种理想吧?

Keith A. Smith (MongoDB)

确实如此。有一整套研究和不同的工具与技术来发现缺陷或性能问题,这些方法不太依赖AI,但仍然……

Zhe Zhang (AnyScale)

没错,这绝对是一个现实问题。我还有一个更具体的观点要补充。我认为重要的是要考虑这些问题中哪些与最新的AI进展更相关,哪些可以通过传统机器学习解决。本质上,我们需要识别哪些问题涉及非结构化的输入数据,比如文本。在某些情况下,输入数据是结构化的,比如事件日志,可以用传统方法处理。但对于普通日志、错误信息或源代码,我们可以期待最新的AI会带来显著改进。


智能存储系统

实现自然语言查询:借助大型语言模型进行数据探索

从语言到操作:基于大型语言模型的对话式存储系统管理接口


Nisha Talagala (Pyxeda)

我在产品领域看到的另一个趋势,预示着这种变化可能即将发生(尽管可能不是以研究为重点),是复杂系统对话接口的出现。想象一下,你对你的存储系统说:“嘿,存储系统,你今天怎么样?”它回答:“还不错。昨晚I/O负载很重。我这边有个坏盘,那里有个CPU略微过载。”这是真实存在的,我预计它将在未来两到三年内出现在商用产品中。

Dean Hildebrand (Google)

我的三号服务器感觉有点不适。

Nisha Talagala (Pyxeda)

没错,你的三号服务器状态不佳。这就是我们正在迈向的未来。

Keith A. Smith (MongoDB)

确实如此,这正是ChatGPT帮助提供的一些关于使用自然语言管理AI系统或存储系统的主题。

Greg Ganger (Carnegie Mellon University)

我想强调一个对在座学生尤其重要的观点。在处理问题时,不要急于说“我要应用AI或机器学习来改进它”,而是要先弄清楚什么是“好”的表现,存在哪些差距。这将帮助你判断即将进行的工作——即使完美实现——是否值得去做。它还为你提供了一个目标,特别是在进行监督学习时,因为它定义了什么是“好”的表现。这既可以作为是否继续这一路径的决策过滤器,也可以作为你工作的目标。

Dean Hildebrand (Google)

我记得我的导师曾说过,“RAID 0有时是很难被超越的。”因此,在提出新的数据条带化算法之前,不妨先考虑一下现有算法是否已经足够。

Nisha Talagala (Pyxeda)

AI界有个流行笑话:首先,你要让简单的机器学习决策树正常工作。然后,你花六个月时间让深度学习模型运行起来,以便发表论文,因为后者更容易出错,但更容易发表,即便前者效果更好。

Keith A. Smith (MongoDB)

我对这些自然语言系统的工作原理可能有些天真,但在考虑用自然语言配置系统或查询数据时,我看到了一个挑战。自然语言本质上是模糊的,这也是它富有表现力和美感的原因。然而,我们传统上与计算机的交互是用非常明确、精确的语言进行的。当这两个世界相遇时是否会出现问题?如果我开始用自然语言查询数据,最终可能会因为机器对某些内容的理解与我的意图不同而不确定自己得到了什么结果?就像我可能对你说一些模棱两可的话,而你可能会误解我的意思。

Nisha Talagala (Pyxeda)

没错。

Keith A. Smith (MongoDB)

所以这里并没有什么灵丹妙药。

Nisha Talagala (Pyxeda)

这是个重要观点。它与之前讨论的关于定义“好”的表现有关。当我们不知道正确答案时,衡量成功真的很困难。以前,当我们知道正确答案时,可以计算误差——如果正确答案是0.5而我们得到0.538,就知道误差是多少。但在这里,我们可能只有一句话,很难判断它是否正确。每个人可能都有不同看法。因此,关注新兴的大型语言模型(LLM)评估研究领域很重要。这是个非常相关的领域。如果打算构建LLM来解决问题,你可能需要了解评估其性能的最新进展,以便有效评估它。

Keith A. Smith (MongoDB)

人类在使用编程语言方面也并非总是表现得很好。我在一家数据库公司工作,我们经常遇到客户问题,有人会说:“我运行了这个查询,得到这个结果,似乎不对。”通常问题在于他们对自己编写的查询中使用的语言某些方面理解不够深入。因此,这种新的自然语言查询方式可能并不会比现状更糟。

Greg Ganger (Carnegie Mellon University)

系统自优化以达到指定目标的最大挑战之一是如何引导这些目标。当我们尝试实现此类自动化时,工具没有广泛应用,因为人们对不知道系统在做什么感到不安。他们也对指定诸如“我需要这个性能水平”或“我需要这个可靠性”的要求感到不安,因为不知道这样做会导致什么后果。当我说“人们”时,我指的是那些如果系统出问题就会受到责备的人——也就是那些最接近系统的人,他们应该能够明确这些要求。因此,构建如何进行工作的类比,并将其纳入设计自动化系统中就变得至关重要。

存储系统或一般系统的运维人员常常发现,系统性能不够好的原因并不是因为预先指定了某个标准,而是因为有人抱怨它不够好。这是个极端例子。找出当你超出预期时会发生什么变得更困难,因为发现这一点的明显方式是故意放慢速度,直到有人抱怨。但是当他们抱怨时,你就麻烦了,这正是你想要避免的。因此,弄清楚如何管理这个问题是个有趣的挑战。

Keith A. Smith (MongoDB)

任何与真实客户打过交道的人都知道,他们对自己所购买产品的目标往往非常模糊。

Nisha Talagala (Pyxeda)

但他们知道何时没有达到目标。

Greg Ganger (Carnegie Mellon University)

人们擅长的一件事就是抱怨,因此这必须成为我们获取反馈的一部分,但它不能是唯一的方法。

Keith A. Smith (MongoDB)

如果你足够聪明,有没有办法观察客户的实际操作并推断出他们的目标?

Nisha Talagala (Pyxeda)

值得关注的一点是,ChatGPT之所以如此高效,部分原因在于它采用了一种称为“基于人类反馈的强化学习”(RLHF)的技术。全球有大量人工审核员在评估它的输出并提供反馈,本质上是在说:“这个回答不错。”这个闭环是业界开发出的一种整合人类知识的方法。它的长期效果还有待观察,但这就是目前采用的方式。

Greg Ganger (Carnegie Mellon University)

因此,在语言交互方面,我们需要摄像头来捕捉用户是微笑还是面无表情。

Keith A. Smith (MongoDB)

我敢说,安全团队会对这个想法很感兴趣。

Greg Ganger (Carnegie Mellon University)

没错,因为他们向来对与AI相关的所有东西都很热衷,不是吗?

Dean Hildebrand (Google)

所以,你的意思是数据采集可以自动启动我的笔记本电脑摄像头?

Glenn Lockwood (Microsoft)

是的,然后将数据传输给Google和Microsoft。

Dean Hildebrand (Google)

对。

Glenn Lockwood (Microsoft)

我认为关键在于,你不应完全依赖自动化。我并不认为未来复杂任务会被一个黑盒式的LLM或AI完全自动化。从Microsoft的角度来看,我们开发的是Copilot,它被刻意设计成协作工具,因为你不应盲目信任它。它不是自动驾驶仪,它会犯错。它只是帮助你更接近目标。语言本身就是不精确的,因此你得到的结果也会有偏差。当人们说这还不够好时,你不能只是责怪AI;最终,责任在于你这个人,即使你得到了AI的辅助。

我认为完全自动化一切的问题类似于试图自动优化系统,比如缓存。缓存在CPU中很有效,除非你在进行HPC,这时你需要了解缓存的大小,以确保数据访问能够优化缓存对齐,并精确匹配你的L2缓存。自动化是有益的,直到你需要某个东西完美无缺,我认为我们始终需要人类来确保这种精确度。

Dean Hildebrand (Google)

我还想补充一点,遥测是个难题。它无法全面监控或洞察系统中发生的事情,也难以变得更智能,除非它拥有所有的数据。然而,要完全理解所有客户端、存储服务器和后端发生的情况,需要多年时间来开发针对极其复杂的分布式系统的遥测。等到你将遥测正确实施时,可能你已经引入了新的存储系统或进行了其他变更。保持系统稳定运行需要巨大的投入。看看云计算领域——为了保证服务7x24小时正常运行所需的遥测和控制平面的工作量是惊人的。因此,尽管自动化是可行的,但要使其有效,仍需要在遥测和其他支持系统上进行重大投资。问题在于我们是否愿意投入那么多时间和资源。时间会给出答案,但通常,人们会止步于“足够好”,以避免进一步的成本。

Nisha Talagala (Pyxeda)

补充一点,迁移学习可能是一个值得研究的领域。AI在迁移学习方面表现出色,它能够从一个环境中学习并将知识应用到另一个环境中。如果能将其应用于例如从一个存储系统中学习并将洞察应用到另一个系统,这将既创新又极具价值。

Keith A. Smith (MongoDB)

从一组客户那里学习并将这些洞察应用到另一组客户身上?

Nisha Talagala (Pyxeda)

是的,它在医学和气候研究等领域已经取得了显著成果。


AI与教育

为AI时代培养人才:重构计算机科学课程,提升AI素养与专业技能


Keith A. Smith (MongoDB)

那么,我一直在思考的另一个广泛领域是教育。我们都有教学背景和学术背景。Nisha显然在教育方面做了大量工作,但我在想,这些内容是否与教育相关?例如,如果你在Carnegie Mellon University教授存储课程,AI是否应该成为课程的一部分?

Greg Ganger (Carnegie Mellon University)

嗯,从我听到的所有企业人士的反馈来看,似乎我什么都不需要做——一切都很完美,对吧?不,说实在的,当谈到AI和教育时,最重要的一点是我们需要告诉人们——这对在座的学生也适用——仍然存在从事系统和存储工作的机会和需求。我们现在听到的全是AI/ML,而我可以告诉你,这影响了学生对如何将大学教育转化为职业的看法。

无论是计算机科学硕士生还是刚入学的本科生,我遇到过真正热爱系统工作但又担心专注于系统是否是一个重大职业错误的学生。我通常这样向他们解释:没有管道工,就没有正常运作的管道系统。大规模AI/ML的基础设施不会自行构建。在我们拥有能够独立创建这类基础设施的生成AI之前,还需要很长时间。最终,它可能会取代我们所有人,但那是我的孩子或他们的孩子要面对的问题。我更担心的是,虽然我们在努力弄清楚AI课程应该是什么样子,但真正被咨询如何做的并不是存储专家——可能是像Nisha这样的人,但不是整个存储社区。

Keith A. Smith (MongoDB)

那么,对于业内人士来说,如果你要招聘一位具有系统背景的应届本科生或博士生,你希望在他们的简历上看到与AI相关的经验,而不仅仅是传统的系统课程,还是希望这些经验作为补充?

Zhe Zhang (AnyScale)

我认为"AI素养"这个词很贴切——这正是我所期望看到的。作为一个有系统背景的人,我感觉普通软件工程师使用的术语和AI/ML从业者讨论的内容之间存在明显鸿沟。例如,我花了一些时间才理解"特征存储"是什么,这个语境中的"特征"是什么意思,以及"前向传播"和"反向传播"等概念。我想在另一个方向上也存在同样的挑战。在课程中弥合这个差距将变得至关重要。

Greg Ganger (Carnegie Mellon University)

为了明确,我并不反对这一点。我认为这将会发生——每个学生都希望在他们的技能储备中至少具备对AI的基本理解。

Nisha Talagala (Pyxeda)

如果有帮助的话,我收到了一些正在攻读AI博士学位的学生的提问,他们在思考这样的问题:这是否值得,因为他们不确定自己是否能够创造出与OpenAI、Microsoft或Google所做的AI创新相媲美的东西。这是一个合理的担忧——你正在进行大学项目,而你所能利用的资源仅占这些公司的很小一部分。你如何能写出与他们在接下来一年里交付的300个项目相竞争的论文?坦率地说,我认为从事应用领域的工作比专注于核心AI领域更有前景。像系统或医学这样的应用领域是AI作为工具发挥作用的地方,如果你能够理解这个工具的潜力,你可以在你选择的领域中做出卓越的成就。

Glenn Lockwood (Microsoft)

这是个很好的观点。当我第一次看到这个讨论主题时,起初认为自己没什么可以贡献的,因为我从未上过计算机科学课程。我的博士学位是材料科学,本科是陶瓷工程。按理说我不应该在计算会议上讨论计算问题。但我依靠的是推理、质疑和解决问题的能力——这些技能并非计算机科学所独有。这些基本能力对任何学科的学生都很有价值。因此,尽管AI素养对提高批判性思维很重要,但并不一定要在大学里修AI课程才能理解AI。我就是一个例子——你可以自学掌握,但首先需要具备基础能力。

Dean Hildebrand (Google)

这可能是近年来已经出现的一种趋势。掌握C 和面向对象编程知识毕业是好事,但将这些知识与材料科学、生物学或其他学科结合,正是许多有趣研究的来源。这可能只是多学科工作的一种演变,其中AI作为一个新元素被引入。如你所说,不需要成为专家,但确实需要掌握这门"语言",以便有效沟通。

Nisha Talagala (Pyxeda)

你需要理解科学以及足够的AI知识,才能看到它们之间的联系。最终,仍有许多待解决的问题。如果我们认为所有问题都已解决,那确实会遇到麻烦——但我们离这个阶段还很远。

Keith A. Smith (MongoDB)

知道我们不会耗尽问题真是令人欣慰。

Nisha Talagala (Pyxeda)

顺便说一下,我听说很多大学生无法选到AI课程——所有课程都爆满。

Greg Ganger (Carnegie Mellon University)

这是因为所有学生现在都认为AI是唯一的出路,是必须走的道路。而且不仅是学生在质疑自己能否在大公司之外的AI领域有所作为——教职员工也在焦虑。

Keith A. Smith (MongoDB)

那么,我想留些时间给大家提问。我尝试框定了一些问题,但你们已经涵盖了很多内容。还有什么其他观点是你们希望表达但还没机会分享的吗?

Glenn Lockwood (Microsoft)

我的最后想法是,我没有看到很多特定于存储的问题。当然,AI带来了许多挑战和开放性问题,但我一直在努力识别哪些问题构成良好的存储研究课题。我认为有数据研究问题出现,但严格在存储领域内,也许关键在于如何在存储范畴内应用这些广泛的AI挑战。

Keith A. Smith (MongoDB)

我认为FAST征稿通知总是包含一些关于数据管理和其他数据生命周期主题的内容。因此,我们并不严格限于构建存储系统——在这个广泛领域内还有很多其他工作。也许我们应该更多地倾向于其中的一些方向。

Nisha Talagala (Pyxeda)

是的,也许你可以将FAST改名为FAD——文件与数据。

Greg Ganger (Carnegie Mellon University)

这部分是Keith提到的灰色地带,另一部分可能是将问题重新定义为“存储对AI的意义是什么?”到“存储能做些什么来帮助AI?”。也许答案是什么都做不了,但也许还有其他可能性。由于灰色地带的存在,可能会出现一些功能转变——使存储在减少系统其他部分必须进行的权衡中发挥作用。我不知道答案是什么,但这并非不切实际。

Dean Hildebrand (Google)

我想我的最后看法是,虽然没有太多新东西,但在数据消费和处理方面的挑战仍然很多。这不是一个可以开箱即用解决的问题。它总是回到我们过去20年在HPC中面临的基本挑战:你能教会一个物理学家如何优化他们的代码以适应存储吗?答案可能是否定的,但我们不能坐等数据科学家和其他人来优化他们的代码以适应我们现有的存储服务。我们如何才能让这变得简单、高效和直接?我们已经为企业做了很长时间,但现在我们需要更加高效地去做,并加速这一过程,以应对不断涌现的新用户。

Greg Ganger (Carnegie Mellon University)

我确实认为你在这个小组讨论中早些时候提到的内容很有意义——开发一种工具来帮助用户根据特定工作负载模式以性能优化的方式利用存储系统。访问模式相对较少,有些模式总是低效的,而另一些则高度依赖于具体的使用场景。教导不专注于存储的人员如何做出这些决策是非常具有挑战性的。然而,拥有一个智能系统来观察用户的操作,并根据现有的最佳实践推荐最佳模式或脚本,可以减轻这种负担。这是一个可行的存储研究问题:开发一种自动识别最佳数据访问模式并将其无缝集成到用户代码中的解决方案,尽量减少手动工作。

Nisha Talagala (Pyxeda)

我认为优化控制路径而不是数据路径有显著机会。尽管控制路径问题更抽象且更难衡量,但它们至关重要,随着系统规模扩大,问题变得越来越突出。

Zhe Zhang (AnyScale)

是的,我同意。我的最后补充说明了这一点,强调存储使用在AI工作负载中是多么低效和浪费。例如,即使在像ChatGPT查询这样的简单用例中,常常会将大量数据集加载到GPU内存中,比如整个莎士比亚作品集,只为回答一个简单问题,如“用西班牙语怎么说你好?”这方面有很大的优化空间,比如数据去重和更智能的数据加载策略,这对提高AI系统的效率至关重要。


--【本文完】---

全部回复(
回复
回复
发布帖子
帖子标题
行业分类
场景分类
帖子来源
发送语言版本
提示:请审视翻译版本准确,翻译内容可前往对应语言站点进行编辑
发布文章
文章标题
文章分类
发送语言版本
提示:请审视翻译版本准确,翻译内容可前往对应语言站点进行编辑