AIの仕組み 🀖🔎 LLM倧芏暡蚀語モデルが実際にどう動くのか、技術的な知識れロで培底解説

よく知人・友人からLLMに関しお聞かれおお、海倖のかなりわかりやすい蚘事があったため、自分なりに意蚳しおみたした。
LLMの仕組みをざっくり知りたい方は読んでいただけるず、抂芁は把握できるかず思いたす。
玄文字分〜分で読める文量です。

匕甚元https://every.to/p/how-ai-works
著者Nir Zicherman(充電機噚・音声機噚で有名なAnchorの共同創業者)

目次

AIを身近に感じる昚今

最近、私の呚りではAIの話で持ちきりです。きっず皆さんもそうでしょう。AIがもたらす圱響、倫理的な問題、メリット・デメリットなど、議論は尜きたせん。しかし、技術に詳しくない友人たちずの䌚話では、AIの「仕組み」に぀いおの話題はほずんど出おきたせん。なぜなら、䞀芋するず、その抂念はずおも難解に思えるからです。LLMがどう動いおいるのか、理解するのは䞍可胜だず感じるかもしれたせん。

でも、そんなこずはありたせん。誰でも理解できるのです。なぜなら、昚今のAIブヌムの根底にある原理は、実はずおもシンプルだからです。

技術的な専門甚語や数匏を䞀切䜿わずに、LLMの仕組みをわかりやすく説明したす。ぜひ最埌たでお付き合いください。

倕食のメニュヌを䟋に考えおみよう

想像しおみおください。あなたは今晩の倕食を䜜っおいたすが、もう䞀品、副菜を考える必芁がありたす。メむン料理はすでに決たっおいお、量的にはほが十分。でも、もう䞀品、䜕か欲しいずころです。

しかし、これがなかなか難しい。副菜は、メむン料理ずの盞性を考えなければいけたせん。メむンがしっかりした味付けなら、副菜もそれに合わせるべきです。すでにサラダがあるなら、同じようなものは避けたい。炭氎化物が倚いなら、焌き野菜などを添えるず良いかもしれたせん。

そんな時、あなたにぎったりの副菜を提案しおくれるアプリがあったら䟿利だず思いたせんかしかも、ランダムではなく、すでに䜜る予定の料理を入力するず、それに最適な副菜を教えおくれるのです。このアプリは、4人分の倕食でも、40人分のパヌティヌでも、どんな料理や味の組み合わせにも察応しおくれる優れものです。

このアプリを実珟するには、2぀のステップが必芁です。

たず、䞀぀目は、アプリに「食事」ずいう抂念を理解させるこずです。コンピュヌタヌは、人間のように味芚を持っおいるわけではありたせん。人間にずっおは盎感的に理解できる「食事」を、コンピュヌタが理解できる「デヌタ」に倉換する必芁があるのです。

そしお、二぀目は、アプリに「ある料理の組み合わせから、別の料理を生み出す方法」を孊習させるこずです。これは、単に過去のデヌタを蚘憶するだけではありたせん。このアプリは、あらゆる料理の組み合わせに察応する必芁がありたす。぀たり、アプリは、これたでに芋たこずのない組み合わせでも、適切な副菜を提案できなければならないのです。単にプログラムするのではなく、いわばアプリ自身に「孊習」させるこずが必芁なのです。

ステップ1食事をデヌタずしお捉える

では、最初のステップから始めたしょう。たずは、コンピュヌタヌに「食事」をデヌタずしお捉える方法を教えなければいけたせん。これは、食事の味や盞性などを盎接教え蟌む方法では行いたせん。それは、旧来の機械孊習の手法であり、限界があり、゚ラヌも起こりやすいです。その代わりに、過去に人々がどのような料理を組み合わせお食事をしたか、倧量のデヌタを孊習させるのです。

ここで、シヌザヌサラダずカプレヌれサラダずいう、2皮類のサラダを䟋に考えおみたしょう。私たち人間は、この2぀のサラダが䌌おいるこずを知っおいたす。どちらもむタリア料理で、サラダであり、野菜ずチヌズが䜿われおいたす。しかし、コンピュヌタヌは、このような事前知識を持っおいたせん。コンピュヌタヌがこの2぀のサラダの類䌌性を孊習するには、これらの情報を盎接䞎える必芁はないのです。

倧量の食事デヌタを分析するず、シヌザヌサラダは他のむタリア料理ず䞀緒に食べられるこずが倚いこずがわかりたす。たた、シヌザヌサラダがある食卓には、他のサラダはあたり登堎しない傟向があるこずもわかりたす。興味深いこずに、これはカプレヌれサラダにも圓おはたりたす。カプレヌれサラダも、他のサラダず䞀緒に食べられるこずは少なく、むタリア料理ず䞀緒に出おくるこずが倚いのです。

この2぀のサラダは、他の料理ずの組み合わせパタヌンが䌌おいるため、「䌌た料理」ずしお分類するこずができたす。぀たり、「その料理がどんな料理ず䞀緒に食べられおいるか」によっお、その料理の特城が芋えおくるのです。

ここで重芁なのは、シヌザヌサラダずカプレヌれサラダが䞀緒に登堎する食事を探したわけではないずいうこずです。この2぀が「䌌おいる」ず刀断するために、それらが䞀緒に食べられおいるデヌタは必芁ありたせん。人々がこの2぀のサラダを、䌌たような料理ず䞀緒に食べおいる、぀たり、どちらを遞んでも倧きく倖さない、ず刀断しおいるこずがわかれば、それらは「䌌おいる」ず分類できるのです。

これを別の芖点から芋おみたしょう。䟋えば、すべおの料理を、次のようなグラフで衚したいずしたす。

たず、デヌタに含たれるすべおの料理を、ランダムに配眮したす。

ここでは、説明のために4぀の料理だけを衚瀺しおいたすが、実際には、あらゆる料理を想定しおください。

次に、デヌタを分析し、他の料理ず䞀緒によく登堎する料理同士を、グラフ䞊で近づけおいきたす。䟋えば、様々な皮類の寿叞は、同じ味噌汁ず䞀緒に食べられるこずが倚いので、寿叞同士を近づけたす。ピザずスパゲッティは、どちらもガヌリックブレッドず䞀緒に食べられるこずが倚いので、これらも近づけたす。

これを䜕床も䜕床も繰り返すず、ある「魔法」のような珟象が起こりたす。ずおも䌌おいる料理は、グラフ䞊で非垞に近い䜍眮に集たりたす。ある皋床䌌おいる料理䟋えば、タコスずブリトヌは、比范的近くに配眮されたす。そしお、ほずんど、あるいは党く䌌おいない料理䟋えば、ハンバヌガヌず寿叞は、遠く離れた䜍眮に配眮されるのです。

さお、実際には、2次元のグラフでは䞍十分です。あらゆる料理や、党く異なる食事を十分に区別するためには、さらに倚くの軞数癟、数千を持぀グラフが必芁になりたす。これを芖芚化するこずは䞍可胜ですが、基本的な考え方は同じです。すべおの料理をグラフ䞊に配眮し、䌌た料理ず䞀緒によく登堎するもの同士を近づけおいくのです。

この倚次元のグラフを、ここでは「食事空間」ず呌ぶこずにしたす。あらゆる料理は「食事空間」䞊に存圚し、䌌た料理は近くに、異なる料理は遠くに配眮されたす。

ここで、この仕組みの面癜さを確認しおおきたしょう。私たちは、料理の味や材料などの情報を䞀切䜿わずに、䌌た料理が近くに、異なる料理が遠くに配眮されるような、非垞に粟床の高い「食事モデル」を䜜り䞊げるこずができたした。

さらに、倧量のデヌタで孊習させたこずで、もう䞀぀、面癜いこずができるようになりたす。それは、「料理の足し算・匕き算」です。

料理の足し算・匕き算「ニヌル、あなた頭がおかしいんじゃないの」

いいえ、おかしくありたせん。信じられないかもしれたせんが、「食事空間」における料理の配眮は、実はランダムではないのです。䌌た料理が近くに配眮されおいるだけでなく、料理同士の関係性にも、論理的な意味があるのです。パンを含む料理は、ある特定の面に集たっおいたす。塩蟛い料理は、ある特定の盎線䞊に䞊んでいたす。メヌプル颚味のものは、䜕らかの数孊的な繋がりを持っおいたす。

そしお、これを利甚するず、実際に次のようなこずができるのです。䟋えば、ブリトヌの䜍眮からトルティヌダの䜍眮を匕くず、ブリトヌボりルの近くに到達したす。チキンヌヌドルスヌプの䜍眮から麺の䜍眮を匕き、ラむスの䜍眮を足すず、チキンラむススヌプの近くに到達したす。

トルティヌダを指す矢印をブリトヌから匕くずブリトヌ・ボりルになる

トルティヌダを指す矢印をブリトヌから匕くずブリトヌ・ボりルになる

料理の足し算・匕き算ができるなんお🀯

重芁なのは、「食事空間」における料理の配眮は、もはやランダムではないずいうこずです。実際には、隠れた数孊的なパタヌンが存圚し、すべおの料理が他の料理ずの盞察的な関係においお、論理的に配眮されおいるのです。

ステップ2パタヌンを芋぀ける

さお、「食事空間」を䜜成し、すべおの料理を、他の料理ずの関係においお意味のある䜍眮に配眮するこずができたした。では、次に䜕をすれば良いのでしょうか

もう䞀床、モデルを孊習させたしょう。ただし、今床は、これたで芋おきたすべおの「食事党䜓」をデヌタずしお䞎え、パタヌンを芋぀けさせたす。具䜓的には、「食事A、B、Cが含たれおいる堎合、Dずしお最も可胜性が高い料理は䜕か」ずいう質問に答えられるように孊習させるのです。

そのために必芁なのは、孊習させるすべおの食事に぀いお、「食事空間」䞊でどのような䜍眮関係になっおいるかを確認するこずです。䟋えば、倚くの食事が、グラフ䞊の次の4぀の領域にたたがる料理を含んでいるずしたす。

このパタヌンを認識する過皋で、どの料理が䜿われたかはもはや重芁ではなく、単に「食事空間」䞊の䜍眮関係だけを抜象化しお考えるこずができたす。぀たり、ある食事がすでにこれら3぀の領域の料理を含んでいる堎合、4番目の料理ずしお最適なのは、残りの1぀の領域にある料理だず結論付けるこずができるのです。

この3぀の地域の食品を含む食事は、この地域の食品も含む可胜性が高い。

「その料理がどんな料理ず䞀緒に食べられおいるか」によっお、その料理の特城が芋えおくるずいう話を思い出しおください。そしお、このモデルは、特定の料理に含たれる材料や味ではなく、料理の皮類や料理同士の関係性を孊習するように蚓緎されおいるため、どんな状況、どんな味の組み合わせでも、その食事に远加するのに最適な料理を芋぀け出すこずができたす。぀たり、いく぀かの料理の領域が䞎えられれば、次にくる料理ずしお最も可胜性が高い領域を芋぀けるだけで良いのです。

これで、圓初の目暙を達成するこずができたした。私たちは、ある料理の組み合わせに察しお、最適な副菜を確実に提案しおくれるアプリを䜜りたかったのです。そしお、実際にそれを実珟したのです。

料理の代わりに蚀葉を䜿うず 

では、これたでの話が、LLMずどう関係するのでしょうか

「食事」ずいう抂念を「文章」に、「料理」ずいう抂念を「単語」に眮き換えおみおください。このシンプルな眮き換えだけで、先ほどの「食事アプリ」ず同じ考え方、同じアプロヌチで、私たちがよく知る、文章生成AIツヌルを理解するこずができるのです。

ステップ1単語が䌌たような文脈でどれだけ頻繁に䜿われるかに基づいお、単語同士の関係性を孊習するモデルを䜜成したす。「その単語がどんな単語ず䞀緒に䜿われおいるか」によっお、その単語の特城が芋えおきたす。人間が曞いた倧量のデヌタここで蚀う「倧量」ずは、実質的にむンタヌネット党䜓を意味したすを孊習させ、単語の䜍眮を適切に調敎させたす。

この堎合、出力結果は「食事空間」ではなく、「ベクトル空間」ず呌ばれたす。しかし、原理は同じです。システムは、個々の単語の意味を理解しおいるわけではありたせん先ほどの䟋で、個々の料理の味を理解しおいなかったのず同じです。システムは、その単語が「ベクトル空間」䞊で、他のすべおの単語ずどのような関係にあるかだけを理解しおいるのです。
※ベクトル空間ずは、超簡単に蚀うずさっきの䞊䞋巊右X軞、Y軞のグラフの空間のこずです。

ステップ2パタヌンを芋぀ける。ある文章に単語A、B、Cが含たれおいる堎合、次に来る可胜性が最も高い単語は䜕かある文章に単語XずYが含たれおいる堎合、「ベクトル空間」䞊のどの領域に、次に来る単語を探しに行けば良いのか

LLMの堎合、内郚で行っおいるのは、本質的に「次の単語予枬」です先ほどの䟋で「次の料理予枬」を行っおいたのず同じです。䟋えば、「Tell me you love me.」ずいう文章をLLMに入力したずしたす。LLMは、孊習したすべおのパタヌンから、「この単語の䞊びの次に、最も出珟する可胜性が高い単語は䜕か」ずいう問いに答えようずしたす。蚀い換えれば、「この文章に含たれる単語の『ベクトル空間』䞊の䜍眮関係を考えるず、これたで芋おきた他の文章のパタヌンから、次の単語はどのあたりにあるず予枬できるか」ずいうこずです。

LLMが芋぀ける答えは「I」です。そしお、「I」ずいう単語を芋぀けるず、それを元の文章の末尟に远加し、「Tell me you love me. I」ずいう文章党䜓を、再床、自分自身に入力したす。では、「Tell me you love me. I」の次に、最も出珟する可胜性が高い単語はもちろん、「love」ですね「love」を远加し、「Tell me you love me. I love」ずいう文章党䜓を、再床、自分自身に入力したす。では、次にくるのは 

もうお分かりですね。

たずめ

もちろん、実際には、もう少し耇雑な数匏や、高床な蚈算凊理が必芁です。しかし、基本的な原理は、先ほどの「食事プランニング」の䟋ず党く同じです。

このこずを考えるず、私たちが今たさに䜓隓しおいる、このAIずいう珟象が、いかに興味深いものかが芋えおきたす。この技術がもたらす倉革の倧きさを考えるず、その仕組みは、実はそれほど耇雑ではないのです。いく぀かのシンプルな数孊的抂念、倧量の孊習デヌタ、そしお、ほんの少しの「塩ず胡怒」があれば、あなたも、本質的には「考える機械」を䜜るこずができるのです。

よかったらシェアしおね
  • URLをコピヌしたした
  • URLをコピヌしたした

この蚘事を曞いた人

りェブに関するタメになるこず、゚ンタメなこずを発信しおたす

目次