\label{sec:introduction}人工知能の実現に向けて古くから，知識と推論という要素が不可欠だと考えられてきた\linebreak\cite{Mccarthy1959ProgramsWC,weizenbaum1966eliza,winograd1971procedures,colmerauer1973prolog,shortliffe1976computer,elkan1993building}．知識とは例えば「質量を持つ物体は重力場を発生させる」「地球は質量を持つ」といった，この世界に関する事実を指す．一方で推論とは，複数の事実を組み合わせることで新たな知識を得る思考形態である．例えば上述の2つの事実から「地球は重力場を発生させる」という新たな知識を得る．最近の観察によると，巨大言語モデル(LargeLanguageModel,LLM)は，事前学習時に得た知識により類似の課題を解くことはできる一方で，推論を用いて新規の課題は解くことを苦手とする\cite{hodel2023response,dasgupta2023language,zhang2024careful}．例えば，「有名な算数の問題をそのままの形で出題すれば解けるが，数字や人名を変更すると解けなくなる」\cite{razeghi2022impact,mirzadeh2024gsmsymbolicunderstandinglimitationsmathematical}，「（知識カットオフ以前の）過去年度のコーディング試験は解けるが，最新年度の試験は解けない」\cite{melanie2023blog}等である．このような「LLMが推論を苦手とする」という観察結果が，近年多く得られている（\Cref{sec:LLM_does_not_reason}）．LLMの推論能力が低い理由として「事前学習コーパス中に高品質な推論サンプルが不足している」ということが疑われる\cite{betz-etal-2021-critical}．事前学習コーパスは主に人間が書いたテキストで構成されている．その中でも，例えばオンライン討論等が推論のサンプルとしての役割を果たす可能性がある.%%%%しかしながら，これら討論には，誤謬やバイアスが散見される\cite{hansson2004fallacies,Cheng:2017ud,guiacsu2018logical}．しかしながら，これら討論には，誤謬やバイアスが散見される(Hansson2004;Chengetal.2017;GuiasuandTindale2018)．\nocite{hansson2004fallacies,Cheng:2017ud,guiacsu2018logical}これは，人間が通常，厳密な推論をするのではなく，反射的に物事を考える\cite{kahneman2011thinking,SunsteinHastie2015,Paglieri2017}からである．以上を考えると，LLMの推論能力を向上させる最も直截的な戦略は，「高品質な推論サンプルを用意して，LLMに学習させること」だと考えられる．そこで本研究では，推論の中でも最も基本的な「論理推論」の高品質サンプルを用いた追加学習，すなわち，\textbf{\ALTJP}(\textbf{AdditionalLogicTraining,\ALT})を提案する（\Cref{fig:ALT_overview}）．論理推論サンプルは，与えられた事実群を推論規則に従って組み合わせることで，与えられた仮説を証明（あるいは反証）する過程を示すものである．このようなサンプルを用意するために，ルールベースによる自動生成のアプローチ\cite{clark2020transformers,betz-etal-2021-critical,tafjord-etal-2021-proofwriter}を採用する．ルールベース自動生成は，推論規則に厳密に従ったサンプルを大量に用意できる，というメリットがある．また，一定のランダム性を持たせることで，サンプルに多様性を持たせることも可能である．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.1\begin{figure}[t]\begin{center}\includegraphics{32-2ia5f01.eps}\end{center}\hangcaption{\textbf{\ALTJP}(\textbf{AdditionalLogicTraining,\ALT})は，論理推論サンプルでの学習を通して，LLMの推論能力の向上を目指す．サンプル生成器がまず多段階演繹推論のサンプルを生成し（左），それを英語で書かれたサンプルに変換する（右）．LLMは，与えられた\textbf{\colorBlueFacts{事実}}から，与えられた\textbf{\colorVioletHypothesis{仮説}}を導出するために，\textbf{\colorRedLogicalSteps{論理ステップ}}を生成する．サンプル生成器は，\Cref{sec:design_principles}で確立される設計指針に従う．実際に生成されたサンプルを\Cref{appendix:fig:deduction_example,appendix:fig:deduction_example_JFLD}に示す．}\label{fig:ALT_overview}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%ルールベース自動生成では，『事前に定義された設計』に従ってサンプルが生成される．よって，このサンプル設計が必然的に，サンプルの品質を大きく決定づける．そこで我々はまず，\textbf{「論理推論サンプルの理想的な設計とは何か」}を議論することから始める（\Cref{sec:design_principles}）．まず，論理推論は，「事実の内容」ではなく「事実間の論理的な関係性」のみに着目する思考形態であるため，既知の事実も未知の事実も等しく取り扱うことができる．このことは，既知の事実のみを取り扱う知識とは大きく異なる，論理推論の核心である．そこで，LLMに対してこの論理推論の核心を教えるため，論理推論サンプルも未知の事実での推論を例示すべきである（\Cref{sec:principle_unseen}）．次に，LLMに対して，「事実が不十分な場合は，新たな事実を導くことは\underline{できない}」ということを例示するためのサンプルも含めるべきである（\Cref{sec:principle_negatives}）．更に，「推論規則」や「論理式を示す同義の言語表現」などはそれぞれ様々なパターンがありうるため，これらを網羅的に含めるべきである（\Cref{sec:principle_deduction_rules,sec:principle_linguistic_diversity}）．我々は，これらのポイントを，論理推論サンプルの\textbf{設計指針}としてまとめる．そして，この設計指針に従った論理推論サンプルを自動生成するための手法（プログラム）を開発し，論理推論サンプル10万件から構成される人工論理推論コーパス\textbf{\PLDItalic}(\PLDAbbr)を構築する（\Cref{sec:PLD}）．次に，\ALTJPによってLLMの推論能力が向上することを実験により確認する（\Cref{sec:experiments,sec:results_and_discussions_method}）．最先端のLLMすなわちLLaMA-3.1(8B/70B)\に対して，\PLDAbbr\での\ALTJPを施すことにより，\numBenchmarks\種類の多様なベンチマークにおいて性能向上を確認した（\Cref{fig:performance_comparison}）．また，既存の人工論理推論コーパスに比べて，\PLDAbbrはより大きな性能向上をもたらした．これは，我々が提案する設計指針がLLMの推論を向上させる上で効果的であることを示している．加えて，\ALTJPでは「破滅的忘却を防止する手段を採ること」が極めて重要であることが分かった．これは，「人工論理推論コーパスに含まれる未知の事実を覚えることによって，既存の事実を忘れていってしまう」という事態を防げるからだと考えている．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.2\begin{figure}[t]\begin{center}\includegraphics{32-2ia5f02.eps}\end{center}\hangcaption{\llamaThreeLargeBaseline\と，それに対して\PLDAbbr上での\ALTJPを施したモデル(+\ALT)の精度．「Benchmarksets」中の「論理推論」「数学」「\dots」はそれぞれが，そのドメインの様々なベンチマークから構成されており（\Cref{appendix:tb:benchmarks}），ここでは平均精度を示す．結果の詳細は\Cref{tb:performance_aggregated,tb:performance_details}に示す．}\label{fig:performance_comparison}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%最後に，\ALTJPにより「どのようなタスクが」「なぜ」解けるようになるかを分析する（\Cref{sec:results_and_discussions_tasks}）．論理推論タスクでは最大30ポイントという大幅な性能向上が得られた（\Cref{tb:which_task_logical_reasoning}）．事例ごとの分析（\Cref{tb:case_study}）により，これらの性能向上は，設計指針で意図した「論理の基礎」をLLMが獲得したことによると示唆される．また，驚くべきことに，人工論理推論コーパスのサンプルとは真逆の「結論から事実を予測する」仮説推論タスクでも性能が向上した．数学では最大7ポイントの性能向上が得られた（\Cref{tb:which_task_math}）．論理推論は数学の問題を解くための前提知識なので自然である．コーディングでは最大10ポイントの性能向上が得られ，コーディング能力と論理推論能力の関係が示唆される（\Cref{tb:which_task_coding}）．自然言語推論(NLI)タスクの性能向上（\Cref{tb:which_task_NLI}）は，LLMが事前学習で元々獲得していた常識知識と，\ALTJPから新たに獲得した推論能力を，統合できた可能性を示唆する．その他の様々なタスクでも性能向上が見られた一方で，向上幅は最大2ポイント程度と小さかった（\Cref{tb:which_task_others}）．これは，\ALTJPにより得られる推論能力をより効果的に「使いこなし」て多様な問題を解くために，今後の研究が必要であることを示唆する．本研究の貢献を以下にまとめる．\begin{itemize}\item人工論理推論コーパスを用いた\textbf{\ALTJP}(\textbf{AdditionalLogicTraining,\ALT})を提案し，最先端のLLMの推論能力を向上させられることを確認した．\item論理推論サンプルの確固たる設計指針を確立し，それに基づく人工論理推論コーパス\textbf{\PLDItalic}(\PLDAbbr)を構築した．\PLDAbbr\による性能向上が既存コーパスよりも大きいことを確認し，設計指針の正しさを示した．\item分析により，\ALTJPにより強化されたLLMが，論理推論はもとより，数学やコーディング，NLI等の様々なタスクで性能が向上することを示した．\end{itemize}なお，コーパス・コード・学習済みモデルを公開する\footnote{\url{https://github.com/hitachi-nlp/FLD}}．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%