Re Reference AI

技術

パディング(Padding)とは

Padding

長さの異なる系列をバッチにまとめるため、短い系列の末尾や先頭に特殊トークンを詰めて長さを揃える処理

トークナイゼーション学習

最終更新:

概要

パディングは、長さの異なる複数の系列をテンソルとしてまとめて処理するために、短い系列にパディングトークン(PADトークン)を追加して長さを揃える処理。GPUでバッチ処理をするには、バッチ内の系列を同じ長さにそろえる必要がある。 パディングトークンは意味を持たないため、Attentionの計算ではマスクで参照対象から外し、損失の計算でも除外する。トークンを末尾に詰める右パディングが一般的だが、デコーダー型モデルでバッチ生成をする場合は、生成を続ける末尾の位置を揃えるため先頭に詰める左パディングが使われることもある。 パディングが多いほど無駄な計算が増えるため、似た長さの系列をまとめるバケッティングや、複数の系列を連結して詰めるパッキング、推論サーバーでのContinuous Batchingなど、パディングを減らす工夫が使われる。なお、CNNで画像の端に値を足して出力サイズを調整する処理もパディングと呼ばれる。

関連する用語

トークントークナイゼーションバッチサイズマスキング連続バッチ処理ファインチューニングデータポイズニング勾配ブースティングBPTTN-gram誤差逆伝播法勾配降下法