テクニカルガイド

SwiGLU とゲート制御アクティベーション

SwiGLU は、入力の 1 つの線形投影と Swish でアクティブ化される 2 番目の投影を乗算するゲート アクティブ化関数で、トランスフォーマ フィードフォワード層内の学習可能なデータ依存ゲートとして機能します。

2分の読書最終更新日

概要

It consistently improves language-model quality, which is why nearly every modern LLM uses it.

ディープダイブ

標準のトランスフォーマー フィードフォワード ブロックは、間に ReLU または GELU を挟んだ 2 つの線形層です。 Dauphin らによって提案されたゲート線形ユニット。 2016 年には、最初の投影を 2 つの半分に分割し、一方の半分を要素ごとの乗算によってもう一方の半分にゲートするために使用します。 2020 年に Noam Shazeer によって普及された SwiGLU は、そのゲートに Swish (SiLU) 関数を使用します: 出力 = (Swish(xW) * (xV)) W2、2 つではなく 3 つの重み行列を使用します。ゲートにより、ネットワークは次元ごとに情報を選択的に通過または抑制できます。 3 番目の行列を追加するとパラメーターが増加するため、実装では隠れ次元が約 3 分の 2 に縮小され、総計算量は GELU MLP と同等のままになります。 Shazeer の実験では、測定可能な混乱度の向上が示され、LLaMA、PaLM、Mistral はすべてそれを採用しました。

技術的な洞察

Swish は x * sigmoid(beta*x) であり、ReLU とは異なり、小さな負の値を許容する滑らかな非単調関数です。 SwiGLU では、「ゲート」ブランチ Swish(xW) は、「値」ブランチ xV を要素ごとに乗算する 0 または 1 に近い値を生成するため、各隠れユニットの寄与は、学習された入力依存信号によって変調されます。 3 番目の重み行列はコストです。 3 分の 2 の隠れサイズのトリックにより、FLOP バジェットがバニラのフィードフォワード層と一致するように維持されます。

戦略的影響

費用と予算

アーキテクチャの決定により、パフォーマンスと運用コストが何年にもわたって推進されます。

より明確な判決

技術教育は、チームが最新のスタックだけでなく、適切なスタックを選択するのに役立ちます。

品質管理

より良いエンジニアリングの選択により、本番環境での信頼性に関するインシデントが減少します。

SwiGLU とゲート制御アクティベーションの将来

SwiGLU は、オープンウェイト LLM のデフォルト MLP として定着しており、すぐにその地位を奪われる可能性は低いです。アクティブな方向には、GeGLU と ReGLU のバリアント、両方の投影を 1 つのパスで計算する融合 GPU カーネル、およびゲート MLP と専門家の混合を組み合わせて、各エキスパート自体が SwiGLU ブロックになることが含まれます。研究者は、さらに安価なゲートを設計することを目指して、なぜゲーティングが最適化に役立つのかについても研究しています。

現実世界の実装

LLaMA、PaLM、および Mistral は、GELU フィードフォワード層を SwiGLU に置き換えて、同等のコンピューティングで複雑さを低減します。

隠れ次元は約 3 分の 2 (8/3 d) にスケーリングされるため、追加のゲート行列によって FLOP が膨張することはありません。

Mixtral などの専門家混合モデルは、専門家ごとのフィードフォワード ネットワークとして SwiGLU ブロックを使用します。

ビジョンおよびマルチモーダルトランスフォーマーは、GeGLU/SwiGLU ゲーティングを利用して MLP サブレイヤを改善します

リスクとガードレール

1 つのベンチマークを最適化すると、より広範なシステムの弱点が隠れる可能性があります。

インフラストラクチャとメンテナンスのコストは過小評価されがちです。

システムが複雑になるにつれて、セキュリティと可観測性のギャップが拡大する可能性があります。

実装ロードマップ

1

実装前にレイテンシ、品質、コストの目標を定義します。

2

現実的な負荷とデータ条件でのベンチマーク。

3

エラー、ドリフト、ユーザーへの影響を計測器で監視します。

4

スケーリングの前に、ロールバックとインシデント対応のパスを準備します。

探検を続けましょう

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the SwiGLU and Gated Activations quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

クイズを開始する

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

次のガイド

アクティベーションの再計算のトレードオフ

よくある質問

What is SwiGLU and Gated Activations?

SwiGLU は、入力の 1 つの線形投影と Swish でアクティブ化される 2 番目の投影を乗算するゲート アクティブ化関数で、トランスフォーマ フィードフォワード層内の学習可能なデータ依存ゲートとして機能します。これにより、言語モデルの品質が一貫して向上するため、最新のほぼすべての LLM が使用されます。

ゲートリニアユニットを定義するコア操作は何ですか?

GLU は、値投影とゲート投影を要素ごとに乗算し、ネットワーク制御情報を次元ごとにフローさせます。

SwiGLU はゲート分岐にどのアクティベーション関数を使用しますか?

SwiGLU は、ゲート ブランチに x * sigmoid(beta*x) として定義される Swish (SiLU とも呼ばれます) を使用します。

SwiGLU フィードフォワード ブロックは重み行列をいくつ使用しますか?

SwiGLU には、ゲート投影、値投影、出力投影の 3 つの行列が必要です。

SwiGLU レイヤーでは隠れ次元が通常約 3 分の 2 にスケールされるのはなぜですか?

3 番目の行列は、そうしないと計算量が増大するため、非表示のサイズを約 8/3 日まで縮小することで、予算の一致を維持します。

2020 年に変圧器フィードフォワード層に SwiGLU を普及させたのは誰ですか?

Noam Shazeer の 2020 年のメモ「GLU Variants Improvement Transformer」では SwiGLU が紹介され、その複雑性の向上が示されました。