このページの本文へ

めちゃくちゃ重いけど動くぞ!Excelで「GPT-2」を再現したスプレッドシート

2024年03月04日 12時45分更新

文● 田口和裕

  • この記事をはてなブックマークに追加
  • 本文印刷

 OpenAIの「ChatGPT」やマイクロソフトの「Copilot」、グーグルの「Gemini」など、対話型AIの心臓部である大規模言語モデル(LLM)。だがその仕組を理解するにはプログラミングの知識が不可欠だ。

 「Spreadsheets are all you need.ai」というウェブサイトでは、驚くことにExcelのスプレッドシートを使って、LLM(GPT2)がどのように動作するかを再現している。

GPT-2をローカルで再現

 同サイトで提供されている「Spreadsheets-are-all-you-need」は、大規模言語モデル(LLM)の動きを再現するExcelシートだ。

 ChatGPTのように、「Mike is quick. He moves(マイクは素早い。彼は◯◯動く)」とセルに入力するとチャット型AIのように「quickly(素早く)」と続きを出力してくれるという。

 このシートはOpenAIが開発したGPT-2(ChatGPTのベースとなるGPT-3モデルの前身)のフォワードパス(機械学習のモデルにおいて、入力データが処理されて出力結果が生成されるまでの計算過程)をExcelの標準機能で完全に実装しているという。

 GPT-2は「Transformer」と呼ばれるアーキテクチャーをベースにしている。これはGPTだけではなく、Anthropicの「Claude」や前述の「Gemini」、メタの「Llama」などの基盤になっているもの。このシートはTransformerが実際どのようなことをやっているかの理解を助けるものだという。

ローカルでもしっかり動作

 サイトには内容を解説する詳細なYouTube動画が掲載されているが、実際にExcelのシート(1.25GB)をGitHubのレポジトリーからダウンロードすることも可能だ。

 ローカル(Mac mini M1 16GB)環境で開いてみると、15秒ほどかかったが、きちんと動作するようだ。

 本シートで再現しているのはGPT-2の124Mパラメーターモデルだ。バイトペアエンコーディング、エンベッディング、マルチヘッドアテンション、多層パーセプトロンステージを備えているが、新しいデータを使った学習はできない。また、扱えるのは10トークンまで、1単語は10文字までに制限されている。

 ちなみに、「Spreadsheets-are-all-you-need」という名前は、ここからすべてが始まったと言っても過言ではないTransformerアーキテクチャーを提唱した論文「Attention Is All You Need」からきている。

カテゴリートップへ

ピックアップ