人工智能需要什么基础?

IT 作为一门专业学科的存在归功于寻求从信息中获得竞争优势的公司。今天,组织充斥着数据,但处理和分析数据的技术往往难以跟上每台机器、应用程序和传感器发出的源源不断的遥测数据的洪流。

事实证明,对于基于结构化数据库的传统信息系统而言,非结构化数据的爆炸式增长尤其具有挑战性,这引发了基于机器学习和深度学习的新算法的开发。这反过来又导致组织需要为机器学习、深度学习和人工智能工作负载购买或构建系统和基础设施。

在今天的文章中,让我们概述能够使用 AI/机器学习和深度学习的基础架构电脑配置要求

这是因为几何扩展的非结构化数据集、机器学习 (ML) 和深度学习 (DL) 研究的激增以及旨在并行化和加速 ML 和 DL 工作负载的成倍强大的硬件之间的联系激发了对企业 AI 的兴趣应用程序。IDC 预测,到 2024 年 AI 将变得普遍,四分之三的组织都在使用 AI,其中 20% 的工作负载和 15% 的企业基础设施将用于基于 AI 的应用程序。

企业将在云上构建许多此类应用程序。但是,训练和馈送此类算法所需的大量数据、将数据移动并存储在云中的高昂成本以及对实时或近实时结果的需求,意味着许多企业 AI 系统将部署在私有的专用系统上。

在为人工智能增强的未来做准备时,IT 必须应对许多架构和部署选择。其中最主要的是人工智能加速硬件集群的设计和规范。由于其密度、可扩展性和灵活性,一种很有前景的选择是超融合基础设施 (HCI) 系统。虽然人工智能优化硬件的许多元素都高度专业化,但整体设计与更普通的超融合硬件非常相似。

大多数 AI 系统运行在 Linux VM 上或作为 Docker 容器运行。事实上,大多数流行的 AI 开发框架和许多示例应用程序都可以作为来自 Nvidia 和其他公司的预打包容器映像提供。

  • 计算机视觉,例如图像分类、对象检测(在图像或视频中)、图像分割和图像恢复;
  • 语音和自然语言处理、语音识别和语言翻译;
  • 基于先前的用户活动和参考提供评级和建议的个性化内容或产品的推荐系统;
  • 内容分析、过滤和审核;和

这些在各种行业中都有应用,例如:

  • 金融服务公司的欺诈分析和自动交易系统;
  • 在线零售个性化和产品推荐;
  • 物理安全公司的监控系统;和
  • 石油地质分析,用于天然气和采矿公司的资源开采。

一些应用程序,例如网络安全和 IT 运营自动化系统 (AIOps) 的异常检测,跨越多个行业,基于人工智能的功能被纳入各种管理和监控产品。

将有一个用于 AI 和 ML 模型训练的海量历史数据存储库,以及用于模型推理和预测分析的高速传入数据流。机器学习和人工智能的数据集可以达到数百 TB 到 PB,通常是非结构化格式,如文本、图像、音频和视频,但包括半结构化内容,如 Web 点击流和系统日志。这使得这些数据集适用于对象存储或 NAS 文件系统。

机器和深度学习算法以数据为基础。数据选择、收集和预处理,例如过滤、分类和特征提取,是影响模型准确性和预测价值的主要因素。因此,数据聚合(整合来自多个来源的数据)和存储是影响硬件设计的 AI 应用程序的重要元素。

数据存储和 AI 计算所需的资源通常不会同步扩展。因此,大多数系统设计将两者解耦,在 AI 计算节点中使用本地存储设计为足够大且足够快以提供算法。

机器和深度学习算法需要大量的矩阵乘法和累加浮点运算。这些算法可以并行执行矩阵计算,这使得 ML 和 DL 类似于像素着色和光线跟踪等图形计算,这些计算由图形处理器单元 (GPU)大大加速

但是,与 CGI 图形和图像不同,ML 和 DL 计算通常不需要双精度(64 位)甚至单精度(32 位)精度。这允许通过减少计算中使用的浮点位数来进一步提高性能。因此,尽管近十年来早期的深度学习研究使用了现成的 GPU 加速卡,但领先的 GPU 制造商英伟达已经建立了一条单独的数据中心 GPU 产品线,专为科学和人工智能工作负载量身定制。

AI 工作负载的典型服务器设计

  • 中央处理器: 负责操作 VM 或容器子系统,将代码分派到 GPU 并处理 I/O。当前产品使用第二代 Xeon Scalable Platinum 或 Gold 处理器,尽管使用第二代(罗马)AMD Epyc CPU 的系统正变得越来越流行。当前一代 CPU 增加了可显着加速 ML 和 DL 推理操作的功能,使其适用于利用先前使用 GPU 训练的模型的生产 AI 工作负载。
  • 网络: 由于 AI 系统通常聚集在一起以扩展性能,因此系统具有多个 10 gbps 或更高的以太网接口。有些还包括用于集群内通信的 InfiniBand 或专用 GPU (NVLink) 接口。
  • 存储 IOPS:在存储和计算子系统之间移动数据是 AI 工作负载的另一个性能瓶颈。所以大多数系统使用本地 NVMe 驱动器而不是 SATA SSD

GPU 一直是大多数 AI 工作负载的主力,英伟达通过 Tensor Cores、多实例 GPU(并行运行多个进程和 NVLink GPU 互连)等功能显着提高了它们的深度学习性能。然而,对速度和 效率的日益增长的需求 催生了大量新的人工智能处理器,如谷歌的 TPU、英特尔 Habana 人工智能处理器、Tachyum

企业可以通过选择正确的配置和系统组件,将任何超融合基础设施或高密度系统用于 AI。不过随着深度学习以及人工智能对电脑的要求越来越高,还是推荐大家选择呆猫云桌面轻松解决电脑配置瓶颈,轻松办公研究人工智能和深度学习。

呆猫云桌面后台可配置的CPU机器数量上不封顶,同时针对GPU机型呆猫设有天璇型、天玑型、天枢型三种选项,所有GPU机型皆配备NVIDIA专业级顶配显卡,在科学计算、渲染、游戏、办公等应用场景下的表现自不必说。

更多资讯,继续关注我吧,呆猫在手,轻松畅想高配电脑。

在企业为人工智能平台选择存储之前,必须首先考虑以下注意事项:

1、人工智能存储数据的方法——成本。

人工智能数据存储的成本是企业考虑的关键因素。显然,企业管理层和参与采购决策的管理人员都希望其存储尽可能具有成本效益,并且在许多情况下,这将影响企业的产品选择和策略。

2、人工智能存储数据的方法——可扩展性。

在此需要强调收集、存储和处理大量数据以创建机器学习或人工智能模型的必要性。机器学习算法要求源数据呈指数增长,以实现精度的线性提高。创建可靠和准确的机器学习模型可能需要数百TB甚至PB的数据,而且这只会随着时间的推移而增加。

构建PB级存储系统通常意味着使用对象存储或横向扩展文件系统。现代对象存储当然可以解决人工智能工作负载的容量需求,但是它们可能无法满足其他标准,例如高性能。横向扩展文件系统可以提供高性能和良好的可扩展性,但是将整个数据集存储在单个平台上可能会很昂贵。由于可扩展性要求和大容量产品的成本,块存储通常不是机器学习或人工智能的正确选择,因为高容量产品的可扩展性要求和成本。这里唯一的例外是在公共云中。

存储成本的变化引入了分层或使用多种存储类型来存储数据的思想。例如,对象存储是存储大量非活动人工智能数据的良好目标。当需要处理数据时,可以将其移动到高性能文件存储集群或为高性能而设计的对象存储中的节点,并且在处理完成后可以将数据移回。

3、人工智能存储数据的方法——性能。

人工智能数据的存储性能包括三个方面。首先可能也是最重要的是延迟。这定义了软件发出的每个I/O请求的处理速度。低延迟很重要,因为改善延迟会直接影响创建机器学习或人工智能模型所需的时间。复杂的模型开发可能需要数周或数月的时间才能运行。通过缩短此开发周期,企业可以更快地创建和完善模型。在检查延迟功能时,由于对象访问的数据流特性,对象将引用时间存储到第一个字节,而不是单个I/O请求的延迟。

存储性能的另一个方面是吞吐量,这是可以将数据写入存储平台或从存储平台读取数据的速度。系统吞吐量很重要,因为人工智能培训会处理大量数据集,通常会反复读取和重新读取相同的数据以准确地开发模型。机器学习和人工智能数据的来源(例如自动驾驶汽车上的传感器)每天可以产生数TB的新数据。所有这些信息都必须添加到现有数据存储中,并且对任何现有处理的影响最小。

正确设置存储平台至关重要,因为涉及的数据量非常大。

存储性能的最后一个方面是并行访问。机器学习和人工智能算法并行处理数据,运行多个任务,这些任务可以多次读取同一数据,并跨越多个并行任务。对象存储擅长并行读取I/O处理,因为没有对象锁定或属性可管理。文件服务器跟踪内存中打开的I/O请求或文件句柄。因此,I/O请求的数量取决于平台上可用的内存。

机器学习的数据可以由大量的小文件组成。在这个领域,文件服务器可以提供比对象存储更好的性能。向人工智能存储供应商提出的一个关键问题是,其产品的性能特征将如何在大文件类型和小文件类型之间发生变化。

4、人工智能存储数据的方法——可用性和耐用性。

机器学习和人工智能学习模型可以长期连续运行。通过训练开发算法可能需要几天或几周的时间。在此期间,存储系统必须启动并持续可用。这意味着任何升级、技术更换或系统扩展都需要在不停机的情况下进行。

在大型系统中,部件故障是正常的,必须按此处理。这意味着用于人工智能工作的任何平台都应该能够从设备(例如HDD硬盘或SSD硬盘)和节点或服务器故障中恢复。对象存储使用擦除编码在多个节点上广泛分布数据,并将组件故障的影响降到最低。有擦除编码技术可以扩展文件系统以提供同等的弹性级别。擦除编码方案的效率非常重要,因为它直接关系到读写I/O的性能,特别是对于小文件。

由于大多数大型对象存储太大而无法定期备份,因此可靠的擦除编码成为人工智能存储平台的基本功能。

5、人工智能存储数据的方法——公共云。

开发机器学习和人工智能算法既需要高性能的存储又需要高性能的计算。许多人工智能系统都基于GPU(例如Nvidia DGX),可以减轻开发精确算法所涉及的许多复杂数学计算的负担。

公共云服务提供商已开始提供可用于机器学习的GPU加速虚拟实例。在公共云中运行机器学习工具可以降低构建机器学习开发基础设施的投资和成本,同时提供扩展开发机器学习模型所需基础设施的能力。

使用公共云计算面临的挑战是如何以经济高效和实用的方式将数据导入公共云。基于云计算的对象存储速度太慢,无法满足机器学习的I/O需求;因此,必须使用本地块存储。每延迟一分钟传输数据以及执行机器学习的延迟,就意味着增加运行基础设施的成本。

公共云的另一个问题是数据出口的成本。尽管云计算服务提供商不收取将数据移动到其平台的费用,但他们确实会收取从其平台之外的公共网络访问的任何数据的费用。因此,尽管公共云在计算方面提供了灵活性,但以一种及时且经济高效的方式在云中进出数据并不总是那么简单。

供应商正在开发存储产品,以在其内部部署和公共云中运行其产品。这些产品可以有效地复制数据或将数据移至云中,并且只在完成后才将结果移回。这些复制技术具有高带宽效率,使在本地存储数据并导入到云中进行分析工作变得切实可行。

6、人工智能存储数据的方法——整合。

在本文中,将机器学习和人工智能的存储方面与计算隔离开来。构建人工智能数据存储可能很困难,因为存储网络和调整存储必须考虑其他因素才能与机器学习应用程序一起工作。

产品的预包装使供应商能够在将产品交付给客户之前对其产品进行测试和优化。如今,有一些存储产品将流行的人工智能软件、通用CPU和GPU等计算、网络和存储设备结合在一起,以提供支持人工智能的平台。在部署这些系统之前,许多详细的调整工作已完成。尽管成本可能是一个问题,但对于许多客户而言,预包装的系统可以减少采用人工智能存储的障碍。

显然,选择合适的人工智能数据存储平台是性能、可扩展性和成本等指标的平衡。正确使用存储平台至关重要,因为涉及的数据量很大。选择错误的产品可能是一个代价高昂的错误。与任何存储产品决策一样,重要的是与供应商沟通,以准确了解他们的产品如何满足人工智能和机器学习的需要。该参与过程应该包括演示和评估,并作为企业采购决策的前奏。

以上就是有关于人工智能存储数据的方法的内容了,即使当前时代人工智能的发展依然有限,但是依然不影响大家对于人工智能这一行业的热情,小编相信在不久的未来,人工智能一定能为我们的社会带来更多便利,环球网校小编在此祝大家人工智能行业的学习之路顺利。

  人工智能学习什么?机器学习、深度学习、TensorFlow、Python、NumPy、ML、贝叶斯.....在初学人工智能时,觉得需要学习和掌握的知识太多,毫无头绪;若跟着吴恩达的视频学习,发现一头就扎到理论的深渊里,无法呼吸...在经过很长时间的学习和摸索后,作为过来人我决定写一系列的文章,将自己的人工智能学习路径和方法分享出来,希望让后来的师弟师妹们能少走弯路。

  首先,在学习人工智能前你需要给自己制定一个合理的学习规划,它能帮助你。

  了解机器学习、深度学习的轮廓、框架

  随时判断自己掌握了多少内容并查看自己的学习进度

  这个学习计划包含5个方面:数学基础、技术基础、机器学习、深度学习和问题领域(应用领域)

  数学基础包含:线性代数、微积分、概率统计和信息论等内容。

  这些基础跟人工智能的后期学习是有着密不可分的联系的,比如:矩阵计算的时候会用到线性代数,而微积分是求梯度时用的,信息论则是求交叉熵的时候会用到。

  想必很多计算机专业出身的小伙伴们都清楚,就是所有程序员都要学习的计算机原理、程序设计语言,以及算法基础以及对应领域知识(图像、语音,NLP)。比如,如果你要做NLP,就肯定要先了解一些语言模型知识才行吧!

  3.机器学习和深度学习

  到了重头戏——机器学习,机器学习算法里面要学的包括机器学习中的逻辑回归、决策树模型、集成算法、聚类算法和深度学习中的深层神经网络(DNN)、卷积神经网络(CNN)、循环神经网络(RNN),这是我们在算法方面要学习的。


  最后是我们实际解决问题的部分,这里面包含了语音识别、NLP、机器视觉等领域。是的,无论学习哪个领域,解决实际问题才是人工智能技术的最终目的,作为初学者一定要清楚这一点。

  接下来我将从能力方面作重点介绍

  作为一名算法工程师,需要掌握什么技能呢?

  首先是机器学习理论部分,包括有监督学习、无监督学习、半监督学习、基础理论这四个部分。

  有监督学习:在神经网络里有监督学习其实就是深度学习,深度学习属于机器学习一部分,需要学习最基础的感知机、DNN、CNN、RNN等。而机器学习有监督学习里,还会有其他东西要学习,如因子分解机、FM、KNN、GBDT等。

  无监督学习:有监督学习指的是我们拥有有标签的数据,没有标签的情况下就是无监督学习,比如K-means PCA、LDA、混合高斯等。

  半监督学习:近一两年诞生的半监督学习,解决了一个有监督学习(需要标签)和无监督学习(训练模型难)之间如何折中的矛盾。GAN作为可以生成一些数据的模型,在这一两年获得的成就比较高。半监督学习要求的效果是——即可以用没有标签的数据,效果又比较好。

  基础理论:最优化、正则化、信息论等内容。

  2.概率和统计学基础

  数学基础重要性的占比前文已经说过, 像概率与统计基础里的贝叶斯、EM等都很重要。

  3.开发语言和开发工具

  同样重要的基础是开发语言的掌握能力,作为初学者,学习Python是最好的,非常的简便易学,但如果已经工作或者想要做工程部署,C语言仍然是更实用的选择。

  其他一些开发工具,像NumPy,是Python一个科学计算的库,而Pandas用来清洗数据,TensorFlow、Keras、PyTorch等深度学习框架都是必须要学习使用的。

  目前TensorFlow仍是最火热的深度学习框架,更新速度很快,比较活跃,因此大力推荐大家使用。像sklearn、Gensim、XGBOOST,也是会必须的内容,比如LDA就要调取gensim里的一些程序等。

  4.基础数据结构与算法

  树、图、矩阵等基础数据结构与算法也是一定要掌握的。

  当然,作为工程师,基础开发能力可不能少,无论是做算法还是前后端工程师,你的代码的整洁性、可读性和可维护性、稳定性、健壮性等都是必须具备的基础能力。


(想了解更多人工智能学习技巧,可关注‘天学网人工智能学院’公众号。)

我要回帖

更多关于 人工智能入门 的文章

 

随机推荐