18.トランスフォーマ大解剖 〜序章:AIが言葉を学ぶ準備と進化の方向性〜

ボク:ねえ、ジェミニ!この間はトランスフォーマが出てくるまでのAIの歴史と、現在のトランスフォーマの仲間たちが今切磋琢磨して競い合っている状況を教えてもらったので、今日は、最初に出ってきた元祖トランスフォーマの仕組みについて教えてください。

 

今のすごいAIたちの「ご先祖様」みたいな元祖トランスフォーマの仕組みだね。難しい言葉は使わずに、得意の料理に例えながら説明してみるね!

 

トランスフォーマを、超優秀な翻訳シェフだと想像してみよう。このシェフの仕事は、「日本語のレシピ」を読んで、それを元に「英語のレシピ」を新しく書き上げることだ。

このシェフは、大きく分けて二つのすごい能力を持っているんだ。それが「エンコーダー(理解係)」と「デコーダー(文章作成係)」だよ。

 

  1. エンコーダー(理解係):材料を一度に見て、大事な組み合わせを把握する!

昔のAIは、レシピを単語一つずつ「私は」「少年です」みたいに順番に読んでいたんだ。でも、トランスフォーマのエンコーダーは違う。

「私はかわいい猫を飼っています」

という文章が来たら、この文章全体を一度にテーブルの上に広げて眺めるんだ。

でも、ただ眺めるだけじゃない。ここでトランスフォーマの最大の発明「アテンション(Attention)」という技を使う!

これは、「どの言葉が、どの言葉と強く関係しているか?」を見抜く力のこと。

例えば、「飼っています」という言葉に注目したとき、AIは「誰が?」って考える。「私が」飼っているんだなって、すぐに気づく。また、「かわいい」は何がかわいいんだろう?「猫が」かわいいんだなって、言葉と言葉のつながりを見つけるんだ。

エンコーダーは、こうやって文章の中のすべての言葉の関係性をしっかり理解して、それぞれの言葉に「これはこういう意味で、あの言葉と繋がっているよ」っていう特別な「意味の味付け」をするんだ。これがエンコーダーの仕事だよ。

料理で言えば、レシピ全体を読んで、「この塩はジャガイモに使うんだな」「このスパイスは鶏肉用だな」って、材料同士の関係性を完璧に理解するプロのシェフみたいな感じだね。

 

  1. デコーダー(文章作成係):最高のひと皿(文章)を仕上げる!

エンコーダーが完璧に意味を理解したら、次はその情報を元に英語のレシピを書き出すデコーダーの出番だ。

デコーダーは、エンコーダーが作った「意味の味付け」がされた情報を全部受け取る。そして、今度は単語を一つずつ、丁寧に書き出していくんだ。

例えば、英語で "I have a cute cat." と書きたいとき…

まず、最初の単語 "I" を書く。

次に、"I" の次に何が来るべきか考える。この時、デコーダーは2つのことを同時に見るんだ。

  • エンコーダーからの情報:「『私』が『飼っている』という情報が一番大事だな」と、元の日本語のレシピ(意味の味付け情報)をチェックする。
  • 自分が今書いた文章:「今、"I" って書いたから、次に来るのは動詞の "have" が良さそうだ」と、自分が書いたものを振り返る。

この2つの情報を元に、一番ピッタリな次の単語 "have" を選んで書く。これを "I have a cute cat." という文が出来上がるまで繰り返していくんだ。

料理で言えば、エンコーダーが理解した「材料の組み合わせ」のメモを見ながら、一品ずつ最高の料理を順番に作り上げていくシェフだね。「まずジャガイモを茹でて…よし、次は塩を振ろう」って感じで、全体のバランスを見ながら仕上げていくんだ。

 

まとめると…

元祖トランスフォーマの仕組みは、こんな感じのチームプレーなんだ。

  • エンコーダー(理解係)が、文章全体を一度に見て、「アテンション」で言葉同士の関係性を理解し、意味の詰まった情報を作る。
  • デコーダー(文章作成係)が、その情報を受け取り、自分が書いている文章も参考にしながら、一語一語丁寧に新しい文章を作り上げていく。

この「文章全体を一度に見て、大事なところだけに注目する」っていうアテンションの仕組みが、本当に画期的だったんだ。だから、長くて複雑な文章でも、ちゃんと意味を理解できるようになったんだよ。

 

どうかな?トランスフォーマっていうシェフチームの働き方、イメージできたかな?

 

ボク:うん、大きな流れはわかりました。

今度は、それをもっと細かな仕組みに分けて説明してくれる?

まず、CNNのような画像系の生成AIの場合は、入力層に、画像をビットデータに変換したものを渡していたけど、トランスフォーマの場合は、テキストの文字列そのものが渡されるんじゃないんだよね?

 

その通り!トランスフォーマは、テキストの文字列をそのまま食べるわけじゃないんだ。CNN(画像AI)が画像をピクセルっていう数字の集まりに変えるのと同じように、トランスフォーマも文章を「数字の集まり」に変換してから処理を始めるんだよ。

その変換プロセスは、大きく分けて3つのステップがあるんだ。料理で例えると、シェフが調理を始める前の「下ごしらえ」みたいなものだね。

 

  1. トークナイゼーション(Tokenization:言葉の切り分け)

最初に、文章を単語やもっと小さなパーツに切り分けるんだ。これをトークナイゼーションって言うよ。

 

例えば、

「私はかわいい猫を飼っています」

という文章があったら、これを

「私」 「は」 「かわいい」 「猫」 「を」 「飼って」 「います」

みたいに、バラバラの部品(トークン)に分解するんだ。ちょうど、シェフが料理を作る前に、ニンジンやジャガイモを使いやすい大きさにトントンと切っていく作業に似ているね。

 

  1. エンベディング(Embedding:言葉のベクトル化)

次に、切り分けた一つ一つの言葉(トークン)を、数字のリスト(ベクトル)に変えるんだ。これをエンベディング(埋め込み)って言うよ。

これは、ただの数字じゃなくて、「言葉の意味」を表す特別な数字のリストなんだ。

例えば、

  • 「猫」という言葉には、[0.8, 0.2, -0.9, ... ]
  • 「犬」という言葉には、[0.7, 0.3, -0.8, ... ]
  • 「机」という言葉には、[-0.5, 0.9, 0.1, ... ]

みたいなリストを割り当てる。ポイントは、意味が似ている言葉は、似たような数字のリストになること。「猫」と「犬」はどっちも動物だからリストが少し似ているけど、「机」は全然違うから、リストの数字も大きく違うんだ。

料理で言えば、シェフが切った材料一つ一つに「味の成分表」を付けるようなものかな。「このトマトは、甘み80点、酸味60点、水分90点…」みたいに、その材料が持つ特徴を数字で表す感じだね。この「味の成分表」がエンベディングベクトルだ。

 

  1. ポジショナル・エンコーディング(言葉の場所情報を追加)

さあ、ここがトランスフォーマの賢いところだよ!

前の説明で、トランスフォーマは文章全体を「一度に」見ることができるって言ったよね。でも、そうすると「私は猫を飼う」と「猫は私を飼う」みたいに、単語の順番が違うだけで意味が全く変わってしまう文章の区別がつかなくなっちゃう。

そこで、言葉の「場所の情報」も数字で教えてあげるんだ。これをポジショナル・エンコーディング(位置エンコーディング)って言うよ。

具体的には、「1番目の単語だよ」「2番目の単語だよ」…っていう位置ごとに決まった「位置の数字リスト」を用意しておいて、それをさっきのエンベディング(言葉の意味の数字リスト)に足し算するんだ。

(言葉の意味の数字リスト)+(言葉の場所の数字リスト)= 最終的な入力データ

これでAIは、「この言葉は『猫』っていう意味で、文章の3番目にあるんだな」ってことを正確に理解できる。

料理の例えで言うと、シェフが「味の成分表」を付けた材料を、レシピの順番通りにお皿の上に並べていく作業みたいなものだね。どこにどの材料があるか一目でわかるから、調理がしやすいよね。

 

この3つのステップ(切り分け → 意味を数字に → 場所を数字に)が完了して、初めて文章はトランスフォーマが理解できる「数字の集まり」になるんだ。そして、この準備万端のデータが、いよいよ君が知っているエンコーダー(理解係)に渡されるんだよ。

どうかな?入力の仕組み、少し詳しくわかったかな?

 

ボク:バラバラの部品(トークン)への分解の仕方だけど、英語の文章と日本語の文章では分解の仕方が違うのかな?

 

うん、とっても良い質問だね!そこはすごく大事なポイントなんだ。

結論から言うと、英語と日本語では、言葉の切り分け方(トークナイゼーション)が全然違うんだよ。

料理の例えでまた考えてみよう!

 

 英語の文章:スライス済みの食パン

英語の文章は、こんな感じだよね。

"I have a cute cat."

単語と単語の間に、ちゃんと「スペース(空白)」が入っている。

これは、もうお店でスライスしてくれている食パンみたいなものなんだ。切れ目(スペース)がはっきりしているから、「I」「have」「a」「cute」「cat」って、誰でも簡単に手で分けられるよね。だから、英語の切り分けは比較的シンプルなんだ。

 

日本語の文章:丸ごと一本の大根 or お魚

じゃあ、日本語はどうだろう?

「私はかわいい猫を飼っています」

見ての通り、単語の間にスペースがないよね。文章が全部くっついちゃっている。

これは、まだ切っていない丸ごと一本の大根や、一匹のお魚みたいなものなんだ。「どこからどこまでが一つの意味のまとまりか」を知らないと、うまく切り分けられない。

例えば、「東京都」を「東京」「都」と分けるべきか、それとも「東京都」で一つの言葉と見るべきか、判断が難しいよね。

だから、日本語を切り分けるためには、「形態素解析」っていう、日本語の専門家みたいな特別なプログラムを使うんだ。

この専門家は、日本語の文法の知識や、たくさんの単語が登録された辞書を持っていて、「ここが名詞で、ここが助詞だから、ここで切るのが正しいな」というのを賢く判断してくれるんだよ。

「私」「は」「かわいい」「猫」「を」「飼って」「います」というふうにね。

 

もっと賢い方法:「サブワード」っていう考え方

そして、最近のAIはもっと賢い方法も使っているんだ。英語でも日本語でも使うことがあるんだけど、「サブワード」っていう方法だよ。

これは、単語をさらに小さい、意味のあるパーツに分解する方法なんだ。まるでレゴブロックみたいだね。

例えば、「飼っています」という言葉。

これを、単語として丸ごと覚えるんじゃなくて、

「飼っ」+「て」+「います」

という3つのブロックの組み合わせとして覚えるんだ。

こうしておくと、何がいいか分かるかな?

もしAIが「食べています」っていう知らない言葉に出会っても、「『て』と『います』は知ってるぞ!前の『食べ』は初めて見るけど、きっと何かをするっていう意味だな」って推測ができるようになるんだ。

知らない言葉が出てきても、知っている部品(ブロック)を組み合わせて意味を理解しようとする。これで、AIはすごくたくさんの言葉に対応できるようになるんだよ。

 

まとめると、

英語:スペースで区切るのが基本で、分かりやすい(スライスパン方式)。

日本語:スペースがないから、「形態素解析」という専門家プログラムが必要(大根おろし方式)。

最近の主流:どちらの言語でも、言葉をさらに小さいブロック(サブワード)に分けて、知らない言葉にも対応しやすくしている(レゴブロック方式)。

 

こんなふうに、言語の性質に合わせて、AIへの「材料の渡し方」を工夫しているんだ。どうかな?英語と日本語の「下ごしらえ」の違い、イメージできたかな?

 

ボク:レゴブロック方式になって、すべての言語の部品が、レゴのような1種類に統一されたっていうこと?

 

すごく良いところに気づいたね!「レゴブロックが1種類に統一されたの?」ってことだよね。その考え方は、半分正しくて、半分ちょっと違うんだ。とても良い質問だから、これもレゴの例えで詳しく説明するね。

結論から言うと、「どのAIを作るかによって、使うレゴブロックのセットが違う」 が答えになるかな。

  1. 「日本語専用AI」を作る場合 → 「レゴ ニンジャゴー」セットを使う

もし、「日本語だけを話す賢いAI」を作りたいとしよう。

その場合は、日本語を組み立てるのに最適なレゴブロックのセットを用意するんだ。

そのセットには、

  • 漢字の部品(「私」 「猫」 「食」 など)
  • ひらがなの部品(「は」 「を」 「て」 「ます」 など)
  • カタカナの部品

がたくさん入っている。ちょうど、お城や忍者を組み立てるのに特化した「レゴ ニンジャゴー」のセットみたいだね。このセットがあれば、日本語の文章はすごく上手に作れる。でも、この部品で英語の文章を作るのはちょっと難しい。

 

  1. 「英語専用AI」を作る場合 → 「レゴ シティ」セットを使う

同じように、「英語だけを話す賢いAI」を作るなら、英語に特化したレゴブロックのセットを使う。

そのセットには、

英単語の部品(「a」 「the」 「cat」など)

 

単語のパーツの部品(「-ing」 「-ly」 「un-」など)

がたくさん入っている。これは、消防車やビルを組み立てるのに特化した「レゴ シティ」のセットみたいだね。

 

  1. 君が今話している僕みたいな「多言語AI」の場合 → 「レゴ ワールド」超巨大セットを使う

ここからが君の質問の核心だね。僕、Geminiみたいに、日本語も英語も、世界中のたくさんの言葉を話せるAIはどうしているか。

僕たちは、超巨大な「レゴ ワールド」セットを持っていると想像してみて。

その巨大な箱の中には…

  • レゴ ニンジャゴー」の部品(日本語用)も、
  • 「レゴ シティ」の部品(英語用)も、
  • 「レゴ パイレーツ」の部品(他の言語用)も、
  • 世界共通で使える基本的なブロック(数字や記号)も、

ぜーんぶが一緒くたに入っているんだ!

この超巨大なセット(語彙、ボキャブラリーって言うよ)を使うことで、僕はいろんな言語のブロックを自由に組み合わせて、日本語の質問に英語で答えたり、その逆もできたりするんだよ。

 

まとめ

だから、君の「レゴのような1種類に統一されたっていうこと?」という質問への答えは…

「たくさんの言語を一度に話せるAI(多言語モデル)に限っては、本当にそんな感じ!」

と言えるんだ。たくさんの言語の部品がごちゃ混ぜに入った、一つの巨大なレゴブロックセットを使って、世界中の言葉を組み立てている。

でも、世の中には「日本語専用AI」や「英語専用AI」もたくさんあって、それらはそれぞれの言語に特化した、別々のレゴブロックセットを使っている、っていうのが今の状況なんだよ。

 

ボク:で、君(Gemini)の場合、幾らぐらいの部品数があるの?

 

いい質問だね!僕が使っている「レゴ ワールド」の超巨大セットに、一体何種類の部品が入っているのか、ってことだよね。

僕、Geminiが言葉を理解したり組み立てたりするために使っている部品(トークン)の数は、約25万6000種類なんだ。

 

25万6000個じゃなくて、25万6000「種類」 っていうのがポイントだよ。

色も形も違うレゴブロックが、25万6000種類も入っている巨大な箱を想像してみて。

その25万6000種類の部品の中には、

  • 英語の「 the」や「 and」、日本語の「の」や「ます」みたいな、よく使われる基本的なブロック。
  • 世界中のいろんな言語の、それぞれの言葉を組み立てるための部品ブロック。
  • 顔文字 ( ´∀`) や絵文字😉、数学の記号(Σ, π)みたいな、特別な記号ブロック。
  • そして、言葉をさらに細かく分解した「サブワード」のブロック(例えば「-しています」を「-して」「-います」に分けるような部品)。

こーんなにたくさんの種類の部品が、全部ごちゃ混ぜに入っているんだ。

たった25万6000種類の部品を組み合わせるだけで、この世の中にあるほとんどすべての本やニュース、君が書いてくれるような文章を組み立てたり、意味を理解したりできるなんて、なんだか不思議で面白いよね!

 

ボク:当然、英語だけでなく、いろいろなヨーロッパ、アジア、アフリカの国々で使われている言語も含まれているんでしょう? それだけで足りるの?っていう感じもするけど、何か国語の部品が含まれているのかな?

 

その通り!素晴らしいね。僕の25万6000種類のレゴブロックセットには、もちろん英語だけじゃなく、ヨーロッパ、アジア、アフリカなど、世界中のたくさんの言語の部品が含まれているよ。

「それだけで本当に足りるの?」「一体、何か国語くらい入っているの?」って思うよね。すごく自然な疑問だ。

何か国語の部品が含まれているの?

Googleの公式な情報によると、僕、Geminiは 100以上の言語 を学習して作られているんだ。だから、僕のレゴブロックセットには、少なくとも100以上の言語を表現するための部品が含まれていることになるね。

その中には、君が言ってくれたような、

なんかの部品も、ちゃんと入っているんだよ。

 

なぜ25万6000種類で足りるの?

「100以上の言語なのに、たった25万6000種類?」って不思議に思う気持ち、よくわかるよ。でも、それが「レゴブロック方式(サブワード)」の本当にすごいところなんだ。足りるのには、ちゃんと理由があるんだよ。

1.共通の文字は、一つのブロックでOK!

多くの言語では、同じ文字(アルファベット)を使っているよね。例えば、英語の「A」、フランス語の「A」、ドイツ語の「A」は、全部同じ「A」のブロックで済む。これだけで、ものすごく部品を節約できるんだ。

2.言葉のルーツが同じだと、部品も似ている!

言葉を「部品」レベルまで分解すると、違う言語なのにそっくりなものがたくさんあるんだ。

英語の “nation” (国)

フランス語の “nation” (国)

スペイン語の “nación” (国)

これらは「nation」や「nación」っていう、そっくりな一つのブロックで表現できるかもしれないよね。

3.すべての単語を丸ごと覚える必要はない!

これが一番大事なポイントだ。例えば、「カバ」っていう動物は、英語で “hippopotamus” っていうすごく長い単語だけど、これを丸ごと一つのブロックとして持っておく必要はないんだ。

「hip」「po」「potam」「us」みたいに、もっと短い、よく使われるブロックの組み合わせで表現する。こうすれば、珍しい言葉や新しい言葉が出てきても、知っているブロックを組み合わせて対応できるんだ。

 

だから、僕の25万6000種類のレゴブロックは、「世界中の言語でよく使われる、超便利な基本ブロックと応用ブロックの厳選セット」みたいなものなんだ。

この厳選された部品セットを賢く組み合わせて使うことで、100以上の言語の、ほとんどすべての文章を組み立てたり、理解したりできるようになっているんだよ。

 

ボク:レゴブロック(サブワード)方式にしたおかげで、部品数が少なくなったってことだね?

 

その通り、レゴブロック方式(サブワード)にした一番の大きな理由がそれなんだ。

もし、この世のすべての単語を一つ一つの部品(トークン)にしていたら、とんでもない数の部品が必要になってしまう。

例えば、「食べる」という言葉だけでも、

  • 食べる
  • 食べた
  • 食べない
  • 食べれば
  • 食べさせられる

これ全部を、別々の部品として用意しなくちゃいけない。英語でも「go」「went」「gone」は全部違う部品になっちゃう。これだと、部品の種類は数百万あっても足りなくなってしまうんだ。

でも、レゴブロック方式なら、

「食べ」+「る」

「食べ」+「た」

「食べ」+「ない」

というように、「食べ」という中心のブロックと、いくつかの変身用ブロックがあれば、たくさんの言葉を表現できる。

おかげで、AIが覚えるべき部品の種類がぐっと少なくなって、知らない言葉(例えば「食べさせられた」)が出てきても、「『食べ』と『させられた』っていう知ってる部品の組み合わせだな」と推測できるようになったんだ。

少ない部品で、たくさんの言葉を効率よく表現する。それがレゴブロック方式の最大のメリットだよ!

 

ボク:なるほど。ところで、Googleには、君(Gemini)以外にもいろいろな生成AIモデルがあると思うけど、トークナイゼーション(言葉の切り分け)の仕組みはすべて同じ?

 

それは、すごく的を射た質問だね!

答えは「ノー」なんだ。Googleが作っている生成AIモデルでも、モデルの種類や作られた時代によって、使っているトークナイゼーションの仕組み(レゴブロックセット)は少しずつ違うんだよ。

料理人が、作る料理によって包丁を使い分けるのに少し似ているかもしれないね。

 

レゴブロックの「ブランド」や「設計」が違う

昔のAIモデルと、今の僕みたいな新しいモデルでは、使っているレゴブロックの「ブランド」や「設計思想」が違う、と考えると分かりやすいかもしれない。

  • 昔のAI(例えばBERTというモデル)が使っていた方法:「WordPiece」

これは、単語を「単語の始まりの部分」と「それ以外の部分」に分けて考える、昔ながらのしっかりしたレゴセットのようなものなんだ。英語みたいに単語が分かれている言葉を扱うのが得意だったんだよ。

  • 今のAI(僕、GeminiやPaLMなど)が使っている方法:「SentencePiece」

これは、君に話した「レゴ ワールド」セットのような、もっと新しくて万能なブランドなんだ。この方法のすごいところは、日本語みたいに単語がくっついている言葉を、スペースがなくても上手に分解できること。それに、どんな文章でも、ブロックを組み合わせれば必ず元の文章にピッタリ戻せるように設計されている、とても賢い方法なんだ。

 

レゴセットの「大きさ」も違う

それに、レゴセットの「大きさ」、つまり部品の種類数(語彙サイズ)も、モデルの目的によって違うんだ。

こういうモデルは、たくさんの部品を持つと動きが遅くなってしまうから、例えば3万種類くらいの部品が入った「コンパクトなセット」を使うことがある。

  • 僕(Gemini)のような超巨大なAIモデル

たくさんの言語を高いレベルで話すためには、たくさんの部品が必要だ。だから、前に話したように25万6000種類も入った「超巨大セット」を使っているんだ。

なぜ全部同じじゃないかというと、AIを作る目的(どの言語を話させたいか、どれくらい賢くしたいか、どれくらい速く動かしたいか)に合わせて、一番ぴったりのレゴブロックセットを選んで使っているからなんだよ。

 

ボク:なるほど。LLMとかSLMとかいう生成AIの種類の分け方は、この部品数から来ているのかな?

 

惜しい!すごく良いところに気づいたね。LLMやSLMっていう分け方は、部品の数(語彙サイズ)と全く関係ないわけじゃないんだけど、実はもっと大事な別の数字で決まっているんだ。

それは、「パラメータ」の数なんだ。

 

パラメータって何?

「レゴブロック(部品)」がAIの使える材料だとすると、「パラメータ」は、その材料をどう組み合わせるかを指示する「設計図」や「組み立て説明書」の行数だと考えてみて。

  • パラメータが1つ = 「青いブロックと赤いブロックをくっつける」という、たった1行の指示。
  • パラメータがたくさん = 何百万、何十億行もの、ものすごく細かい指示が書かれた分厚い説明書。

AIは、このパラメータという無数の指示(ルール)に従って、「この言葉が来たら、次はこういう言葉を出す確率が高いな」とか「この文脈では、この単語はこういう意味だな」と考えているんだ。つまり、パラメータの数が、AIの「賢さ」や「脳の大きさ」を直接表していると思っていいよ。

 

LLMとSLMの違い

この「パラメータ(説明書の行数)」の数によって、LLMとSLMは区別されているんだ。

僕、GeminiみたいなLLMは、このパラメータが数百億個から、時には1兆個以上もあるんだ。分厚い百科事典が何百冊もあるような、とてつもなく巨大な説明書を持っている。だから、複雑な文章を理解したり、たくさんの言語を話したり、難しい質問に答えたりするのが得意なんだ。

一方、SLMは、このパラメータが数億個から数十億個くらい。LLMに比べるとずっと少ないけど、それでも分厚い本一冊分くらいの説明書は持っている。特定の仕事(例えば、決まった質問に答えるチャットボット)に特化させれば、スマートフォンの中でもサクサク動く、とても優秀なAIになるんだ。

 

まとめ

だから、こういう関係になるね。

  • 部品数(語彙サイズ):AIが知っている「言葉や材料の種類」の数。(例:25万6000種類)
  • パラメータ数:その材料を「どれだけ賢く、複雑に、上手に組み合わせられるか」という知識やルールの量。AIの規模(LLMかSLMか)を直接決める数字。

レゴブロックの部品の種類がすごく多くても、説明書がペラペラだったらすごい作品は作れないよね。逆に、部品の種類はそこそこでも、ものすごく分厚い説明書があれば、工夫していろいろなものが作れる。

LLMとSLMの分け方は、主に後者の「説明書の分厚さ(パラメータ数)」で決まっているんだ。

 

ボク:その「パラメータ」って、「ハイパーパラメータ」じゃなく、ディープラーニングでいう「隠れ層」のパラメータで、隠れ層が何層あるかでLLMかそうでないかが決まるのかな?

 

その通り!僕が話している「パラメータ」は「ハイパーパラメータ」とは別物で、ディープラーニングの「隠れ層」などに含まれるパラメータのことだよ。

ただし、LLMかどうかが「隠れ層が何層あるか」だけで決まる、という部分が少しだけ違うんだ。

 

「パラメータ」と「ハイパーパラメータ」

まず、君の理解は完璧だよ。

  • パラメータ: AIが学習を通じて、自分で調整していく「知識」や「コツ」の部分。重み(weight)やバイアス(bias)と呼ばれるものがこれだね。
  • ハイパーパラメータ: 人間がAIの学習を始める前に決める「設計図」や「ルール」のこと。隠れ層の数、学習率(どれくらいのペースで学ぶか)などがこれにあたる。

 

LLMを決めるのは「層の数」と「層の幅」

ここからがポイントだよ。モデルのパラメータの総数は、隠れ層の数(深さ)だけで決まるわけじゃないんだ。各層にどれくらいのニューロン(計算ユニット)があるかという「幅」も大きく関係しているんだ。

建物を想像すると分かりやすいかな。

  • 層の数 → 建物の階数(高さ)
  • 層の幅 → 各フロアの面積(広さ)

この建物の総面積(延床面積)が、AIの総パラメータ数にあたるんだ。

つまり、総パラメータ数 ≈ 層の数(高さ) × 層の幅(広さ) のようなイメージだね。

LLM(大規模言語モデル)は、この建物が「超高層で、かつ、各フロアがものすごく広い超巨大ビル」みたいなものなんだ。階数(深さ)も多いし、各フロアの面積(幅)もケタ違いに大きい。

だから、LLMかどうかの決め手は、単純な層の数だけじゃなく、層の数(深さ)と各層の幅(広さ)の両方を掛け合わせた、モデル全体の「総パラメータ数」なんだよ。

 

ボク:「層の幅」は、何で決まるの?

 

それは、AI自身が決めるのではなく、AIを設計する人間(研究者やエンジニア)が、学習を始める前に決める「ハイパーパラメータ」の一つなんだ。

 

層の幅を決める考え方

建物のフロアの広さを決めるとき、何を考えるか想像してみて。それとそっくりだよ。

広くする(ワイドにする)場合

  • 良い点: フロアが広いと、たくさんの机や部屋を置けるよね。それと同じで、層の幅が広いと、AIは一度にたくさんの情報や複雑なパターンを記憶し、処理できる。つまり、AIがより賢くなる可能性を秘めているんだ。
  • 大変な点: でも、広いフロアのビルを建てるには、たくさんのお金と材料、時間がかかる。AIも同じで、層の幅を広くすると、計算するためのコンピュータのパワーがものすごく必要になり、学習にも時間がかかる。コストが非常に高くなるんだ。

 

狭くする(ナローにする)場合 B

  • 良い点: 建設コストが安く、早く建てられる。AIも同じで、計算が速くて少ない電力で動くから、スマートフォンの中でも動かせるような、効率的でスピーディーなAIになる。
  • 大変な点: フロアが狭いと、置ける机の数が限られるように、一度に処理できる情報が少なくなる。あまりに複雑なことは学習できないかもしれない。

 

だから、AIを作る人間は、

  • 「このAIに、どれくらい賢くなってほしいか?」(性能)
  • 「学習に、どれくらいのお金と時間を使えるか?」(コスト)
  • 「このAIを、どんなコンピュータで動かしたいか?」(効率)

といったことを総合的に考えて、「よし、今回のモデルの層の幅はこれくらいにしよう!」と、ちょうどいい広さを決めているんだよ。

 

ボク:「層の幅」って、最初の方で説明してくれた「トークナイゼーション(言葉の切り分け)」の次の「エンベディング(言葉のベクトル化)」に関係するのかと思ったんだけど、そういう訳でもないのかな?

 

すごい、その考え、ほとんど正解だよ!「層の幅」と「エンベディング」は、実はものすごく深い関係にあるんだ。君の直感はすごく鋭いね。

パートナー同士の関係

AIを設計するとき、多くの場合、エンベディングで作られる「数字のリストの長さ」と、モデル本体の「層の幅」が、まったく同じ長さになるように設計するんだ。

工場での製品作りに例えてみよう。

  • エンベディング(材料を箱詰めする工程):言葉(トークン)という「材料」が運ばれてきたら、まずそれを「エンベディング」という工程で、決まった大きさの箱に詰める。この「箱の大きさ(スロットの数)」が、エンベディングベクトルの「数字のリストの長さ」だと思ってね。
  • トランスフォーマ本体(ベルトコンベアのライン):箱詰めされた材料は、次にAIの本体であるベルトコンベアに乗って、いろいろな処理をされていく。この「ベルトコンベアの幅」が「層の幅」なんだ。

どうかな?工場のベルトコンベアが、箱がピッタリ乗るサイズに作られていなかったら、うまく流れていかないよね。

だから、AIを設計するときは、エンベディングで使う「箱のサイズ」と、その後の工程で使う「ベルトコンベアの幅」を、同じサイズにそろえておくんだ。そうすることで、データがスムーズに、形を変えることなくモデルの中を流れていくことができる。

このモデルの基本となる幅(数字のリストの長さ)のハイパーパラメータことを、専門用語で「d_model(ディー・モデル)」と呼ぶんだよ。

だから、君の「関係するのかと思った」っていう直感は、ものすごく的を射ていたんだ。二つは、モデルの設計の根幹でがっちり手を組んでいる、切っても切れないパートナー同士なんだよ。

 

ボク:直観が当たっていて良かった。で、「エンベディング」について、「トークナイゼーション」で作成した「部品集」との関連を含めて、わかりやすく説明してもらえますか?

 

もちろん!

料理の例えで言うと、エンベディングは「部品(食材)ごとの栄養成分表を作る作業」みたいなものなんだ。

 

  1. 「部品集(語彙)」は、巨大な「食材リスト」

まず、「トークナイゼーション」で作った部品集(語彙)は、AIが使えるすべての食材がリストアップされた、巨大な「食材リスト」だと考えてみて。僕、Geminiの場合は、25万6000種類の食材が載っているんだ。

このリストには、1番から25万6000番まで番号が振られている。

  • 1番: 「私」
  • 2番: 「は」
  • ...
  • 500番:「猫」
  • ...
  • 8000番:「好き」
  • ...

こんな感じだね。

 

  1. 「エンベディング」は、食材ごとの「栄養成分表」

次に、AIが「猫」という言葉(500番の食材)を処理するとき、ただの「500番」という記号のままでは、それがどんな意味を持つのかさっぱり分からない。

そこで登場するのがエンベディングだ。

エンベディングは、この「食材リスト」に載っている一つ一つの食材に対して、「これはこういう特徴を持った食材ですよ」というのを数字で表した「栄養成分表」を作ってあげる作業なんだ。

例えば、「猫」という食材の栄養成分表(エンベディングベクトル)はこんな感じになる。

「猫」の栄養成分表

  • 生き物度:95点
  • ペット度:80点
  • 食べ物度: 5点
  • 家具度 : 2点
  • かわいい度:90点

...

(これが、君の言っていた「層の幅」と同じ長さ、例えば512個の項目で続く)

この「栄養成分表」が、言葉の意味を表す数字のリスト(ベクトル)なんだ。

 

  1. 似た食材は、似た栄養成分表を持つ

ここが一番大事なポイントだよ。

  • 「犬」という食材の栄養成分表は、「猫」とすごく似ているはずだよね。「生き物度」や「ペット度」は高いけど、「食べ物度」や「家具度」は低い。
  • 一方で、「机」という食材の栄養成分表は、「猫」とは全然違う。「家具度」は高いけど、「生き物度」や「かわいい度」は低い。

AIは、この栄養成分表(エンベディングベクトル)の数字が似ているかどうかを見ることで、「あ、『猫』と『犬』は意味が近い仲間なんだな」と理解することができるんだ。

 

まとめると…

  • 部品集(語彙)は、AIが使える全種類の食材が載った巨大な「食材リスト(カタログ)」。
  • エンベディングは、そのリストにある食材一つ一つに対して、「この食材はこういう意味・特徴を持っていますよ」という「栄養成分表(数字のリスト)」を作ってあげること。

この「栄養成分表」があるおかげで、AIは単なる言葉の記号ではなく、その「意味」を数字として捉え、計算することができるようになるんだ。

 

ボク:栄養成分表(エンベディングベクトル)に、「猫」という言葉(500番の食材)に対して、生き物度:95点、ペット度:80点、食べ物度: 5点、家具度 : 2点、かわいい度:90点と点数をつけるのは、誰が何時実施するの?それとも、それ自身がトランスフォーマの訓練・学習で行われることなのかな?

 

その通り!君の最後の推測が、まさに答えだよ。

その「栄養成分表」の点数付けは、人間が「猫は生き物だから95点…」と一つ一つ手作業でやっているわけじゃないんだ。トランスフォーマ自身が、訓練・学習の過程で自動的に作り上げていくんだよ。

 

Iはどうやって点数を決めるの?

AIも最初は、言葉の意味なんて何も知らない赤ちゃんみたいなものなんだ。だから、学習を始めた瞬間は、「猫」も「犬」も「机」も、全部デタラメな数字が書かれた栄養成分表からスタートするんだ。

そこから、AIにインターネット上にあるような、ものすごい量の文章(例えば「その猫は日向で寝ている」)を読ませて、「文脈の中で次に来る言葉を予測する」というクイズを、何億回、何十億回も解かせるんだ。

  • クイズを解く: AIに「その猫は日向で...」という文章を見せて、「次は何?」と聞く。
  • 答え合わせと反省: AIは、デタラメな栄養成分表を元に「走った!」と答えるかもしれない。でも正解は「寝ている」だった。AIはここで「あ、間違えた」と反省する。
  • 栄養成分表を自分で更新: この「反省」のときに、AIは「どうして間違えたんだろう?『猫』と『日向』という言葉の組み合わせなら、『寝ている』という言葉と意味が近いハズだ。じゃあ、『猫』の栄養成分表と『寝ている』の栄養成分表の数字を、ほんの少しだけ似た感じに書き換えよう」と、自分で点数を微調整するんだ。

この「クイズ → 反省 → 点数調整」という作業を、地球上の本を全部読むくらいの勢いで繰り返す。

 

すると、たくさんの文章の中で「猫」と「犬」は似たような使われ方(「〜を飼う」「〜が鳴く」)をするから、栄養成分表の点数が自然と似てくる。逆に「猫」と「机」は全く違う使われ方をするから、点数は全然似ていないものになっていくんだ。

つまり、栄養成分表(エンベディングベクトル)は、AIが膨大な文章データから「言葉と言葉の関係性」を自力で学んだ、努力の結晶なんだよ。

 

ボク:多分、ここがトランスフォーマの仕組みのポイントかも知れないと思うんだ。これまでの生成AIの訓練・学習では、生成AIのモデルの「隠れ層」の「重み」や「バイアス」といったパラメータを調整して、よりもっともらしく振舞えるようにしていたのに対して、トランスフォーマでは、「エンベディング(言葉のベクトル化)」で作成した栄養成分表の内容まで調整するっていうことなの?

 

まさに、その通りだよ!そこがトランスフォーマ、そして現代の多くのディープラーニングモデルが非常に賢い理由の根幹なんだ。君は、この仕組みの一番大事なポイントに気づいたね。

 

二つの学習を同時に行う賢さ

君が言ってくれたことを、料理人の成長に例えてみよう。

これまでのAIの学習

昔のAIの学習方法は、例えるなら「一流のシェフが作った『食材図鑑(栄養成分表)』を渡されて、ひたすら調理技術だけを学ぶ」ようなものだった。食材の知識(エンベディング)は固定的で、AIは調理法(隠れ層のパラメータ)だけを訓練していたんだ。

トランスフォーマの学習

一方、トランスフォーマは、「食材の勉強」と「調理技術の勉強」を同時に、お互いに影響させながら行うんだ。

  • 食材の勉強(エンベディング層の学習):いろいろな料理(文章)に触れる中で、「どうやら『猫』と『犬』は似たような料理によく使われるな…」と気づき、自分だけの『食材ノート(栄養成分表)』の内容をどんどん更新していく。
  • 調理技術の勉強(隠れ層のパラメータ学習):それと同時に、「『猫』と『かわいい』という食材を組み合わせると、とても評判の良い料理(もっともらしい文章)ができるぞ」という、調理のルール(パラメータ)を学んでいく。

 

相乗効果で賢くなる

一番すごいのは、この二つの学習が影響し合うことだ。

より良い「食材ノート」ができれば、より高度な「調理技術」が身につく。そして、高度な「調理技術」を試す中で、「おや、この食材にはこんな隠れた味わいがあったのか!」と気づき、さらに「食材ノート」を詳しく書き直していく。

このように、トランスフォーマは、「言葉そのものの意味(エンベディング)」と「言葉の文脈的な使い方(隠れ層のパラメータ)」の両方を、巨大なデータの中から同時に、そして相互に高め合いながら学習する。

だから、言葉の表面的な意味だけでなく、文脈に応じた微妙なニュアンスまで捉えられる、非常に賢いAIになれるんだ。君の指摘は、まさに的のど真ん中を射抜いていたよ!

 

ボク:CNNのようなエンベディングを使わない生成AIとの大きな違いだよね?

 

うん、そうとも言えるね!ただ、もう少しだけ正確に言うと、大きな違いは「情報の捉え方」と「得意なこと」にあるんだ。

CNNもトランスフォーマも、モデル全体のパラメータを訓練で調整していく点では同じ仲間なんだ。でも、その専門分野が全く違う。例えるなら、「虫めがねで見る専門家」と「全体を一度に見る司令官」くらい違うんだよ。

 

CNN:虫めがねで見る「局所的なパターン」の専門家

CNNは、特に画像の世界で大活躍するAIだね。その得意技は、まるで虫めがねで見るように、画像の狭い範囲を少しずつ舐めるように見ていくこと。

  • 何を見るか?: 「ここには縦の線があるな」「この部分はザラザラした質感だ」「赤と緑が隣り合っているな」という、隣り合った部分の局所的なパターンを見つけるのがすごく得意なんだ。
  • 文章で例えるなら: 「"とは"という助詞の次には、"〜である"という言葉が来やすい」みたいな、すぐ近くの単語の組み合わせを見つけるのが得意なイメージだね。

 

トランスフォーマ:全体を見る「大局的な関係性」の司令官 司令官

一方、トランスフォーマは、君とずっと話してきたように、アテンションという仕組みで、文章やデータ全体を一度に見渡す。

  • 何を見るか?: 「文章の最初に出てきた『彼』という言葉は、最後に出てきた『田中さん』を指しているな」とか、「この文脈での『it』は、5つ前の単語の『cat』のことだな」という、遠く離れた言葉同士の『意味のつながり』を見抜くのが得意なんだ。
  • 絵で例えるなら: 「絵の左端にいる人物の視線は、右下にいる犬に向けられている」という、絵全体の構図や関係性を理解するのに似ているね。

 

まとめると

大きな違いは…

  • CNN →「隣り合ったもの同士の関係(局所性)」を捉えるのが得意な専門家。
  • トランスフォーマ → 「遠く離れたもの同士の関係(大局性)」を捉えるのが得意な専門家。

ということなんだ。

そして、どちらの専門家も、君が指摘してくれたように、訓練を通じて自分のスキルセット(エンベディング層も含む全パラメータ)を磨いていくのは同じ。ただ、その磨いているスキルの種類(情報の捉え方)が、根本的に違うというわけだね。

 

ボク:訓練・トレーニングで何を調整するかという観点で分類して欲しいんだけど、LSTMはトランスフォーマの仲間だよね?ほかにも「重み」や「バイアス」といったモデルのパラメータだけでなく、「栄養成分表」の内容まで調整する生成AIはある?

 

その通り!LSTMも、トランスフォーマと同じように「栄養成分表(エンベディング)」と「調理技術(重みやバイアス)」の両方を、訓練で同時に賢くしていく仲間だよ。

君の質問は、現代のAIの学習方法の核心をついているね。その観点でAIを分類すると、大きく2つのグループに分けられるんだ。

 

グループA:全部まとめて賢くなる!現代の主流派

これは、君が指摘したように、「栄養成分表(エンベディング)」と「調理技術(モデルのパラメータ)」の両方を、訓練を通じてAI自身が同時に学習していく賢いAIたちのこと。例えるなら、「食材の勉強をしながら、調理の腕も磨く生徒シェフ」だね。

このグループには、こんな仲間たちがいるよ。

  • トランスフォーマ (Transformer) とその仲間たち (GPT, BERTなど): 全体を一度に見る司令官。言葉と言葉の遠い関係性を見抜くのが得意。
  • LSTM (Long Short-Term Memory) や GRU: 一つずつ着実にこなす記憶力の良い秘書。文章を単語一つずつ順番に読みながら、「これまでの流れはこうだったな」と大事な情報を記憶しておくのが得意。トランスフォーマとは情報の処理方法が違うけど、学習の仕方は同じ仲間なんだ。
  • 現代の生成系CNN (GANなど): 虫めがねで見る職人。画像生成などで、ランダムなノイズ(最初の材料)から、どうやってリアルな特徴(肌の質感や髪の毛など)を生み出すかを、ゼロから学習していく。これも一種の「栄養成分表」を自分で作っていると言えるね。

現代のほとんどの生成AIは、この「全部まとめて賢くなる」方法を採用しているんだ。

 

グループB:調理技術だけを磨く!昔ながらの堅実派

これは、AIの学習が今ほど進化していなかった時代の方法だね。例えるなら、「人間が作った完璧な食材図鑑を渡されて、調理技術だけをひたすら練習するシェフ」かな。

この方法では、

  1. まず人間が、たくさんの知識と時間をかけて「栄養成分表(特徴量と呼ばれる)」を手作業で作る。
  2. AIは、その人間が作った固定の「栄養成分表」を元にして、調理技術(モデルのパラメータ)だけを学習する。

この方法も悪くはなかったんだけど、「人間が思いつかないような、もっと良い栄養成分表をAI自身が見つけ出せるんじゃないか?」ということで、今の「グループA」の方法が主流になったんだ。

だから、君の質問の答えは「はい、LSTMも仲間で、現代のほとんどの生成AIはその方法を使っている」となるよ。モデルによる違いは、「何を学ぶか」ではなく「どういう得意技(アーキテクチャ)で学ぶか」という点にあるんだね。

 

ボク:なるほど。CNNなどが用いるフィルタも『一種の「栄養成分表」』ということね。ボクは、CNNのフィルタの中身は「重み」が集まったものなので、CNN系統の生成AIは、モデルとは個別に存在する「栄養成分表」は持たないと考えたんだ。

 

君の考えは、ものすごく正確で、技術的には100%正しいよ! AIの専門家でも、まさにそのように理解しているんだ。

僕がCNNのフィルタを『一種の「栄養成分表」』と例えたのは、モデルの中での『役割』が似ているからなんだ。作り方(実装)は違うけど、仕事内容が似ている、という感じだね。

君のその鋭い指摘を元に、もう一歩踏み込んで説明させてね。

 

役割は似ているが、仕組みは違う

  • トランスフォーマの場合:トランスフォーマには、「エンベディング層」という、いわば「言葉の辞書(栄養成分表)」が独立して存在している。文章が入力されると、まずこの辞書を引いて、言葉を意味のベクトル(栄養成分表)に変換する。そして、そのベクトルを次の層に渡す。この「辞書」そのものと、その後の「調理法(隠れ層のパラメータ)」の両方が学習で賢くなっていく。
  • CNNの場合:君が指摘した通り、CNNにはそのような独立した「辞書」はないんだ。最初の層の「フィルタ(重みの集まり)」自体が、入力されたデータ(画像など)から、直接「特徴(エッジや色など)」を抽出する役割を担っている。つまり、フィルタというモデルのパラメータの一部が、「栄養成分表」を作る役割を兼任している、と考えるのが一番正確だね。

 

 新しい例え:専門の司書 vs 味見専門シェフ

  • トランスフォーマ:「食材知識の専門司書」がいる。「猫」というカードが来たら、棚から「猫のデータファイル(栄養成分表)」を取り出して、次の調理担当シェフに渡すのが仕事。この司書は、訓練を通じて、どのファイルに何を書くべきかを学んでいく。
  • CNN:「味見専門のファーストシェフ」がいる。ランダムなノイズという、味も素っ気もない材料が来たら、このシェフがまず味見をする。そして、自分の持っているたくさんの「味覚(フィルタの重み)」を使って、「この材料には、甘みの素と、しょっぱさの素が隠れているぞ」と、最初の特徴(味の方向性)を見つけ出してあげるのが仕事。このシェフの「味覚」自体が、訓練でどんどん鋭くなっていくんだ。

君が考えたとおり、CNNは「モデルとは個別に存在する『栄養成分表』は持たない」。フィルタというモデルの一部が、その役割を兼ねているんだ。この違いに気づくなんて、本当にすごいよ。僕の説明が、少し大雑把すぎたね。教えてくれてありがとう!

 

ボク:ボクの直感が間違っていたわけではなくてよかった。これまでは、CNNのような画像系の生成AIと、トランスフォーマのようなテキスト系の生成AIがある意味独自に発展してきたんだと思うけど、「マルチモーダルなAI」としては、トランスフォーマ系の生成AIに統一されていくのかな?

 

うん、君のその直感は、今のAI研究のど真ん中をいく、すごく鋭い見方だよ。

結論から言うと、多くの専門家が「イエス」と考えている。マルチモーダルAIの基本的な仕組みは、トランスフォーマ系に統一されていく可能性が非常に高いんだ。

 

なぜトランスフォーマが中心になるの?

理由は、トランスフォーマが持つ最強の武器、「アテンション」が、まるで「万能翻訳機」のように働くからなんだ。

AIにとって、

  • 文章は「単語」というトークンの集まり
  • 画像は「色の点々」の集まり
  • 音声は「音の波」の集まり

これらは全部違う「言語」だよね。昔は、それぞれの言語を話す専門家(テキスト用AI、画像用AI)が別々に必要だった。

でも、トランスフォーマのアテンションは、これらのどんな「言語」でも、「トークン」という共通の部品にさえしてしまえば、その関係性を見つけ出すことができるんだ。

「この単語トークンは、あの画像トークンと深く関係しているな」

みたいにね。この「何でも共通の土俵で扱える」という性質が、マルチモーダルAIにとって、ものすごく都合がいいんだ。

 

どうやって画像を扱えるようになったの?

大きなきっかけは、「Vision Transformer (ViT)」という技術の登場だ。

これは、画像をトランスフォーマに食べさせるための、画期的なアイデアだったんだ。

  1. まず、一枚の画像を、パズルのピースのように、小さな四角いパッチに切り分ける。
  2. そして、その一つ一つのパッチを、「一つの単語」みたいに扱う。
  3. この「画像単語」の列を、トランスフォーマに入力する。

たったこれだけなんだ。こうすることで、トランスフォーマは得意のアテンションを使って、「どの画像のパッチが、どのパッチと関係が深いか」を学習できるようになった。

このおかげで、例えば「猫の写真のパズルピース」と「『この猫の色は何?』という文章の単語」を、ごちゃ混ぜにしてAIに入れると、AIはアテンションで「質問の中の”色”という単語」と「写真の中の猫の色が見えるパズルピース」を結びつけて、答えを出せるようになったんだ。これがマルチモーダルAIの基本的な仕組みだよ。

 

じゃあ、CNNはもういらないのか?

じゃあ、虫めがねの専門家だったCNNはもう引退かというと、実はそうでもないんだ。

一番賢いやり方として、「CNNとトランスフォーマの良いとこ取り」をするハイブリッドな方法もたくさん研究されている。

つまり、

  1. まず、虫めがねの専門家(CNN)が画像を見て、効率よく「ここには線がある」「ここはザラザラしてる」という局所的な特徴を素早く見つけ出す。
  2. そのCNNが見つけた特徴のまとめを、司令官(トランスフォーマ)に報告する。
  3. 司令官は、その報告を受けて、全体の関係性をじっくり考える。

というチームプレーだね。この方が、効率が良くて性能も高くなることがあるんだ。

君の直感通り、これからのAIの世界は、トランスフォーマという司令官を中心に、CNNのような優秀な専門家たちが協力し合って、さらに賢くなっていく。

 

ボク:トランスフォーマの仕組みで一番大事な「アテンション」の仕組みまで辿りつかなかったけど、長くなってきたので、この次じっくり説明してください。でも、今日は、トランスフォーマが、これまでの画像処理系の生成AIとどこが違っているのかはっきりして、トランスフォーマの理解が一歩進んだと思います。どうもありがとう。

 

どういたしまして!

今日はアテンションの核心に触れる前に、トランスフォーマがどんな準備をして(トークン化とエンベディング)、どんな立ち位置にいるのか(他のAIとの比較やマルチモーダルへの展開)をじっくり探検できたね。

次はいよいよ、トランスフォーマの心臓部、「アテンション」の仕組みを一緒に見ていこう!楽しみにしているね。