ねえ智也くん、この論文のタイト…
解説
ねえねえ智也くん!この「LaCy」っていう論文のタイトル、なんか可愛くない?AIが「何を学ぶべきか」を考える話みたいだけど、どういうこと?
ああ、それは小型言語モデル、いわゆるSLMに関する面白い研究だよ。簡単に言うと、小さなAIに「無理して全部覚えようとするな、わからない時は素直に助けを求めろ」って教える手法なんだ。
えっ、AIなのに諦めちゃっていいの?全部知ってるのがAIのすごいところじゃないの?
それが問題なんだ。SLMは脳みそ(パラメータ)が小さいから、世界の知識を全部詰め込むのは物理的に無理なんだよ。無理に覚えさせようとすると、適当な嘘をつき始める。これがハルシネーションだね。
あー、知ったかぶりしちゃうんだ。それなら「わかりません」って言ってくれたほうが助かるかも!
その通り。でも、いつ「わかりません」と言わせるかが難しい。これまでは「損失(Loss)」、つまり予測がどれだけ外れたかだけで判断してたんだけど、それだと不十分なんだ。
外れたらダメなんじゃないの?なんで不十分なの?
例えば、「その猫は……」の後に続く言葉が、正解は「黒い」だったとする。でもAIが「可愛い」って答えたら、予測は外れてるから損失は高くなる。でも「可愛い」は間違いじゃないだろ?
確かに!猫は可愛いもんね。それは嘘じゃないよ!
だろ?一方で、モーツァルトの誕生日みたいな「事実」は、1文字でも間違えたらアウトだ。LaCyは、この「言い換えOKな場所」と「絶対間違えちゃいけない事実」を区別しようとしたんだよ。
なるほど!どうやって区別するの?
ここで「spaCy」っていう文法解析ツールを使うんだ。これで文章の中の名前や日付、場所みたいな「事実に関わる単語」を見つけ出す。そして、「事実に関わる単語」で、かつ「予測が難しい(損失が高い)」時だけ、大型モデルを呼ぶための「
へぇー!文法を見て「ここは大事なテストに出るぞ!」って判断する感じかな?
いい例えだね。そうやって訓練されたSLMは、自分が答えられない事実が来ると「
それって本当に上手くいってるの?
実験では、Wikipediaの記事を書かせた時の事実の正確さ(FactScore)が、他の手法よりずっと高かったんだ。しかも、無理に知識を詰め込まないから、モデルのメモリも無駄遣いしない。
すごい!賢い節約術だね。これからはスマホとかの小さなAIでも、嘘をつかずに「ちょっとお兄さんに聞いてくるね!」って言ってくれるようになるのかな?
そうだね。デバイス上の小さなAIとクラウドの大きなAIを効率よく使い分ける未来には、こういう技術が不可欠になると思うよ。ただ、まだ課題もあって、今は「いつ呼ぶか」に集中してるけど、「呼んだ後にどう繋ぐか」の最適化もこれからの研究課題だね。
そっかぁ。じゃあ私もLaCyを見習って、今日の晩ごはんのメニューが決められない時は、智也くんに「
僕は大型言語モデルじゃないんだから、それくらい自分で決めなよ。
要点
- 小型言語モデル(SLM)はパラメータ数が少ないため、すべての事実を記憶することは不可能であり、無理に覚えさせようとすると事実誤認(ハルシネーション)を引き起こす。
- 従来の学習手法では「損失(Loss)」のみを指標に学習対象を選別していたが、損失が高いからといって必ずしも間違い(事実誤認)とは限らない(例:言い換えなど)。
- 提案手法「LaCy」は、文法解析ツール(spaCy)を用いて「事実に関するトークン」を特定し、損失と組み合わせることで、SLMが自力で答えるべきか、外部(大型モデル)に頼るべきかを判断する。
- 学習時に、SLMが苦手な事実トークンに対して「
」という特殊なトークンを出力するように訓練することで、推論時に大型モデルへ適切にバトンタッチ(モデルカスケード)できる。 - 実験の結果、LaCyは他の手法よりも高い事実正確性(FactScore)を達成し、メモリの節約と精度の向上を両立させた。