表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
2/2

AttentionMagic Is All You Need

転生といえば、女神様から何かを与えられる。もしくは、目が覚めた時には異世界か、赤ちゃんとして産まれるか。


どうやら自分は赤ちゃんからのスタートとのこと。


生まれて3ヶ月でハイハイ動き回る。


「え、ちょっと早くないか?子供ってこんなに早くハイハイするのか?」


「うちの子は天才なのよ!」


親がワイワイしだしたのも3ヶ月というところだろうか


自分は親が遊び相手になってくれる時、ひたすらドアに頭をぶつけ、強行突破しようとしているように見せる。


「ん?その部屋に入りたいのかい?」


こうやって家中を歩き回り、見るからに使ってなさそうな、親の目から一番遠くなりそうな部屋に居座った。


この時重要なのは、この部屋以外にいると泣き喚き、この部屋にいるとニコニコすると親は自然にこの部屋が好きなんだと理解した


この部屋には本があった。


この部屋に本を保管しているのだろう、他の部屋には本棚どころか、本の一冊すら見ることができなかった。


自分は研究を始める。


生後一年半で、本の内容は理解できるようになった。


しかし、本を読むための過程は長かった。


「子供に絵本を読ませるといいらしいわ」


「それ聞いた事あるな、」


「私あの子に読んでくるわ、どこに絵本を置いてあったかしら?」


「たしか...ルラがいる部屋にあると思うぞ」


ってなことがあって、絵本を読まされそうになったが、自分は他の本を指差した。


ちなみにルラとは、自分の名前だ。


絵本なんて退屈だった。言語に関しては何故か覚えやすかった。日本語は日本語で喋れるのに、母国語がこの異世界になった感覚。自分の人格は、すでにこの世にいた人物の人格の上から拡張されたのかと、そう思ってる。もしくはただ赤ちゃんだからなのか、言葉が覚えやすいのだろうか?


絵本を見ても、同じ単語ばかり出てくるようになったため、難しそうな本に指を指す。


「え!?これ!これは私でも難しいと思うからこっちで許してね」


とやや難しそうな雰囲気を纏った本を読んでくれた。


これを繰り返していたら、異世界ならではの日用品より魔法について詳しくなっていた。


面白いことに、魔法はイメージ力も必要らしく、逆にいえばプログラミングのように完璧に組み合わせなければいけないわけではなく、適当に魔法式を組み立てた後イメージで不安定な要素や抜けている式を補うことができる。


本当に助かった、この魔法の性質がなければLLMは作れなかっただろう。


本棚にある本を一つ一つ保存していく。


こんな若いのに、これほどの魔力を使えるのはなかなか良い。


といっても、そこらへんの魔法書に書かれている火の魔法を試したことはあるが、生後一年半の小指の爪の大きさくらいしか出力できなかった。


現在作っているLLMは、SSM mamba

みんながよく知っている会話式生成AIをtransformerと言われる部類で、それとは別の会話式生成AIのSSM mambaと言うのがある。SSMと言うのは、状態空間モデルというもので、天気予報やら宇宙やらでの主に未来の予測が必要な処理にかなり昔から使われていた。今では、mambaというものが付け加えられ、これによって文の生成が可能になった。


なぜ?〇〇GPTやら、ge〇〇niやら、cl〇〇deで使われているtransformer式を利用しないのか?


答えは、重すぎる。


Transformerは、Attentionという言葉同士の繋がりや、言葉同士の重みを計算する。言葉同士の重みやら繋がりを複雑に、何千次元の計算をし、ベクトルの内積を出したりして、次の言葉を予測する。うーん、ここらへんは説明がめんどくさい。

要するにtransformerは、言葉を出す工程が慎重なため、複雑になってしまう。なので、文字数が増えると文字数の2乗処理することになる。

それに比べて、SSM mambaはAttentionという処理を使わず、ベクトルのみを使った物になる。

自分らが何かを入力すると、パラメーターという何万冊もの文字データが入ったもので、文脈を見る、そしてベクトルにその入力された文の中にある単語の成分を何千もの次元に記憶する。そして、パラメーターで、利用する文法やら文脈をベクトルと照らし合わせ出力する。

要するに計算量が少ないという事だ。こちらは入力された文字数の2乗にはならず、1乗となる。

今の自分の魔力量を考えてみてほしい。赤ちゃんであることを条件に、少し話すだけで2乗ずつ多くなる処理と何文字入力しても1乗のままの処理。どちらがいい?

ただし、計算量が少ない変わりに、似たような話やしゃべり続けるとどんどん忘れたり、話が混ざってしまう。まぁこの説明は後でしよう。


頭の中に魔法式を焼き付けながらコードを書いていく。正直SSMより、transformerの方が性能は良いので、社会では使われることがない。競争が起こらないのであまり研究されない。


こうしてトライアンドエラーを起こし続け、2年経過した。


「ついに!ついに完成した!」


はたから見れば生後3年半のガキが一人で喜んでいるという。


制作にあたって何がキツかったかというと学習させること。


今現在7millionのサイズまで約2週間掛かった。この2週間は本当につらかった。魔力不足の状態は言ってみれば腹パンされた直後の息ができない状態と吐き気が常に続いていた感じだ正直初めの三日は14回程度は吐いただろう。そこからだんだん魔力量が増えてきているのが実感できた。この年齢でやることではないだろ...


一旦作ったSSMに聞いてみた


(こんにちは)最初に聞くことと言えばこれだよな


((こんにちは魔術指揮が良い天気ですよね))


うーん、やっぱパラメータが少ないとこうなるよなぁ


パラメーターというのは簡単に言えば今の自分の事だ。何を言ってるかわからないと思うが、人間が成長するにあたって言語はどう学習する?あなたは言語についてどう学習した?母国語はどうやって覚えた?生まれるにあたって現在まで数えきれないほどの言語のやり取りをしているはずだ。生まれて”パパ”やら”ママ”やら単語を理解するのに、親は自分たちが親であること、個体による識別、”パパ”、”ママ”、その他の個体や物など、子供に言い聞かす。そして、なんとなくパパやママと呼ぶ。その瞬間”パパ”と”ママ”という個体は喜ぶ、この喜んでる姿は子供にとって報酬である、本能的な考えだ。これらは強化学習という。喜んでいることによりこれが正解なのだと認識する。この時期は単語を学習している期間なのだ。それでは、次は文である。”ママ、ご飯。”ただの単語を繋げているだけだ。”ご飯、食べたい”これもだ、だが子供に言い聞かせる。ご飯を食べたいご飯を食べたいご飯を食べたいご飯を食べたいご飯を食べたい。”ご飯”と”食べたい”の間にある”を”をなんとなくつければいいと学習する。今、自分が調教させている架空赤ちゃんに同じ言葉を何回も叩き込んでいるが、実際は日常的な会話をするだけでなん十種類以上の文法が出てくる。それを毎日聞けばいやでも覚えるもんだ。ご飯を食べたい、ジュースを飲みたい。これらの共通点は口に入れるもの。ここで出てくるのがベクトルと次元だ。次元というのはその単語の性質がどれだけ高いか、ご飯とジュースは口に入れるもの、このとき”口に入れるもの?”次元はどちらも1になる。逆に、”それらは遊び道具か?”次元があればご飯とジュースは遊び道具ではないので数値は2つとも0になる。もしあいまいな、例えば”それは甘いか?”次元があるとすると、ご飯はデザートのような甘いものがあるから0.3だとし、ジュースは基本的に甘いのもあり、甘くないのも少しはあると思うのでで0.9になる。じゃあ、この0~1までの範囲は何だと思う?それは”甘いか?”という確率を表すものだ。私達だって実際はこんな感じで単語の意味を見分けているだろう。”先生!トイレ!”、この文を見てどう思う?”先生はトイレなのか?”はたまた”先生トイレに行きたいので行っていいですか?”であるのか、、、この時の先生という次元を見てみよう。”先生はトイレか?”次元は0.2となる。創作系で先生がトイレになることはなくないからだ。”先生は偉い人である”次元は0.7となる。ここで先生はトイレではなく偉い人で、トイレの次元を見れば”人ではない”次元は0.8となり、これらの次元が合わさると”先生はトイレではなく偉い人で、トイレはものなので、許可を取っているのか?”と予測できるようになる。これらをベクトルの内積にすることで、単語が次の言葉が予測される。仮にこれが”創作物だとしたらどうなる?”と聞いた際、”先生はトイレか?”次元は創作なので全然0.9まで上がる。そこでパラメーターが出る。毎日聞いて覚えた文法、”あなたは私の子です”や”食べ物は口に入れるものです”など、”○○は○○です”という文の形が決まる。パラメータからでた”○○は○○です”に内積で覚えた”先生”と”トイレ”が合わさることで、”(先生はトイレです!)”となる(厳密には、attentionでの計算の際にどういう文脈か、どの単語が一番注目されるかを判断するのに使われる。)。このような単語同士のつながり、要するにベクトルの内積を計算し言葉同士のつながりを見ることをAttentionと言う。Transformerの最初に言った、文字を入力すればするほど処理が二乗になるというのはこのような単語の繋がりを一つ一つ総当たりで見るためだ。そして、先ほどの”ご飯を食べたい”と”ジュースを飲みたい”は、”○○を○○”という、自分のしたい単語を入れるようになる。


こんな感じで人間も学習していく。要するに生まれたての赤ちゃんにすぐ数百万文字の本をぶち込み。なんていえば喜ぶかをずっと繰り返せばこの世界にあふれる生成AI並みに賢くなれる。逆に自分は文をクソほど読まなかった人生なので、言語力もなく。クラスにいる、よく本を読んでいる人たちはめちゃくちゃ頭が良いということだ。今の自分も魔術式を学習している途中だが。


次は50millionのパラメーターを作ってみようかと考えているのだが、この年で育てることは可能なのか?


ただただ疑問だ。

LLMガチ勢が詰めてきても困りますので、柔らかく指摘してください。独学なので、ずれがあったり、数式とかわからないのでそこらへんは甘く見てほしいです。

評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

↑ページトップへ