tutorial

初阶教程:配置一个用于 AI、大语言模型训练的 GPU 实例

在这篇教程中,我们将一步步指导你如何在 DigitalOcean 的 GPU 服务器上设置 Jupyter L […]

初阶教程:配置一个用于 AI、大语言模型训练的 GPU 实例

在这篇教程中,我们将一步步指导你如何在 DigitalOcean 的 GPU 服务器上设置 Jupyter Lab 或 Jupyter Notebook 实例。此外,我们还会介绍一些关于设置和使用 Jupyter Notebook 运行深度学习代码的基本技巧和窍门。

Jupyter 是运行机器学习、深度学习、数据分析及通用 Python 代码的首选工具之一。越来越多的新手 ML/DL/AI 编程者选择在 Jupyter Notebook 中工作,特别是在工作流程的数据探索阶段。Jupyter 的独特设计,带有顺序代码框,也使其成为练习核心 ML 技能的理想工具。

读者们完成本教程后,将全面了解如何在 DigitalOcean 上的 Jupyter Notebook 中设置环境以运行深度学习代码。

前置条件

  • DigitalOcean 账户:跟随本教程的读者需要注册 DigitalOcean 账号,每个注册用户都可以获得 200 美元的免费试用额度。
  • Visual Studio Code:我们将利用此应用在本地窗口查看云服务器上的 Jupyter Notebook。
  • 基本 Shell 脚本知识:用户需要在终端输入命令来跟随本教程。

设置本地环境

在你的本地机器上,我们需要做两件事:

  1. 下载 VS Code:VS Code 是我们最喜欢的代码编辑器工具,特别是因为它内置了处理 SSH 流水线的功能。通过 VS Code,我们可以轻松地在本地浏览器中打开远程 Jupyter Notebook 窗口。
  2. 如果还没有设置 SSH 密钥,请创建一个新的,并将其添加到计划使用的 DigitalOcean 账户中。具体方法如下

在Digitalocean 网站后台,创建 Droplet 服务器或 GPU Droplet 服务器的页面中,你会看到下图中的选项,点击“New SSH Key”,就会看到添加 SSH Key 的文本框。

如果你没有 SSH Key,可以根据 DigitalOcean 官方的提示来做(如下图所示)。方法如下:

在你自己的电脑上打开终端并运行以下命令:

ssh-keygen

系统会提示你保存并命名密钥。

Generating public/private rsa key pair. Enter file in which to save the key (/Users/USER/.ssh/id_rsa):

接下来,系统会要求你创建并确认密钥的密码(强烈建议):

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

这将生成两个文件,默认称为id_rsa和id_rsa.pub。接下来,你会用到这个公钥。

复制并粘贴.pub文件的内容,也就是id_rsa.pub,到下面截图中左侧的文本框中。就完成了

cat ~/.ssh/id_rsa.pub

启动 GPU 服务器实例

启动新的 GPU 实例非常简单。按照设置页面上的指示创建一个新的实例,然后按照以下步骤操作:

  1. 选择离你最近的数据中心区域和默认的 VPC 网络。
  2. 选择“AI/ML Ready”操作系统模板,这对于使 GPU 与 CPU 协同工作至关重要。
  3. 选择单卡 H100 GPU 或 8x H100 机器。为了跟随教程,只需选择单卡 H100。
  4. 创建或选择一个现有的 SSH 密钥来连接到你的机器。如果想完整跟随本教程,在启动实例前必须完成此步骤。
  5. 给你的机器起一个独特的名字。

完成这些步骤后,你可以使用窗口右侧的提示创建机器。请确保考虑继续此步骤可能会产生的费用。至此,机器设置已完成。我们现在可以开始设置本地机器环境,同时等待实例启动。

设置 GPU 实例环境

现在我们的 GPU 实例已经设置好了,可以从本地终端窗口 SSH 登入。复制实例主页顶部的 IPv4 地址,将其粘贴到下面的命令中以这种方式访问机器。

ssh root@<your IPv4 address here>

将此命令粘贴到本地浏览器中,如果提示关于指纹的问题请输入 yes。这将让你连接到机器。

登录后,我们需要做的第一件事就是退出 root 用户。为此,请为自己创建一个用户名并切换到它,使用以下命令。

useradd -m -g users <your username>
su <your username>
bash

在此步骤中,你可能需要重新打开 bash shell。

接下来,我们将从根目录导航到我们要工作的目录。在同一步骤中,我们还将安装 Python 和 Jupyter。这个安装过程相对较快。

cd ../home
apt install python3-pip python3.10-venv
pip3 install jupyterlab

至此,一切准备就绪,可以运行 Jupyter Notebook 了。

启动 Jupyter

在整个过程中,启动 Jupyter 是最快的一步。只需在远程终端中输入以下命令。

jupyter lab

这将返回三个值:1 个文件路径和 2 个 URL。复制其中一个 URL 以备下一阶段使用。

使用 VS Code 在本地浏览器查看 Jupyter 窗口

在本地打开 VS Code 至空白窗口。页面中央应该有一个可点击的按钮,上面写着“Connect to”。点击后会在窗口顶部的搜索栏上方弹出提示。点击“Connect to Host”,然后点击“+ Add New SSH Host…”。在这里,你将粘贴你的 SSH 密钥,以连接 VS Code 到你的远程机器。粘贴与之前相同的命令,如下所示:

ssh root@<your IPv4 address here>

这将允许 VS Code 从本地机器远程监听并与我们的 GPU 实例交互。

最后一步是在本地浏览器中打开 Jupyter。在已连接的 VS Code 欢迎页面上,同时按下“Command” + “Shift” + “P”。搜索“Simple Browser”并打开一个新窗口。

在出现的 URL 栏中,粘贴之前复制的 URL。点击 URL 栏右侧的打开按钮,现在你可以在本地浏览器中打开 Jupyter Notebook 了。

Jupyter Lab 环境

这应该会在本地浏览器中打开 Jupyter Lab 环境!从此处开始,我们可以自由地使用 Jupyter 进行 AI、ML 和数据分析编程。

写在最后

Jupyter 是数据科学、数据工程和 AI 研究的学习和探索工具之首。我们希望这篇教程能帮助用户充分利用云上强大的 GPU 来在本地机器上进行工作,几乎不需要任何复杂的设置。

今天就注册搭载了 H100 GPU 的 DigitalOcean GPU 服务器实例吧!如果需要了解详情,可访问 Digitalocean 中国区独家战略合作伙伴卓普云的官网,与他们联系。