字節跳動開源分佈式訓練框架BytePS

昨天看到了一篇文章,關於字節跳動開源分佈式訓練框架BytePS,字節跳動作爲今日頭條,抖音,西瓜視頻等的母公司,憑藉其在人工智能領域的優勢,成爲世界上著名的獨角獸公司。其在人工智能領域可謂獨樹一幟。轉載的文章如下:

字節跳動開源了通用分佈式訓練框架BytePS,這個框架支持TensorFlow、Keras、PyTorch、MXNet,可以運行在TCP或RDMA網絡中。

官方介紹稱,BytePS大大優於現有的開源分佈式訓練框架。例如,在相同的條件下,BytePS的訓練速度是Horovod+NCCL的兩倍。

BytePS也登上了GitHub趨勢熱榜。

打開UC瀏覽器 查看更多精彩圖片

 

性能表現

爲了展示BytePS的性能,官方測試了兩個模型:VGG16(通信密集型)和Resnet50(計算密集型),兩個模型都以fp32精度進行訓練。

訓練使用了公有云上的虛擬機,每個機器有8個GPU,啓用了NVLink。這些GPU都是Tesla V100 16GB型號GPU,batch size設置爲64/每GPU。硬件之間以20Gbps的TCP/IP網絡連接。

測試表明,與Horovod (NCCL)相比,BytePS在VGG16訓練上的速度快100%,Resnet訓練速度快44%。

打開UC瀏覽器 查看更多精彩圖片

 

打開UC瀏覽器 查看更多精彩圖片

 

Horovod是Uber開源的深度學習工具,NCCL是英偉達發佈的多卡通信框架。

原因解析

BytePS爲什麼比Horovod更強?

官方解釋稱,一個主要的原因是BytePS是專門爲雲和共享集羣而設計,並且拋棄了MPI。MPI是一個跨語言的通訊協議,用於編寫並行計算機。

MPI是爲高性能計算機而生,對於使用同類硬件構建的集羣以及運行單一任務更有效。但並不是雲(或者內部共享集羣)的最佳選擇。

因此字節跳動團隊重新思考了最佳的通信策略。簡而言之,BytePS僅在機器內部使用NCCL,重新構建了機器內部的通信。

BytePS還集成了許多加速技術,例如分層策略、流水線、張量分區、NUMA感知本地通信、基於優先級的調度等等。

傳送門

BytePS現已在GitHub上開源,地址如下:

https://github.com/bytedance/byteps

在GitHub上,還詳細介紹瞭如何使用BytePS等相關信息。

目前BytePS還不支持純CPU訓練。

轉載自字節跳動開源分佈式訓練框架BytePS, 登上GitHub熱榜

PS:後續小編的主要精力放到GIS理論開發知識的大衆化的道路了,通過淺顯易懂的語言,結合多年行業應用開發,通過微信訂閱號傳播(每週更新三篇文章及相關GIS編碼知識),爲GIS的發展盡微博之力。終極目標是讓GIS不再專業,讓GIS更加大衆,使得GIS深入各行業應用,讓每位GISER都有一股自豪感!以下是我的微信訂閱號二維碼,感興趣的可以交流溝通!

一位更懂IT的GISER,一位更懂GIS的IT

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章