由 Hernán Terrizzano 和 Marcos Boaglio 撰写于2024年8月12日,发布于 [高级(300)](https://aws.amazon.com/blogs/networking-and-content- delivery/category/learning-levels/advanced-300/ "查看所有高级(300)的帖子")、、、、[亚马逊简单存储服务(S3)](https://aws.amazon.com/blogs/networking-and- content-delivery/category/storage/amazon-simple-storage-services-s3/ "查看所有亚马逊简单存储服务(S3)的帖子")、、、、、、、、、、、、、、 分享
随着生成人工智能(生成AI)的不断发展,对于更强大、有效的计算资源的需求日益上升,同时管理急剧增加的数据量也成为一项重要任务。用于训练生成AI模型的数据集通常以TB(太字节)为单位,而传统机器学习(ML)数据集通常为以GB(千兆字节)为单位,相差悬殊。这直接与生成AI模型中使用的数十亿个参数(神经网络权重)有关。显示了模型大小与训练所需数据之间的相关性,以达到最佳性能。
在这种背景下,网络在生成AI工作流的所有阶段中扮演了至关重要的角色:数据收集、训练和部署。本文将分享一些在上训练和微调生成AI模型的网络建议和最佳实践。
以下图示展示了一个可作为参考的样本架构。我们将在本帖的其余部分详细说明组件。该架构的变体也存在,本文不以每种可能组合的形式展示。例如,可以直接写入,而 实例可以通过来自的网关VPC端点读取训练数据。

图1:参考架构
训练生成AI模型的第一步是将数据移动到进行训练的。避免直接从AWS计算节点访问本地数据源(如共享文件系统和Hadoop集群)。像网络文件系统(NFS)和Hadoop分布式文件系统(HDFS)这样的协议并未设计用于广域网(WAN),其带宽通常较低。相反,首先使用我们在本节中讨论的专用服务将数据复制到AWS。是一个常用的服务,它因低成本、高性能和耐用性而被广泛用于存储训练数据。
如果带宽足够,数据可以通过网络传输。将被作为虚拟机(VM)部署在本地,可以从多个来源读取数据,包括NFS、服务器消息块(SMB)文件共享、Hadoop集群和第三方云服务。数据复制的目标包括亚马逊S3和亚马逊FSxfor Lustre。AWS DataSync提供了飞行加密和端到端的数据验证。AWSDataSync还可用于不同服务之间和不同AWS区域之间的数据传输,例如,从将数据复制到不同区域的S3桶。要从S3桶复制数据到不同区域的桶,建议使用。
在网络层,AWS DataSync支持公用互联网、和。公用互联网只需本地数据中心的一条互联网连接,但会受到的影响。站点对站点VPN连接提供了一种快速和便利的方法来连接到AWS,但每条隧道的带宽限制为1.25Gbit每秒(Gbps)。而AWSDirect Connect提供敏感训练数据集的快速和安全的数据传输,它跳过公共互联网,并在您的网络和AWS全球网络骨干之间创建物理私有连接。AWSDirect Connect的速度可高达100 Gbps,在全球100多个地点可用。在选定地点提供给需要最高性能的客户。
AWS DataSync支持包括联邦信息处理标准(FIPS)在内的公共服务端点和VPC服务端点。AWS DirectConnect公共虚拟接口(VIFs)提供了一种经济高效的方式来连接公共和FIPS端点。如果您选择使用VPC服务端点,可以选择私有或传输VIF。您将在您创建的与DataSync服务通过PrivateLink管理和控制流量的接口亚马逊VPC端点上被收取的费用。值得注意的是,只有控制流量会收费,而DataSync传输的文件或对象不需支付PrivateLink的费用。请参阅文章以深入分析影响网络吞吐量的因素。
对于较大数据集或连接性受限的站点,提供了离线数据复制功能。例如,使用1Gbps链接移动1PB(拍字节)的数据可能需要4个月,但使用五台则可以在几天内完成。AWS SnowFamily设备将被运送到您的设施,在那里您可以将其连接到网络并复制数据。然后,它们使用EInk运输标签返回AWS,方便跟踪和将数据上传到亚马逊S3。所有转移到AWS SnowFamily设备的数据都将自动使用256位加密密钥进行加密,这些密钥由管理。加密密钥不会存储在设备上,因此您的数据在传输过程中保持安全。您可以参考下面的表格,在在线和离线数据传输之间进行选择。

图2:在线与离线传输时间对比
某些用例可能需要结合使用的方法。初始训练数据可以离线传输,之后增量更新则可以定期或持续发送。这些增量数据可用于模型重训练、微调或检索增强生成(RAG)。例如,在使用AWSSnow Family进行首次传输后,可以使用进行长期复制,捕获数据库中的更改并将其发送到亚马逊S3。
在训练阶段,我们可以区分两种用例:访问训练数据和训练节点之间的数据交换。
存储在S3中的训练数据可以通过链接到亚马逊FSx for Lustre进行访问。FSx forLustre的低延迟和高吞吐特性经过优化,专门用于深度学习、生成AI和高性能计算(HPC)工作负载。如果希望直接从亚马逊S3访问数据,最具可扩展性的方法是使用。网关端点提供对亚马逊S3和的可靠连接,无需VPC的互联网网关或NAT设备。为了进一步提高亚马逊S3的访问时间,您可以使用。亚马逊S3快速单区是一个高性能、单区存储类别,旨在为最敏感的延迟应用提供一致的单数字毫秒数据访问。S3快速单区是目前最低延迟的云对象存储类别,数据访问速度可提高多达10倍,且请求成本比S3标准低50%。
其他AWS服务和第三方SaaS产品可以通过访问。利用AWSPrivateLink允许您的VPC中的资源使用私有IP地址连接到其他VPC中的服务,仿佛这些服务直接托管在您的VPC中。默认情况下,每个VPC端点的带宽为每可用区最高10Gbps,并会自动扩展到100Gbps。如果需要额外的带宽,可以通过。如果您同时控制源VPC和目标VPC,提供了无需额外费用并且没有带宽瓶颈的连接,但对跨可用区和区域的数据传输会收取费用。
有多种技术可改善训练节点之间信息交换的性能。本节将解释三种方法:扁平化网络拓扑、绕过操作系统和启用数据流并行性。
网络分层构建(见图3),这降低了复杂性,同时实现了水平扩展。大多数网络还实施超订阅,这意味着上层的带宽少于底层带宽的汇总。以图3为例,这意味着从网络节点2到网络节点1的带宽低于节点2到节点4和节点5的带宽总和。这同样意味着A和B之间的通信可用的带宽会多于A和C之间的通信,除了额外减少网络跳数带来的更低延迟外。
超订阅适用于大多数带宽需求变化的应用,为聚合流量需求和偶尔的峰值提供了一种经济有效的方式,假设不是所有节点都需要同时传输数据。然而,当训练节点交换训练数据和协调训练结果以更新模型权重时,分布式训练算法打破了这一假设。

图3:网络拓扑图
可以影响EC2实例在网络拓扑中的位置。集群放置策略将实例紧密打包在一个可用区内。这使得工作负载能够实现紧密耦合节点之间通信所需的低延迟网络性能。您可以通过来验证实例的放置,以进一步优化机器学习(ML)任务。该API允许您描述实例拓扑,并提供实例之间相对接近度的层次化视图。
操作系统绕过是一种访问模型,允许ML应用程序直接与网络接口硬件通信,以提供低延迟、可靠的传输功能,而无需操作系统内核带来的性能损失。[用于机器学习的常用AmazonEC2实例](https://
Leave a Reply