見出し画像

ChatGPT Plus(有料版)を契約してみました

先週ChatGPT Plus(有料版ChatGPT)の発表があり、日本のユーザも申込み画面まではいけるのだけれども、クレジットカードの登録で場所が同定されてしまい、日本ユーザーは登録ができませんでした。昨日急に日本のユーザーでも登録できるようになったので、登録してみました。20ドル/月の料金になります。(同じ日にGPT3.5を使ったBing検索「チャット」機能のあるEdgeブラウザ(dev版)の招待が来て感動しました。ちょっと、試してみるにはこちらの方が面白いかもしれません。)

最初に結論

最近、無料のChatGPTでも不安定感が減ってきていたので、すごく安定して動いている感じはありません。そして、すごい早いかというと、1行1行文章が出てくる感じは一緒です。その間隔が短くはなっていますので、一分一秒を無駄にしたくない方に限定されるのではないでしょうか。

期待すること(明らかにされてないこと)

プレミアム感があるとすると、DeepLProのように自分が入力したデータを機械学習に使わない、などのことを言ってもらえるとすごくうれしい。個人的には自分が書いた長くて分かりにくいメールや文章を要約してもらったりしているので、個人情報が特定出来ない状態にする加工を手作業でやっているという矛盾が起きてますw

【実験】画像分類のPythonプログラム作成

めんどくさいことはAIにやってもらう、主義なので、画像分類のPythonプログラムを書いてもらうことにしました。

どのようにお願いするか?

trainフォルダー内にcatとdogというフォルダがあります。それぞれのフォルダ内にはjpeg画像が複数存在しており、それぞれの画像のラベルはフォルダ名になります。tensor flowとkerasを使ってこの2種類の画像を学習して、validationフォルダ内のcatとdogというフォルダにある画像で性能を評価するpythonプログラムを作成してください。事前学習にはXceptionを使い、fine-tuneとしてtrainフォルダ内の画像を使ってください。

ユーザーが入力

すると、以下のような感じでプログラムを書き始めます。

ChatGPTの居眠り

何回か、プログラムの作成が途中で止まってしまった(たぶん、ChatGPTも人の子なので、眠くなったのだろう)ので、下にある「Regenerative response」ボタンを押して、眠っているChatGPTを優しく起こしてあげると、再度はじめからプログラムを書き直します。kerasやXceptionなどの指示を出さないと、プログラムを書かせる毎に(毎回ではないが)異なるアルゴリズムでの記述になるようです。

ChatGPTのおむつ替え(エラーの修正)

まだ赤ちゃん(笑)のChatGPTですので、このプログラム(コード)をVS codeにコピペするとエラーが起きます。

# Define the paths
train_folder = '/path/to/train'
val_folder = '/path/to/validation'

丁寧にフォルダのパスを説明してもChatGPT自身がフォルダを設定してくれません。自分の画像を置いた場所に合わせて書き直します。
ちなみに私はこのプログラム(.ipynb)ファイルと同じ階層にフォルダを置いてありますので、以下のように変更しました。

# Define the paths
train_folder = './train'
val_folder = './val'

はじめのプログラムではepochが5回になっていました。acurracy=0.9949とかなので十分なのですが、「epoch」の定義を記載してあるところを探して、20回に変更したところ、accuracy=1.0000, loss=0.0029となりました。

最後にプログラムで何をしているか、ChatGPTが教えてくれます。

このコードでは、Xceptionモデルを使って事前学習を行い、その上にグローバル平均プーリング層と2ユニットのdense層を追加します。新しいモデルをコンパイルし、ImageDataGeneratorを使ってトレーニングデータと検証データを生成します。最後にfit_generatorメソッドを使ってトレーニングデータを使ってモデルをトレーニングし、検証データを使ってモデルを評価します。

これをコピペして、pooling層やdense層の記載を変更してプログラムを書いてもらえば、プログラムをチューンすることも可能です。

M1 Macbook Proでの実行

本当にAppleシリコン(M1 CPU)はすごすぎる!
AppleシリコンはメモリがCPUと一緒になっています。
そして、GPUもCPUと一体化しています。

誰もこの点について突っ込んでないのですが、つまりGPUのメモリはパソコンのメモリと共有できて、私のように32GBのメモリを積んでいると、RTX3080の12GBよりもはるかに大きいメモリ容量になります。私のように画像を扱う人にとっては一回のバッチに回せる画像の容量が大きいとすごく助かります。今回M2 Macbook Pro 16インチで96GBのメモリが追加できるので、購入しようか2日くらい悩みました(笑)。先日、H100のGPUカードが80GBで473万円でお買い得!、のメールが来ましたが、70万円のカスタマイズMacbook Pro 16インチお安く感じちゃいませんか?

epoch 20で回した結果なのですが、5分9.8秒です。
余裕で結果が出るのを待てる時間なのです!

ちなみに、M1マックでの環境は以下のようになっています。
・Visual studio code(VS code)
・仮想環境:conda-forge
・使った仮想環境の条件:python 3.8(M1でtensor flowが動く設定済み)

グラフィカルに結果表示

追加のお願いで、「この精度をグラフィカルに表示する機能を組み込んだプログラムに書き直して」とすると、以下のようにグラフィカルに学習効果を確認する事ができます。


学習曲線とconfusion matrixを表示

まとめ

今のところ、満足感が高く、有料版でも元が取れています。無料版と変わらないかもしれないので、「投げ銭」的な意味も含んでの有料版契約だと思っています。
今回使い始めてみた感想が3つあります。

  • プログラムの生成速度

  • プログラミングスキル

  • これからどうなる?どう使う?

プログラムの生成速度

これはプログラムの内容をリアルタイムで確認するのに丁度良い速度です。こんなこと記述しているなと確認しながら、ChatGPTが作成するプログラムを見れるので、予めエラーが起きそうなところをチェックできます。

プログラミングスキル

私のような「日曜(アマチュア)プログラマ」程度のスキルであれば、すぐに超えられてしまいます。子供にPythonをちょこっと教えていたりするのですが、子供はさっそく学校の課題をChatGPTで解決しており、少なくともコーディングという面では私が教えている場合ではないな、と思いました。

これからどうなる?どう使う?

ChatGPTの背景にあるGPT3.5は今年の4月には4.0になるようです。そういった進化も興味がありますが、日々ChatGPTと会話する中で、どのようにするとコンピュータが理解してくれるか、高率良く働いてくれるかを考えるのが一人のユーザーをしてとても楽しいと思います。

以上、とりあえずChatGPT Plusをはじめて1日目の雑記でした。

この記事が気に入ったらサポートをしてみませんか?