背景
そこらかしこで、ChatGPT を動かした方の記事を目にします。二次情報で判断するのではなく、ご自分で動かされている皆様は本当に尊敬をします。
ただ、その生成文字列について、「嘘をつく」的なコメントもよく目にします。
この古くて新しい道具を、どう位置付ければいいのか?
執筆時点での私見を残しておこうかと思います。
私なりの ChatGPT への理解
今の GPTなどは、言語生成のモデル だと思います。正確な表現ではないかもしれませんが😅。それ以外にもたくさんの事ができますよね。分類 や 変換 など。GPTの凄さはその機能面の汎用性の高さでもあると思います。
そのGPTをコアにしている ChatGPT については、その構造を整理してみました。
特に InstructGPT の存在は大事だと思います。Human in the Loop の鉄則を取り入れている。人間のフィードバックを取り入れているところですね。それによって、ヒトが望ましいと考えている結果へ誘導をしています。
こちらのBlogが素晴らしかったです。OpenAIのサイトとは別に、参考にさせていただきました。
特に ChatGPT の利用については。やはり見本が欲しいですよね。新しい技術だからイメージが湧きづらい。私は、事例としては、Bing Chat が、そのアプリケーションとしての実装の好例だと思います。
これは、皆さん直ぐに試すべき!😊
Bing Chat の画面の例です。今も同じ回答を返すかはわかりませんが。
データベースとして、インターネット上のコンテンツを使い。ちゃんと、ChatGPT などを部品として使っているので、データの鮮度の問題に対応できるようになります。GPT-4 は、2021年 9月時点でのデータで学習をしていますからね。
Bing のアプリは、Prometheus と呼ばれていて、LLM を部品としてうまく使っていますよね。
独自データ についても、そのサンプルコードが公開されてます。独自データの検索結果の文字列を Input として。独自の Outout の文字列が生成されるようになるわけです。
Source:
https://speakerdeck.com/hirosatogamo/da-gui-mo-yan-yu-moderudebian-warumlsisutemukai-fa
独自データを利用する Search Engine と GPT との連携。Prometheus 的なアプリを作るには。こちらをご参考にしてください。可能性しか感じない😍
これらは、いずれもモデルの活用としての Zero-Shot Learning/Few-Shot Learning あるいは、Chain of Thought などの活用の賜物です。Prompt Engineering という新しい手法が出てきたことによって、その場での対応力が爆発的に伸びたと言えるかなと思います。In-Context Learning と言われています。
ChatGPTの出力する文字列をどう捉えるか?
ここで、私なりの見解を示します。
ChatGPTは、誰かが書いた記事・文章をそのまま提示しているわけではない。という事です。その場で入力文字列に対して、Completion するための継続の文字を生成しているに過ぎない、という事です (のはず😅)
0. 知識・情報の置き場
皆さんは、自分の頭の中に世の中の全ての情報を入れる事が出来るでしょうか? 私は無理です。多くの方もそうでしょう。そのために、知識・情報を人体から外部に出力して。必要に応じて入力できる仕組みが役に立つわけです。
1. 紙の本
そのために人類は、文字を発明し、紙を発明し (パピルスかもしれん)、印刷という発明をし、本を大量生産できる仕組みを作り出しました。
これによって、何かその場で知識が不足していて、その場に解る人がいなければ。本を読めばいい、という事になります。
本が多くなると書棚 に並べます。その際に探しやすいように、分類、順番立てる事をしますよね。本の量が多くなってくると。そして、検索の仕組みも考えます。本を探すための本があったりしますよね。
1つのジャンルで、複数の本 を用意しますよね。1人の著者の意見に左右されるのはリスクがあります。
他の人とその話題をディスカッションすることも大事です。専門家とて、見解が異なりますしね。多様な意見を聞いた上で、自分なりの見解を持つことになるでしょう。
ポイント:
本の内容を解釈し、正確かどうかを判断するのは。ご自身ですよね? 結局は。
2. デジタルの本 ≒ Web サイト ≒ Word/PDF などのファイル
デジタル化。それによって、いわゆる Word / Excel / PowerPoint や PDF などのファイルと。
そして、各種CMSなどによって生成され続けている Web サイトがあります。
ファイルが増えると探せないので、ディレクトリー構造に管理します。それでもデジタルでは膨大な量になりがちなので、サーチエンジンが役に立つわけですよね。
1つのコンテンツだけで、物事の判断をするのはやはりリスクがありますよね。これは本と一緒。
そして、コンテンツの内容を解釈して、正確かどうかを判断するのは。やっぱりご自身ですよね?
どうです? 本もデジタルコンテンツも。同じコンテンツですから。似た構造をもっていますよね。
3. ChatGPT など
ChatGPTの場合は、最初の文(=質問) に対しての続きの文(=回答)が生成されています。言語モデルに入っていない情報については、その場で Input するか? もしくはモデルを Fine-Turning して、カスタマイズをします。
LLM/ChatGPT の文章だけで、物事の判断をするのは....そう、同じくリスクがあるんです。
繰り返しですが。LLM/ChatGPTがその場で作った文章を解釈して、正確かどうかを判断するのは。そう、ご自身だと思います。
まとめ
整理します。
項目 | 本 | ファイル | ChatGPT |
---|---|---|---|
作る人 | 人 | 人 | 人 (が生成したファイル達) |
媒体 | 紙 | デジタル | デジタル |
妥当性チェック | 複数ソース | 複数ソース | 複数ソース |
知識を探す方法 | 本、検索システムなど | サーチエンジン | Q&A |
内容の解釈 | 自己責任 | 自己責任 | 自己責任 |
そう。結局は自己責任だと思うんです。
媒体がデジタルになっただけ。
探し方が、Q&A形式になっただけ。
後は、大した違いがありません。
私たちは、この新しいツールに対してどう向き合えばいいのか? 自分の教養・知識を Update し続けて。その生成文字列を鵜呑みにせず、自分で正しいかどうかの判断が出来るようにし続ける事です。
もし、妥当性を上げようとするならば。ChatGPTには、そのためのパラメーターもありますが。そうではなく、コアである GPTモデルの性能向上も大事です。Fine-Turningですね。そして、ChatGPT は機械学習ベースの仕組みです。つまり、機械学習のモデルを扱う知識・経験が役に立つわけです。
ChatGPT の利用シナリオは、いくつもありますが。
- ソフトウェアのコードの生成。プログラミング言語だけでなく、XML/JSONなどの書式やSQL文など
- 各種フレームワークを参考にした、プランの作成
- 詩的な解釈も出来る、コンテンツの作成
- 複雑な情報の要約
つまり、ソフトウェアのコードの生成だったら、そもそもソフトウェアエンジニアとしての知識・経験が無いと。その妥当性もわからないわけですよね。
リーンスタートアップなどビジネス開発の手法のフレームワークを扱おうと思ったら。ビジネス開発そのものを知らないと。
などなど。
Data Scientist の皆さん。忙しくなりますよ😊 あ、私もか😎
使うユーザーの皆さん。新しいツールで楽しましょうよ。あ、私もか😎
一緒にこの新しい世界を楽しみたいです。そして、一緒に成長していきましょー