このページの本文へ

前へ 1 2 3 4 次へ

田口和裕の「ChatGPTの使い方!」 第20回

「ExcelでChatGPTを再現するシート」が想像以上に素晴らしかった

2024年03月08日 09時00分更新

文● 田口和裕

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

 先日本サイトで「めちゃくちゃ重いけど動くぞ!Excelで『GPT-2』を再現したスプレッドシート」というニュースを執筆したのだが、実際に触ってみたところ想像以上に素晴らしかったのでレポートする。

「Spreadsheets-are-all-you-need」とは

「Spreadsheets are all you need」の画面

 記事で紹介した「Spreadsheets are all you need」とは、Excelの標準的なスプレッドシート機能を使ってGPT2(ChatGPTの先祖)のフォワードパス(入力から出力までのプロセス)をExcelの中で完全に実装したものだ。

 と言ってももちろんExcel内で「ChatGPT」的な会話ができるわけではない。ChatGPTの心臓である大規模言語モデル(LLM)のごくごく基本的な機能をシミュレートできるだけだ。

 本シートの説明文には「開発者でない人でも本物のLLMが内部でどのように機能しているのかを、最小限の抽象化で直接探索し試すことができます。」とある。

 つまりこれは、「LLMとはなにか」はだいたい理解していても「LLMは内部的にはどのような動きをしているか」となるとお手上げになってしまう非開発者(つまり筆者のこと)のためのチュートリアル教材なのだ。

「GPT-2」はChatGPTのご先祖様

 本シートがシミュレートしているGPT-2は、OpenAIがChatGPTを公開するおよそ3年前の2019年に発表したLLMだ。

 現在のChatGPTで利用されているLLMはGPT-3.5もしくはGPT-4(Proのみ)なので、2世代前のものといってもいいだろう。対応言語も英語のみだ。

 とはいえ「自然言語入力に対して自然言語で回答を生成するアルゴリズム」であるLLMとしての基本機能や後述するTransformerをベースにした根本的なメカニズムにおいては共通しているため、「LLMの動き」を学習する用途であれば十分ということだろう。

 本シートには、ファミリーの中でも一番小さいGPT-2 small(124Mパラメーター)と呼ばれるモデルが完全な形で実装されている。

 ただし訓練(トレーニング)はされていないため、ChatGPTのような自然言語での会話はできず、本当に基本的な推論のみに限定されている。

 また、入力は最大10トークン、単語あたりの文字数は10文字に制限されている。

シートをダウンロードして開いてみる

 それではExcelシートをダウンロードするところから始めよう。GitHubレポジトリーにアクセスし「Releases section」をクリック。

 「GPT2-spreadsheets-are-all-you-need.xlsb」をダウンロードする。1.25GBとExcelシートとしては桁外れの大きさだ。とはいえ、GPT-3になると数百GB単位となるのでまだ全然軽いほうだ(笑)。

 ダウンロードが終わったら早速開いてみよう。筆者のPC(Mac Mini M1)はメモリーが16GBと貧弱なので少し心配だったが、なんとか1分以内で触れるようになった。

 1枚目のシートは「README」ファイルになっており、本シートの目的や開発理由、仕様、制限事項などが書かれている。

 まず、意図しない計算の実行を防ぐため「数式」タブの「計算方法の設定」を「手動」にしておこう。最初から「手動」になっていれば問題ない。

 画面下部に注目してみよう。たくさんのシートが表示されているのが分かるだろう。

 GPT-2はプロンプトを入力すると、複数の計算処理をして最終的に次に出てくる単語を推論するのだが、ここではExcelのシート1枚1枚がひとつの計算ステップとなっている。

 「README」の右側にある「Type_Prompt_Here」というシートにプロンプトを入力し、左から右へ順番に計算ステップを進めていくと、

 19枚目のシート「Predicted_Token」に計算結果である「次に出てくる単語」が表示されるという流れだ。

 デモ動画では「Mike is quick. He moves」というプロンプトを入力し、19枚のシートで順番に計算ステップを進めると、最終シートに「quickly」という単語が表示されているが、筆者の環境でもうまく推論してくれるだろうか。それではやってみよう。 

前へ 1 2 3 4 次へ

カテゴリートップへ

この連載の記事
ピックアップ