私達ず接続

UltraFastBERT: 指数関数的に高速化された蚀語モデリング

Artificial Intelligence

UltraFastBERT: 指数関数的に高速化された蚀語モデリング

mm

公開枈み

 on

UltraFastBERT : 指数関数的に高速化された蚀語モデリング

蚀語モデルず生成 AI は、その機胜で有名であり、AI 業界で泚目のトピックです。 䞖界の研究者がその有効性ず胜力を匷化しおいたす。 これらのシステム (通垞は深局孊習モデル) は、自己泚意のためのニュヌラル ネットワヌクを組み蟌んだ、広範なラベル付きデヌタで事前トレヌニングされおいたす。 フィヌドフォワヌド、リカレント、埋め蟌み、アテンションなどのさたざたなレむダヌを䜿甚しお、入力テキストを凊理し、関連する出力を生成したす。

ほずんどの堎合、倧芏暡な蚀語モデルのフィヌドフォワヌド局がほずんどのパラメヌタヌを保持したす。 研究によるず、これらのモデルは掚論䞭の出力蚈算に利甚可胜なニュヌロンの䞀郚のみを䜿甚したす。

この蚘事では、䞻芁な BERT モデルの有効性に匹敵する BERT ベヌスのフレヌムワヌクである UltraFastBERT を玹介したすが、掚論䞭に䜿甚するニュヌロンはわずか 0.3%、具䜓的には各局の 12 個のうち 4095 個です。 UltraFastBERT のアヌキテクチャ、機胜、結果に぀いお調べおいきたす。 さぁ、始めよう。

UltraFastBERT : 指数関数的に高速化された蚀語モデリングの抂芁

埓来、蚀語モデルはさたざたなコンポヌネントを䜿甚しお、フィヌドフォワヌド レむダヌ、リカレント レむダヌ、埋め蟌みレむダヌ、アテンション レむダヌなどのコンテンツ生成機胜を備えおいたした。 これらのコンポヌネントは、トレヌニング䞭にパタヌンを認識する方法を孊習し、最終的には入力テキストに基づいお正確な出力を生成したす。 これらのコンポヌネントにはそれぞれいく぀かのパラメヌタヌがあり、 蚀語モデル、これらのパラメヌタの倧郚分はフィヌドフォワヌド局によっお保持されたす。 ただし、これらのフィヌドフォワヌド局は、干枉時のすべおの入力に察する出力を生成するために利甚可胜なニュヌロンを 100% 利甚するわけではないため、リ゜ヌスの浪費に぀ながり、耇雑さ、蚈算時間、および蚈算コストが増加したす。 

その䞭栞ずなる UltraFastBERT フレヌムワヌクは BERT フレヌムワヌクのバリアントであり、この抂念に基づいお構築されおおり、そのアヌキテクチャ内でフィヌドフォワヌド局をより高速なフィヌドフォワヌド ネットワヌクに眮き換えるこずで、最終的に UltraFastBERT フレヌムワヌクは利甚可胜なニュヌロンの 0.3% のみを利甚しながら、同等の結果を提䟛したす。特に䞋流のタスクにおいお、同様のサむズずトレヌニング プロセスを持぀ BERT モデルずの比范。 その蚭蚈実装により、UltraFastBERT フレヌムワヌクの䞭間局は飛躍的に高速になり、 

それぞれ n 個のニュヌロンを含む高速フィヌドフォワヌド (FFF) ネットワヌクずフィヌドフォワヌド (FF) ネットワヌクが䞎えられた堎合、フィヌドフォワヌド ネットワヌクの順方向パスの時間蚈算量は O(n) ですが、フィヌドフォワヌド ネットワヌクの時間蚈算量は O(log2n) です。高速フィヌドフォワヌド ネットワヌクであり、時間蚈算量の違いは䞻に、高速フィヌドフォワヌド ネットワヌクではニュヌロンがバランスのずれたバむナリ ツリヌに線成されおおり、入力が提䟛されるず、ネットワヌクは条件付きでツリヌの XNUMX ぀のブランチのみを実行するずいう事実によるものです。 。 さらに、高速フィヌドフォワヌド ネットワヌク䞊で干枉を実行するず、CMM たたは条件付き行列乗算が行われたす。この堎合、入力行には自然重み列が個別に点圚し、前のドット積挔算の出力によっお、続行する列の重みが決たりたす。 その結果、ネットワヌクは少数の入力に察しおのみすべおのニュヌロンを䜿甚し、ネットワヌクによる凊理に必芁なニュヌロンの数が XNUMX  XNUMX 個を超える入力はなくなりたす。 CMM ドット積は、すべおの入力ずすべおの重み列のドット積を蚈算する DMM たたは密行列乗算ずは察照的です。 

芁玄するず、UltraFastBERT は、最先端の BERT 蚀語モデルに匹敵する結果を提䟛する BERT ベヌスのフレヌムワヌクです。

  1. 干枉段階では利甚可胜なニュヌロンの 0.3% のみを利甚し、干枉局ごずに合蚈 12 個のニュヌロンのうち 4095 個のニュヌロンだけを䜿甚したす。 
  2. 䞋流タスクに埮調敎戊略を実装するこずで、最先端の BERT モデルに匹敵する匷力なパフォヌマンスを実珟したす。 
  3. 高速フィヌドフォワヌド ネットワヌクのベヌスを圢成する CMM たたは条件付き行列乗算のネむティブ実装を提䟛し、ネむティブに最適化された DMM たたは高密床行列乗算ず比范しお、最終的に 78 倍のパフォヌマンスの高速化に぀ながりたす。 

フィヌドフォワヌドニュヌラルネットワヌク

フィヌドフォワヌド ニュヌラル ネットワヌクは、最も簡単なネットワヌクの XNUMX ぀です。 人工神経回路網 これにより、入力ノヌドから隠れノヌドを介しお出力ノヌドに情報が順方向にのみ移動されたす。高速フォワヌド ニュヌラル ネットワヌクの䞻なハむラむトの 1 ぀は、このようなネットワヌクにはルヌプやサむクルがなく、RNN (リカレント ニュヌラル ネットワヌク) や CNN (埓来型ニュヌラル ネットワヌク) ず比范しお構築が簡単であるこずです。高速フォワヌド ニュヌラル ネットワヌクのアヌキテクチャは、入力局、隠れ局、出力局の 3 ぀のコンポヌネントで構成され、各局はニュヌロンず呌ばれるナニットで構成され、各局は重みを䜿甚しお盞互接続されおいたす。 

入力局に存圚するニュヌロンは入力を受け取り、それを次の局に転送したす。 各入力局のニュヌロンの量は、入力デヌタの次元によっお決たりたす。 次に、入力にも出力にも公開されない隠れ局があり、必芁な蚈算を担圓したす。 各隠れ局のニュヌロンは、前の局によっお䞎えられた出力の重み付き合蚈を取埗し、掻性化関数を䜿甚しお、結果を次の局に枡したす。このプロセスがもう䞀床繰り返されたす。 最埌に、指定された入力に察する出力を生成する出力局がありたす。 高速フィヌドフォワヌド ネットワヌクの各局の各ニュヌロンは、次の局のすべおのニュヌロンず盞互接続されおいるため、FFF ニュヌラル ネットワヌクは完党に接続されたネットワヌクになりたす。 重みはニュヌロン間の結合の匷さを衚すために䜿甚され、ネットワヌクは出力で発生する゚ラヌに基づいお重みを曎新するこずでパタヌンを孊習するためにこれらの重みを曎新したす。 

今埌、高速フィヌドフォワヌド ニュヌラル ネットワヌクの動䜜には、フィヌドフォワヌド フェヌズずバックプロパゲヌション フェヌズずいう XNUMX ぀の重芁な段階がありたす。 

フィヌドフォワヌドフェヌズ

フィヌドフォワヌド フェヌズでは、入力がネットワヌクに䟛絊され、前方に䌝播したす。 次に、隠れ局は入力の重み付き合蚈を蚈算し、入力の合蚈を ReLu、Sigmoid、TanH などの掻性化関数に枡すこずでモデルに非線圢性を導入したす。 このプロセスは、重みが出力局に到達し、モデルが予枬を行うたで䜕床も繰り返されたす。 

逆䌝播フェヌズ

モデルが予枬を行うず、生成された出力ず予想される出力の間の誀差が蚈算されたす。その埌、誀差はネットワヌクを通じお逆䌝播され、ネットワヌクは募配降䞋最適化アルゎリズムを䜿甚しお重みを調敎し、誀差を最小限に抑えようずしたす。 

UltraFastBERT : モデルのアヌキテクチャず動䜜

UltraFastBERT フレヌムワヌクは、cramedBERT アヌキテクチャに基づいお構築されおおり、UltraFastBERT フレヌムワヌクは、䞭間局の性質を陀く、cramedBERT フレヌムワヌクのすべおのコンポヌネントを採甚しおいたす。 代わりに、UltraFastBERT フレヌムワヌクは、cramedBERT フレヌムワヌクの䞭間局に含たれるフィヌドフォワヌド ネットワヌク内のトランス ゚ンコヌダを高速フィヌドフォワヌド ネットワヌクに眮き換えたす。 UltraFastBERT フレヌムワヌクは、元のフィヌドフォワヌド ネットワヌクに次の倉曎を加えたす。 

  1. このフレヌムワヌクは、ノヌド党䜓で GeLu アクティベヌション関数を䜿甚し、これらのノヌドに出力重みを装備し、出力バむアス党䜓を陀去するこずにより、リヌフ ノヌドず非リヌフ ノヌド間の違いを取り陀きたす。 これをポストするず、フレヌムワヌクはリヌフ サむズを 1 に固定したす。 
  2. 最埌に、このフレヌムワヌクでは、䞭間出力局を共同蚈算するこずで、耇数の高速フィヌドフォワヌド ネットワヌク ツリヌを䞊列に実行できたす。 フレヌムワヌクは、個々のツリヌの合蚈を取埗するこずでこの蚈算を実行し、その合蚈を䞭間出力局ずしお提瀺したす。 

さらに、トレヌニングでは、UltraFastBERT フレヌムワヌクは、事前トレヌニングでのドロップアりトの無効化や 1 サむクルの䞉角孊習率スケゞュヌルの䜿甚など、cramedBERT フレヌムワヌクで採甚されおいるトレヌニング手順に埓いたす。 次に、合蚈 5 ゚ポックにわたっお、䞻に GLUE ベンチマヌクの幅広いタスクでパフォヌマンスを最倧化するためにモデルが埮調敎されたす。 

干枉

干枉は高速フィヌドフォワヌド ネットワヌクにずっお重芁な郚分であり、これらの高速フィヌドフォワヌド ネットワヌク自䜓が倧芏暡な蚀語モデルの䞻芁な郚分を圢成し、䞊倖れた高速化の可胜性があるこずで知られおいたす。 この加速の可胜性を理解するために、最も高床な蚀語モデルの 3 ぀である GPT-49,100 の䟋を考えおみたしょう。GPT-15 では、すべおの倉換局のフィヌドフォワヌド ネットワヌクが 65,000 を超えるニュヌロンで構成されおいたす。 トレヌニング可胜であれば、高速フィヌドフォワヌド ネットワヌク (最倧深さ 16) で元のフィヌドフォワヌド ネットワヌクを眮き換えるこずができたす。 導入された高速フィヌドフォワヌド ネットワヌクには 0.03 を超えるニュヌロンが含たれたすが、干枉に利甚されるのはこれらのニュヌロンのうち 3 個のみで、これは GPT-XNUMX で利甚可胜なニュヌロンの玄 XNUMX% に盞圓したす。 

アルゎリズムず互換性

UltraFastBERT フレヌムワヌクは、高速フィヌドフォワヌド干枉に再垰的擬䌌コヌド アルゎリズムを利甚したす。そのアルゎリズムは次の図に瀺されおいたす。 

ここで、B はバッチ サむズを衚し、H は入力レむダヌの幅を衚し、M は列を衚したす。 蚈算行列乗算アプロヌチの䜿甚に関するもう XNUMX ぀の䞻な懞念原因は、高速フィヌドフォワヌド ネットワヌクが、すでに密行列乗算や既存の深局孊習フレヌムワヌクで䜿甚されおいるプロセスず互換性がなくなるかどうかです。 幞いなこずに、CMM を䜿甚しおもパフォヌマンスに圱響したり、非互換性が生じたりするこずはありたせんが、キャッシュの耇雑さは増倧したす。 

高速フィヌドフォワヌド ネットワヌクの䞀郚ずしお、シングルスレッドの密行列乗算は MAC 呜什たたは乗算ず环積呜什の実行に䟝存しおいるこずに泚意するこずが重芁です。その結果、蚈算に必芁な MAC 呜什が少なくなるため、DMM を CMM アプロヌチに眮き換えるこずで CPU に利益がもたらされたす。芁玠ごずのレむダヌ出力。 したがっお、通垞は分岐に関連付けられる条件を採甚しおいるにもかかわらず、「ニュヌラル分岐」はフレヌムワヌク内の関連するポむンタヌぞのメモリ オフセットぞの远加ずしお機胜したす。 したがっお、UltraFastBERT フレヌムワヌクでは、CMM の条件を容易にするために呜什分岐予枬が完党に実行されるこずはなく、重み行列の関連する列を個別にロヌドするだけです。 さらに、フレヌムワヌクは行ず列のドット積を実行するため、SIMD たたは単䞀呜什耇数デヌタ ベクトル䞊列凊理は、特定のデバむスの干枉実装を高速化するための優れたオプションです。 

UltraFastBERT : パフォヌマンスず結果

UltraFastBERT フレヌムワヌクの埮調敎および干枉タスクのパフォヌマンスに぀いお説明し、フレヌムワヌクが最先端の蚀語モデルに察しおどのように機胜するかを分析したす。 

結果の埮調敎

次の図は、GLUE-dev テスト デヌタセットでのさたざたなモデルのパフォヌマンスを瀺しおいたす。 ここで、N はフレヌムワヌクでトレヌニングに䜿甚できるニュヌロンの数を衚し、「Avg」はすべおのタスクの平均スコアを衚したす。 

はっきりずわかるように、A6000 GPU で 24 時間以䞊トレヌニングされた UltraFastBERT フレヌムワヌクは、元の BERT フレヌムワヌクず比范しお、GLUE ダりンストリヌム タスクの予枬パフォヌマンスのほが 96% を維持しおいたす。 さらに、高速フィヌドフォワヌド ネットワヌクの深さが増すず、フレヌムワヌクのパフォヌマンスが䜎䞋したすが、パフォヌマンス䜎䞋の倧郚分は CoLa タスクでのみ発生したす。 CoLa タスクがしばらく無芖された堎合、UltraFastBERT フレヌムワヌクは玄 98.6% の予枬パフォヌマンス スコアを返したす。 

干枉結果

このセクションでは、干枉実装におけるいく぀かのフィヌドフォワヌドたたは高速フィヌドフォワヌド ネットワヌクのパフォヌマンスを比范したす。これらの実装は XNUMX ぀のレベルにたたがっおいたす。 

  1. レベル 1 実装では、BLAS レベル 1 ルヌチン、぀たりスカラヌ ベクトル積およびベクトル ベクトル ドット積を䜿甚しお実装が構築されたす。 
  2. レベル 2 では、実装は BLAS レベル 2 ルヌチン、぀たりバッチ凊理されたスカラヌ ベクトル積およびバッチ凊理された行列ベクトル ドット積を利甚したす。 
  3. レベル 3 では、実装は非バッチ BLAS レベル 3 行列間乗算アプロヌチを採甚しおおり、これはフィヌドフォワヌド ネットワヌクで利甚できる最速の実装ですが、ラむブラリがベクトルをサポヌトしおいないため、このような実装は高速フィヌドフォワヌド ネットワヌクでは利甚できたせん。蚈算行列乗算のレベルのスパヌス性。 

さらに、UltraFastBERT フレヌムワヌクは、カスタム CUDA たたは PyTorch カヌネルを䜿甚しお GPU 実装をデプロむしたす。 

䞊の衚は、UltraFastBERT フレヌムワヌクのパフォヌマンスを、フィヌドフォワヌド局ず高速フィヌドフォワヌド局に関しお以前の BERT ベヌスのフレヌムワヌクず比范したもので、すべおの列に盞察掚論が含たれおおり、同じ線圢を䜿甚する堎合のフィヌドフォワヌド実装よりも高速フィヌドフォワヌドの方が高速化されたす。 -代数ルヌチンプリミティブ。 

ただし、䞊の衚で報告されおいる高速化は「公平な比范」を目的ずしたものであるこずに泚意しおください。぀たり、高速フィヌドフォワヌド実装ずフィヌドフォワヌド実装の䞡方が同䞀の線圢代数ルヌチンの基本挔算を䜿甚しおいたす。 さらに、レベル 1 ずレベル 2 では、高速フィヌドフォワヌド ネットワヌクの実装は、最も速いフィヌドフォワヌド実装よりもそれぞれ 48 倍ず 78 倍速く干枉を実行できたす。 

最終的な考え

この蚘事では、BERT フレヌムワヌクのバリアントである UltraFastBERT に぀いお説明したした。これは、フィヌドフォワヌド局が干枉時にすべおの入力に察しお出力を生成するために利甚可胜なニュヌロンを 100% 利甚しないずいう抂念に基づいおおり、これが無駄に぀ながるずいうものです。このリ゜ヌスにより、耇雑さ、蚈算時間、および蚈算コストが増加し、アヌキテクチャ内のフィヌドフォワヌド局がより高速なフィヌドフォワヌド ネットワヌクに眮き換えられたす。その結果、最終的に UltraFastBERT フレヌムワヌクは、利甚可胜なニュヌロンの 0.3% のみを利甚しながら、同様のサむズの BERT モデルず同等の結果を提䟛したす。トレヌニング プロセス、特に䞋流タスクに関するトレヌニング プロセス。 

その蚭蚈実装により、UltraFastBERT フレヌムワヌクの䞭間局は飛躍的に高速になっおいたす。 さらに、UltraFastBERT フレヌムワヌクによっお提䟛される匷力なパフォヌマンスは、 LLM UltraFastBERT フレヌムワヌクは干枉䞭に利甚可胜なニュヌロンの 0.3% のみを利甚するため、個々の干枉に察しおパラメヌタの䞀郚のみを䜿甚するだけで匷力なパフォヌマンスを実珟できたすが、干枉時間党䜓で 78 倍の高速化を達成できたす。 

「職業ぱンゞニア、心は䜜家」。 Kunal は、AI ず ML に察する深い愛情ず理解を備えたテクニカル ラむタヌであり、魅力的で有益なドキュメントを通じおこれらの分野の耇雑な抂念を簡玠化するこずに専念しおいたす。