テストタイムトレーニングとは

テストタイムトレーニングとは、AIが本番(推論時)に出くわした目の前のデータを使って、答える直前に自分自身をほんの少し追加学習し、その場の状況に適応してから予測する手法です。事前の学習だけで終わらせず、本番でも学び続けるという発想こそが、この手法の核です。

英語表記:Test-Time Training(TTT)

ふつうの学習との違い

通常、AIは事前にまとめて学習し、本番ではその知識を固定したまま答えます。テストタイムトレーニングは、ここが違います。本番で受け取った入力ごとに、正解がなくても解ける小さな練習問題(自己教師あり学習)をその場で解き、モデルを一時的に微調整するのです。狙いは、学習時と本番でデータの傾向がずれる「分布のずれ」への強さ。提唱したのはYu Sunらの研究で、2020年(ICML)に発表されました。当時はまだChatGPTが広まる前の画像認識の研究でしたが、近年あらためて注目される考え方です。事前の追加学習で知識を固定するファインチューニングとは別物といえるでしょう。

Topic正解がなくても解ける練習問題、その作り方

正解ラベルなしで学ぶ」と聞くと不思議ですが、提唱論文のアイデアはユニークでした。たとえば画像なら、わざと回転させて「何度回したか」を当てさせる。回転の角度は人が教えなくても分かっているので、正解付きの練習問題が自動で作れるわけです。この自習を本番の直前にこなすことで、AIは目の前のデータの特徴をつかみ、初めて見る傾向のデータにも対応しやすくなります。

テストタイムトレーニングに関するよくある質問

テストタイムトレーニングを使うと、AIは賢くなり続けるのですか?
いいえ。学習は目の前の入力に合わせた一時的なもので、永続的に賢くなり続ける仕組みではありません。次の予測のために、その場で適応するというイメージです。
テストタイムトレーニングはどんなときに役立ちますか?
学習に使ったデータと、本番で出会うデータの傾向が違うとき(分布のずれ)に効果を発揮します。たとえば天候や画質が想定と異なる画像など、未知の傾向のデータに強くなることが期待されます。

あわせて読みたい記事