
2026/04/25 1:44
それどちらの方が重要ですか?パラメータの増加か、計算量の増加か(2021 年)。
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
要旨:中心的な主張は、モデルパラメータと計算リソースを不可分な単位ではなく、別個で独立した指標として扱うことで、深層学習の効率性が大幅に向上できる点である。現在のアーキテクチャでは、計算がパラメータ数に直接結びつけられており、柔軟性が制限されている。これを解決するために、本稿は 2 つの革新的な手法を導入する。1 つ目はハッシュ層であり、これは単純なルーティング(ハッシュに基づくトークン割り当て)を用いて追加の計算なしに有効なモデルサイズを拡大するものである。2 つ目は階段型アテンションであり、これは時間軸上に Transformer をスタックすることで計算深さを高める反復的な構造である。これらの技術は直交して動作し、パフォーマンスを独立して向上させる。pushshift.io の Reddit 言語モデリングタスクにおいて、ハッシュ層を使用する 45 億パラメータのモデルでは、標準的な専門家の混合モデルと比較して、更新ごとの秒あたりの速度が約 11% 向上した。また、大規模なテストにおいて、特定の入力に対して使用されるパラメータは全体の約 17% のみに留まった。これに、内部状態の追跡を可能にしながらパラメータ数を増加させない反復的な階段型アプローチを組み合わせているため、45 億パラメータというシステムのようなモデルでも顕著なパフォーマンス向上を実現できる。その結果、ユーザーは秒あたりの更新速度が速くなり、企業は特定の入力に対して必要なパラメータのみを活性化することでメモリオーバーヘッドと展開コストを削減することができる。結局のところ、これはサイズと計算を解離させ、業界における効率的なモデルスケール化や複雑なタスク処理において新たな可能性を切り開くものである。ハッシュ層および階段型アテンションの両者について、論文に並行して実装コードが利用可能である。
本文
文書の体裁整理
モデルにおいて、どのような要素がより重要なのか:パラメータ数か計算量か?
深層学習モデルの性能を語る際、私たちは往々にしてその「規模」すなわちモデルに含まれるパラメータの数という指標のみに関心を寄せてしまいがちです。しかしながら、当該モデルを実行するための必要な計算量は、同様に重要な指標であるにもかかわらず、パラメータ数と密接に結びついているため見過ごされることが多々あります。実際の実践者の中には、この二つの指標を単一の概念として捉えがちになる傾向があります。
大半のケースでは、これは真理と言えます。なぜなら、各パラメータは入力に対して一度しか計算に参加しないからです。つまり、モデルが 100 万パラメータを持つ場合、一つの入力を処理するために必要な浮動小数点演算(FLOPs)も概ね 100 万個となります。これはフィードフォワード型モデル、再帰型モデル、さらには Transformer でも同様のことが言えます。
そこで我々は、この重要な問いをさらに探究し、「モデルの計算量はモデルの規模とは別個に考慮されるべきだ」ということを示すために、二本の新たな手法を発表します。第一に、計算量を多用することなくモデル規模を拡大し、その結果として性能を向上させることができます。第一稿では、その実現のためのシンプルかつエレガントな方法を「ハッシュ層(Hash Layers)」の導入によって提案しています。第二稿では、逆に計算量を増大させることにより、モデルへの新たなパラメータを追加せずに性能を著しく向上させられることも示します。これを実現する新しいアーキテクチャファミリーである「階段型注意機構モデル(Staircase Attention Models)」について紹介いたします。
この二つの成果を総括すると、深層学習モデルのあり方に対する新しい視点を開拓したと考えられます。そのためには、「パラメータ」と「計算量」という二つの概念を明確に切り離して考えることが不可欠です。このように考え直せば、利用可能なリソースに応じた設計が施され、より強力なモデルへと到達できると信じています。
ハッシュ層(Hash Layers)
近年のトレンドとして、言語タスクにおいて印象的な結果を得るための手段の一つとして、Transformer モデルを一つも大きくする方向への動きが見られています。そうしたモデルのパラメータ数は十億単位に達し、場合によっては千億単位にも及んでいます。これは深層学習の可能性を示していることは間違いありませんが、大きなモデルほど計算量が必要となり、実用的な面では不利となります。
巨大モデルをより少ない計算量で動作させるための一つの手段として、スパースな専門家混合(Mixture-of-Experts, MoE)アプローチがあります。各「専門家」はそれぞれ独自のパラメータを持ち、かつ入力データの一部だけに対してのみ使用されます。つまり、一つの入力は一部の専門家へのルーティングのみが行われるため、利用されるパラメータも一部に限られ、結果として計算量は削減されます。実際、最新の研究では、この手法によって Transformer を効率的に大型化できることが示されています。MoE の鍵となる要素は、「どの入力データに対してどの専門家を利用すべきか」を決定する「ルーター(Router)」です。
本稿では、入力トークンのハッシュ化に基づいたルーティング機構を提案します。従来の研究と異なり、このハッシュベースの MoE は学習也不需要であり、目的関数の変更も要さず、極めてシンプルです。辞書上の各単語は、ランダムに割り当てられるか、あるいは分布がバランスを取るよう意図的に割り当てられ、固定された専門家へと結びつけられます。単純な手法とは見かけますが、言語理解や対話などの複数の困難なタスクにおいて有効に機能します。
pushshift.io の Reddit 言語モデル化タスクにおいては、ハッシュ機構を搭載した我々のアプローチが、学習に基づく Switch ベースラインよりも優れており、特に専門家数が多い場合にその差は顕著です。ここで扱う最大のモデルには 12.8 億パラメータが含まれますが、特定の入力に対して実際に利用されるのはそのうち約 17%に過ぎません。我々はさらに大型データを用いて 45 億パラメータのモデルも学習し、その際にもハッシュ機構を備えたモデルが、競合的なスパース MoE モデルである BASE よりも優れていることを確認しました。専門家割り当てにおける自然的なバランス確保は、既存のアプローチに比べてトレーニング効率やクラスター間でのスケール可能性において優れた特性を持ちます。我々の実験では、更新処理速度(updates-per-second)で約 11%の向上を実現しており、専門家層が増えるにしたがって、この差はさらに顕著になると予想されます。
階段型注意機構(Staircase Attention)
Transformer の性能向上のためにパラメータ数を増やすことは広範に研究されていますが、計算量を増大させることについては未だ十分検討されていません。その理由の一つは、標準的な Transformer ではアーキテクチャ選択を通じて計算量とパラメータ数が不可避的に結びついており、これを独立して制御することが困難である点にあります。本稿では、この二つの概念を切り離すための代替的なアーキテクチャファミリーを紹介し、「計算量の増加が性能向上への別の道筋である」ということを実証します。具体的には、再帰的に Transformer を適用する一連のモデルを導入しました。これらは「階段型(Staircase)」および「ラダー型(Ladder)」モデルと命名されています。
ラダー型モデルは、単に同一の Transformer を複数回積み重ねる構造を持っています。つまり、Transformer に含まれる各パラメータは複数のステップにわたって計算に参加するため、モデル規模を変えずに計算量を増大させることが可能です。この単純な改造により、言語モデル化や対話といった実世界のタスクにおいても、顕著な性能向上をもたらします。さらに、これは「単位パラメータあたりの計算能力(compute per parameter)を高めること」が、性能向上に向けた魅力的で有望な研究方向であることを示唆しています。
一方の階段型モデルもラダー型と同様に Transformer を積み重ねますが、各 Transformer の出力を複数の時間ステップだけ前方シフトして接続します。この変更により、入力が続限り限り Transformer を積層でき、全体として階段状の形状を持つモデルを実現できます。通常の Transformer とは異なり、この継続的な接続構造によって階段型モデルは時系列上再帰性を帯び、内部状態を保持しながら変化を追跡することが可能となります。
単純に作成されたタスクにおいて、モデルが単に入力情報を得た際に内部状態を更新し続けるだけの必要がある場合、フィードフォワード型の Transformer やラダー型モデルでは苦労しますが、階段型モデルはそれを容易に解決します。さらに、言語モデル化タスクにおいても、単位パラメータあたりの計算能力が増加しているため、ラダー型モデルと同じく性能向上を享受します。
なぜ両方を使わないのか?
これらの二つの手法を導入した後には自然な疑問が浮かびます:「両方を組み合わせることが可能なのか?」という問いに対して答えは「可能です!」です。両アプローチから得られる改善効果は相互に独立しており、ハッシュ層とラダーモデルを併用したハイブリッド構造の場合、いずれかを単独で使用した場合よりも顕著な性能向上が観察されます。
総括すると、本稿では計算量とパラメータ規模という問題点を調査し、これら二つの概念は標準的な機械学習モデルのように互いに縛り合うのではなく、それぞれ別個に扱うべきであることを示しました。特に、我々は両者のトレードオフを探求する新しいアーキテクチャタイプを提示します。すなわち、「パラメータ規模を増やすか」、「計算量を増やすか」という二つの道筋をそれぞれ検討し、さらにこれらのアイデアを統合することでより大きな成果を得られることを示しています。
私たちは、このような思考のあり方、および我々の新手法の応用が、機械学習研究において極めて生産的な前進をもたらすものだと確信します。
詳細については、以下の論文をご覧ください:
コードはこちらで入手可能です。