0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIクリエイティブのベンチマークってなんだ?〜技術選定で本当に使える評価指標〜

0
Posted at

この記事の対象読者

  • AIを使った創作支援ツールの導入を検討している方
  • LLMの「創造性」をどう評価すればいいか悩んでいる方
  • Pythonの基本文法とAPIの使い方を理解している方

この記事で扱わないこと

  • LLMの学習方法や内部アーキテクチャの詳細
  • ベンチマークの数学的な証明
  • 全ベンチマークの網羅的なカタログ

この記事で得られること

  • Creative Writing v3の評価手法と実行方法
  • Story Cloze Testの仕組みと現代的な意義
  • 技術選定で「どのモデルが創作に向いているか」を判断する具体的な方法

1. 創造性の評価という難題

「このAI、文章うまいの?」

シンプルな問いだが、答えるのは恐ろしく難しい。

正解がある数学の問題なら、正答率で比較できる。
コード生成なら、テストが通るかどうかで判定できる。
しかし「良い物語」には正解がない。

私がLLMの技術選定を任されたとき、最初にぶつかった壁がこれだった。
営業資料には「創造的な文章が書けます」と書いてある。
でも、それってどうやって測ったの?

この疑問を解消するために調べた結果、2つのベンチマークに行き着いた。
物語の「常識的な理解力」を測るStory Cloze Test。
そして「創作の質」を真正面から評価するCreative Writing v3だ。


2. Story Cloze Test: 物語理解の基礎体力測定

2.1 Story Cloze Testとは

Story Cloze Testは、Rochester大学のNasrin Mostafazadeh氏らが2016年に提案した評価フレームワークだ。

'Story Cloze Test' is a new commonsense reasoning framework for evaluating story understanding, story generation, and script learning. This test requires a system to choose the correct ending to a four-sentence story.

(Story Cloze Testは、物語理解・物語生成・スクリプト学習を評価するための新しい常識推論フレームワークである。このテストはシステムに対し、4文の物語に対する正しい結末を選択することを要求する。)

出典: A Corpus and Evaluation Framework for Deeper Understanding of Commonsense Stories (NAACL HLT 2016)

要するに「4文の短い話を読んで、2つの結末から正しい方を選べ」というテストだ。

2.2 具体例で理解する

公式サイトの例を見てみよう。

Context(文脈) Right Ending(正しい結末) Wrong Ending(誤った結末)
Karen was assigned a roommate her first year of college. Her roommate asked her to go to a nearby city for a concert. Karen agreed happily. The show was absolutely exhilarating. Karen became good friends with her roommate. Karen hated her roommate.

日本語にすると:

カレンは大学1年生でルームメイトを割り当てられた。ルームメイトは近くの街のコンサートに誘った。カレンは喜んで同意した。ショーは最高に盛り上がった。

正しい結末は「カレンはルームメイトと良い友達になった」。
誤った結末は「カレンはルームメイトを嫌いになった」。

人間なら一瞬で分かる。
楽しい体験を共有した相手を嫌いになるのは不自然だからだ。
この「不自然さ」を検出できるかどうかを測っている。

2.3 なぜこのテストが重要なのか

Story Cloze Testは「常識推論」(commonsense reasoning)を測定する。

物語を書くには、以下の能力が必要だ。

  • 因果関係の理解(AをしたらBが起きる)
  • 時間の流れの把握(朝→昼→夜)
  • 感情の連続性(嬉しい体験→ポジティブな結果)

これらを「暗黙知」として持っていないと、筋の通った物語は書けない。
Story Cloze Testは、この基礎体力を二択問題で効率的に測定する。

2.4 データセット構成

Story Cloze Testは2つのコンポーネントで構成される。

ROCStories(学習用)
├── 98,159件の5文ストーリー
├── 正解/不正解のラベルなし
└── 日常生活の物語

Story Cloze Test(評価用)
├── 3,744件の評価インスタンス
├── 各インスタンスに正解・不正解の結末
└── 2016年版と2018年版が存在

2.5 ベンチマークの限界と教訓

2018年、重要な研究が発表された。

Although the original goal behind the SCT was to require systems to perform deep language understanding and commonsense reasoning for successful narrative understanding, some recent models could perform significantly better than the initial baselines by leveraging human-authorship biases discovered in the SCT dataset.

(SCTの本来の目的は、物語理解のために深い言語理解と常識推論を要求することだった。しかし、一部のモデルはSCTデータセットで発見された人間の執筆バイアスを利用することで、初期ベースラインを大幅に上回る性能を達成できた。)

出典: Tackling the Story Ending Biases in The Story Cloze Test (ACL 2018)

つまり、「正しい結末」と「誤った結末」の書き方にパターンがあり、物語を理解しなくても文体の違いだけで当てられてしまったのだ。

この教訓は重要だ。
ベンチマークのスコアだけを見て判断してはいけない
何を測っているのか、どんなバイアスがあるのかを理解した上で使う必要がある。

2.6 評価の実行方法

EleutherAIのlm-evaluation-harnessを使えば、自分のモデルで評価できる。

# インストール
pip install lm-eval

# Story Cloze Testの実行(2018年版)
lm_eval --model hf \
    --model_args pretrained=your-model-name \
    --tasks storycloze_2018 \
    --device cuda:0 \
    --batch_size 8

ただし、データセットは手動ダウンロードが必要だ。

# データ取得手順
# 1. https://cs.rochester.edu/nlp/rocstories/ でフォームを記入
# 2. メールでダウンロードリンクを受け取る
# 3. 以下のようにリネーム
mv cloze_test_val__winter2018.csv cloze_testval_winter2018.csv
mv cloze_test_test__winter2018.csv cloze_testtest_winter2018.csv

# 4. ~/tensorflow_datasets/downloads/manual/ に配置

3. Creative Writing v3: 創作品質の本格評価

3.1 Creative Writing v3とは

Story Cloze Testが「理解力」なら、Creative Writing v3は「創作力」を測る。
EQ-Benchプロジェクトの一部として、Samuel J Paech氏が開発した。

This benchmark evaluates the creative writing capabilities of large language models using a hybrid rubric and Elo scoring system, designed for enhanced discrimination, especially at the top end of model performance.

(このベンチマークは、ハイブリッドなルーブリックとEloスコアリングシステムを使用してLLMの創作能力を評価する。特に上位モデル間の識別力を高めるよう設計されている。)

出典: EQ-bench/creative-writing-bench (GitHub)

「識別力を高める」がポイントだ。
上位モデルは従来のベンチマークでスコアが飽和してしまい、差がつかない。
Creative Writing v3は、あえて難しい課題を出して差を可視化する。

3.2 評価の哲学

このベンチマークの設計思想は、一見すると逆説的だ。

The prompts were chosen through a process of elimination to be challenging for weaker models and therefore highly discriminative. It's a bit counter-intuitive, but the purpose of the evaluation is not to help models write their best. Instead, we are deliberately exposing weaknesses, creating a steeper gradient for the judge to evaluate on.

(プロンプトは、弱いモデルにとって挑戦的で識別力の高いものを選別した。直感に反するが、評価の目的はモデルに最高の作品を書かせることではない。意図的に弱点を露出させ、評価の勾配を急にしている。)

出典: EQ-Bench About

要するに「得意なことをやらせる」のではなく「苦手を突く」テストだ。
LLMが苦手とする以下の要素を要求する。

  • ユーモア
  • ロマンス
  • 空間認識
  • 一人称視点の非標準的な使い方

人間の作家なら当たり前にできることが、LLMには難しい。
この差を可視化することで、モデルの「本当の実力」が見える。

3.3 ハイブリッド評価システム

Creative Writing v3は2種類のスコアを算出する。

評価システム
├── Rubric Score(ルーブリックスコア)
│   ├── 各作品を詳細な評価基準で採点
│   ├── 絶対評価
│   └── 上位で飽和しやすい
│
└── Elo Score(Eloスコア)
    ├── モデル間の対戦で相対評価
    ├── 勝敗マージンを考慮したGlicko-2システム
    └── 上位でも識別力を維持

Eloスコアは将棋やチェスのレーティングと同じ考え方だ。
直接対決の結果から相対的な強さを算出する。
これにより「僅差の1位」と「圧倒的1位」を区別できる。

3.4 バイアス対策

LLMによる評価には固有のバイアスがある。
Creative Writing v3は以下の対策を実装している。

バイアス 対策
長さバイアス(長い文章を高評価) 出力を4000文字で切り詰め
位置バイアス(先に提示された方を高評価) A/BとB/A両方で比較して平均
冗長性バイアス 評価基準で明示的にペナルティ
詩的支離滅裂バイアス 評価基準で明示的にペナルティ

ただし、以下は未対策だ。

  • 審判モデルの自己バイアス(自分と似た出力を高評価)
  • Slop(LLM特有の陳腐な表現)への寛容さ
  • スタイルの好み

つまり、Claude Sonnet 4が審判なので、Claudeっぽい文体が有利になる可能性がある。
この限界を理解した上で使う必要がある。

3.5 実行方法

# リポジトリのクローン
git clone https://github.com/EQ-bench/creative-writing-bench.git
cd creative-writing-bench

# 依存関係のインストール
pip install -r requirements.txt

# NLTKデータのダウンロード
python -c "import nltk; nltk.download('punkt'); nltk.download('cmudict')"

APIキーの設定(.envファイル):

# .envファイルを作成
cp .env.example .env

# 以下を編集
ANTHROPIC_API_KEY=your-key-here  # 審判用
OPENROUTER_API_KEY=your-key-here  # テスト対象用

ベンチマークの実行:

# 公式リーダーボードと比較可能なスコアを得る場合
unzip creative_bench_runs.zip
unzip elo_results.zip

# 実行
python3 creative_writing_bench.py \
    --test-model "your-model-provider/your-model-name" \
    --judge-model "anthropic/claude-sonnet-4" \
    --runs-file "creative_bench_runs.json" \
    --creative-prompts-file "data/creative_writing_prompts_v3.json" \
    --run-id "my_evaluation_001" \
    --threads 10 \
    --verbosity "INFO" \
    --iterations 3

コスト目安は、Claude Sonnet 4を審判として使う場合、1モデルあたり約$10だ。

3.6 結果の解釈

実行後、elo_results.jsonに結果が保存される。

{
  "model_name": "your-model-name",
  "rubric_score": 85.2,
  "elo_norm": 1423,
  "repetition": 12.3,
  "slop": 0.08
}
指標 意味
rubric_score ルーブリック評価の合計点
elo_norm 正規化されたEloスコア(基準: deepseek-r1 = 1500)
repetition 単語・フレーズの繰り返し頻度
slop LLM特有の陳腐表現の出現率

elo_normが高いほど創作能力が高い。
repetitionslopは低いほど良い。


4. 技術選定での活用法

4.1 2つのベンチマークの使い分け

用途別ベンチマーク選択
│
├── 「物語の整合性」を重視 → Story Cloze Test
│   └── チャットボット、要約、QAなど
│
└── 「創作の質」を重視 → Creative Writing v3
    └── 小説生成、コピーライティング、ゲームシナリオなど

4.2 実践的な判断フロー

技術選定では、以下の手順を推奨する。

  1. 公開リーダーボードで候補を絞る

  2. サンプル出力を実際に読む

    • 数字だけで判断しない
    • 審判モデルと自分の好みは違う可能性がある
  3. 自社ユースケースでテスト

    • 実際のプロンプトで生成させる
    • ドメイン固有の品質を確認
  4. コストと速度を考慮

    • 最高性能が必要とは限らない
    • 十分な品質で低コストなモデルも検討

4.3 注意点

ベンチマークの限界を理解する。

  • Story Cloze Testは「二択問題」であり、実際の生成能力とは異なる
  • Creative Writing v3は英語のみ対応
  • どちらも「短文」の評価であり、長編小説の品質は測れない

評価は継続的に行う。

  • モデルは頻繁にアップデートされる
  • 新しいベンチマークも登場する
  • 一度の評価で固定せず、定期的に見直す

5. まとめ

この記事では、AIの創作能力を評価する2つのベンチマークを解説した。

Story Cloze Testは、物語の常識的な理解力を測る。
4文の物語に対して正しい結末を選ぶ二択テストだ。
因果関係や感情の流れを把握できるかを効率的に評価できる。
ただし、データセットのバイアスが指摘されており、スコアだけでなく中身の理解が重要だ。

Creative Writing v3は、創作の質を直接評価する。
ハイブリッドな評価システムにより、上位モデル間でも識別力を維持する。
LLMが苦手とするユーモアやロマンスを要求し、「本当の実力」を可視化する。
コストは1モデル約$10だが、技術選定の精度を大幅に向上させる。

最後に1つアドバイスを。

ベンチマークは「参考情報」であって「絶対的な答え」ではない。
最終的には、自分の目で出力を読み、自分のユースケースでテストすることだ。
数字に頼りすぎず、実際の品質を確認する姿勢を忘れないでほしい。


参考文献

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?