本稿では、学習データ蒸留を逆向きに適用する学習データの逆蒸留を導入し、大規模言語モデルへの応用について議論する。学習データの逆蒸留では、ある学習データがもたらすモデルの変化と逆の変化をもたらす学習データを生成する。例えば有害な文章を含むコーパスを逆蒸留することで、モデルから有害な表現を忘却させる学習データが得られる。本稿では、一般的なコーパスに適用可能な、非常に軽量・単純な逆蒸留手法を導入し、モデルの有害性除去を例にその有効性を検証した。逆蒸留された文章が、有害性を除去するための学習データとして機能することを、様々なモデルを通じて示した。

機械学習モデルの学習データを圧縮する方法として、近年学習データ蒸留が注目を集めている[1]。習データがもたらすモデルの変化と同様の変化をもたらす学習データを生成する技術である。これにより、例えば大規模な学習データで学習した場合と同様の影響をもたらす少量の学習データが得られる。本稿では、学習データ蒸留を逆向きに適用する学習データの逆蒸留を導入し、大規模言語モデル（LLM）への応用について議論する。図1(b)に示すように、学習データの逆蒸留では、元の学習データがもたらす変化と逆の変化をもたらす学習データを生成する。例えば差別的な文章を含むコーパスを逆蒸留することで、LLMから有害な表現を忘却させる学習データが得られることが期待される。同様の発想に立った方法として勾配上昇法による逆学習[2]があるが、単純に勾配を反転させて学習させると、モデルの性能が著しく毀損してしまう。一方、逆蒸留は一般的な文章でありつつも逆向きにモデルを更新する学習データを生成することで、言語モデルの性能を維持しつつ、特定のデータの忘却を試みる。(a)学習データの蒸留(b)学習データの逆蒸留蒸留されたデータ𝒙distillによる勾配元のデータ𝒙originによる勾配元のデータ𝒙originによる勾配モデル𝜽モデル𝜽蒸留されたデータ𝒙distillによる勾配∇𝜽log𝑝𝒙origin;𝜽≈∇𝜽log𝑝𝒙distill;𝜽−∇𝜽log𝑝𝒙origin;𝜽≈∇𝜽log𝑝𝒙distill;𝜽学習データ蒸留/逆蒸留をLLMの学習コーパスに適用するにあたり、いくつかの障壁が存在する。従来の学習データ蒸留手法は、学習データを連続値として扱い、その勾配と元のデータがもたらす勾配が一致するように学習データを最適化する。したがって蒸留で得られるデータは文章ではなく連続値であり、蒸留に用いたモデルと異なるモデルの学習に用いることができない。また、最適化に際し2階微分の計算を伴うため、大規模なモデルやデータに適用するには膨大な計算量を要する。実際、既存研究の多くは画像データを対象としており[1,3,4,5,6]、自然言語に適用した研究もあるものの、文章分類のファインチューニングデータに留まり、一般的なコーパスの蒸留には用いられていない[7,8,9,10]。そこで本稿では、一般的なコーパスの蒸留/逆蒸留に適用可能な、対照的デコーディング[11,12]を用いた単純・軽量な学習データ蒸留手法を提案する。対照的デコーディングとは、二つの言語モデルによる文章の生成確率の差分をもとに文章を生成する方法であり、既存手法よりも極めて軽量ながら、一般的な文章の形式でデータを蒸留できる。対照的デコーディングにより生成された文章は、蒸留されたコーパスとしてみなせることを数学的に示す。実験では、逆蒸留の応用例としてLLMの有害性除去を取り上げ、言語モデルの性能を維持しつつ、有害な文章の生成を抑制できることを示す。また、あるLLMを用いて逆蒸留したコーパスは、異なるLLMの有害性も除去でき、逆蒸留で得られる学習データが汎用的に機能することを示す。.