確率的勾配降下法 (SGD) は、機械学習と数学的最適化の両方において、これまでに考案された中で最も成功した手法の一つです。Lokadは供給連鎖の目的で、主に微分可能プログラミングを通じて、長年にわたりSGDを積極的に活用してきました。私たちの顧客のほとんどは、どこかのデータパイプラインに少なくとも一つのSGDを有しています。

ソフトウェアにおいて、速度は機能の一つです。私たちはSGDの実装をより高速にしたいと考えましたが、その決定論的な挙動を犠牲にすることなく実現したいと考えました。実際、決定論性は本番環境の供給連鎖システムを提供する上で不可欠です。要するに、SGDを二度実行しても全く同じ結果が得られるべきです。

非常に高次元データに対する再現可能な並列確率的勾配降下法

この夏、私たちはSGDの実装の再現可能な高速化に専念するインターンシップのために、Ziyad Benomarを迎えるという喜びを得ました。Ziyad Benomarは驚くべき成果を上げ、その成果を以下で共有します。

要約すると、ベースラインのSGDと比較して、計算コストが6倍になったものの、5倍の高速化を実現しました。それを超えて、Lokadのアーキテクチャにおいては、ボトルネックはデータのロードに移行します。パフォーマンスの最適化は果てしないモグラたたきのようなもので、あるボトルネックが解決されると、すぐに新たなボトルネックが現れます。このI/Oの問題を解決することが、私たちにとって明らかな次のステップです。乞うご期待!


Title: 非常に高次元データに対する再現可能な並列確率的勾配降下法

著者: Ziyad Benomar, École polytechnique

要約: 分散型確率的勾配降下法アルゴリズムの研究と、複数のプロセッサを搭載したマシン上でのその実装に関心を持っています。我々は問題に対して、パフォーマンスと計算速度の観点から取り組み、同じデータセットで実行した場合に同一の結果が得られる、すなわち再現可能であることを解決策に求めます。主にPR-SGDアルゴリズムに焦点を当て、コンピュータのRAMにデータをロードするのに非常に長い時間がかかる場合に、実行速度を向上させるためのいくつかの適応策を提案します。提案する各アルゴリズムについて、収束の証明と実行時間の見積もりを示します。最後に、我々が定義するε-パフォーマンスの概念を用いて、アルゴリズムを比較します。

PDFをダウンロード