GPT-4のすごさとその影響範囲について

こんにちは！逆瀬川 ( https://twitter.com/gyakuse ) です！
今日発表されたGPT-4について見ていきたいと思います。

## なにがすごいのか

- 専門的な問題を解けるようになった 
    - たとえば米国司法試験で上位10%、GPT-3.5は下位10%だった
- 非常に長い文章を入出力できるようになった
    - 最大で32k tokens (日本語で約2.5万文字、文庫で50pくらい)
- 画像をもとに会話できるようになった (これは実験段階でまだ提供されません)

特に嬉しいのは32k tokensまで文章を扱えるようになったことでしょう。
たとえば小説を書くみたいなときも、プロット、設定等に3000文字使っても、残り2.2万文字くらい使えます。

## 画像をもとにした会話の例

![vga.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2958603/31d8f87c-a103-558c-95f2-cede1e8297eb.jpeg)

USER: この画像はどこがおかしいですか？パネルごとに説明してください
GPT-4: 

>この画像は、3つのパネルで構成される「Lightning Cable」アダプターのパッケージを示しています。
パネル1：スマートフォンに、一般的にコンピューターモニターに使用される大きな青い15ピンのVGAコネクタが充電ポートに差し込まれている様子が描かれています。
パネル2：VGAコネクタの絵が描かれた「Lightning Cable」アダプターのパッケージが表示されています。
パネル3：VGAコネクタの接続口の拡大写真で、その先には小さなLightningコネクタが付いています。
この画像のユーモアは、大きく時代遅れのVGAコネクタを小さな現代的なスマートフォンの充電ポートに差し込むという不条理な状況にあります。

## 料金体系

今回のGPT-4は入力・出力それぞれ個別に料金が指定されています。

![Pricing.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2958603/2a15245a-d9a2-dae2-5e7e-fe57ad3ec32f.png)

- 8k tokensまで扱えるモデル
    - 入力: 1k tokens(約750字)あたり0.03ドル(約4円)
    - 出力: 1k tokens(約750字)あたり0.06ドル(約8円)
    - 750字の入力で750字出力だったら12円
    - ChatGPT APIの約20倍 (text-davinci-003の2倍)
- 32k tokensまで扱えるモデル
    - 入力: 1k tokens(約750字)あたり0.06ドル(約8円)
    - 出力: 1k tokens(約750字)あたり0.12ドル(約16円)
    - 750字の入力で750字出力だったら24円
    - 31k tokens入力で1k tokens出力なら2ドル(約270円)
    - ChatGPT APIの約40倍 (text-davinci-003の4倍)

## GPT-4を使うには

- ChatGPT Plusアカウントであれば今すぐGPT-4が使えます
- APIとして利用する場合は、以下のフォームでwaitlist登録する必要があります
    - https://openai.com/waitlist/gpt-4-api
    - より早くアクセスしたい場合は、https://github.com/openai/evals へ参加しevalに貢献すると良いとのことです

## どんな作業に使えるか

32k contextモデル(約2.5万字処理できるモデル)は能力を最大限利用しようとすると、高いです。
先程書いたように、31k tokensを参照文として渡して、質問回答すると270円くらいかかります。
そのため、1回しか行わないようなショットの作業等に向いていると思われます(大量のcontext渡さなければそこまでかかりませんが)。
以下に利用例を示します。

- 論文のまるごと要約・解説
    - いままでの様に分割して渡す必要はありません。全部渡してしまえばいいのです。
- 記事まるごとを参照した質問・回答
    - 1万字くらいの記事なら、13k tokenの記事内容参照+質問回答なので1回あたり100円くらい
- 小説の執筆
    - プロット、設定、これまでの文章等を渡せば小説を書くことが可能です
    - 32k tokenを溢れるような場合は部分的に要約すると良いでしょう。
- 書籍の執筆
    - 参考にする資料、書きたいこと等を渡せば書籍を書くことが可能です
- プログラミングの支援
    - 複数のモジュールを渡してドキュメント化、テスト作成、新規モジュール開発等々さまざまなことができます
    - プログラミングの場合は日本語の文字列ではないので、ざっと倍くらいの文字数渡せます


質問回答より、何かを書かせたりするほうに使われるケースが多くなりそうな気がします。

## ちょっと先の未来を考えてみる

Googleからも言語モデルのAPIや各Google製品への言語モデルの搭載が発表されました。
今後はほとんどすべての製品に言語モデルが搭載されていくでしょう。
言語モデルは作業者であり、インターフェイスでもあり、アシスタントでもあり、教育者でもあります。

できなかったことができるようになり、改めてヒトの価値について考えることも出てくるでしょう。少し前までの私たちはAIより人間のほうが優れている環境にありましたが、いずれAIはヒトを超えるかもしれず、それは意外と近いことかもしれません。

https://qiita.com/sakasegawa/items/70d3ddaa5ce9edbccc54

上記に書いたように、改めて、「誰もができても、あるいはAIができても、私はそれをやりたい」という気持ちが大事になってくるでしょう。過渡期にいる我々は、認識を更新し続けなければならず、たいへんです。

## AIキャラクターへの貢献

以前、以下のような記事を書きました。

https://qiita.com/sakasegawa/items/db2cff79bd14faf2c8e0

これをGPT-4で行うと、もっと面白いことができます。
会話履歴、記憶要約、性格等の表現空間が8倍になり、人間と同じ様な短期記憶はもはや実現されます。
VQA(画像質問回答)能力も備わったので、Blip2などでの独自実装をせずに見ているものを共有できます。

ただし、32k tokensを全部使うと会話あたり270円かかり、
30秒間隔で会話すると、1時間3.24万円
1日3時間会話すると、約10万円。1ヶ月で300万円となります。
理想のキャラクター/AIとの会話は高いのです。

なお、32k tokensを使う場合は以下のようなプロンプトのデザインになると思います。

- 性格記述に1000字
    - キャラクターの性格の例
- セリフ例に2000字
    - 具体的なセリフの例
- 主体記憶に3000字
    - 自分が最近なにをしたか、何を考えていたかなどの要約
- 会話相手に対する対象記憶に1000字
    - 会話相手に対する感情や記憶の要約
- 直近の会話要約に2000字
    - 今日あったこと、喋ったことなどの要約
- 会話履歴に残りすべて

これで、1時間くらいの会話ログを全部覚えていてくれます。
とても人間らしいふるまいをすることができるようになるでしょう。
ただし、改めて以下について考えています。

https://twitter.com/gyakuse/status/1624953772480004096

## References

- https://openai.com/research/gpt-4