\documentclass[japanese,other]{jnlp_3.8}
\usepackage{jnlpbbl_2.2}
\usepackage[dvipdfmx]{graphicx}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{url}
\usepackage{array}
\usepackage{hangcaption_jnlp}
\allowdisplaybreaks


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% author's definition
\usepackage{bm}
\newcommand{\argmin}{\mathop{\rm arg~min}\limits}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\Volume{31}
\Number{3}
\Month{September}
\Year{2024}
%%%%\Issuetitle{「　　　　」特集号}

\setcounter{page}{1376}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\jsubject{学会記事}
\jtitle{逆学習による『逆学習による言語モデルの解析』の解析}
\jauthor{磯沼　　大\affiref{Author_1}\affiref{Author_2}\affiref{Author_3}}
\etitle{Introduction of a Paper: Unlearning Traces the Influential Training Data of Language Models}
\eauthor{Masaru Isomura\affiref{Author_1}\affiref{Author_2}\affiref{Author_3}} 

\headauthor{磯沼}
\headtitle{逆学習による『逆学習による言語モデルの解析』の解析}

\affilabel{Author_1}{エジンバラ大学}{University of Edinburgh}
\affilabel{Author_2}{東京大学}{University of Tokyo}
\affilabel{Author_3}{国立情報学研究所}{National Institute of Informatics}



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\maketitle


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{はじめに}

本稿では，言語処理学会第30回年次大会にて最優秀賞をいただいた「逆学習による言語モデルの解析」\cite{磯沼2024逆学習}及びACL 2024 本会議に採択された``Unlearning Traces the Influential Training Data of Language Models'' \cite{isonuma2024unlearning}について，その執筆までに至った経緯を述べる．
原論文では，学習済モデルから学習データセットを逆学習することで，そのデータセットを抜いて学習したモデルを仮想し，学習データセットがモデルの性能に与えた影響を測ることができることを示した．
原論文に準えて，本稿では原論文執筆に至るまでの過程を回想し，それが無かった状態を反実仮想（逆学習）することで，原論文が出来上がるに至った要因を解析する．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{原論文の概要}

大規模言語モデル (LLM) は様々なタスクをこなすことができる驚異的な汎化能力を示す一方，バイアスを含む文章を生成するなど課題も多い．
原論文では，それら言語モデルの能力や出力がどの学習データセットに起因するのかを効率的に解析する手段を示した（図\ref{fig:introduction}）．
理想的には，あるデータセットを抜いて学習したモデルと，全データセットで学習したモデルを比較すれば，そのデータセットの影響を評価できるが，各データセットを抜いて学習を繰り返すのは非現実的である (leave-dataset-out)．
そこでデータセットを抜く代わりに，学習済モデルからデータセットを勾配上昇法で逆学習する（損失関数を最大化するようにモデルを更新する）ことで，その影響を測る方法を提案した (UnTrac)．
それでもLLMの学習データは膨大で，全て逆学習するには途方が暮れる．
そこで，より効率的な方法として，学習済モデルから評価データセットを逆学習し，学習データセットで評価することで，UnTracを近似できることを示した (UnTrac-Inv)．
学習データの影響を測る既存手法であるGradDotやGradCos \cite{han-tsvetkov-2021-influence-tuning}，Influence functions \cite{koh2017understanding}などよりも高い推定性能が得られたほか，これらの手法はUnTracやUnTrac-Invの特殊ケースとしてみなせることを示した．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 1
\begin{figure}[tb]
\begin{center}
\includegraphics{31-3ia21f1.pdf}
\end{center}
\caption{Leave-dataset-outと，原論文で提案したUnTrac及びUnTrac-Invの対比．}
\label{fig:introduction}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{執筆に至る経緯}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{LLMに振り回される}
\label{sec:1}

博士課程在学中から，いわば「要約版Google翻訳」の実現を目指して，教師なし文章要約の研究に取り組んできた．
タスクごとに学習データを用意しタスクを解くことの汎用性に疑問を持っており，特にドメインによって求められる出力が変わる文章要約を，学習データなしに解けないか考えていた．
教師なし要約研究は面白かった．教師データなしに要約を作るギミックを考えるのが何よりも楽しく，そして教師なし要約が実現したら世の役に立つだろうと信じて疑わなかった．
しかし自分の先見性が甘かった．
要約どころか，翻訳も，推論も教師データ要らずでプロンプトを与えればひとまとめに解けるGPT-3が現れてしまう．
もっともGPT-3はプロンプトを与えてもなかなかうまく指示に従わず，要約タスクでの性能も専用モデルに劣っていた．
そこでinstruction tuningで用いられる学習用のプロンプトを最適化して，言語モデルがより指示に従うようにする研究に取り組んだ \cite{isonuma-etal-2023-differentiable}．
しかしこれはあまりうまくいかず\footnote{二段階最適化によるプロンプトの最適化が困難だった．有り難いことにFinding of ACLに採択されたほか，人工知能学会全国大会にて優秀賞をいただくなどしたが，個人的には納得のいく仕事にはならなかった．}，そうこうしているうちにChatGPTが現れ世の中を席巻した．
私の興味も，役立つモデルを作る方向から，どうしてこんな凄いものができたのか解明する方向にシフトする．

そうはいったものの，LLMに関する大量の論文が日夜投下される中で，何にどう手をつけるべきか悩む．
そんな折に前述の研究途上で，モデルの性能に対する学習データの影響を推定するinfluence functionsに関する論文\cite{koh2017understanding}にたまたま目が留まる．
言語モデルがなぜ賢くなったのかという問いに学習データの面から答えられることに加え，leave-one-outをエレガントに近似するこの研究に魅力を感じ，学習データ影響推定の研究に舵を切った．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{パズルピースをひたすら探す}
\label{sec:2}

そうこうしているうちに，エジンバラに渡航することになる．
私を受け入れてくれたIvan Titov先生もまた，言語モデルの汎化や，それが発生するメカニズムについて主に興味を持っており，教師なし文章要約のほか，influence functionsについても研究していた\cite{schioppa2024theoretical}．
彼らの論文ではinfluence functionsはleave-one-outを多項式近似しているせいでうまくいかないということだった．
そこで，多項式近似を伴わない学習データ影響推定手法を考える．

しかしなかなか思いつかない．
来る日も来る日もパズルに当てはまるピースを探すように，ひたすら妄想していた．
不慣れな環境下で，Ivanとの信頼関係もまだ構築できていない中，アイデアがなかなか思いつかない状況はなかなか精神的に堪えた\footnote{この時期EuroVisionというヨーロッパの各国代表が集まって歌唱を競い合う大会が開かれるのだが，当時の曲を聞くとこの時期を思い出す．各国の多様性や関係性がわかるおすすめの番組である．}．
そんな折に，たまたま輪読で読む論文を探していると，逆学習でLLMから有害な学習済データを忘却させる論文を見つけた\cite{jang-etal-2023-knowledge}．
逆学習という手法が目新しく，シンプルな勾配上昇法で学習済データを忘却できることに感心し，自分の研究に応用できないか考えていた矢先に，leave-dataset-outを逆学習で実現するアイデアが思いついた．
直感的に分かりやすく，数学的にもleave-dataset-outと紐付けられるこのアイデアは個人的にとても気に入った\footnote{Leave-dataset-outは``継続逆学習''としてみなすことができる．データセット$z$を抜いた時のモデル$\bm{\theta}$の目的関数は，$\sum_{z' \neq z} L(\bm{\theta}, z') = \sum_{z'} L(\bm{\theta}, z') - L(\bm{\theta}, z)$と書ける．即ち，leave-dataset-outは，全てのデータセットでモデルを学習したのちに，データセットzをモデルから継続逆学習する操作とみなせる．したがってelastic weight consolidation \cite{kirkpatrick2017overcoming}など継続学習のテクニックを当初逆学習に用いていたが，導入有無で推定性能があまり変わらず，結局用いなかった．この点についてはより詳細に調査する必要がある．}．
この時のパズルピースがピッタリ当てはまる感覚は何にも変え難く，研究者をやっていて良かったという気持ちにさせてくれる．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{評価データ逆学習してもよくない？}
\label{sec:3}

このアイデアをIvanに話したところ，とても面白いと乗ってくれて，早速実験に取り掛かった．
彼の最初の提案は評価タスクと同じ／異なるタスクで，かつ出力フォーマットが同じ／異なる4種類の学習タスクを用意し，それらの学習タスクが評価タスクに与える影響を逆学習で推定できるか検証することだった．
あるタスクをモデルから逆学習した場合，モデルは単にそのタスクで求められるフォーマットで出力しなくなることが懸念される．
従って，同じタスクだが出力フォーマットが異なるタスクの影響より，関係のないタスクでも出力フォーマットが同じタスクの影響が強いと判断されてしまうことを懸念していた．
実際に逆学習してみると，出力フォーマットに影響されず，同じ種類のタスクの影響を高く推定することがわかり，逆学習の頑健性を示す結果になった（これはleave-dataset-outでも同様の傾向を示す）．
ACLの査読でも全ての査読者がこの実験を高評価してくれており，こうした有意義な実験設定を作る技術と経験はとても勉強になった．

また，UnTrac-Invのアイデアは彼との議論中に生まれたものであった．
これはIvanとの議論中に一度話が噛み合わなかったことがあり，よくよく整理してみると逆学習する対象を学習データか評価データかでお互いに勘違いしていたことがあった．
そこで評価データを逆学習したっていいんじゃないかという提案から，評価データを逆学習したときの学習データの損失関数の変化量を一次近似してみると，確かに学習データを逆学習した場合と非常に似通った式になることがわかり，実験的にも同様の傾向を確認することができた\footnote{学習データ$z$を一回逆学習した後の評価データ$z'$の損失関数の変化量は，$L(z', \bm{\theta}_1) - L(z', \bm{\theta}_0) \approx  \nabla_{\bm{\theta}}L(z', \bm{\theta}_0)^{\top} \nabla_{\bm{\theta}}L(z, \bm{\theta}_0)$になるため，一次近似のもとでは評価データと学習データを入れ替えても同じになる．}．
彼との議論なしではこの研究はここまで深まらなかったことを確信しており，大変感謝している．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{おわりに}

こうして文章にすると割とすんなりと研究の完成までに辿り着いたように聞こえるが，個人的には紆余曲折の末に出来上がった研究であった．
振り返れば，自分の知的関心の対象を再認識したり（\ref{sec:1}節），納得いくまでひたすら考えて既存研究を漁ったり（\ref{sec:2}節），新たな環境で良い共著者と協働したり（\ref{sec:3}節）したことが本研究が出来上がった要因と言える．
まだまだ修業中の身ではあるが，今回の経験をいい勉強として，さらに良い研究を目指していきたい．


また，今回の研究は前述のとおり2023年に発表された有害な学習済データを逆学習する研究に着想を得ている．
しかし，influence functionsをディープニューラルネットワークに応用した論文 \cite{koh2017understanding}におけるleave-one-outの定義式$\sum_{z' \neq z} L(\bm{\theta}, z') = \sum_{z'} L(\bm{\theta}, z') - L(\bm{\theta}, z)$をみれば，これを継続逆学習として解釈することも，目的関数を逆にするという発想さえあれば辿り着けるアイデアであり，当時投稿された時点でできなくはない．
この論文は2017年に投稿され\footnote{統計学におけるinfluence functionsの初出は著者が確認できる限りもっと古く1974年である\cite{hampel1974influence}．}，かつ被引用数約3,000件と非常に著名な研究であるが，それでもこれだけシンプルな解法が残されていたことに個人的には驚いた．
大量の論文が非常にハイスピードで投稿される昨今においても，原点に立ち戻り，シンプルなアイデアを考えることの大切さを追求したい．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\acknowledgment

原論文の共著者であるIvan Titov先生に心から感謝する．
（もちろん海外の文化も大きいが）本稿の中でTitov先生と書くのに違和感を覚えIvanと普段の呼び名で書くほどフランクながら，的確な示唆や数多くの助言をいただいた．
また言語処理学会年次大会やNLPコロキウムで質問をしていただり，「面白い」とコメントいただいたりしたことは非常に励みになった．
この場にて質問・コメントをいただいた方に感謝を申し上げたい．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\bibliographystyle{jnlpbbl_1.7}
\bibliography{21refs}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{biography}
\bioauthor{磯沼　　大}{%
エジンバラ大学 日本学術振興会海外特別研究員．2021年東京大学大学院工学系研究科博士課程修了．東京大学大学院工学系研究科特任研究員及び特任助教を経て，2023年より現職．東京大学大学院工学系研究科客員研究員及び国立情報学研究所客員助教を兼務．
}

\end{biography}




\end{document}

