機器學習在人工智能的各個領域都取得了長足的進步和成功的應用,如圖像識別、語音處理、機器翻譯、云游戲、智慧醫療等。訓練數據和模型規模的增加,顯著提高了學習精度,同時也給單節點的存儲和計算帶來了挑戰,因而不得不借助集群進行分布式機器學習訓練。大多數領先的 IT 公司都在運營分布式機器學習集群,他們使用成百上千的 GPU 服務器,在大數據集上訓練各種機器學習模型,驅動其人工智能服務。
即使有并行訓練,機器學習訓練仍然是耗時的,主要是因為并行方案的復雜性導致計算和通信的成本高,使得模型訓練效率低、收斂效果差。在分布式機器學習中,通常對模型或者數據進行劃分,每個節點計算一部分模型或者利用一部分數據訓練模型,彼此之間互相通信,對模型參數不斷的進行聚合和廣播,協作完成訓練任務,分布式機器學習訓練是資源密集型和通信密集型任務。由于機器學習訓練任務普遍使用隨機梯度下降算法,每處理一個批量數據就需要更新模型參數,計算粒度很細,對網絡傳輸的延遲容忍度非常低。研究分布式機器學習的高效通信方案和異構集群上的任務管理對于提高模型訓練效率、提升收斂精度非常重要,同時也是助力各種人工智能技術落地的技術支撐。
本項目圍繞分布式機器學習的通信效率和任務調度開展研究,旨在提供高效率、高精度、低成本的分布式訓練解決方案。具體研究內容包括:1)針對分布式機器學習訓練中參數通信頻繁、帶寬競爭大的問題,研究分層通信拓撲架構和基于閾值的參數同步算法,緩解參數匯聚節點的通信瓶頸,減少通信頻率,從整體上提升訓練效率。2)針對異構數據中心并行節點計算不同步的問題,研究異構資源可感知的分布式任務調度策略,彌補異構節點的差異,均衡計算,提高收斂精度。本項目有效解決分布式機器學習中通信瓶頸和資源浪費等問題,致力于推動人工智能應用更廣泛的落地,降低數據中心成本投入。
圖4 分布式機器學習系統框架
1. 基于二維分層環形結構的并行通信算法
由于分布式集群的規模不斷擴大,基于傳統環形通信拓撲架構的方法面臨數千個 GPU 節點的延遲。解決此問題,本項目提出基于二維分層環形結構的大規模分布式機器并行通信算法,充分利用組內高帶寬、組間低帶寬的通信特點,結合環形和分層通信算法的優勢,減少并行通信的步數,從而降低通信開銷。
2. 異構資源可感知的任務調度方案
由于異構數據中心節點資源的差異性,在中心化以及去中心化的并行通信架構中均存在部分慢速節點影響整體訓練效率的情況。解決此問題,本項目提出基于異構資源可感知的任務調度策略,利用輕量級的機器學習技術預測節點間的資源變化,根據資源分配適配任務,從而達到節點間并行訓練步調一致,避免迭代傾斜,提高訓練精度。
原理樣機
掃碼關注,查看更多科技成果