为什么要本地工作?

在一个 AI 模型参数数量不断增长,动辄数千亿的世界中,行业焦点大多集中在计算的极端情况。我们阅读到一些公司处理 PB 级原始数据、数万亿过滤数据点,以及他们使用的在集群上训练的工具,而这些集群的租用成本每天高达 50 万美元。虽然这些努力代表了 AI 和 ML 领域令人兴奋的细分市场,但仍有大量数据任务不需要大型 AI 项目的成本或复杂性。对于规模可能“仅”为 10-100 GB 数据的更常见问题,数据科学家应该如何应对?答案可能比您想象的更简单!

多年来,我们了解了很多关于客户如何开展工作的信息,我们发现许多数据科学家在自己的笔记本电脑上开始他们的项目。他们将正在分析的数据暂存在笔记本电脑的内部存储中,并使用笔记本电脑本身上运行的 Python 脚本或 Jupyter Notebooks 对其进行处理。但是,当云计算如此普及和强大时,为什么要以这种方式工作呢?最大的原因是避免摩擦。无论多么容易,配置云服务器都需要付出一些努力(有时还需要获得批准),并且将数据和软件包往返于该服务器也是一项额外的麻烦和成本。数据科学家自己的计算设备始终为他们使用而配置,预装了他们喜欢的工具,并且几乎没有需要证明合理性的增量成本。笔记本电脑用户可以在他们最喜欢的桌面生产力应用程序和命令行工具之间自由切换工作,这在编写包含分析结果的文档或演示文稿时非常有用。此外,互联网连接的质量通常不是本地计算需要担心的问题,这对于经常在不同地点工作的混合办公人员尤为重要。

这怎么可能呢?事实证明,计算机硬件和数据科学软件都在经历一场悄然的革命。

数据科学工作站

在过去的几年里,不起眼的计算机的性能得到了显着提升。以下三大趋势使现代工作站成为数据科学和 AI 的强大工具:

  • 处理能力和性能的提升:所有数据科学、ML 和 AI 任务的核心是大规模并行计算,这些计算可以利用额外的 CPU 时钟速度、处理核心和 CPU/处理器内存(缓存)。某些任务也可以扩展到最新的 GPU。
  • 扩展的内存选项: 像 Lenovo ThinkStation PX 这样的高端工作站现在可以配置高达 4TB 的内存,而像 Lenovo ThinkPad P16 Gen 2 这样的移动工作站可以支持高达 192GB 的内存,使用户能够完全在内存中处理一些相当大的数据集。
  • 快速且大容量的磁盘存储: 高端 Lenovo 工作站已过渡到极快的 PCIe NVMe 存储,每台工作站支持高达 60TB 的容量。这种超快速存储能够实现千兆字节/秒的读取性能,使其成为许多数据科学任务的理想选择。对于内部存储不够大的情况,支持 Thunderbolt 4 和 25GbE 以太网,以便快速访问外部存储机箱。

将所有这些结合在一起,工作站可以成为一种有效的工具,可以高效地将大型数据集加载到内存中并并行处理它们以快速获得结果。

在本博客中,我们将对 Lenovo 的一系列移动和桌面工作站进行基准测试。我们将在几种不同的数据科学和 AI 场景中测试这些工作站,以突出显示不同尺寸、重量和规格的设备如何影响您的工作流程。

对于移动工作站,这些笔记本电脑代表了功率和便携性之间频谱上的两种不同权衡。虽然有多种配置可供选择,但我们专门测试了以下配置。

笔记本电脑/移动工作站 #1:Lenovo ThinkPad P1 Gen 7

CPU:Intel Core Ultra 9(14 核,18 线程)

NPU:Intel® AI Boost w/集成 Intel® Core Ultra 处理器 – 最大 11 TOPS

GPU:移动 NVIDIA RTX 3000 Ada Gen. 笔记本电脑 GPU(8GB GDDR6 VRAM)

内存:64GB(最大 64GB)DDR5 LPCAMM

存储:4 TB PCIe Gen4 NVMe

Lenovo.com 上的技术规格

Lenovo.com 上的产品页面

笔记本电脑/移动工作站 #2:Lenovo ThinkPad P16 Gen 2

CPU:第 14 代 Intel Core i7-14700HX(20 核,28 线程)

NPU:N/A

GPU:移动 NVIDIA RTX 5000 Ada Gen.(16GB GDDR6 VRAM)

内存:32GB(最大 192GB)DDR5

存储:1TB PCIe Gen.4 NVMe

Lenovo.com 上的技术规格

Lenovo.com 上的产品页面

Lenovo ThinkPad P1 的显著特点在于它以非常便携的外形提供了大量功能,重量仅为 4 磅。另一方面,ThinkPad P16 提供了任何笔记本电脑外形中最快的 CPU 和移动 GPU 之一;但是,它的重量为 6.5 磅。

桌面/固定工作站 #3:Lenovo ThinkStation P5

CPU:Intel Xeon W7-2595X(26 核,52 线程)

NPU:N/A

GPU:NVIDIA RTX 5000 Ada Gen.(32GB GDDR6 VRAM)

内存:128GB(最大 512GB)DDR5

存储:1TB PCIe Gen.4 NVMe

Lenovo.com 上的技术规格

Lenovo.com 上的产品页面

桌面/固定工作站 #4:Lenovo ThinkStation P7

CPU:Intel Xeon W9-3475(36 核,72 线程)

NPU:N/A

GPU:NVIDIA RTX 6000 Ada Gen.(48GB GDDR6 VRAM)

内存:256GB(最大 2TB)DDR5

存储:1TB PCIe Gen.4 NVMe

Lenovo.com 上的技术规格

Lenovo.com 上的产品页面

ThinkStation P5 和 P7 是功能更强大的桌面工作站,更适合要求严苛的 AI 工作负载。这些工作站可以作为 1:1 的桌面工作站访问,也可以远程访问,作为安全、沙盒开发环境,用于在整个生命周期中规模或复杂性有时会增长的项目。非常适合缓解来自云端的任何不断增长的计算成本。

我们的测试 ThinkStation P5 配备了强大的 Intel Xeon CPU、128GB 内存和 32GB GPU。

我们的测试 ThinkStation P7 配备了更强大的规格,CPU 性能更高,系统内存翻倍,以及用于 AI 工作负载的最快桌面 GPU,拥有惊人的 48GB VRAM。

Anaconda:随时随地满足您数据科学需求

快速硬件只是在您的办公桌上正确进行数据科学的一半解决方案。数据科学家还需要能够解决他们问题的软件,无论他们使用什么平台。就笔记本电脑而言,尤其是企业发布的笔记本电脑,这意味着 Windows 支持。Anaconda 为 Windows、Mac 和 Linux 操作系统提供数千个开源数据科学软件包。这些软件包可以使用 conda 软件包管理器进行安装和更新,该管理器允许用户管理其所有数据科学项目的软件环境。借助 conda,Anaconda 的数百万用户在所有平台上获得相同的体验,并且可以以相同的方式安装他们需要的开源软件包,而无需考虑操作系统。

事实上,Windows 用户现在有两种不同的方式来安装 Anaconda。最常见的方法是使用 Anaconda 的 Windows 安装程序。这可以访问 Anaconda 中提供的所有开源软件包的本机 Windows 版本,并且是 Anaconda 用户中最受欢迎的选择。但是,Anaconda 的 Linux 版本也可以使用 Windows Subsystem for Linux (WSL) 安装在 Windows 系统上。WSL 版本 2 提供了轻量级的虚拟化 Linux 安装,该安装与 Windows 操作系统紧密集成。在 WSL 2 中运行的 Linux 应用程序可以访问 Windows 文件,甚至可以在 Windows 桌面显示图形界面。虽然 Anaconda 本机可用于 Windows,但许多 GPU 加速软件包(如 NVIDIA RAPIDS 和 Anaconda 的 GPU 启用 PyTorch 版本)仅适用于 Linux。在许多情况下,这些仅限 Linux 的工具可以在 WSL 2 中使用,包括 NVIDIA GPU 支持。Microsoft 使在任何 Windows 系统上安装 WSL 2 非常容易,但这需要管理员访问权限,因此可能不适用于使用企业托管硬件的笔记本电脑用户。这就是为什么我们建议大多数用户使用 Windows 原生版本的 Anaconda,特别是如果您是 Anaconda 新手,但对于关心 GPU 加速的用户,我们建议使用 WSL。

Microsoft WindowsMicrosoft Windows w/WSL2 & Linux原生 Linux 操作系统
标准 AI 软件包
CPU 优化软件包
GPU 优化软件包

致 IT 经理的注意事项

对于员工笔记本电脑上数据科学工作的激增,可能不太兴奋的一个群体是 IT 部门。在集中式云服务器集上管理安全性似乎比在分布式员工笔记本电脑集上更容易。但是,Anaconda 通过我们的软件包安全管理器 (PSM) 为您提供保障,PSM 包含在 Anaconda 的商业层中。PSM 允许 IT 部门集中管理用户可以安装到其笔记本电脑、工作站服务器上的开源数据科学软件包。IT 部门可以应用他们需要的任何许可和安全策略来管理通过 PSM 提供给其组织的软件包选择,最终用户可以继续使用 conda 来管理环境并在其笔记本电脑上安装软件包,就像他们在任何其他计算机上一样。

IT 管理员还可以深入了解哪些软件包最受欢迎,并查看何时发布新的安全漏洞报告,以便他们可以修复新出现的安全威胁。借助正确的治理工具,让用户在其笔记本电脑上进行数据科学工作不必令人头疼。

Environments interface

本地 AI 性能

为了说明移动工作站的 AI 潜力,特别是配备专用 GPU 的移动工作站,我们将研究一些 PyTorch 任务。移动工作站也非常擅长许多其他数据科学任务,例如数据准备和更传统的机器学习;然而,GPU 性能近年来取得了最大的进步。

Anaconda 提供两种不同的 PyTorch 版本,一种仅用于基于 CPU 的计算,另一种支持 NVIDIA GPU。PyTorch 的 CPU 版本适用于所有平台,而 NVIDIA GPU 支持仅适用于 Linux,但可以使用 WSL 在 Windows 上安装。

让我们首先测试一个较小的文本编码模型 (“BERT”) 在 CPU 上的训练。请注意图表标签中使用的以下术语

  • “P1”:ThinkPad P1
  • “P16”:ThinkPad P16
  • “P5”:ThinkStation P5
  • “P7”:ThinkStation P7
  • “WSL”:Windows Subsystem for Linux 可执行文件
  • “Win64”:原生 64 位 Windows 可执行文件
  • “Batch Size”:一次评估的数据样本数量,用于训练或推理
PyTorch CPU speed graph

从这些结果中,我们可以学到几件事

  • 在 WSL 和 Win64 上,CPU 性能之间没有显著或持续的差异。对于 batch size 为 1,WSL 略快。对于更大的 batch size,Win64 更快。
  • 当 CPU 上的 batch size 大于 1 时,性能有所提升,但除此之外,即使 batch size 更大,也没有显著变化。
  • 相对于 ThinkPad P1,ThinkPad P16 在 CPU 速度方面胜出,但在最有利的情况下也仅快约 20%。

为了评估 GPU 性能,我们必须使用 WSL 运行适当的启用 NVIDIA GPU 的版本,但我们立即看到了巨大的速度提升

PyTorch GPU speed graph

首先要注意的是纵轴刻度的差异。在 GPU 上,batch size 为 1 时,速度已经比 CPU 快 1.7 倍到 2.3 倍。与 CPU 情况不同的是,增加 batch size 对吞吐量有巨大影响。GPU 具有显著的并行计算能力,在这种情况下,模型太小,一次只使用一个样本无法充分利用 GPU。批量处理工作可以激活 GPU 的更多功能,并产生重大影响。然而,令人好奇的是,尽管 ThinkPad P1 和 P16 的 GPU 之间存在差异,但吞吐量并没有显著差异。

为了理解这一点,我们可以使用 transformers 库来处理更大的模型,该库用于在 PyTorch 等 AI 包之上实现大多数大型语言模型 (LLM)。该库包含一个示例,使用来自 HuggingFace 的更大的 BERT 模型进行微调和推理。该模型的性能给出以下结果

Transformer model text classification graph

作为一个更复杂的模型,每秒样本数有所下降,但相对性能显示出以下特征

  • 现在 CPU 性能 *慢得多*。对于这种规模的模型,根本没有必要使用 CPU。
  • ThinkPad P16 中更高性能(且更耗电)的 GPU 的能力显现出来。对于训练,P16 中的 GPU 比 ThinkPad P1 中的 GPU 快 2 倍以上。对于推理,差距甚至更大,ThinkPad P16 中的 GPU 能够比 ThinkPad P1 中的 GPU 快 6 倍地进行推理。

总的来说,本节基准测试的关键结论是,这些 ThinkPad 中可用的 GPU 对于 AI 工作负载非常有帮助。模型越大越复杂,GPU 和更大的 GPU 将带来的好处就越多。另一方面,对于运行更简单的模型,CPU 或较低功耗的 GPU 可能就足够了,并且使用更大的 GPU 不一定有成比例的益处。

从本地到云的轻松迁移

一个项目可能 начинаться 很小,但有时会增长到超出便携式计算机的能力范围。在这些情况下,扩展到更强大的桌面工作站是有意义的,这些工作站能够支持多个 CPU、1-4 个 GPU 以及多个并发连接的数据科学用户。这可以为 AI 开发提供强大的本地安全工作流程,然后您可以扩展到云服务器,以进行数据科学项目的最后阶段部署。在这种情况下,即使您的本地笔记本电脑运行的是 Windows,而远程工作站运行的是 Linux,conda 也可以使用环境描述文件在远程系统上重新创建您的软件包环境。然后,您可以在该远程系统上恢复工作并充满信心地继续工作,因为您能够在本地笔记本电脑上调试代码并验证分析。

结论

工作站已成为数据科学家出色的生产力工具,因为它们获得了更多的 CPU 核心、更好的 GPU、极快的存储和大量的 RAM/内存。开源软件包 PyTorch 和 Transformers 可以出色地利用这些扩展的硬件功能来完成常见的 AI 任务。 

Anaconda 对 Windows 和 Linux 上这些流行的开源数据科学软件包(以及数千个其他软件包)的支持,使得在您的 Lenovo ThinkPad 或 ThinkStation 工作站上开始数据科学变得容易。企业 IT 还可以使用 Anaconda 的 Package Security Manager 直接管理其组织设备上可用的 Python 软件,确保即使在分布式 workforce 中也遵守 IT 策略。这种组合使数据科学家和 AI 专业人员能够利用尖端的开源创新,同时帮助 IT 满足其领导者要求的安全和预算要求。