大規模言語モデル自然言語処理

リペティションペナルティ

りぺてぃしょんぺなるてぃ · Repetition Penalty
15 views

リペティションペナルティとは、大規模言語モデルが文章を生成する際に、すでに登場した単語やフレーズが過剰に繰り返されるのを防ぐためのハイパーパラメータです。生成時に過去に出現したトークンの出力確率を低下させることで、より多様で自然なテキスト生成を実現します。高すぎると意味の破綻を招くため適切な調整が必要です。

リペティションペナルティとは

リペティションペナルティは、大規模言語モデルが生成する文章内で同じ言葉やフレーズが無駄に繰り返される現象を抑えるための調整パラメータです。

詳しく解説

大規模言語モデルは、前に生成された文脈に基づいて次に続く確率が最も高いトークンを順番に予測・選択します。しかし、モデルの特性や確率の設定によっては、同じ単語や文パターンを何度も繰り返すルーピング状態に陥ることがあります。リペティションペナルティは、生成プロセスにおいてすでに文章中に現れたトークンの対数確率に対してペナルティ値を適用し、再出現の確率を引き下げる仕組みです。テキスト生成の多様性と自然さを保つサンプリング処理において非常に重要であり、長文生成や対話型AIの品質向上に大きく貢献します。

具体例・使われ方

例えば、AIが「とてもとてもとても楽しかったです」といった不自然な繰り返しを出力してしまう場合、リペティションペナルティを1.0より大きい値(例: 1.1〜1.2)に設定します。これにより、すでに使われた「とても」というトークンの生成確率が低下し、「とても非常に楽しかったです」や「非常に楽しい時間でした」といった多様で読みやすい表現に修正されます。

似た用語との違い

類似の概念に、OpenAIのAPIなどで用いられるプレザンスペナルティやフリークエンシーペナルティがあります。プレザンスペナルティは単語が一度でも出現したかどうかで一定のペナルティを科し、フリークエンシーペナルティは出現回数に比例してペナルティを強めます。これらに対して、一般的にリペティションペナルティと呼ばれる手法は、ロジットを直接除算するなど異なる計算式で生成済みのトークン全体の繰り返しを一括して抑制する点で違いがあります。

注意点

リペティションペナルティを強く設定しすぎると、文脈上どうしても繰り返し使う必要がある専門用語や固有名詞、代名詞まで回避しようとし、文法的に誤った文章や不自然な言い換えが発生するリスクがあります。また、過去の文脈全体に対して過剰に作用すると、首尾一貫した議論が難しくなるため、サンプリングの調整時には少量ずつ値を試すことが推奨されます。

更新日時: 2026年9月20日 18:30