LLMに推論させるより実装させろ—7年半の定点観測で気づいたこと

#LLM#生成AI#ファインチューニング#開発

はじめに

「最新のLLMなら、fine-tuningなしでも古典的な手法を超えられるのでは?」

2026年1月、私はこの仮説を検証するため、7年半前から定点観測に使っているベンチマークに再挑戦した。

結論から言うと、専門性の高い問題は、まだLLM単体では十分に解けない

プロンプトエンジニアリングを重ねてF1=76%が限界だった。一方、BioBERTをfine-tuningすると学習時間25分、学習コスト$2でF1=91%を達成した。

良質な学習データがあれば、精度を大幅に上回ることができる。

CHEMDNERとは

CHEMDNERは、BioCreative IV(2013年)で提案された化学物質名抽出タスクだ。BioCreativeはバイオテキストマイニングの国際コンペティションで、CHEMDNERはその第4回大会で「Chemical compound and drug name recognition task」として実施された。

PubMed論文から化学物質名を抽出するタスクで、当時のベストスコアはF1=87.39%だった。

私にとってCHEMDNERは、その時々の技術力を測る「定点観測ツール」になっている。

定点観測の歴史

2018年6月:Bi-LSTM-CRF

学部の授業でCHEMDNERに挑戦した。Bi-LSTM-CRFというアーキテクチャを採用し、GPUで丸1日学習させた。

結果はF1=85.80% 。2013年の参加26チーム中6〜7位相当のスコアだった。

2018年のBi-LSTM-CRFによるCHEMDNER評価結果と考察のスクリーンショット

当時のレポートブログに掲載したスクリーンショットしか見つからなかった

2019年8月:BERTファインチューニング

2018年10月にGoogleからBERTが発表され、その後BioBERTやPubMedBERTといったライフサイエンス特化型のBERTが登場した。私もこれらをファインチューニングすることに取り組んだ。

当時の記録がXに残っている:

生命医学特化のBioBERTでCHEMDNERのデータセット1%(100 abstracts)にfine-tuningでF1=84.34%出たっぽい

データセットの1%だけで2013年のSOTA(87.39%)に迫るスコアが出た。

2024年1月:LLM API

GPT-4が登場し、LLMが広く認知され始めた頃。GitHub CopilotとChatGPTの支援を受けながら、OpenAI APIを叩くだけの実装を試した。

101分で実装完了、F1=60.16% 。2019年のBioBERT(84%)から大きく後退した。

実装は圧倒的に楽になったが、精度は出なかった。

2018年Bi-LSTM-CRFとGPT-4のCHEMDNER評価スコアを比較する表

2026年1月:再挑戦

2年が経ち、GPT-5.2が登場した。Claude Code(Opus 4.5)も使えるようになった。

「今度こそLLMだけで解けるのでは?」

この仮説を検証するため、再度CHEMDNERに挑んだ。

比較対象:SOTA

CHEMDNERにおける手法別F1スコアの2013年と2024年の比較

検証1: LLMアプローチ

まずはLLMのみで、fine-tuningなしでどこまで精度が出るか検証した。

実験設定

  • データセット : CHEMDNER evaluation set(2,646 documents)

  • モデル : GPT-5.2(OpenAI API)

  • ベースライン : Zero-shot prompting

実験結果

LLMアプローチで試したプロンプト手法別のF1スコア

効果があった施策

  • Few-shot : 「docosahexaenoic acidは化学物質」「insulinはタンパク質(化学物質ではない)」といった境界ケースを示すと精度が上がった

  • Self-verify : 抽出と検証を分離し、False Positiveを削減

  • MRC形式 : MRC(Machine Reading Comprehension)は機械読解のこと。タスクを「この文章に化学物質名はありますか?」という質問応答形式に変換する。単独ではFew-shotより劣るが、Self-verifyと組み合わせると最高精度を達成

効果がなかった施策

  • Chain-of-Thought : 「考えさせる」と過度に保守的になり、Recallが低下

  • Few-shot例の増加 : 量より質。プロンプトが長くなると注意が分散

コストと時間

LLMアプローチの実装時間・推論時間・APIコスト・最高F1

結果

試した範囲ではF1=76%前後で頭打ち だった。

検証2: Fine-tuningアプローチ

LLMのみでは限界を感じた。Claude Codeから「BioBERTをfine-tuningする」という選択肢が提案されたので、制限を外して試してみることにした。

実験設定

  • データセット : CHEMDNER training set(3,500 abstracts)、development set(3,500 abstracts)

  • ベースモデル : BioBERT v1.1(ライフサイエンス特化型BERT)

  • インフラ : GCP Compute Engine(a2-highgpu-1g、NVIDIA A100 GPU)

  • 管理 : Terraform(後でクリーンナップしやすいように)

実装

私からClaude Codeへの指示は「クラウド環境を使うならTerraformで作成し、後でクリーンナップが簡単にできるようにすること」だけだ。

Claude Codeは以下を自動で実装した:

  • Terraform設定ファイル(GCPインスタンス定義)

  • BioBERTファインチューニングコード

  • 推論・評価スクリプト

  • セットアップ・実行スクリプト

コストと時間

Fine-tuningアプローチの実装時間・学習時間・推論時間・GCPコスト

実験結果

Fine-tuningアプローチの開発・テスト別Precision Recall F1

LLMの最高値(76%)を15pt上回り、2013年のSOTA(87%)も超えた。

比較

LLMとBioBERT fine-tuningのF1スコア・試行回数・コスト・再現性の比較

LLMは精度向上のために複数のプロンプト技法を試す必要があり、試行錯誤のコストがかかる。Fine-tuningは1回の学習で高精度を達成した。

Claude Codeとの協働

今回の検証は、Claude Code(Opus 4.5)との協働で進めた。私が方針を決め、Claude Codeが全ての実装を担当した。

協働のポイント

最も重要なのは、生成AIは自分より賢い選択肢を持っていると自覚することだ。

私は最初「LLMだけで解きたい」という制約を持っていた。しかし、Claude Codeが「fine-tuningという選択肢もある」と提案してきたとき、その制約を外した。

結果として、LLMのみで頭打ちだったF1=76%から、fine-tuningでF1=91%まで改善できた。

AIの提案を取り入れてみる。実装の時間はほとんどかからないので、ダメならrejectすればいい。この姿勢が有効だった。

人間の役割:データリークの検出

一方で、AIに任せきりにできない部分もある。

今回、Claude CodeがFew-shot例をevaluation set(評価対象データ)から取得していた。データリークだ。これでは「答えを見てからテストを受ける」ようなもので、精度が過大評価される。training setから取得するよう修正した。

機械学習の実験では基本的な注意点だが、AIは指摘されるまで気づかなかった。人間側にある程度の背景知識がないと、今回のミスは検出できない。

学び

良質な学習データがあれば、精度を大幅に上回ることができる。

2022年末にChatGPTが登場して以来、私は「fine-tuningは不要になった」と思っていた。確かに多くのタスクでそうだろう。

しかし、専門ドメインのタスクには、LLM単体ではまだ解けない問題がある。CHEMDNERのような化学物質名抽出は、その一例だ。

今回の検証では、fine-tuningが圧勝した。LLMは7回の試行で76%が限界だったが、fine-tuningは1回の学習で91%を達成した。

ただし、これはCHEMDNERという数千規模の学習データがあるタスク だったからできたことだ。データがなければfine-tuningはできない。結局、データが重要という原則は変わらない。

まとめ

CHEMDNER定点観測における手法・年代別F1スコア

CHEMDNERという定点観測を7年半続けてきた。

2024年頃、私は「複雑な実装は要らない、LLM APIに投げればそれで解決だ」と思っていた。モデルが向上すれば、シンプルなAPI呼び出しであらゆるタスクが解けるようになると期待していた。

しかし、今回の実験で気づいたことがある。

モデルの進化により、LLM自身があらゆる問題を解ける能力も向上している。しかし、それ以上に問題を解くための力—調査力、コーディング能力、インフラ構築能力—の向上幅が大きい

私はAPIを叩くだけで解けることを期待していたが、現実はClaude Codeがfine-tuningコードを書いてくれることで問題が解けた。

専門性の高い問題は、まだLLM単体では十分に解けない。しかし、良質な学習データがあれば、精度を大幅に上回ることができる。

引き続き定点観測を続ける。