AI・機械学習
上級

Hyena(ハイエナ)

Stanfordの研究チームが2023年に提案した、長距離畳み込みフィルタとゲーティングを組み合わせたAttention代替メカニズム。FFT(高速フーリエ変換)を活用してO(n log n)のサブクアドラティック計算量を実現し、DNA配列解析など超長系列タスクで特に高い性能を示す。

0 回閲覧
0 いいね

Hyenaとは

Hyena(ハイエナ)は、Stanford大学のHazyResearchグループ(Michael Poli、Stefano Massaroliら)が2023年3月に発表した「Hyena Hierarchy: Towards Larger Convolutional Language Models」論文で提案されたアーキテクチャである。Attentionメカニズムを長距離畳み込みフィルタとゲーティングの階層で置き換え、O(n log n)の計算量で系列をモデリングする。

Hyenaの基本原理

Hyenaは以下の3つの要素を組み合わせる:

  1. データ制御ゲーティング: 入力に依存したゲート値でフィルタリング(Attention的な選択性を実現)
  2. 長距離畳み込みフィルタ: 暗黙的に学習されたFFTベースの畳み込みカーネル(全系列長をカバー)
  3. 階層構造: 上記の2つを交互に積み重ねる「Hyena階層」により、高次の相互作用をモデリング

従来のAttentionが全ペアのドット積(O(n²))で相互作用を計算するのに対し、Hyenaは畳み込み(O(n log n))とゲーティング(O(n))の組み合わせで同等の表現力を目指す。

数学的定式化

Hyenaオペレータ(次数N=2の場合):

y = h_2 ⊛ (x_1 ⊙ (h_1 ⊛ (x_2 ⊙ v)))

ここで:

  • v: 入力の線形射影(Value相当)
  • x_1, x_2: 入力からの射影(Query/Key相当のゲート)
  • h_1, h_2: 学習された畳み込みフィルタ
  • ⊛: 畳み込み(FFTで高速計算)
  • ⊙: 要素ごとの積(ゲーティング)

次数Nを増やすことで、より複雑な相互作用パターンを捕捉できる。実験的にはN=2が効率と性能のバランスが良い。

暗黙的畳み込みフィルタ

Hyenaの畳み込みフィルタは明示的にパラメータとして保持せず、小さなニューラルネットワーク(パラメータ化関数)から動的に生成される:

h(t) = Window(t) · FFN(t/L, sin(ωt), cos(ωt))
  • Window(t): 指数減衰窓関数(遠方の影響を減衰)
  • FFN: 位置エンコーディングを入力とする2層MLP
  • t/L: 正規化位置、sin/cos: 周波数エンコーディング

この暗黙的パラメータ化により、系列長に依存しないパラメータ数で任意長の畳み込みフィルタを表現できる。

計算効率

操作AttentionHyena
計算量O(n²d)O(n log n · d)
メモリO(n²) or O(n)O(n log n) or O(n)
128K入力48GB KVキャッシュ2GB(FFTバッファ)
1M入力実質不可能16GB

FFTによる畳み込みの計算:

  • 信号をフーリエ変換: O(n log n)
  • 周波数領域で要素積: O(n)
  • 逆フーリエ変換: O(n log n)
  • 合計: O(n log n)

ベンチマーク性能

モデルパラメータWikiText PPLThePile PPL速度(学習)
Transformer355M22.89.11.0x
Hyena355M23.19.21.3x
Transformer1.3B17.47.81.0x
Hyena1.3B17.87.91.5x
S4355M25.610.11.1x
H3 (前身)355M24.29.71.2x

言語モデリングではTransformerにわずかに劣るが、学習速度は最大1.5倍高速。

超長系列タスクでの優位性

Hyenaが最も威力を発揮するのは超長系列タスクである:

DNA配列解析(HyenaDNA):

  • ヒトゲノムの100万塩基ペア(1Mトークン相当)を直接処理
  • 従来のTransformerベースモデル(DNABERT等)は最大512トークンに制限
  • 種レベルの分類精度96.3%(従来手法92.1%を大幅に上回る)
  • GPU: A100 80GB 1枚で1Mコンテキストの学習が可能

時系列予測:

  • 長期気象予測(30日先)でTransformerベースのInformer/Autoformerを上回る
  • O(n log n)の計算量により、1年分の分単位データ(500K+ポイント)を直接処理

StripedHyena

StripedHyenaはTogether AIが2023年12月に発表した、Hyenaの実用的な発展版である:

  • StripedHyena-Nous-7B: Hyena+Attention+MoEのハイブリッド、7Bパラメータ
  • Hyena層とAttention層を交互に配置(「ストライプ」パターン)
  • 128Kトークンのコンテキスト長をサポート
  • Mistral 7Bと同等のベンチマーク性能

実装と利用

# HuggingFace経由
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained(
    "togethercomputer/StripedHyena-Nous-7B"
)

# HyenaDNA(DNA配列解析)
from transformers import AutoModel
model = AutoModel.from_pretrained(
    "LongSafari/hyenadna-large-1m-seqlen-hf"
)

FFT高速化:

  • cuFFT(CUDA)による GPU上のFFT高速化
  • FlashFFTConv: HazyResearchが開発した、FlashAttentionに相当するFFT畳み込み高速化カーネル
  • A100で最大2倍、H100で最大3倍の速度向上

よくある質問(FAQ)

Q1: HyenaはMambaより優れているのか? A: 用途による。言語モデリング(短〜中文)ではMambaの方が品質・効率ともに上回る。超長系列タスク(100K+トークン、DNA解析、長期時系列)ではHyenaのFFTベースアプローチが有利。実用的にはStripedHyenaのようにAttentionと組み合わせるハイブリッドが最も汎用性が高い。

Q2: HyenaをGPUなしで使えるか? A: FFT計算はCPUでも実行可能だが、cuFFTによるGPU加速がないと実用的な速度にならない。StripedHyena-7BはRTX 3090以上のGPU(24GB VRAM)で動作可能。量子化版であれば16GB VRAMでも推論可能。

Q3: なぜHyenaは「ハイエナ」と名付けられたのか? A: 公式には説明されていないが、ハイエナが群れで効率的に狩りを行う生態に、複数の畳み込みとゲーティングが階層的に協調する構造を重ねたとされる。HazyResearchグループは動物名のモデル(Hippo、Hyena等)を慣例としている。

まとめ

  • HyenaはFFTベースの長距離畳み込みとゲーティングでAttentionを代替
  • O(n log n)のサブクアドラティック計算量を実現
  • DNA配列解析(1Mトークン)など超長系列で特に有効
  • StripedHyenaとしてHyena+Attentionハイブリッドが実用化
  • FlashFFTConvによるGPU最適化で学習・推論の高速化が進行中