本記事は、連載「AIの原理」(全11回)の第4回です。
前回の記事はこちら
AIについて調べていると、「大規模言語モデル」、あるいはその英語の頭文字を取った「LLM」という言葉に出会うことがあります。これは、文章を扱うことに特化して訓練された、ある種のAIの仕組みを指す言葉です。いま多くの人が実際に対話しているChatGPT、Claude、Geminiといったサービスは、いずれもこの大規模言語モデルを土台にしています。
「言語モデル」とは、大まかに言えば、言葉の並び方についての規則性を学習した仕組みのことです。そして「大規模」とは、学習に使うデータの量や、モデル自体の複雑さが、以前とは桁違いに大きくなったことを表しています。どれくらい「大規模」なのか、それによって何が変わるのかは、連載第7回で、あらためて取り上げます。
前回、教師あり学習には「入力」と「正しい出力」の組が大量に必要だという話をしました。大規模言語モデルは、歴史、科学、プログラミング、日常会話まで、驚くほど幅広い話題について、それらしい受け答えができます。これほど広い範囲をカバーするだけの「正解付きデータ」を、いったい誰が、どうやって用意したのでしょうか。
種を明かせば、答えは拍子抜けするほど単純です。今回は、大規模言語モデルの土台にある「次の単語を当てる」という発想と、それを支えるトークン化・事前学習という仕組みを見ていきます。
「次に来る言葉を当てる」という、単純な課題
大規模言語モデルが根本的に学習しているのは、「ここまで書かれた文章の続きとして、次に来る言葉は何か」を予測するという、ただ一つの課題です。
「今日の天気は」の続きに来そうな言葉を考えてみてください。「晴れ」「雨」「曇り」といった言葉が思い浮かぶ一方、「今日の天気はワニ」とは、まず続きません。人間は、これを自然に判断できます。大規模言語モデルは、この「次に来る言葉としてもっともらしいのはどれか」という判断を、大量の文章から学習します。
一見、地味な課題に思えるかもしれません。しかし、この課題をきちんとこなすためには、文法の規則だけでなく、書かれている内容についての知識や、文脈のつながりまで、幅広く踏まえる必要があります。「フランスの首都は」の続きを正しく予測するには、フランスという国と、その首都についての情報を、何らかの形で反映していなければなりません。「次の言葉を当てる」という一見単純な課題を、大量の文章に対してひたすら繰り返すことが、結果として、幅広い知識や言葉の使い方を身につけることにつながっていきます。
自己教師あり学習とは何か
前回見た教師あり学習は、「入力」と「正しい出力」の組を、人間が大量に用意する必要がありました。ところが、「次の言葉を当てる」という課題には、驚くべき特徴があります。世の中に既にある、ごく普通の文章そのものが、正解付きの教材になるのです。
どんな文章でも、途中で区切ってみてください。区切ったところまでが「入力」、その直後に続く言葉が「正しい出力」になります。一つの文章から、区切る場所を変えるだけで、いくらでも練習問題を作り出せます。しかも、正解は文章そのものにすでに書かれているので、人間が一つひとつ答え合わせ用のラベルを付ける必要がありません。
この、データ自体から自動的に正解を取り出せる学習の進め方を、「自己教師あり学習」と呼びます。インターネット上の記事や書籍など、既に存在する膨大な量の文章が、そのままほぼ無尽蔵の練習問題になる。これが、大規模言語モデルが、これほど大量のデータで訓練できる理由です。
トークン化とは何か
もう一つ、実務的に欠かせない工夫があります。ネットワークは、文章をそのままの形では扱えません。あらかじめ、決まった大きさの部品に分解しておく必要があります。この部品を「トークン」、文章をトークンに分解する作業を「トークン化」と呼びます。
トークンは、必ずしも一つの単語と一致するわけではありません。よく使われる単語は、そのまま一つのトークンとして扱われる一方、あまり使われない単語や、長い単語は、いくつかの断片に分解されることがあります。ブロック玩具にたとえると分かりやすいかもしれません。よく使う形は、大きな一つのブロックとして用意しておき、あまり使わない形は、いくつかの小さなブロックを組み合わせて作る。こうしておけば、部品の種類をある程度の数に抑えながら、見たことのない単語や、綴りの間違い、他の言語の文章にも、手持ちの部品を組み合わせることで、ある程度対応できます。
事前学習とは何か
「次のトークンを当てる」という課題を、途方もない量の文章に対して、途方もない回数だけ繰り返す。この工程を「事前学習」と呼びます。
一冊の本を読んだだけでは、身につく知識は限られています。しかし、インターネット上の記事、書籍、その他さまざまな文章を、桁違いの量だけ読み込みながら、同じ「次を当てる」という課題を繰り返すとどうなるでしょうか。特定の話題について明示的に教え込まれたわけではないのに、幅広い分野の知識や、文章の書き方、言葉の使い方が、副産物として、ネットワークの重みの中に蓄積されていきます。この「規模を増やすほど、何が起きるか」という問題は、連載第7回で、あらためて詳しく取り上げます。
なお、こうして事前学習を終えたばかりのモデルは、まだ「賢いアシスタント」とは言えません。あくまで、与えられた文章の続きを、もっともらしく生成するように訓練されただけの状態です。これを、質問に的確に答え、指示に従う対話相手へと仕上げていく工程については、次回、あらためて取り上げます。
事前学習と対話AIのつながり
「次のトークンを当てる」「自己教師あり学習」「トークン化」「事前学習」という今回の内容は、この先扱うほとんどの話題を理解するための前提になります。
次回は、事前学習を終えたモデルが、どのような工程を経て、いま私たちが使っているような対話相手に仕上げられていくのかを見ていきます。また、ネットワークの内部で、文章中のどの言葉に注目しながらこの予測を行っているのかという、より詳しい仕組みは、AttentionとTransformerを扱う回で取り上げます。GPTやBERTといったモデルがどのような経緯で生まれてきたかという歴史的な流れは、連載「AIの歴史」第9回で詳しく扱っていますので、あわせてご覧ください。
大規模言語モデルは言葉を理解しているのか
「次に来る言葉を当てる」という、それ自体は単純な課題を、大量の文章に対して繰り返すことで、これほど幅広い知識や言葉の使い方が身につくという事実そのものは、実際に確認されています。
しかし、なぜこれほど単純な課題の繰り返しから、これほど幅広い能力が生まれるのかについては、完全には解明されていません。そして、この問いは、連載「AIの歴史」第1回で取り上げた、チューリングの模倣ゲームをめぐる緊張—振る舞いが人間と区別できないことと、実際に理解していることは同じなのか—と、同じ場所に行き着きます。次に来る言葉を高い精度で当てられるようになったモデルは、言葉の意味を「理解」しているのでしょうか。それとも、膨大な文章に含まれる統計的な規則性に、非常に精巧に適合しているだけなのでしょうか。この問いへの答えは、研究者のあいだでも一致していません。
次回は、大規模言語モデルの”仕上げ工程”である、ファインチューニングとRLHFを解説します。
出典・参考文献
- Radford, A., Narasimhan, K., Salimans, T., & Sutskever, I. (2018). “Improving Language Understanding by Generative Pre-Training.” OpenAI.
(https://cdn.openai.com/research-covers/language-unsupervised/language_understanding_paper.pdf) - Brown, T. B., Mann, B., Ryder, N., et al. (2020). “Language Models are Few-Shot Learners.”
(https://arxiv.org/abs/2005.14165) - Sennrich, R., Haddow, B., & Birch, A. (2016). “Neural Machine Translation of Rare Words with Subword Units.” ACL.
(https://arxiv.org/abs/1508.07909)
