แกแขแแขแแแก แแแ แแแแแ แแแแแแแแ แแฃแ แกแแก แแแฌแงแแแแก แฌแแแ แแฆแแก
แแแแแฌแแแแแฃแแแ แขแ แแแแแแแ แแ แแแแแฏแแ แแแ แแแฆแแแ แฎแแ แแกแฎแแก แแแแแแแแแ แแแกแขแแแชแแแแแ แจแแแซแแแแ แจแแแแชแแ แแก แแแแแแแแ แแแ แฆแ แแ แแแ แแฃแแ แฅแกแแแแแแก แแแ แฏแแจแแก แแ แ แแแแ แ แแแแแแแแแ แแแแแชแแแแแแ แแแแ แแแแแแ แกแแแแแแแ แแ แแฃแแแแช แฌแฃแแแแแ, แ แแช แแแฎแแแก แแ แขแ แแแแแแแก แแแแ แชแแแแแฃแแก แฆแ แแ แกแฌแแแแแก แแ แแฅแขแแแฃแ แแแแแงแแแแแแจแ. แแแแฎแแแ แแแแแแแ แฃแแแ แแแแชแแแแแแ แแ, แแฃ แ แแแแ แแแแแแแ แแ แแ แกแแแฅแ แแแแแแชแแ แแแฃแแแแแ แแแแแชแแแแ แแ แแแแ แแแกแขแแแชแแแก, แ แแช แแแแแก แแฎแ แแ แแแ แแแแแแแแก แแฎแแแแก แกแแแแแ แแแแก แแคแแฅแขแฃแ แแแแแ. แแแ แแ แแแแกแ, แแแแฎแแแ แแแแแแแ แแกแแแ แฃแแแ แแชแแแแแ, แ แแแแ แแแแแแแแกแแ แกแแกแฌแแแแ แกแแ แแแขแ, แ แแแแแแช แแฃแจแแแแก แแ แ แแแแแแแแแ แแ แแ แแแแ แแแกแขแแแชแแแแ.
แแ แกแขแแขแแแจแ แแแกแแฃแแ แแแ แกแฌแแแแแก แแแแ แชแแแแแแก แกแฌแ แแค แแ แแแ แขแแ แแแแแ แฆแแ แฆแ แแ แกแฌแแแแแแแก แแแแแแแแแแแก Apache MXNet-แแกแ แแ Horovod-แแก แแแแแฌแแแแแฃแแ แกแแกแฌแแแแ แฉแแ แฉแแก แแแแแงแแแแแแ. แฉแแแ แแแแแแ แฌแแ แแแแแฉแแแ Horovod-แแก แคแ แแแแแแ แแแก แจแแกแ แฃแแแแแก แฃแแแ แแขแแกแแแแแก แแ แแแฉแแแแแแ, แแฃ แ แแแแ แฃแแแ แแแแฌแแ แแ MXNet แกแแกแฌแแแแ แกแแ แแแขแ แแกแ, แ แแ แแก แแฃแจแแแแก แแแแแฌแแแแแฃแแแ Horovod-แแแ.
แ แ แแ แแก Apache MXNet
แแ แแก แฆแแ แแแแแก แฆแ แแ แกแฌแแแแแแแก แฉแแ แฉแ, แ แแแแแแช แแแแแแงแแแแแ แฆแ แแ แแแ แแฃแแ แฅแกแแแแแแก แจแแกแแฅแแแแแแ, แขแ แแแแแแกแ แแ แแแแกแแแแแกแแแแแ. MXNet แแแกแขแ แแฅแขแแแก แแแ แแฃแ แฅแกแแแแแแก แแแแแ แแแแกแแแ แแแแแแจแแ แแแฃแ แกแแ แแฃแแแแแก, แแ แแก แแแฆแแแ แฎแแ แแกแฎแแก แแ แแแกแจแขแแแแ แแแแแ แแ แแแแแแแแแ API-แแแก แแแแฃแแแ แฃแแ แแ แแแ แแแแ แแแแก แแแแแแกแแแแก, แ แแแแ แแชแแ , , , , , , แแ แกแฎแแแแ.
แแแแแฌแแแแแฃแแ แขแ แแแแแแ MXNet-แจแ แแแ แแแแขแ แฃแแ แกแแ แแแ แแ
แแงแแแแแก แแแ แแแแขแ แ แกแแ แแแ แแก แแแแแแแแก. แแก แแงแแแแแก แแแ แแแแขแ แฃแแ แกแแ แแแ แแแแก แแ แแแแแแแแแก แแแแแแฃแแ แแฃแจแแแแกแแแ แแ แแแแแแขแแแแก แจแแกแแแ แแแแแแแ, แแแ แแแแชแแแก แจแแกแแกแ แฃแแแแแแ แแ แแแแแฎแแแแฃแแ แแ แแแแแแขแแแแก แแแแแแแแแกแแแแก แแฃแจแแแก แจแแแแแแ แแแขแแแแแแชแแแก แแแแแแ แแแแกแแแแก. แกแแ แแแ แแแแกแ แแ แแฃแจแแแแแแก แกแฌแแ แ แแแแแคแแ แแแแแก แแแแแแแ แแคแแฅแขแฃแ แ แกแแแแแ แแแแก แแแกแแฆแแแแ. แแฃ แแ แกแแแแแก แแฎแแแแ แแ แแ แแแ แแแแขแ แแก แกแแ แแแ แ, แแก แจแแแซแแแแ แแฆแแแฉแแแแก แแแแแแแแแแแก แจแแคแแ แฎแแแ. แแแ แแฅแแ, แแฃ แซแแแแแ แแแแ แ แกแแ แแแ แ แแแแแแงแแแแแ, แแแแ แ-แแ แแแแ แแแแฃแแแแแชแแแก แจแแฃแซแแแ แแแแแแแแก แงแแแแ แฅแกแแแฃแ แ แแแแจแแ แ.
แ แ แแ แแก แฐแแ แแแแแ
แแ แแก แฆแแ แแแแแฌแแแแแฃแแ แฆแ แแ แกแฌแแแแแแแก แฉแแ แฉแ, แ แแแแแแช แจแแแฃแจแแแแแฃแแแ Uber-แจแ. แแก แแงแแแแแก แแคแแฅแขแฃแ cross-GPU แแ cross-node แขแแฅแแแแแแแแแก, แ แแแแ แแชแแ NVIDIA Collective Communications Library (NCCL) แแ Message Passing Interface (MPI), แ แแแ แแแแแแฌแแแแก แแ แแแแแ แแแแก แแแแแแแก แแแ แแแแขแ แแแ แแแ แแแแแจแ. แแก แแแขแแแแแแแก แฅแกแแแแก แแแแขแแ แฃแแแ แแแแแแแก แแแแแงแแแแแแก แแ แแแ แแแ แแแกแจแขแแแแแก แฆแ แแ แแแ แแฃแแ แฅแกแแแแก แแแแแแแแแแ แแฃแจแแแแแกแแก. แแก แแแแแแแ แแฎแแ แก แฃแญแแ แก แ แแแแแแแแ แแแแฃแแแ แฃแ แแแแฅแแแแแแชแแแแแแแแก แฉแแ แฉแแก, แแแ แซแแ , Tensorflow, Keras แแ PyTorch.
MXNet แแ Horovod แแแขแแแ แแชแแ
MXNet แแแขแแแ แแ แแแแ Horovod-แแแ Horovod-แจแ แแแแกแแแฆแแ แฃแแ แแแแแฌแแแแแฃแแ แกแแกแฌแแแแ API-แแแแก แแแจแแแแแแ. Horovod แกแแแแแฃแแแแแชแแ API horovod.broadcast(), horovod.allgather() ะธ horovod.allreduce() แแแแฎแแ แชแแแแแแฃแแแ MXNet แซแ แแแแก แแกแแแฅแ แแแฃแแ แแแแแซแแฎแแแแก แแแแแงแแแแแแ, แ แแแแ แช แแแกแ แแแแชแแแแแแก แแ แแคแแแแก แแแฌแแแ. แแ แแแแ, แแแแแชแแแแ แแแแแแแแแแฃแแแแแแ แแแแฃแแแแแชแแแกแ แแ แแแแแแแแแก แจแแ แแก แแแแแแแ แฃแแแแแแแแแ MXNet แซแ แแแแก, แ แแแ แแแแแแแ แแแชแแแแก แจแแกแ แฃแแแแแก แแแแแแแ แแแแ แกแแแฅแ แแแแแแชแแแก แแแแ. Horovod-แจแ แแแแกแแแฆแแ แฃแแ แแแแแฌแแแแแฃแแ แแแขแแแแแแขแแ แ แแแแแฅแขแ horovod.DistributedOptimizer แแคแแ แแแแแก แแแขแแแแแแขแแ แ MXNet-แจแ แแกแ, แ แแ แแก แแแแแแซแแฎแแแก แจแแกแแแแแแก Horovod API-แแแก แแแแแฌแแแแแฃแแ แแแ แแแแขแ แแแแก แแแแแฎแแแแแกแแแแก. แแแแฎแแ แชแแแแแแแก แงแแแแ แแก แแแขแแแ แแแแญแแแ แแแแแ แกแแแแแแ แแแแฎแแแ แแแแแแแกแแแแก.
แกแฌแ แแคแ แแแฌแงแแแ
แแฅแแแ แจแแแแซแแแแ แกแฌแ แแคแแ แแแแฌแงแแ แแชแแ แ แแแแแแแฃแชแแฃแ แ แแแ แแฃแแ แฅแกแแแแก แแแ แฏแแจแ MNIST แแแแแชแแแแ แแแแแแ MXNet-แแกแ แแ Horovod-แแก แแแแแงแแแแแแ แแฅแแแแก MacBook-แแ.
แแแ แแแแ, แแแแแแกแขแแแแ แแ mxnet แแ horovod PyPI-แแแ:
pip install mxnet
pip install horovodแจแแแแจแแแ: แแฃ แจแแแแฅแแแแ แจแแชแแแแ แแ แแก pip install horovodแจแแกแแซแแแ แแแแญแแ แแแ แชแแแแแแก แแแแแขแแแ MACOSX_DEPLOYMENT_TARGET=10.vvแกแแ vv โ แแก แแ แแก แแฅแแแแ MacOS แแแ แกแแแก แแแ แกแแ, แแแแแแแแแ, MacOSX Sierra-แกแแแแก แแแแญแแ แแแแแ แฉแแฌแแ แ MACOSX_DEPLOYMENT_TARGET=10.12 แแแแแก แแแกแขแแแแชแแ horovod
แจแแแแแ แแแแแแกแขแแแแ แแ OpenMPI .
แแแกแแกแ แฃแแก, แฉแแแแขแแแ แแแ แขแแกแขแแก แกแแ แแแขแ mxnet_mnist.py แแ แแแฃแจแแแ แจแแแแแแ แแ แซแแแแแแแ MacBook แขแแ แแแแแแจแ แกแแแฃแจแแ แแแ แแฅแขแแ แแแจแ:
mpirun -np 2 -H localhost:2 -bind-to none -map-by slot python mxnet_mnist.pyแแก แฉแแแขแแ แแแก แขแ แแแแแแก แแฅแแแแ แแ แแชแแกแแ แแก แแ แแแ แแแแ. แแแแแแแแแแ แแฅแแแแ แจแแแแแแ:
INFO:root:Epoch[0] Batch [0-50] Speed: 2248.71 samples/sec accuracy=0.583640
INFO:root:Epoch[0] Batch [50-100] Speed: 2273.89 samples/sec accuracy=0.882812
INFO:root:Epoch[0] Batch [50-100] Speed: 2273.39 samples/sec accuracy=0.870000แจแแกแ แฃแแแแแก แแแแ
ResNet50-v1 แแแแแแแก แกแฌแแแแแแแกแแก ImageNet แแแแแชแแแแ แแแแแแ 64 GPU-แแ แ แแ แแแแแแแแแ แแ p3.16x แแแแ EC2, แแแแแแฃแแ แจแแแชแแแก 8 NVIDIA Tesla V100 GPU-แก AWS แฆแ แฃแแแแแ, แฉแแแ แแแแแฆแฌแแแ แขแ แแแแแแแก แแแแขแแ แฃแแแ แแแแแแแก 45000 แกแฃแ แแแ/แฌแ (แแแฃ, แแแแแแแแแฃแแ แแแแฃแจแแแแก แ แแแแแแแแ แฌแแแจแ). แแแ แฏแแจแ แแแกแ แฃแแแ 44 แฌแฃแแจแ 90 แแแแฅแแก แจแแแแแ แกแแฃแแแแแกแ แกแแแฃแกแขแแ 75.7%.
แฉแแแ แแก แจแแแแแแ แแ MXNet-แแก แแแแแฌแแแแแฃแ แกแแกแฌแแแแ แแแแแแแแก แแแ แแแแขแ แฃแแ แกแแ แแแ แแแแก แแแแแงแแแแแแก แจแแกแแฎแแ 8, 16, 32 แแ 64 GPU-แแ แแ แแ แแแ แแแแขแ แแแแ แกแแ แแแ แแ แแ แกแแ แแแ แแก แแแแแแจแ แแแแแแแ แแแแแคแแ แแแแแ 1-แแแ 1-แแแ แแ 2-แแแ 1-แแแ, แจแแกแแแแแแกแแ. แจแแแแแ แจแแแแซแแแแ แแฎแแแแ แกแฃแ แแแแ 1 แฅแแแแแ. y-แฆแแ แซแแ แแแ แชแฎแแแ, แแแแแแ แฌแแ แแแแแแแแก แแแแแกแแฎแฃแแแแแก แ แแแแแแแแแก แฌแแแจแ แแแกแแแแ แฏแแจแแแแแ, แฎแแแแแ แแกแแฎแแแก แกแแแแแ แแแแก แแคแแฅแขแฃแ แแแแก (แแแฃ แ แแแแฃแ แ แแ แแแแแแฃแ แ แแแแขแแ แฃแแแ แแแแแแแก แแแแแคแแ แแแแ) y-แฆแแ แซแแ แแแ แฏแแแแ. แ แแแแ แช แฎแแแแแ, แกแแ แแแ แแแแก แ แแแแแแแแแก แแ แฉแแแแแ แแแแแแแแก แแฎแแแแก แกแแแแแ แแแแก แแคแแฅแขแฃแ แแแแแ. แแฃ แแ แกแแแแแก แแฎแแแแ แแ แแ แแแ แแแแขแ แ แกแแ แแแ แ, แกแแแแแ แแแแก แแคแแฅแขแฃแ แแแ แแชแแแ 38%-แแแ 64 GPU-แแ. แกแแแแแ แแแแก แแแแแ แแคแแฅแขแฃแ แแแแก แแแกแแฆแฌแแแแ, แ แแแแ แช Horovod-แแแ, แแฅแแแ แฃแแแ แแแแแ แแแแแ แกแแ แแแ แแแแก แ แแแแแแแแ แแฃแจแแแแแแก แ แแแแแแแแแกแแแ แจแแแแ แแแแ.

แกแฃแ แแแ 1. MXNet-แแก แแแแแงแแแแแแ แแแแแฌแแแแแฃแแ แกแฌแแแแแแแก แจแแแแ แแแ Horovod-แแแ แแ แแแ แแแแขแ แฃแ แกแแ แแแ แแแ
แฅแแแแแ แชแฎแ แแแจแ 1, แฉแแแ แจแแแแแแ แแแ แกแแแแแแ แฆแแ แแแฃแแแแแก 64 GPU-แแ แแฅแกแแแ แแแแแขแแแแก แแแจแแแแแกแแก. Horovod-แแแ MXNet-แแก แแแแแงแแแแแ แฃแแ แฃแแแแแงแแคแก แกแแฃแแแแแกแ แแแแขแแ แฃแแแ แแแแแแแก แงแแแแแแ แแแแแ แคแแกแแ.

แชแฎแ แแแ 1. แฆแแ แแแฃแแแแแก แจแแแแ แแแ Horovod-แกแ แแ แแแ แแแแขแ แฃแ แกแแ แแแ แก แจแแ แแก แกแแ แแแ แแก แแแแแแจแ แแแแแแแ แแแแแคแแ แแแแแ 2-แแแ 1-แแแ.
แ แแแ แแแฃแชแแ แแแแก แแแแแฏแแแ
แแแแแแแแ แแแแแฏแแแจแ แฉแแแ แแแฉแแแแแแ, แแฃ แ แแแแ แฃแแแ แแแแแแแ แแ แแแแแฌแแแแแฃแแ แแแ แฏแแจแแก แจแแแแแ MXNet-แแกแ แแ Horovod-แแก แแแแแงแแแแแแ. MXNet-แแ แแแแแฌแแแแแฃแแ แกแฌแแแแแก แจแแกแแฎแแ แแแขแ แแแคแแ แแแชแแแกแแแแก แฌแแแแแแฎแแ .
แแแแแฏแ 1
แแแแแฌแแแแแฃแแ แขแ แแแแแแแก แแแแแกแแงแแแแแแแ แจแแฅแแแแแ แแ แแแแแ แแแแแ แแแกแขแแแชแแแแแก แแแแกแขแแ แ MXNet แแแ แกแแแ 1.4.0 แแ แฃแคแ แ แแแฆแแแ แแ Horovod แแแ แกแแแ 0.16.0 แแ แฃแคแ แ แแแฆแแแ. แแกแแแ แแแแญแแ แแแแแ GPU แขแ แแแแแแแกแแแแก แแแแแแแแแแแแแก แแแกแขแแแแชแแ. แฉแแแแ แแแกแขแแแชแแแแแกแแแแก แฉแแแ แแแแ แฉแแแ Ubuntu 16.04 Linux, GPU แแ แแแแแ แแ 396.44, CUDA 9.2, cuDNN แแแแแแแแแแ 7.2.1, NCCL แแแแฃแแแแแขแแ แ 2.2.13 แแ OpenMPI 3.1.1. แแกแแแ แจแแแแซแแแแ แแแแแแงแแแแ , แกแแแแช แแก แแแแแแแแแแแแ แฃแแแ แฌแแแแกแฌแแ แแ แแก แแแแแกแขแแแแ แแแฃแแ.
แแแแแฏแ 2
แแแแแแขแแ Horovod API-แกแแแ แแฃแจแแแแแก แจแแกแแซแแแแแแแ แแฅแแแแก MXNet แกแแกแฌแแแแ แกแแ แแแขแก. แฅแแแแแ แแแงแแแแแแ แกแแ แแแขแ, แ แแแแแแช แแแคแฃแซแแแแฃแแแ MXNet Gluon API-แแ, แจแแแซแแแแ แแแแแงแแแแแฃแ แแฅแแแก แ แแแแ แช แแแ แขแแแ แจแแแแแแ. แกแขแ แแฅแแแแแ แแแแแแแ แกแแญแแ แแ, แแฃ แฃแแแ แแแฅแแ แจแแกแแแแแแกแ แขแ แแแแแแแก แกแแ แแแขแ. แแฅ แแแชแแแฃแแแ แ แแแแแแแแ แแแแจแแแแแแแแแ แชแแแแแแแ, แ แแแแแแช แฃแแแ แจแแแขแแแแ แฐแแ แแแแแแก แกแฌแแแแแกแแแแก:
- แแแแงแแแแ แแแแขแแฅแกแขแ แแแแแแแแ แแแ แฐแแ แแแแแแก แ แแแแแก แแแฎแแแแแ (แกแขแ แแฅแแแ 8) แแแแก แแแกแแแแแแ, แ แแ แขแ แแแแแแ แขแแ แแแแ แกแฌแแ แแ แแคแแแฃแ แแแ แแแแ.
- แแแแแกแชแแก แกแแฌแงแแกแ แแแ แแแแขแ แแแ แแ แแ แแฃแจแแแแแแ แงแแแแแแ (แกแขแ แแฅแแแ 18), แ แแแ แฃแแ แฃแแแแแงแแก, แ แแ แงแแแแ แแฃแจแแแ แแฌแงแแแก แแแแแ แกแแฌแงแแกแ แแแ แแแแขแ แแแแ.
- แจแแฅแแแแแ แฐแแ แแแแแ DistributedOptimizer (แกแขแ แแฅแแแ 25) แแแ แแแแขแ แแแแก แแแแแฌแแแแแฃแแ แฌแแกแแ แแแแแฎแแแแแกแแแแก.
แกแ แฃแแ แกแแ แแแขแแก แแแกแแฆแแแแ, แแแฎแแแ, แแฎแแแแ Horovod-MXNet-แแก แแแแแแแแแแ ะธ .
1 import mxnet as mx
2 import horovod.mxnet as hvd
3
4 # Horovod: initialize Horovod
5 hvd.init()
6
7 # Horovod: pin a GPU to be used to local rank
8 context = mx.gpu(hvd.local_rank())
9
10 # Build model
11 model = ...
12
13 # Initialize parameters
14 model.initialize(initializer, ctx=context)
15 params = model.collect_params()
16
17 # Horovod: broadcast parameters
18 hvd.broadcast_parameters(params, root_rank=0)
19
20 # Create optimizer
21 optimizer_params = ...
22 opt = mx.optimizer.create('sgd', **optimizer_params)
23
24 # Horovod: wrap optimizer with DistributedOptimizer
25 opt = hvd.DistributedOptimizer(opt)
26
27 # Create trainer and loss function
28 trainer = mx.gluon.Trainer(params, opt, kvstore=None)
29 loss_fn = ...
30
31 # Train model
32 for epoch in range(num_epoch):
33 ...แแแแแฏแ 3
แจแแแแ แแ แ-แแ แ แแฃแจแแแจแ, แ แแแ แแแแฌแงแแ แแแแแฌแแแแแฃแแ แขแ แแแแแแ MPI แแแ แแฅแขแแแแก แแแแแงแแแแแแ. แแ แแแแแแแแจแ, แแแแแฌแแแแแฃแแ แขแ แแแแแแ แแแแแก แแแฎ แแแกแขแแแชแแแแ แแแแ 4 GPU-แแ แแ แแแแกแขแแ แจแ แกแฃแ 16 GPU-แแ. Stochastic Gradient Descent (SGD) แแแขแแแแแแขแแ แ แแแแแงแแแแแฃแแ แแฅแแแแ แจแแแแแแ แฐแแแแ แแแ แแแแขแ แแแแ:
- แแแแ-แกแแ แแแก แแแแ: 256
- แกแฌแแแแแก แแแฉแแแแแแแแ: 0.1
- แแแแฃแแกแ: 0.9
- แฌแแแแก แแแแแ: 0.0001
แแ แแ GPU-แแแ 64 GPU-แแแ แกแแแแแ แแแแกแแก, แฉแแแ แฌแ แคแแแแ แแแแแคแแ แแแแแ แขแ แแแแแแแก แกแแฎแจแแ แ GPU-แแแแก แ แแแแแแแแแก แแแฎแแแแแ (0,1-แแแ 1 GPU-แแแ 6,4-แแแ 64 GPU-แกแแแแก), แฎแแแ แกแฃแ แแแแแแก แ แแแแแแแแ แแ แ GPU-แแ 256-แแ แจแแแแแแ แฉแฃแแแ ( แแแ แขแแแแแ 256 แกแฃแ แแแ 1 GPU-แกแแแแก 16 384 GPU-แกแแแแก). แฌแแแแก แแแฅแแแแแแแ แแ แแแแฃแแกแแก แแแ แแแแขแ แแแ แจแแแชแแแแ GPU-แแแแก แ แแแแแแแแแก แแแขแแแแกแแแ แแ แแแ. แฉแแแ แแแแแแแงแแแแ แจแแ แแฃแแ แกแแแฃแกแขแแก แแแ แฏแแจแ float64 แแแแแชแแแแ แขแแแแแ แแ แแแ แฌแแ แแแแแกแแกแแแแแแ แแ float16 แแ แแแแแแขแแแแกแแแแก NVIDIA Tesla GPU-แแแแก แแแแ แแฎแแ แแแญแแ แแแ float32 แแแแแแแแแแแก แแแกแแฉแฅแแ แแแแแ.
$ mpirun -np 16
-H server1:4,server2:4,server3:4,server4:4
-bind-to none -map-by slot
-mca pml ob1 -mca btl ^openib
python mxnet_imagenet_resnet50.pyแแแกแแแแ
แแ แกแขแแขแแแจแ แฉแแแ แแแแแแฎแแแแ แแแแแฌแแแแแฃแแ แแแแแแแก แขแ แแแแแแแก แแแกแจแขแแแฃแ แ แแแแแแแ Apache MXNet-แแกแ แแ Horovod-แแก แแแแแงแแแแแแ. แฉแแแ แแแฉแแแแแ แกแแแแแ แแแแก แแคแแฅแขแฃแ แแแ แแ แฎแแ แฏแแแแก แแคแแฅแขแฃแ แแแ แแแ แแแแขแ แฃแแ แกแแ แแแ แแก แแแแแแแแกแแแ แจแแแแ แแแแ ImageNet แแแแแชแแแแ แแแแแแ, แ แแแแแแแแแช แแแฌแแ แแแแแ แแงแ ResNet50-v1 แแแแแแ. แฉแแแ แแกแแแ แแแแแแแขแแ แกแแคแแฎแฃแ แแแ, แ แแแแแแแช แจแแแแซแแแแ แแแแแแงแแแแ แแ แกแแแฃแแ แกแแ แแแขแแก แจแแกแแชแแแแแแ แแ แแแแ แแแกแขแแแชแแแก แขแ แแแแแแแก แแแกแแขแแ แแแแแ Horovod-แแก แแแแแงแแแแแแ.
แแฃ แแฎแแแฎแแ แแฌแงแแแ MXNet-แก แแ แฆแ แแ แกแฌแแแแแก, แแแแแแแ แแแกแขแแแแชแแแก แแแแ แแแ แแแ แแแแ MXNet-แแก แจแแกแแฅแแแแแแ. แฉแแแ แแกแแแ แแแแชแ แแ แแแ แฉแแแ แกแขแแขแแแก แฌแแแแแฎแแแก แแแกแแฌแงแแแแ.
แแฃ แแฅแแแ แฃแแแ แแฃแจแแแแแแ MXNet-แแแ แแ แแกแฃแ แ แกแชแแแแ แแแแแฌแแแแแฃแแ แกแฌแแแแแแ Horovod-แแแ, แแแจแแ แแแแแฎแแแแ , แจแแฅแแแแแ แแแ MXNet-แแแ แแ แแแฐแงแแแแ แแแแแแแแก แแ .
*แฆแแ แแแฃแแแแ แแแแแแแแแแแ แกแแคแฃแซแแแแแ AWS EC2 แแแกแขแแแชแแแแแกแแแแก
แจแแแขแงแแแ แแแขแ แแฃแ แกแแก แจแแกแแฎแแ
แฌแงแแ แ: www.habr.com
