大家好,我是丹尼尔·伯克。我收到了来自英伟达的一个精美包裹。虽然我对里面装的是什么心里有点数,但你们可能不知道,或许从标题能猜到吧。让我们进行一次开箱体验,看看里面有什么,然后进行设置并分享第一印象。特别感谢英伟达的马克寄来这个漂亮的包裹,我们要看看怎么把它打开。它从加州圣克拉拉一路运到了我居住的澳大利亚布里斯班。
这就是英伟达 DGX Spark,太酷了!现在我们来打开盒子,这里有几个很酷的拉环。为了戏剧效果,我慢慢地把它滑出来。天哪,太酷了!乔什,你看一下。那是德鲁吗?这真的很棒。把它从盒子里拿出来哇,这是一件美丽的硬件设备。这是我的手,我只是想把它放在手掌里看看,多酷啊!
它大概和一本普通书一样宽,但因为它是方形的所以没那么高。背面有四个 USB-C 端口、一个 HDMI 接口、以太网口,还有两个我认为是 PCIe 端口的东西(稍后我会把正确的端口名称显示在屏幕上,可能是视频接口,因为我知道可以堆叠两个这样的设备)。让我们来个 360 度全景展示。这就是英伟达 DGX Spark。
如果你想知道什么是英伟达 DGX Spark,它基本上是一台你可以放在桌上的 AI 超级计算机,而且能握在手掌中。重约 1.2 公斤(2.65 磅)。它拥有 FP4 精度下的庞大算力,因为它搭载了最新的 Grace Blackwell 架构。Grace Blackwell 是 CPU 和 GPU 的结合体,也就是片上系统(SoC)。
我最喜欢的功能是它拥有 128GB 的统一系统内存。这意味着你可以运行超大型的大型语言模型(LLM)和其他各种 AI 模型。而且只需插一根线就能工作,非常简便。把它和 Mac Mini 放在一起对比看看怎么样?它比 Mac Mini 宽一点,但高度差不多。这真是一件看起来很酷的硬件设备。
现在让我们看看盒子里还有什么其他配件。这是一个小平台,先放一边。然后我们有电源线,非常简单直接。还有一个某种类型的转接器(dongle),也许是用来设置操作系统的?我不太确定,我几乎没读过关于它的资料,只看了发布博客。还有端口配件。这些是 QSFP 端口,我其实不知道它代表什么缩写。
我们可以用电源按钮给它通电连接设备我们稍后再做。这是电源适配器,就这样了非常简单明了我喜欢这种简洁的设计。它主要由两部分组成:DGX Spark 主机和电源线,而我的深度学习电脑(现在在镜头后面)则是一个相当大的塔式机箱。
里面装有一块 RTX 4090,相当强大。但对于即插即用的深度学习来说第一印象是出色的如果它能坐在我的桌面上和 Mac Mini 并列那就太好了。让我们看看能不能做到。试着连接一下嘿,漂亮的编织电源线哦不我们有个问题。看到这根线了吗?当然我住在澳大利亚所以可能得去趟电脑店让我展示一下问题所在。这是我们在澳大利亚用的电源适配器,而这根是连接线所以我得去买个转接头把它插到澳洲插座上。
趁我在那边,可能还会买一个支持 USB-C 的宽键盘和鼠标。我们在电子商店嘿你好我们需要美国转澳大利亚的适配器美澳转换。
拿到转换器了,我有两个以防万一现在我们来拆箱回到那个小角落看起来不错很漂亮。然后把它插到 DGX 的背面哦,USB-C供电真不错我可能得先把电源适配器放低一点。现在我们来连接所有设备我得好好设置一下,但今天只是做个粗略的设置。
断开这个让我们给 DGX Spark 通电也许我得按住它才行结果我发现我刚才做错了什么,因为它太安静了我甚至不知道它启动了。可能有个启动提示音但我没听到。我连接了一些外设,像老式风格那样自带键盘和鼠标。结果我发现我只是把它切到了 HDMI 1 接口。欢迎来到 DGX Spark让我们设置你的新个人 AI超级计算机这实际上比我想象的容易多了我试了两次开机以为没反应,结果它只是运行得很安静。
让我们开始设置欢迎使用你的新个人 AI 超级计算机,我们开始吧选择美式英语我的时区设为澳大利亚好了,昆士兰州。昆士兰人。(叹气)真不敢相信它这么安静无声更新中好的,我们的目标是运行一些 PyTorch 代码我觉得这是个不错的目标。
好了伯克先生现在看看这是什么在运行?我认为它可能是某种版本的 Ubuntu 系统接受所有选项哦太好了。这是 build.envidia.com/spark第一次来这里试试这些快速启动项:在本地安装 VS Code、DGX 仪表盘(监控你的 DGX 系统)、启动 Jupyter Lab、用 Ollama 打开网页。让我们直接开始,终端在哪里?
输入 nvidia-smi哇哦看看这个!这是什么?英伟达 GB10。那是 Grace Blackwell 10。CUDA 版本是 13完美我们可能需要更新到 CUDA 13.1,我相信那可能刚发布。内存有多少?可用多少?conda命令没有conda没关系但是有 Python 或 Python3吗?有的。有 torch(PyTorch)吗?呃,我们有 transformers 库吗?我怀疑我们没有如果没有 torch也没关系我们可以创建环境。
所以用 conda create 创建一个名为 ai 的环境,Python 版本为 3.12。好了。Linux arch64真酷是的。现在激活 ai环境太棒了现在我们应该能安装 PyTorch了,太好了所以这是在用 CUDA 13 安装 PyTorch。这可能需要几分钟没关系但在我们安装了 PyTorch 并能访问 GPU之后,只要 CUDA 被识别,当我们想使用 GPU时整个深度学习生态系统应该都能很好地工作。所以我们会用 PyTorch 检查一下,作为奖励我们还将获得 VS Code
运行并启动,甚至在 VS Code 中使用 Jupyter Notebook。那将非常精彩。所以,目前我们大概处于插电、下载一些更新以及 PyTorch 后的20分钟节点。因此,我估计从全新 NVIDIA DGX Spark 插电那一刻起,到运行带有 CUDA 的 PyTorch 以及所有相关配置,整个过程大约需要30分钟。如果不需要进行那些更新操作,可能只需10分钟或更短。
目前 torch 版本有26项安装已完成,共28项。好了,让我们开始吧。是 Torch 还是 Python?然后我们输入 import torch。能获取到 torch 吗?torch.cuda.is_available() 返回 True。太棒了,这正是我们想要的。我们已经成功可用 PyTorch。那么设备设置是 torch.device('cuda'),接着我们调用 torch.cuda.get_device_properties() 并输入设备属性。
接下来我们把设备参数放进去。好了,这里有什么?找到了 GPU0 Nvidia GB10,其 CUDA 能力为 12.1。最低和最高支持的 CUDA 版本由当前 PyTorch 版本决定,范围是8到12。这意味着它具有极高的 CUDA 兼容性。这里还有什么?总内存。好了,显示为 122,570 MB(兆字节)。让我们确认一下。我们会查看总内存。ChatGPT 骗了我们,它说是总字节数(total memory in bytes)。
这里的单位是字节。所以无论那个数字是多少,它都是以字节为单位的。也就是 128 GB(吉字节)。好吧,我不知道如何直接解读这个数字而不经过深思熟虑。或者是12亿?这里有多少位数字呢?1、2、3,再重复三次。所以那是九位数吗?是的。那就是 1280亿字节,经过一些神奇的换算后得出是 128 GB 的内存。这非常酷。现在,torch 已激活。
让我们从这里退出。我们要安装 transformers 吗?嗯,transformers。我们能在这里运行一个大型语言模型(LLM)吗?那将是一件很酷的事情。(音乐声)好了,所以我无法正确安装 Mamba SSM。那将是未来视频的一个项目主题。但现在,让我们尝试运行来自 Hugging Face 的 Small Llama3-8B(原文为 small LM3 3B,推测指代小型模型)。
我只是复制那里的默认代码。所以我刚刚安装了 ipywidgets。希望我们能看到一些加载进度条。是的,好了。看起来好多了,对吧?让我们观看一下运行过程。(笑声)哇,好吧,看来我们在这里得到了来自 Small Llama3-8B 的第一个 LLM 输出。
“重力是一种将具有质量的物体相互吸引的力。”把它想象成只吸引金属物体的磁铁。“引力作用于任何两个具有质量的物体之间。想象一下把球抛向空中。”好了,很简单,对吧?我想知道我们能否关闭思考模式。所以我们可以这样操作:no think(不思考)。这种键盘和鼠标设置简直令人震惊,体验很差。
好了,让我们看看“不思考”模式需要多长时间。我们的 GPU 使用率……好了,12秒。这还不错。当然,DGX Spark 兼容许多不同的数据类型。我想我们使用的是全精度 FP16(半精度浮点数)。让我们检查模型的数据类型 dt type。我们有 float32 吗?所以,我们这里使用的是 float32(单精度浮点数)。
DGX Spark 支持许多不同的数据类型,我将在未来的会话中探索这些类型。所以,我已经设置了 VS Code 并可以在 NVIDIA DGX Spark 上运行代码。但有两种方式可以运行它。当然,你可以将其作为独立系统使用,只需通过操作系统直接操作即可。它已完全准备就绪。你现在就可以开始训练深度学习模型了。
但还有另一种方式,我们可以通过 SSH 或从这里的 Mac Mini(或者是你的日常主力机,无论是笔记本电脑还是台式机)通过 Nvidia Sync 连接,然后在 NVIDIA DGX Spark 上运行计算任务。这目前是我的工作流程:我在旁边的深度学习 PC 中有一张 RTX 4090 显卡。我喜欢 Mac OS 及其附带的所有工具,所以我用 Mac Mini 编写代码。
但对于我的开发系统,我喜欢在 Linux 上运行它。所以,我们现在要看看设置局域网访问是什么样的情况。这里有一些文档,基本思路是:有两种远程连接的方法。你可以使用 Nvidia Sync(推荐),我相信那是一个应用程序,但我以前没用过;或者手动 SSH 连接。这也是我目前使用的方式,我用 SSH 连接到我的另一台深度学习 PC。
所以我们要看看尝试 Nvidia Sync 会发生什么。Nvidia Sync 是一个桌面应用程序,通过局域网将你的电脑连接到 DGX Spark。它提供了一个单一界面来管理 SSH 访问并在 DGX Spark 上启动开发工具。在你的电脑上下载并安装 Nvidia Sync 以开始使用。好的,我想我可能需要在 Mac 上执行此操作。
所以我现在在 Mac 上。我要访问 build.nvidia.com/spark。(笑声)好了,配置一下。我想通过 Nvidia Sync 连接。所以我要下载并将 Nvidia Sync 应用程序放入“应用程序”文件夹中。让我们打开它看看里面有什么。我要允许访问 VS Code。这是我们要连接的设备,我将其命名为 Nvidia DGX Spark。
主机名或 IP 地址……让我们在这里找出它。好的,我可以在仪表板设置中找到我的 DGX Spark 的详细信息。哦,这很酷。DGX 仪表板。(笑声)好的,这是主机名。所以我需要这个。好了,让我们再试一次。名称……设置成功。这太酷了吧?
然后这里会出现这个提示:“我现在可以在 VS Code 中打开它吗?”哦,这太酷了。真的假的?打开代码测试(Open code test)。所以现在这是在 DGX Spark 上运行的。(笑声)Transformers。所以它正在运行。现在我们有了 transformers。(笑声)我们可以打开终端,然后输入 watch nvidia-smi 吗?哇,这真的很酷。就这么简单。
所以这可能就是我连接它的方式。总之(TLDR),如果你像我之前那样不去阅读文档,而是试图自己做,那其实相当简单。我并没有去执行第二步,只是尝试自己搞定。但运行方式有两种:你可以将其作为独立设备使用;或者在你现有的任何计算机上,以该计算机为主操作系统运行。你可以在这里运行计算任务,这大概也是我将采用的方式。
我可以将这两个显示器连接到 Mac Mini 上,然后每当我需要运行计算任务时,我就可以通过 Nvidia Sync 连接 VS Code,在这里编写代码并让它们在 DGX Spark 上运行。这真的很酷。所以总体而言,设置局域网访问和 VS Code 大约需要一个小时。从开箱到完成整个开发者环境搭建(无论是在 Spark 上直接运行,还是通过 SSH/Nvidia Sync),你可以在一小时内完成所有设置并投入使用。这简直不可思议。