MetaのUnslopルーブリックの再現を試みて:再現には至らず

機械翻訳 元の記事.


内容

Metaのブログ記事AIのスロップを減らすでは、LLMが書く文章に含まれる「スロップ」を減らす新しいRL手法が提案されています。

(1) まず、人間が書いた最高品質の文章の例を集め、次に

(2) 専門家によるそれらの文章をモデルの生成文よりも高く採点するルーブリックを通じて、LLMの判断を学習し、

(3) 学習したルーブリックに基づいてRLを行います。

...

私たちのルーブリック学習手法、eXpert Aligned Rubrics(XAR)はシンプルです。

人間が書いた、平均を大きく上回る水準の文章や専門家による文章の例を見つけ、文脈とその続きに分けます。 同じ文脈を与えて、モデルに比較対象となる続きを生成させます。こちらの文章の質は劣る(つまりスロップになる)と想定しています。 以上のデータから、人間の文章のほうに高い点数が付くべき学習用のペアを作ります。この訓練データを使って、人間とモデルの点差を最大化するルーブリックの生成方法を学習します。 その後、これらのルーブリックを使い、強化学習(RL-XAR)でモデルの文章力を高めるため、以下の手順を繰り返します。

上記のとおり、人間と現在のモデルの点差を最大化するXARルーブリックを学習します。 学習したルーブリックを使って、訓練セットで強化学習を行います。 ルーブリックの学習で差を見つけられなくなるまで(つまり、モデルのスロップを見つけられなくなるまで)、手順1から繰り返します。

私は、この「初期の実証的検証」を再現しようと約1週間取り組みましたが、再現できませんでした。 コード、プロンプト、ログの全容はmeta-rlxar-reproductionにあります。

試したこと

ブログ記事の説明に、できる限り忠実に従いました。処理のループは次のようになります。

  • 人間が書いた良質な文章を取り上げ、その一部を隠す。論文の1節や、小説の次の一節など。
  • 執筆役のモデルが残りの部分を読み、隠された部分に当たる文章を自分で書く。
  • ルーブリック生成役が、メタプロンプトに従って、その部分を評価するルーブリックを書く。
  • 審査役が、どちらが人間の文章かを知らされずに、ルーブリックに基づいて人間の文章とモデルの文章を採点する。
  • 最適化役が、モデルが勝った事例を確認し、次回はルーブリックが人間の文章をより高く評価するようにメタプロンプトを書き直す。
  • これを数回繰り返し、人間の文章を選ぶ傾向が最も強いルーブリックを生成するメタプロンプトを選び、検証用に取っておいた文章で確かめる。

人間の文章には、査読済み論文(最初はarXivにある最近のNLP論文、その後は9分野にわたる2016〜2021年の論文)と、Project Gutenbergにあるノーベル賞やピューリッツァー賞の受賞者による小説を使いました。

試したモデルを役割ごとに挙げます。

  • 執筆役: Muse Spark 1.1、Muse Spark 1.3、MiMo-V2.6-Pro
  • ルーブリック生成役: Muse Spark 1.1、Muse Spark 1.3、MiMo-V2.6-Pro
  • 審査役: Muse Spark 1.1、Muse Spark 1.3、Qwen3.8 Flash。1回の実行では、2つ目の審査役としてMiMo-V2.6-Proも使用
  • 最適化役: Kimi K2.6、MiMo-V2.6-Flash

プロンプトも何度か変更し、結果がどの程度ばらつくかを確かめるため、その時点で最良のプロンプトから最適化を3回やり直しました。

どの試みでも、結果は再現できませんでした。 最適化を数回繰り返しても、ルーブリックが安定して人間の書き手を高く評価することはありませんでした。 arXivの論文では、最適化したルーブリックによって差はある程度縮まりましたが、逆転には至りませんでした。 小説では、最適化前からルーブリックはわずかに人間を高く評価していましたが、最適化すると、逆にモデル寄りに動きました。

今回わかったこと

  • 最適化したルーブリックは、論文での差を安定して縮めたものの、人間の文章を安定して高く評価するまでには至りませんでした。
  • 私の素朴な初期プロンプト(Opus 5.5が下書きしたもの)は、初めから人間が書いた小説を高く評価していました。 これをAnthropicのモデルについての一般論に広げられるとは思いませんが、Opusのほうが「センスがよい」という見方を支える体験談がまた一つ増えました。
  • 私の実験設定のどこに違いがあり、それが再現を妨げているのかは、判断が難しいところです。 モデルのプロバイダーの品質が原因かもしれません(Kimi K2.6はfp8量子化版を提供するプロバイダーを使いました)。ほかのモデルについても、プロバイダーの品質にはあまり注意を払っていませんでした。

🤷