使用 AWS Community AMI 安装 Driverless AI

点击 此处 观看安装视频 。请注意,此视频中的某些图像可能因版本而异,但安装步骤仍相同。

环境

提供者

实例类型

GPU 数量

适用于

AWS

p2.xlarge

1

实验

p2.8xlarge

8

正式使用

p2.16xlarge

16

正式使用

p3.2xlarge

1

实验

p3.8xlarge

4

正式使用

p3.16xlarge

8

正式使用

g3.4xlarge

1

实验

g3.8xlarge

2

实验

g3.16xlarge

4

正式使用

安装 EC2 实例

  1. https://aws.amazon.com 上登录至 AWS 帐户。

  2. 在 Amazon Web Services 页面的右上角,设置位置下拉菜单。(请注意:我们建议选择美国东部地区,因为 H2O 的资源存储于此。与其他地区相比,此地区还可提供更多实例类型。)

../_images/ami_location_dropdown.png
  1. 在“计算”区段中选择 EC2 选项,以打开 EC2 仪表板。

../_images/ami_select_ec2.png
  1. 点击“创建实例”区段中的 启动实例 按钮。

../_images/ami_launch_instance_button.png
  1. 在 Community AMI 下,搜索 h2oai,然后选择您要启动的版本。

../_images/ami_select_h2oai_ami.png
  1. 在“选择实例类型”页面中,从 筛选条件 下拉菜单中选择 GPU 计算 。这将确保您的 Driverless AI 实例将在 GPU 上运行。从可用选项中选择 GPU 计算实例。(我们建议至少选择 32 个 vCPU。)点击 下一步:配置实例详细信息 按钮。

../_images/ami_choose_instance_type.png
  1. 指定您想要配置的实例详细信息。创建一个 VPC 或使用现有 VPC,并确保 “Auto-Assign Public IP” 已启用并关联到您的子网。点击 下一步:添加存储

../_images/ami_configure_instance_details.png
  1. 指定存储设备设置。请再次注意,Driverless AI 需要 10GB 的磁盘空间,如果可用磁盘空间少于 10 GB,将停止运行。计算机应至少有 30 GB 的磁盘空间。点击 下一步:添加标签

../_images/ami_add_storage.png
  1. 需要时,可添加唯一标签名来识别实例。点击 下一步:配置安全组

  2. 添加以下安全规则,以启用对 Driverless AI 的 SSH 访问,然后点击 查看并启动

类型

协议

端口范围

来源

描述

SSH

TCP

22

任意位置 0.0.0.0/0

自定义 TCP 规则

TCP

12345

任意位置 0.0.0.0/0

启动 DAI

../_images/ami_add_security_rules.png
  1. 查看配置,然后点击 启动

  2. 此时,将会出现弹窗提示您选择密钥对。使用 SSH 连接至实例需要一个密钥对。您可以选择现有密钥对或创建新密钥对。请务必接受确认信息,然后点击 启动实例 以启动新实例。

../_images/ami_select_key_pair.png
  1. 成功完成后,将显示一条消息,通知您正在启动实例。点击 查看实例 按钮,以查看关于此实例的信息,包括 IP 地址。此页面上的 连接 按钮可提供关于如何使用 SSH 连接至实例的信息。

  2. 打开一个终端窗口并使用 SSH 连接至 AWS 实例的 IP 地址。将下方的 DNS 名称替换为您的实例 DNS。

ssh -i "mykeypair.pem" ubuntu@ec2-34-230-6-230.compute-1.amazonaws.com

请注意:如果您收到 “Permissions 0644 for ‘mykeypair.pem’ are too open” 的错误提示,请运行以下命令,为用户提供读取权限并移除其他权限。

chmod 400 mykeypair.pem
  1. 如果您选择了 GPU 计算实例,则必须启用 GPU 的持久模式和优化功能。这些命令因实例类型而异。还请注意,这些命令在每次 DNS 后均需运行一次。请查阅以下网站,了解更多信息:

# g3:
sudo nvidia-persistenced --persistence-mode
sudo nvidia-smi -acp 0
sudo nvidia-smi --auto-boost-permission=0
sudo nvidia-smi --auto-boost-default=0
sudo nvidia-smi -ac "2505,1177"

# p2:
sudo nvidia-persistenced --persistence-mode
sudo nvidia-smi -acp 0
sudo nvidia-smi --auto-boost-permission=0
sudo nvidia-smi --auto-boost-default=0
sudo nvidia-smi -ac "2505,875"

# p3:
sudo nvidia-persistenced --persistence-mode
sudo nvidia-smi -acp 0
sudo nvidia-smi -ac "877,1530"
  1. 此时,您可以使用 scp 将数据复制到主机的数据目录中。例如:

scp -i /path/mykeypair.pem ubuntu@ec2-34-230-6-230.compute-1.amazonaws.com:/path/to/file/to/be/copied/example.csv /path/of/destination/on/local/machine

其中:

  • I 是识别文件选项

  • Mykeypair 是私有密钥对文件的名称

  • Ubuntu 是私有密钥对文件名称

  • Ec2-34-230-6-230.compute-1.amazonaws.com 是实例的公共 DNS 名称

  • Example.csv 是要传输的文件

  1. 使用浏览器连接至 Driverless AI。使用用户名 h2oai 登录至 Driverless AI 并使用 AWS InstanceID 作为密码。首次登录时,系统将提示您输入 Driverless AI 许可证密钥。

http://Your-Driverless-AI-Host-Machine:12345

终止 EC2 实例

即使关闭 aws.amazon.com 门户网站,EC2 实例仍将继续运行。若要终止实例:

  1. 在 EC2 仪表板上,点击“资源”区段中的 正在运行的实例 链接。

  2. 选择您想要终止的实例。

  3. 操作 下拉菜单中,选择 实例状态 > 终止

  4. 此时将显示一个确认页面。点击 是的,终止 以终止实例。

升级 Driverless AI Community 映像

警告

  • 此版本不支持 1.7.0 及更低版本的实验和 MLI 模型。

  • 实验、MLI 和 MOJO 存储于 Driverless AI tmp 目录中,并且在 Driverless AI 升级时不会自动升级。我们建议您在升级前采取以下措施。

    • 升级前构建 MLI 模型

    • 升级前构建 MOJO 管道。

    • 升级前停止 Driverless AI 并备份 Driverless AI tmp 目录。

如果在升级 Driverless AI 前未在务必模型上构建 MLI,则升级后将不能在该模型上查看 MLI。升级前,请务必在您想要在未来版本中继续进行解释的模型上运行 MLI 作业。如果当前版本的解释模型列表中含有此 MLI 作业,则在升级后将保留。

如果在升级 Driverless AI 前未在模型上构建 MOJO 管道,则升级后将不能在该模型上构建 MOJO 管道。升级前,请务必在所需的全部模型上构建 MOJO 管道,然后备份 Driverless AI tmp 目录。

在升级过程中,将从 /etc/dai/User.conf and /etc/dai/Group.conf 继承服务用户与用户组权限。升级期间,您无需手动指定 DAI_USER 或 DAI_GROUP 环境变量。

从 1.2.2 版或更低版本升级

以下示例展示了如何从 1.2.2 版或更低版本升级至当前版本。从这些更低版本升级需要编辑 starth2oai 脚本。

  1. 使用 SSH 连接至映像实例的 IP 地址,并将现有实验复制至备份位置:

# Set up a directory of the previous version name
mkdir dai_rel_1.2.2

# Copy the data, log, license, and tmp directories as backup
cp -a ./data dai_rel_1.2.2/data
cp -a ./log dai_rel_1.2.2/log
cp -a ./license dai_rel_1.2.2/license
cp -a ./tmp dai_rel_1.2.2/tmp
  1. Wget 新映像。可使用以下命令获取 1.2.2 版:

wget https://s3.amazonaws.com/artifacts.h2o.ai/releases/ai/h2o/dai/rel-1.2.2-6/x86_64-centos7/dai-docker-centos7-x86_64-1.2.2-9.0.tar.gz
  1. /home/ubuntu/scripts/ 文件夹中,编辑 start.shh2oai.sh 脚本以使用新映像。

  2. 使用 docker load 命令加载映像:

docker load < ami-0c50db5e1999408a7
  1. 可运行 docker image 以确保新映像在注册表中。

  2. 通过浏览器访问 http://Your-Driverless-AI-Host-Machine:12345,连接至 Driverless AI。

从 1.3.0 版或更高版本升级

以下示例展示了如何从 1.3.0 版进行升级。

  1. 使用 SSH 连接至映像实例的 IP 地址,并将现有实验复制至备份位置:

# Set up a directory of the previous version name
mkdir dai_rel_1.3.0

# Copy the data, log, license, and tmp directories as backup
cp -a ./data dai_rel_1.3.0/data
cp -a ./log dai_rel_1.3.0/log
cp -a ./license dai_rel_1.3.0/license
cp -a ./tmp dai_rel_1.3.0/tmp
  1. Wget 新映像。将下方的 VERSION 和 BUILD 替换为 Driverless AI 版本。

wget https://s3.amazonaws.com/artifacts.h2o.ai/releases/ai/h2o/dai/VERSION-BUILD/x86_64-centos7/dai-docker-centos7-x86_64-VERSION.tar.gz
  1. 使用 docker load 命令加载映像:

docker load < dai-docker-centos7-x86_64-VERSION.tar.gz
  1. 在新的 AMI 中,找到 DAI_RELEASE 文件,并编辑此文件,以匹配新的映像标签。

  2. 停止,然后启动 Driverless AI。

h2oai stop
h2oai start