見出し画像

【AIとの距離感】全部を一度に見る|Transformer

この記事はRNN・LSTMの話を読んでいるとより理解しやすくなっています。
はじめての方は先にこちらをどうぞ。


まず、前回の練習問題の答えから。

前回の問いはこちらでした。

LSTMに登場する「忘却ゲート」の役割として正しいものはどれでしょう?
A. 新しい情報を取り込む量を決める
B. 古い情報をどのくらい捨てるかを決める
C. 次のステップに渡す情報を選ぶ
D. 文章全体を一度に見渡す

正解は B. 古い情報をどのくらい捨てるかを決める でした。

重要な情報だけを選んで残し、不要なものは手放す。覚え方を学ぶ、という発想が面白かった話でしたね。参加してくださったみなさん、ありがとうございました。


📖 順番に読む、の限界

RNNは前の情報を引き継ぎながら順番に読む仕組みでした。LSTMはそこに「何を覚えて何を忘れるか」の判断を加えました。

でも、どちらも「順番に読む」という構造は変わっていませんでした。

文章を1単語ずつ処理していくので、離れた位置にある単語の関係を捉えるのが難しい。「彼女は去年の春に出会った人のことを、今でも思い出す」という文章で、「彼女」と「思い出す」が結びついていると理解するには、かなり遠い距離を記憶で橋渡しする必要があります。

それに、順番に処理するということは、並列で計算しにくいということでもあります。コンピューターの性能をフルに活かせない。

「じゃあ順番に読まなければいいのでは」という発想が出てくるわけですが、最初にそれを読んだとき「そんな単純な話なのか」と少し拍子抜けしました。


🔭 Transformerとは何か

Transformer(トランスフォーマー)は、文章を順番に読むのをやめた構造です。つまり、文章全体を一度に見渡して、どの単語とどの単語が関係しているかを同時に判断する仕組みです。

「Attention Is All You Need」という論文タイトルで2017年に発表されました。日本語にすると「必要なのはAttentionだけ」。少し挑発的なタイトルだな、と思いました。「Attentionって何だ」というのはまた次の記事で追います。

順番に読まないので、最初の単語と最後の単語の関係も、距離に関係なく直接考えられます。並列処理もしやすくなった。これが、のちにChatGPTやClaudeのような大規模言語モデルを生み出す土台になりました。

「順番に読む」という前提を疑ったことで、言語AIの世界が大きく変わりました。


🏗️ EncoderとDecoder

ここは少しだけ複雑です。でもここを知っておくと、ClaudeやChatGPTが「どういう構造で動いているか」がぐっと見えやすくなります。

Transformerの内部は、EncoderとDecoderという2つの部品で構成されています。

Encoderは、入力された文章を「意味の塊」に変換する部品です。つまり、文章を受け取って、その内容を機械が扱いやすい形に圧縮する役割を持ちます。

Decoderは、その「意味の塊」を受け取って、出力を生成する部品です。一言でいうと、Encoderが「理解」を担当して、Decoderが「生成」を担当する、という分業です。

翻訳タスクを例にすると、Encoderが日本語の文章を読んで意味を掴み、Decoderがその意味から英語の文章を生成する流れになります。

ここで「じゃあ今使っているClaudeはどっちを使っているんだろう」と気になって調べたら、DecoderだけでEncoder部分は使っていない、とわかりました。なんで片方だけでいいのか、という疑問は出てきましたが、そこまで追うと今回は収拾がつかなくなりそうで、いったん置いています。


🤔 並列処理って何がうれしいのか

Transformerのもうひとつの特徴として「並列処理しやすい」という話が出てきます。つまり、複数の計算を同時に走らせられるので、GPUのような高性能な計算機の性能をフルに活かせる、ということです。

RNNやLSTMは順番に処理するため、前の計算が終わらないと次に進めません。Transformerは文章全体を一度に見るので、多くの計算を同時に進められる。

これが「大量のデータで大規模なモデルを学習させる」ことを現実的にした理由のひとつだそうです。GPUと相性がよかった、というのが思わぬ鍵だったらしく、最初に読んだとき「そういう話もからんでくるのか」と少し遠い目になりました。

並列処理のあたりは、わからなくても大丈夫です。「Transformerはまとめて処理できるから速い」くらいで十分先に進めます。


🚶 次の話へ

Transformerの中心にある仕組みが、次回扱うAttentionです。「全体を一度に見渡す」を実際にどうやって実現しているのか、そこを追います。

今回はTransformerの「構造と発想」を掴むところまでで止めておきます。Attentionまで一緒に追うと、たぶん頭がパンクする。段階を踏んでいきます。

ま、いっか。


練習問題

Transformerが登場以前のRNNやLSTMと大きく異なる点はどれでしょう?

A. 重みを使わずに学習する
B. 文章を順番に読まず、全体を一度に処理する
C. 画像と文章を同時に扱える
D. 人間がルールを書いて与える

正解は次回の冒頭で発表します。


あとがき

ここまで読んでくださり、ありがとうございます。

ちょっとはわかりやすくなってきたかな?
まだまだ試行錯誤中ですが、ご意見ご要望がありましたらいつでもお申し付けください〜。

「フォロー」や「スキ」をしていただけると励みになります!
今後ともよろしくお願いします!





いいなと思ったら応援しよう!

緑どんぐり 気に入っていただけたら、チップで応援してもらえると嬉しいです。 いただいた応援は、今後の記事作りの励みになります!

この記事が参加している募集