快速开始#

这份指南将帮助您在十分钟内快速安装并尝鲜 GeoMX。😁

备注

  • 前提条件:我们提供了预先构建的 Docker 镜像以供快速试用 GeoMX。为此,我们需要按照 Docker 官方指南 (Guide) 安装好 Docker。

拉取 Docker 镜像#

如果想在 CPU 上体验,请使用:

sudo docker pull lizonghango00o1/geomx:cpu-only

如果想在 GPU 上运行,且宿主机的 CUDA 版本高于 8.0,请使用:

sudo docker pull lizonghango00o1/geomx:cu80

如果想在 GPU 上运行,且宿主机的 CUDA 版本高于 10.1,请使用:

sudo docker pull lizonghango00o1/geomx:cu101

运行 Docker 容器#

如果您使用的是带有 cpu-only 标签的镜像,请使用以下命令来启动容器:

sudo docker run -it --rm --name geomx lizonghango00o1/geomx:cpu-only bash

对于 GPU 版本的 cu80cu101 镜像,使用方法类似,但我们需要添加 --gpus all 选项:

sudo docker run -it --rm --name geomx --gpus all lizonghango00o1/geomx:cu101 bash

运行示例脚本#

我们在 scriptsexamples 文件夹中提供了一些使用 GeoMX 训练深度学习模型的示例脚本。

要体验 GeoMX 的初始版本(仅使用分层参数服务器),请运行:

# If run on CPUs
cd GeoMX/scripts/cpu && bash run_vanilla_hips.sh

# If run on GPUs
cd GeoMX/scripts/gpu && bash run_vanilla_hips.sh

我们也提供了几种其他优化技术的快捷运行脚本,它们是:

  1. 双向梯度稀疏化 (Bi-Sparse): bash run_bisparse_compression.sh.

  2. 低精度量化 (FP16):bash run_fp16.sh.

  3. 混合精度量化 (MPQ):bash run_mixed_precision.sh.

  4. 差异梯度传输 (DGT):bash run_dgt.sh.

  5. TSEngine: bash run_tsengine.sh.

  6. 优先级参数传播 (P3):bash run_p3.sh.

  7. 多全局参数服务器负载均衡 (MultiGPS):bash run_multi_gps.sh.

  8. 复合同步算法 (MixedSync):bash run_mixed_sync.sh.

  9. 混合频率聚合 (HFA):bash run_hfa_sync.sh.

警告

注意:如果您使用的是带有 cu80cu101 标签的镜像,GeoMX 的首次初始化可能需要几分钟的时间。但是,后续的运行将会恢复正常,除非您重新编译了 GeoMX。这个初始化延迟是正常的,它也发生在 PyTorch 和 MXNET 等其他框架上。