AI Booster - MosaicML (2)

Nomad Ape
IMU Framework Design
Apr 11, 2023

At MosaicML, we’re working on making neural network training more efficient algorithmically. In this post, we describe this research p roblem and how we’re solving it.

Image credit: MosaicML

這系列文章是透過蒐集、分享我覺得有意思AI服務、相關文章、影片,期許自己能更了解這世界上正在發生什麼。

如同筆者在上一篇對MosaicML的介紹,MosaicML的商業模式是提供高效的人工神經網路訓練,本篇我們將介紹MosaicML的方法論,如何定義和解決問題。

既然目標是要改善演算法的效率,第一步就是定調出基準線(baseline)的位階,在硬體配置(hardware configurations)和後續推論(inference)成本固定不變的前提下找到:

  1. 在達到基準線的品質的前提下,最快或最便宜的演算法。
  2. 在維持基準線的成本的前提下,品質表現最佳的演算法。

這裡提到的成本包含時間和預算,品質則是以模型的正確性為主要考量。

接著,藉由檢驗模型正確性和成本間權衡(Tradeoffs)來評估方法,比如一個演算法可以增進基準訓練的正確性但同時增加時間,相比於另一個演算法可以節省訓練時間但同時正確性會下降,哪一種演算法會是比較好的?

Image credit: MosaicML

在同一種演算法的情況下,調整其中的參數比如epochs並繪製出藍色權衡曲線(trade-off curve),並調整訓練演算法後繪製出紅色權衡曲線。通常若權衡曲線落在愈左上方會被視為較好的演算法。當然,以上的例子是比較容易做出選擇的,在現實情況,MosaicML發現一些演算法會在低訓練時間(成本)區間比現更好,有些可能在高訓練時間(成本)區間比現更好。

Image credit: MosaicML

另外,了解訓練流程細節會對於改善訓練效率有很大的幫助。藉由拆解訓練流程細節,可以進一步探討演算法是否可以減少所需的步驟數或在每個步驟的所需時間進行縮減。MosaicML也指出有些演算法可以在目標步驟進行加速,但也會對其他步驟產生副作用(side-effect)成為瓶頸(bottleneck)。

MosaicML的競爭優勢是將不同的演算方法合成(composition),並從中找到最適合客戶的套組(suite of methods)。

MosaicML的中心思想是根據阿姆達爾定律Amdahl’s law)的概念,藉由了解對於總系統的因子占比,可以優化資源配置。此外,改善措施可能並非是線性增長的,比如從0分進步到60分所需的力氣可能會比80分到100分簡單許多,換句話說,對系統內的同一個部分進行優化,回報率可能會邊際遞減,因此,若有兩套演算法都是針對系統內的同一個部分,那兩者結合的模型的權衡曲線常常會劣於兩者單獨進行優化。比較好的合成演算法是分別對系統內的部分進行優化,讓優化的回報率最大化。

Thank you :)

--

--