昨天看到了一篇文章,關於字節跳動開源分佈式訓練框架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