神戸のデータ活用塾!KDL Data Blog

KDLが誇るデータ活用のプロフェッショナル達が書き連ねるブログです。

ChatGPTを速報解説してみた

株式会社神戸デジタル・ラボ DataIntelligenceチームの高木です。

米国に拠点を置く非営利団体のOpenAIは現地時間12月1日午前3時頃に、ChatGPTという自然言語生成モデルを発表しました。本記事では、ChatGPTにまつわる基本的な知識を解説し、実際に使ってみたいと思います。

ChatGPTが開発されるまでの歴史

ChatGPTは同じくOpenAIが2020年7月に発表したGPT-3という言語モデルを原点に開発されました。本章ではGPT-3の歴史からChatGPTの開発に至るまでの流れを辿ってみます!

GPT-3

GPT-3は、Transformerと呼ばれる深層学習の手法を用いた言語モデル(人間の言葉を単語別に出現確率で表したモデル)になります。

文章の生成を得意としており、あたかも人間が書いたような文章を出力できるということで発表当時に話題になりました。

GPT-3が高性能である理由として、膨大なテキストデータ数(570GB)を学習データセットとして利用していることや、モデルで設定されているパラメータも1750億個と限りなく多いことが挙げられます。

ただ、こんなにスゴいGPT-3にも致命的な欠点がありました。それは、学習データがネット上のデータを利用したものであり、その中には不適切な表現(差別的や暴力的な表現)が含まれるものも多かったことです。
※OpenAIは、GPT-3発表当時にこれらの課題が残っていることを認めています。

この問題は、広く一般的にアプリケーション内で利用されるためには無視できないものでした。

InstructGPT

InstructGPTはインストラクトという単語の通り、入力に基づいて指示や指導を行うことができることを想定したモデルであり、2022年1月に発表されました。

こちらのモデルでは、GPT-3で問題となっていた不適切な表現に対しての問題をRLHF(人間のフィードバックを反映させた手法)という強化学習の手法で解決しています。

簡単にアルゴリズムを説明しますと、以下のような手順になります。

【step1】GPT-3のAPIを通して送られてきた「入力(質問)」に対する「出力(回答)」を人間がラベル付けしたものをデータセットとして、GPT-3を微調整する。
【step2】ランダムに出力される複数の返答を比較して、報酬モデルを学習する
【step3】報酬モデルを関数としてGPT-3を微調整し、PPOアルゴリズム(OpenAIで利用されている強化学習のアルゴリズム)で報酬を最大化する。

まとめると、強化学習のテクニックを利用してより人間の返答に近い出力結果となるように調整され、その結果不適切な表現も抑制されるような機構となっています。

ChatGPT

いよいよ、今回のメインであるChatGPTです!ChatGPTは、会話形式でやり取りができ、その場の会話に応じた適切な返答を返すことができ、チャットなどのアプリケーションなどに使用することに適しています

ChatGPTはInstructGPTと大きく異なる点はなく、基本的な学習方法は以前発表されたInstructGPTと同じです。

唯一異なる部分は、データセットを作成する部分です。

InstructGPTで利用されるデータセットにおけるラベルの全てを人間が作成していましたが、ChatGPTでは人間が完全に一から作成したラベルに加えて、モデルの出力に対して人間が一部手を加えたものも同時に利用される仕組みとなっています。

このことにより、モデルの出力における細かいニュアンスを修正でき、より会話に適した言語モデルとなるというわけです。

また、InstructGPTと同様に不適切な表現に対しての問題に対応しているので、今後の広い実用化が期待できます。(2022年12月2日時点)

実際に使ってみよう

ここまでChatGPTにおける歴史や詳細の話をしてきましたが、「何はともあれどんなものか見てみないとわからない!」ということでここでは実際に利用してみます!

以下のリンクからサイトに移動しましょう!

chat.openai.com

利用にはOpenAIのアカウント登録が必要ですが、「ChatGPT」のテスト版を現在は無料で試すことができます。

まずは、弊社の社名を入力してみました。
※ 正式な社名は「神戸デジタル・ラボ」ですが、・(中点)の影響を考えてここでは今回は「神戸デジタルラボ」としています。

おお、スゴい!確かに弊社はデジタル技術を活用しています!この情報すべてが正解ではありませんが、書き方などに大きな間違いは見られません!

次は、執筆している私の気持ちでも入力してみましょう(笑)

いや、めちゃくちゃしっかりした回答が返ってきます!「栄養バランスの良い食事」とは、耳が痛い。

最後に、「プログラムを書いて!」と言ったらどうなるのでしょうか。流石に無理よな、それは、、、

え、凄過ぎます!これは将来、プログラムを書くお仕事の在り方や視点が変わってくるのでは。。。

まとめ

ChatGPTは会話やチャットに適したモデルで今後広くアプリケーションで利用されることが予想されます!

弊社内でも、今ChatGPTは話題がところどころで上がっており、「なんで、こんなことができるの?」と言った声や、「凄すぎて、末恐ろしい。」と言った声が上がっています。

皆さんも是非一度遊んでみてください!これは無理だろうってことでも、もしかしたらできるかも。。。

高木裕仁

データインテリジェンスチーム所属
データサイエンティスト。自然言語処理を中心としながら、その他の非構造化データや構造化データに関しても偏りなく扱います。こちらのブログでは、自然言語処理に関するトピックやAzureを中心としたクラウドを利用したデータ活用に関してのトピックを中心に様々な記事を発信していきます。