オンライン推論のためのBERT風モデルの最適化
オンラインアプリ向けにBERT系モデルを高速化する新しい方法。
Weiyan Wang, Yilun Jin, Yiming Zhang, Victor Junqiu Wei, Han Tian, Li Chen, Kai Chen
― 1 分で読む
BERTっぽいモデルはテキスト分析やウェブ検索みたいなタスクに人気だけど、すごく正確なんだ。でも、これらのモデルはオンラインで使うと特にGPU(グラフィックスプロセッシングユニット)で遅くなることが多い。主に深い構造が原因で、結果を出すのにたくさんの計算が必要だから。それに、オンラインのタスクは予測できないワークロードがあるから、推論プロセスがさらに非効率になるんだ。
そこで、BERTっぽいモデルを低遅延のオンラインアプリケーションに最適化する新しい方法を提案するよ。俺たちの方法は、大きなBERTモデルを簡単なモデルのグループに蒸留するんだ。これを「生徒モデル」と呼ぶよ。生徒モデルは計算が楽で、協力して速い結果を出すことができるけど、正確さは損なわない。
BERTっぽいモデルを使うときの課題
BERTモデルは深さによって精度を達成してるけど、層が多いってことなんだ。これは精度の高い結果を出すのに役立つけど、特に並列処理用に設計されたGPUで実行すると推論時間が遅くなる。モデルが長ければ長いほど、結果が出るまでの時間も長くなる。
それに、オンラインのワークロードは大きく変わることがある。処理のために来るサンプルの長さやサイズが色々だから、モデルがそれらをバッチ処理しようとすると余計な待ち時間や非効率が生まれちゃう。バッチを作るのに十分なサンプルを集めるのに遅れが出ることもあって、即時の応答が必要なアプリケーションにはあまり良くない。
俺たちの提案する方法
これらの問題を解決するために、「生徒の並列処理」を使った方法を紹介するよ。これは、元のBERTモデルを多層から複数の簡単なモデルに分けて、一緒に働かせるってこと。俺たちのアプローチの主なステップは以下の通り:
蒸留: 元のモデルを浅い生徒モデルのグループに蒸留する。これで各生徒がワークロードの一部を処理できるけど、全体のパフォーマンスは保たれる。
並列処理: 複数の生徒モデルを同時に実行することで、推論時間を大幅に短縮できる。これは従来の方法とは違って、一つのモデルがリクエストを順番に処理する方法とは対照的。
適応的プルーニング: ワークロードが急増したときに一時的に生徒の数を減らすことができる。需要が高いときには、すぐにリソースを解放してもっと多くの生徒を動かせるから、遅れなくユーザーのニーズに応えられる。
生徒モデルの働き方
俺たちが作る生徒モデルは元のBERTモデルよりずっとシンプル。例えば、元が24層だとしたら、生徒モデルは2層や6層だけだったりする。これらのシンプルなモデルが協力して、深いモデルと同じくらいの精度を出せるんだ。
生徒モデルを訓練するとき、元のモデルから全ての層を通らずに学べるようにすることに重点を置いている。各生徒は大きなグループの中での役割を理解できるように訓練される。情報を共有して互いの出力を修正することで、高い精度を保ちながらもかなり速く動くことができる。
オンラインワークロードへの対応
オンラインワークロードを見ると、入力サンプルの性質がかなり広がりがあることがわかる。一部はすごく短いけど、他のはかなり長かったりする。この変動があると、すべてのサンプルを一様なサイズにパッドしようとすると非効率が生まれるかもしれないし、長いサンプルが処理を遅くすることもある。
俺たちの方法では、生徒モデルがこれらの変動に対処するのをより効果的に行える。十分なサンプルが集まるのを待つのではなく、到着するサンプルを処理できる。もし生徒のグループが忙しい場合は、長さを考慮したバッファに到着サンプルを一時的に保存できる。これで似た長さをグループ化できて、待ち時間を減らし、スループットを維持できる。
システム設計の考慮事項
俺たちのアプローチを成功させるためには、この生徒モデルを動かすシステムの設計を考える必要がある。システムは複数のGPUを扱えるべきで、リソースを効果的に管理しなきゃいけない。
リソース管理: 利用可能なGPUに生徒グループを割り当てるリソースマネージャーを作る。これがあれば、無駄なく全てのリソースを効率的に使えるようになる。
動的調整: システムはワークロードの強度を監視して、現在の需要に基づいて生徒モデルの数を調整できる。リクエストが突然増えたときには、すぐにもっと多くの生徒を動かすことができる。
効率: 俺たちの設計は待ち時間を最小限に抑え、サンプルの長さをうまく管理することを目指してる。だから、正確さを損なうことなく迅速な応答ができる。
結果と検証
俺たちの方法がうまく機能するか確かめるために、従来の方法と比較して広範囲なテストを行った。結果は、俺たちの生徒の並列処理が遅延を大幅に減らしつつ、精度を保つことを示した。
異なるワークロードの下で、以下のような利益を観察した:
低遅延: 推論時間が全体的に減少した。リクエストを処理する際には、最も低い平均と尾部遅延を達成した。
高いスループット: リクエストの急増時にも、精度をほとんど失わずに高いスループットを維持できた。
精度比較: 階層が少なくても、生徒モデルはフル深度の従来モデルに匹敵するパフォーマンスを発揮した。
結論
生徒の並列処理を使ってBERTっぽいモデルを処理することは、オンライン推論の効率を改善するための有望なアプローチだ。元のモデルを簡単で速い生徒モデルに蒸留して、協力できるようにすることで、スピードと精度の両方で利益を得られる。
オンラインのタスクがますます要求され、変化が激しくなる中で、この方法はリアルタイムのシナリオで高品質な応答を維持するための実行可能なソリューションを提供する。変化するワークロードに適応することに重点を置くことで、俺たちの提案するシステムの効果がさらに高まるし、さまざまなオンラインサービスやアプリケーションに適してるんだ。
要するに、この方法は大きなモデルの使い方を考え直すことで、データをオンラインで処理する際に大きな改善ができることを示しているし、ユーザーが期待する品質を保ちながらできるってことだ。
タイトル: Exploiting Student Parallelism for Low-latency GPU Inference of BERT-like Models in Online Services
概要: Due to high accuracy, BERT-like models have been widely adopted by discriminative text mining and web searching. However, large BERT-like models suffer from inefficient online inference, as they face the following two problems on GPUs. First, they rely on the large model depth to achieve high accuracy, which linearly increases the sequential computation on GPUs. Second, stochastic and dynamic online workloads cause extra costs. In this paper, we present Academus for low-latency online inference of BERT-like models. At the core of Academus is the novel student parallelism, which adopts boosting ensemble and stacking distillation to distill the original deep model into an equivalent group of parallel and shallow student models. This enables Academus to achieve the lower model depth (e.g., two layers) than baselines and consequently the lowest inference latency without affecting the accuracy.For occasional workload bursts, it can temporarily decrease the number of students with minimal accuracy loss to improve throughput. Additionally, it employs specialized system designs for student parallelism to better handle stochastic online workloads. We conduct comprehensive experiments to verify the effectiveness. The results show that Academus outperforms the baselines by 4.1X~1.6X in latency without compromising accuracy, and achieves up to 22.27X higher throughput for workload bursts.
著者: Weiyan Wang, Yilun Jin, Yiming Zhang, Victor Junqiu Wei, Han Tian, Li Chen, Kai Chen
最終更新: 2024-08-22 00:00:00
言語: English
ソースURL: https://arxiv.org/abs/2408.12526
ソースPDF: https://arxiv.org/pdf/2408.12526
ライセンス: https://creativecommons.org/licenses/by/4.0/
変更点: この要約はAIの助けを借りて作成されており、不正確な場合があります。正確な情報については、ここにリンクされている元のソース文書を参照してください。
オープンアクセスの相互運用性を利用させていただいた arxiv に感謝します。