Excelero的首席技术官Sven Breuner和首席设计师Kirill Shoikhet分享了九项卓越的实践,为人工智能、机器学习和深度学习准备数据中心。
数据点1 :了解目标系统的性能、投资回报和可扩展性计划。
随着人工智能成为核心业务的重要组成部分,许多组织从最初的少量预算和少量训练数据集开始,为无缝快速的系统增长准备基础设施。 为了实现灵活的横向扩展,必须构建选定的硬件和软件基础架构,以避免在每个新的增长阶段发生破坏性变化。 数据科学家和系统管理员之间的密切合作可能随着时间的推移对理解性能要求和理解基础架构至关重要。
数据点2 :现在或将来评估集群的多个GPU系统。
一台服务器采用多个GPU,可以在系统内部实现高效的数据共享和通信,符合成本效益,参考设计前提是将来可以在集群中使用,一台服务器最多支持16个GPU。 多个GPU服务器必须准备好以高速率读取传入的数据,以使GPU高效工作。 也就是说,需要超高速的网络连接和用于训练数据库的存储系统。 但是,在某一时刻,单一服务器在合理的时间内处理成长的训练数据库变得不够,因此在设计中构筑共享存储基础设施是随着人工智能、机器学习、深入学习的扩展,追加GPU服务器。
数据点3 :评估人工智能工作流各阶段的瓶颈。
数据中心基础架构必须能够同时处理人工智能工作流的所有阶段。 对经济实惠的数据中心来说,具有可靠的资源时间表和共享概念很重要。 因此,数据科学家取得了需要摄取和准备的新数据,但其他人训练了可用的数据,其他人使用以前生成的模型为生产进行训练。 Kubernetes已成为解决此问题的主要解决方案,使云计算技术在内部部署中变得易于使用,并允许混合部署。
数据点4 :查看优化GPU利用率和性能的策略。
许多人工智能、机器学习和深度学习应用的计算密集型性质以基于GPU的服务器为常见选择。 但是,GPU可以高效地从内存加载数据,但训练数据集通常远远超过内存,难以获取大量相关的文件。 在GPU服务器之间和存储基础架构之间实现GPU数量与可用CPU的功率、内存和网络带宽之间的良好平衡很重要。数据点5 :支持训练和推理阶段的需要。
在训练系统“看猫”的经典例子中,电脑需要玩数字游戏,看很多不同颜色的猫。 NVMe闪存包含大量并行文件读取的访问性质,因此通过提供超低访问延迟和每秒的大量读取操作,很好地满足了这些要求。 在推理阶段,在通常实时进行对象识别的——的另一个使用情形中,NVMe闪存也提供延迟好处,因此挑战相似。
数据点6 :考虑并行文件系统和备选方案。
IBM公司的SpectrumScale和BeeGFS等并行文件系统通过有效处理大量小文件的元数据,在网络上每秒分发数万个小文件,将机器学习数据集的分析速度提高3~4倍。 考虑到训练数据的唯读性,即使将数据卷直接提供给GPU服务器,通过Kubernetes等框架共享,也可以完全避免使用并行文件系统。
数据点7 :选择正确的网络骨干。

人工智能、机器学习、深度学习通常是新的工作负载,重新安装到现有的网络基础架构中后,复杂的计算和高速高效的数据传输所需的低延迟、高带宽、高消息速率、 和基于智能卸载RDMA的网络传输RoCE (融合以太网上的RDMA )和InfiniBand是满足这些新需求的标准。
数据点8 :考虑四个存储系统的性价比杠杆。
(1)可以在云平台或内部部署资源上执行高读取吞吐量和低延迟,而不限制混合部署。
(二)数据保护。 人工智能、机器学习和深度学习存储系统通常比数据中心中的其他系统快得多,因此发生故障后从备份中恢复可能需要时间,正在进行的操作可能会中断。 高级学习训练的只读属性已将最大容错性纳入主存储系统,在原始容量和可用容量之间几乎没有差别。
文/上海蓝盟 IT外包专家