何が一致すればよいかを決める
同僚があなたのAIを使った分析をやり直したところ、要約の言葉が変わりました。同じ根拠から同じ知見が得られているなら、表現の違いは問題にならないかもしれません。逆に、文章が似ていても重要な例外が消えていれば、結論は変わっています。出力を比べる前に、何を再現したいのかを決めます。
全米アカデミーズは、同じデータと計算手順から整合する結果を得る「計算再現性」と、新たに集めたデータで同じ問いを調べる「追試」を区別しています。別の集団や環境にも結果が当てはまるかを問うのは「一般化」です。[1] その前に、最初の実行で何が起きたかをたどる作業もあります。記録が揃えばその助けにはなりますが、それだけでほかの検証に通ったことにはなりません。
一致すべき結果と、許容する違いを書きます。同じ値を抽出できること、計算が決めた誤差の範囲に収まること、同じ中心的な知見を原文で裏づけられることなど、方法に合う基準を選びます。再実行の前に決めておけば、気に入った結果だからと基準を変えるのを防げます。
二つの実行を比べる前に、何が一致すべきかを決めます。
作業しながら記録する
報告書には最終的な答えが載ります。しかし、どの出典を除き、どの翻訳を使い、なぜAIの提案を直したかは分からないかもしれません。その工程も結果を変えます。資料や判断を、手元にあるうちに保存します。
実行ごとに識別番号を付け、入力、手順、重要な途中の出力、最終結果を結ぶ記録を作ります。原資料は整形後や翻訳後のファイルと分けます。ファイルのハッシュは、内容が変わったかを確認するための指紋のような値です。使った時点で記録します。数か月後に計算しただけでは、当時の版は証明できません。
NeurIPSの再現性向上プログラムは、チェックリスト、コードの提出、独立した再現の試みを組み合わせました。[2] こうした準備は、研究とともに始めることが大切です。公開時にチェックリストを埋めても、一時的な検索結果や記録していない修正は取り戻せません。最後にすべてを思い出すのではなく、作業中の記録を使います。
モデルの版と、返ってきた応答を残す
モデルの系列名だけでは、何を動かしたかを特定できません。OpenAIのAPI文書は、モデルの版によって挙動が変わりうるため、一貫性のために版の固定と対象課題での評価を勧めています。[4] 分かる範囲で正確な版の識別子、提供者、APIの接続先、リクエスト時刻、生成設定を残します。リクエストや応答のID、提供環境を示すシステムフィンガープリントが返る場合は、それも保存します。
版を固定すると変化の原因を一つ減らせますが、同じ答えや永久の利用を保証するものではありません。外部サービスの版は廃止されることもあります。代替モデルをどう評価し、どの比較に通る必要があるかを決めます。基準を満たす代替がなければ、元の結果のどこが再現できなくなったかを説明します。
手元で動かすモデルなら、モデルファイルとハッシュ、ソフトウェアの版、関係するハードウェア設定を残します。文章をモデル入力に変えるトークナイザーや、結果に影響する圧縮・生成設定も含めます。外部サービスでも手元のモデルでも、解析や編集の前の応答を保存します。モデルが出したものと、その後の変更を区別できるようになります。
モデルの版、入力全体、実際に返った応答を保存します。
最後の質問だけでなく、指示全体を残す
同じ質問を入力しても、モデルに届く内容が同じとは限りません。システムが以前の会話、例、検索した文章、ツールの指示、指定の出力形式を加えている場合があります。メッセージ全体の並びと、それを組み立てたテンプレートやコードを、資料の順序も含めて保存します。
Sclarらは、プロンプトに少数の例を示す課題で、小さな書式変更が性能を大きく変える場合を報告しました。[6] すべてのプロンプトが同じ程度に影響されるという意味ではありません。ただ、書式やプロンプトの選び方も方法の一部になりえます。試した版と選択基準、報告した結果が典型的か、多数の試行から選んだものかを残します。
プロンプトを変えたら新しい版を付け、固定した少数の例で確認します。共通の指示と、その実行で追加した資料を両方保存します。望ましくない結果を見てから指示を直した場合も、変更を記録して新しい実行を始めます。方法がどう変わってきたかを、確認する人がたどれるようにします。
使った出典と、その加工を記録する
後日同じ語句で検索しても、ページや順位が変わることがあります。検索語、結果の識別子、順位、アクセス時刻、採用判断を保存します。実際に使った資料は、許可される範囲でコピーや抜粋を残します。URLだけでは、そのとき見た根拠へ戻れないかもしれません。
出典からモデル入力になるまでをたどります。画像を文字にしたか、翻訳したか、文書を分割したか、長さに合わせて一部を切ったか。結果に関わる変更について、ツール、設定、入力、出力、失敗を記録します。制限のあるデータはアクセス手順を示し、同じ構造の安全な例を用意します。その例で処理が動くかは試せますが、保護されたデータの知見を再現できるわけではありません。
ReproEvalCardは、言語モデルを複数の工程で使うシステムについて55本の論文を調べました。75%はランダムな変動への制御を報告せず、61%は中間工程の記録を欠いていました。[5] 記録がないと、再実行でどこが変わったかを突き止めにくくなります。最終回答だけでなく、重要な工程を比較するための記録を残します。
実行記録は何が起きたかを示します。合格基準は、やり直しても何が一致すべきかを示します。
出力の揺れが知見を変えるか確かめる
同じリクエストでも、AIの出力は変わることがあります。代表的な事例を繰り返し実行し、すべての出力を保存します。抽出した値、採用した主張、順位、提案など、重要だと決めた結果を比べます。どの程度、どの頻度で変わるかに加え、誤りが生じる集団や課題の種類も報告します。
対応しているシステムでは、乱数シードと変動を減らす設定を記録します。シードはランダムな選択を制御する助けになりますが、常に同じ結果になる保証ではありません。文章の順序や同じ意味のプロンプトなど、方法が影響を受けないとしている変更も試します。結論が変わるなら、その条件への依存を報告します。
違いの判断方法は試す前に決めます。計算した表なら完全な一致が必要かもしれません。質的な記述なら、同じ知見を支えられるか、例外が変わっていないかを検討します。結果が違えば途中の出力を比べ、最初の重要な変化を探します。最終文章の似ている度合いだけでは、原因は分かりません。
文章の一致だけでなく、知見が変わっていないかを確かめます。
研究者が変えたことも残す
人も文字起こしを直し、出典を選び、生成コードを退け、分類をまとめ、検索の終了を決めます。こうした選択も方法の一部です。何を見て、何を変え、なぜそうしたかを記録します。結果に関わる提案は、元の内容と採用した版を並べて残します。
W3Cの来歴モデルは、記録、活動、責任を持つ人やシステムの関係を表します。[7] 実務では、重要な出力を入力、行った操作、担当者へ結びつける形で使えます。短い変更記録で足りることもあります。確認する人が必要なのは、新しい記録システムを覚えることより、変化をたどれることです。
記録が揃った分析でも、偏った標本や誤った解釈を使っている可能性はあります。再現性は誤りを調べやすくしますが、結論の正しさを保証しません。実行だけでなく方法も検討します。失敗した実行を省くと最終結果が得られた過程を誤って伝える場合は、それも残します。
別の人に手順をたどってもらう
引継ぎの案内は、確かめる結果と合格の見分け方から始めます。次に、資料、アクセス条件、手順、ソフトウェアの版、重要な途中の出力を示します。設定確認用の小さな例、既知の限界、認められる用途も添えます。整理したファイル一覧があれば、文章の案内とあわせて版やハッシュの自動確認にも使えます。
Heilらは、データ・モデル・コードを用意する段階から、環境を記録し、実行を自動化する段階まで、再現性を高める基準を示しています。[3] 設定手順を明確にし、役立つところで反復作業を自動化します。失敗したら止まった工程が分かるようにすれば、別の人が最初からすべてをやり直さずに調べられます。
資料を、作成に関わっていない人へ渡します。ACMの成果物審査の指針は、資料の公開、審査を経て使える状態、独立した結果の再現を区別しています。[8] その人が推測しなければならない箇所、アクセスできない箇所、出力の合否を判断できない箇所を記録します。不足を直し、残る違いも含めて実際に再現できたことを報告します。「再現可能」と名付けたフォルダより、その試みが確かな根拠になります。

