AI・機械学習
上級

KERPLE(Kernelized Relative Positional Embedding for Length Extrapolation)(カープル カーネライズド リレーティブ ポジショナル エンベディング フォー レングス エクストラポレーション)

ALiBiを一般化したTransformerの相対位置エンコーディング手法。対数(log)または冪乗(power)カーネル関数を用いて距離に応じた注意バイアスを生成し、ALiBiより豊かな位置表現と長さ外挿能力を実現する。

0 回閲覧
0 いいね
2026/6/7 更新
関連タグ
positional-encoding
length-extrapolation
alibi
kernel-method
transformer

KERPLE(Kernelized Relative Positional Embedding for Length Extrapolation)とは

KERPLEは2022年にChi et al.が発表したALiBiの一般化版位置エンコーディング手法。ALiBiの線形距離バイアス(-|i-j|)をカーネル関数の枠組みで拡張し、より表現力豊かな位置符号化と優れた長さ外挿を実現する。

ALiBiの復習と限界

ALiBi(Attention with Linear Biases)はシンプルで効果的な位置手法:

注意スコア = Q·K^T / √d - slope × |i - j|
  • slopeはヘッドごとに固定の定数
  • 実装が単純で計算コストが低い
  • 長さ外挿ではRoPEより安定する傾向

制限:線形バイアスのみでは表現力に上限があり、複雑な位置依存パターンを捉えにくい。

KERPLEの拡張:カーネル関数の導入

KERPLEはALiBiのバイアスをカーネル関数 k(i, j) で置き換える:

注意スコア = Q·K^T / √d + k(i, j)

対数カーネル(Log Kernel)

k_log(i, j) = -a · log(1 + |i - j|)   (a > 0)
  • 距離に対して対数的にバイアスが増加
  • 遠距離でもバイアスの増加が緩やか → 長文脈情報が保持されやすい

冪乗カーネル(Power Kernel)

k_pow(i, j) = -b · |i - j|^r   (b > 0, 0 < r ≤ 1)
  • r = 1 でALiBiと同一
  • r < 1 でALiBiより緩やかな増加(sub-linear decay)

ハイブリッドカーネル

k(i, j) = -a · log(1 + |i - j|) - b · |i - j|^r
  • 対数と冪乗の組み合わせで最も表現力が高い

パラメータの学習

KERPLEの係数 a, b, r は学習可能パラメータ:

  • 各アテンションヘッドが独立したカーネルパラメータを持つ
  • 訓練データから最適な距離バイアスを自動学習
  • パラメータ数の増加は最小限(ヘッド数 × 2〜3個のスカラー)

ALiBi・RoPEとの比較

特性ALiBiRoPEKERPLE
位置表現線形減衰回転変換カーネル関数
学習可能パラメータなしなしあり(少量)
長さ外挿○△◎
実装複雑度最低低低〜中
表現力低中中〜高

実装

class KERPLEBias(nn.Module):
    def __init__(self, num_heads):
        super().__init__()
        # 対数カーネル係数(ヘッドごと)
        self.log_a = nn.Parameter(torch.ones(num_heads) * 0.5)
        # 冪乗カーネル係数
        self.pow_b = nn.Parameter(torch.ones(num_heads) * 0.1)
        self.pow_r = nn.Parameter(torch.ones(num_heads) * 0.5)
    
    def forward(self, distance_matrix):
        d = distance_matrix.abs()
        log_bias = -self.log_a.view(-1,1,1) * torch.log1p(d)
        pow_bias = -self.pow_b.view(-1,1,1) * d.pow(self.pow_r.view(-1,1,1))
        return log_bias + pow_bias

適用シーン

  • 長文書モデル:法律文書・医療記録等の長コンテキスト理解
  • コードLLM:大規模コードファイルの全文把握
  • 多文書要約:複数文書にまたがる参照の維持

まとめ

KERPLEはALiBiのシンプルさを維持しつつカーネル関数で表現力を高めた位置エンコーディング。対数・冪乗カーネルの組み合わせにより長さ外挿性能が向上し、少量の学習パラメータで効果的な位置表現を獲得できる。ALiBiから次世代への自然な発展形として位置づけられる。

この記事について
カテゴリーAI・機械学習
難易度上級
作成日2026/6/7