If AI may show you… ~古着屋『AI倉庫』~

あるユーザー(U)が、自分の書いた文章をAIに点検してもらうとき、AIは何をしているのでしょう。トークン? アテンション? AIの専門用語とその中身を、古着屋のコーディネートという一つのたとえだけで説明してみます。

服の入った箱が届く

AI倉庫は、コーディネートもしてくれる、大きな古着屋です。ある日、Uから「私の服のストックを送るのでコーディネートしてほしい。不足があれば、お店の商品を提案して」という依頼とともに、服の入った箱が届きました。この箱が、ユーザーからAIに送られてくるチャット(文章)にあたります。

箱から取り出し、並べる

服一着は、文章の中の一つひとつの単語(に近いもの)に相当し、トークン(token) といいます。AIは、まず箱を開けて、服を一着ずつ取り出します。文章を単語に分割する作業に相当します。これを行うのが トークナイザー(tokenizer)です。

次に、取り出した服に「色は茶」「素材は薄手」「丈は短め」といった特徴のタグを付けて、テーブルに並べていきます。これがエンベディング(embedding)、単語を計算できる形(数値)に変える作業です。あとで店員が服どうしの関連を判断できるのは、この特徴づけがされているからです。ただし、このタグは仮のものです。同じ薄手のシャツでも、隣にサンダルが並ぶか革靴が並ぶかで、後から「夏服」にも「式典用」にも書き換わります。

昔のやり方は「一着ずつ」

服の処理は、昔はこんなやり方でした。Aさんが箱を開けて服を一着取り出し、茶色の服ならBさんに渡す。Bさんは、それが薄手ならCさんに渡す。Cさんは、丈が短めならDさんに渡す——という具合に、一着ずつ順番に処理していたのです。これでは時間も手間もかかりすぎます。そこで「やり方を変えよう」ということになりました。

今は「全部を並べて、一斉に見渡す」

新しいやり方は、まず全部をテーブルに広げ、店員みんなで一斉に全体を見渡す、という方法です。ひとつひとつ順番に処理するより、ずっと速く仕事が進みます。そのために、店のスペースやテーブルの配置も大きく変えることになりました。

やり方が変わったことで、昔と今では、なにが変わったのでしょう。

たとえば、あるTシャツは、ビーチサンダルやショートパンツと強く関連づければ「海で着る服」、カーディガンやアクセサリーと関連づければ「室内で着る服」になります。同じ服でも、周りのどれと強く関連づけるかで、在り方が変わるのです。これはひとつひとつ順に処理していたのではできないことです。

この新しくなった店全体の仕組みをトランスフォーマー(Transformer)、その中心となる「全体を見渡して関連を見つける」やり方を アテンション(Attention)、お店の作りのことをアーキテクチャ(Architecture)といいます。

服どうしの関連を読み取る

今のAI倉庫の仕事の進め方を細かく見ていきましょう。

まず服の入った箱の中身全部をテーブルに広げます。店員みんなで一斉に全体を見渡し、一着ごとに「この服はあの服を強く参考に、その服は少しだけ参考に」という関連の度合いを決めていきます。一着一着の意味を、周りの服との関係から捉え直しているのです。これがアテンションです。一着ずつ処理して次の人に……ではないところが、昔のやり方との大きな違いです。下の絵で服と服を結んでいる線は、この「服どうしの関連の度合い」を表しています(関連が強いと判断されたものほど線が太い)。

繰り返し行われる「関連付け」

この「全体を見渡して関連付ける」作業は、一回で終わりではありません。同じ作業を何段もくり返すことで、関連付けがだんだん深まっていきます。最初はざっくりとした見立てだったものが、くり返すうちに、一着一着の意味がより細かく、より正確に捉えられていくのです。下の絵で、Aの段階ではまばらだった関連が、B、C、Dと段階を経るごとに密になっていく様子を見てください。このように関連付ける作業を何段も積み重ねているのが、トランスフォーマーという仕組みです。

「選ぶ、組み合わせる、見直す」を繰り返す

ここからは、読み取った内容をもとに返事(コーディネート)を組み立てる話に移ります。

こうして店員は服を見比べ、関連付けを検討します。「白いワイシャツやポロシャツが多いな」。店員がこれまでの訓練で身につけた判断基準に照らすと、「Uは『夏に仕事に着ていく服』を求めている」と判断します。

この判断をもとに、AIはコーディネート(返事)を組み立てていきます。ここで大事なのは、ある完成形が最初からAIの中にあって、それに近づけていくのではない、という点です。次の一着を、その都度決めながら、少しずつ組み合わせを決めていくのです。

たとえば「白いTシャツ」に続く服の候補は、一つではありません。「麻のジャケット」は可能性が高い、「ライダースジャケット」もありえなくはない、「ウールのコート」はまずない——と、候補それぞれに「ふさわしさの度合い」がつき、その中から一着を選びます。

そして、ここが肝心です。一着選ぶごとに、AIはそれまで並べた服をぜんぶ見渡し、その流れに合う次の一着を足します。すでに置いた服は動かしません。この「並んだ服を見渡しては一着足す」のくり返しを 自己回帰 といいます。ここが、一着を次の人へ渡したらそれきりだった昔のやり方と、まったく違う所です。

こうしてコーディネートが最後まで出来上がると、「こんな感じは、いかがでしょうか」とUに提案(返信)されるのです。

AIは「服」ではなく「語」を組み合わせている

ここまで「服」で説明してきましたが、実際にAIが処理しているのは一着一着の服ではなく、文章の中の一語一語(トークン)です。

そして、単語を一つずつ順番に処理するのではなく、文章全体を一気に見渡して、どの単語とどの単語の関係が深いかを見つけ出す(語どうしの関連を数値化する)のがアテンションです。2017年にGoogleの研究者たちによって提唱された方法で、今の主要な言語AI(ChatGPT、Claude、Geminiなど)は、このアテンションを何段もくり返して言葉を処理し、チャットを返しています。

◇ ◇ ◇ ◇ ◇ ◇ ◇

ちなみに、このAI倉庫、店員の判断基準は、オープン前の訓練期間に完成し、オープン後は変わることはありません(変わるとしたら、リニューアル=バージョンアップ後)。店員は、膨大な量のデータを記憶しているのに、さっき来店したあなたのことは、ちっとも覚えないという不思議なお店。店のコンセプトは、いつでも笑顔で『はじめまして』。

コメント