
拓海先生、最近うちの若いエンジニアが「通信がボトルネックです」と騒ぐんですが、そもそも何が問題なんでしょうか。

素晴らしい着眼点ですね!深層学習(Deep Learning、DL、深層学習)では学習時に複数の計算機が『勾配(gradient、勾配)』を頻繁にやり取りしますが、この通信量が多いと全体の速度を著しく落とすんですよ。

要するに、計算機同士が電話で長電話しているみたいなものですか。それを短くする方法があると。

まさにその通りです。今回の論文は『圧縮(compression、圧縮)』という手で通信量を減らしますが、単に小さくするのではなく情報の“あいまいさ(variance、分散)”を見て送るべきか判断するのです。

あいまいさって、例えば悩んでいる人の発言をすぐに伝えるより、明確になってから伝えた方がいい、ということですか。

その比喩は素晴らしい着眼点ですね!まさに、何でもかんでも送らずに『振れ幅が大きくない、つまり分散が低くて値が小さいものは待っても問題ない』と判断して送信を遅らせるわけです。

これって要するに通信を遅らせて必要なことだけ送る、ということ?それで精度は落ちないのですか。

良い質問です。ポイントは三つありますよ。1)『分散(variance、分散)』という指標を見て“曖昧”な勾配は保留する、2) 保留しても最終的なモデル精度を保てる工夫をする、3) 他の圧縮手法と組み合わせられる点です。大丈夫、一緒にやれば必ずできますよ。

うーん、うちの設備は帯域が細いんです。実運用で本当に効果が出るのなら、投資対効果は合いそうです。

大丈夫です。通信を減らすことでコスト面の改善が見込め、従来の量子化(Quantization、量子化)やスパース化(Sparsification、スパース化)と組み合わせるとさらに効果的にできますよ。

現場の担当は「実装が面倒」と言っています。導入の障壁は高くないですか。

安心してください。論文では分散の計算を効率的に行うアルゴリズムを示しており、追加コストはほとんどないと報告しています。まずは小さいモデルで試験導入して効果を確認しましょうね。

分かりました。これって要するに「重要な情報だけ先に送って、あいまいなものはためておけば通信が減ってコストも下がる」ということで、まずはテストで確かめてみます。

素晴らしいまとめですね!その理解で合っていますよ。次は小さなデータセットでの実験設計を一緒に作りましょう。大丈夫、一緒にやれば必ずできますよ。


