位元組跳動開源分布式訓練框架BytePS

2021-09-24 21:06:10 字數 997 閱讀 3850

位元組跳動開源了通用分布式訓練框架byteps,這個框架支援tensorflow、keras、pytorch、mxnet,可以執行在tcp或rdma網路中。

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

byteps也登上了github趨勢熱榜。

效能表現

為了展示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%。

horovod是uber開源的深度學習工具,nccl是英偉達發布的多**信框架。

原因解析

byteps為什麼比horovod更強?

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

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

因此位元組跳動團隊重新思考了最佳的通訊策略。簡而言之,byteps僅在機器內部使用nccl,重新構建了機器內部的通訊。

byteps還整合了許多加速技術,例如分層策略、流水線、張量分割槽、numa感知本地通訊、基於優先順序的排程等等。

傳送門在github上,還詳細介紹了如何使用byteps等相關資訊。

目前byteps還不支援純cpu訓練。

一位更懂it的giser,一位更懂gis的it

位元組跳動開源AI訓練引擎

techweb 6月28日訊息,今日程式設計客棧,位元組跳動火山翻譯團隊宣布推出lightseq訓練加速引擎,並向全球開發者開源。transformer是自然語言處理 計算機視覺等ai技術領域最常用的基礎模型,被廣泛應用在機器翻譯 文字生成 文字摘要 影象處理 時間序列 等任務中。訓練和推理則是ai...

Dubbo (開源分布式服務框架)

provider 暴露服務方稱之為 服務提供者 consumer 呼叫遠端服務方稱之為 服務消費者 registry 服務註冊與發現的中心目錄服務稱之為 服務註冊中心 monitor 統計服務的呼叫次數和呼叫時間的日誌服務稱之為 服務監控中心 1 連通性 註冊中心負責服務位址的註冊與查詢,相當於目錄...

分布式訓練

分布式訓練 深度學習中,越來越多的場景需要分布式訓練。由於分布式系統面臨單機單卡所沒有的分布式任務排程 複雜的資源並行等問題,因此,通常情況下,分布式訓練對使用者有一定的技術門檻。在 oneflow 中,通過頂層設計與工程創新,做到了 分布式最易用,使用者不需要特別改動網路結構和業務邏輯 就可以方便...