見出し画像

【ローカルはおバカ】やっぱりChatGPTは賢いと思った話【しかしクローズド】

ローカルでLLMを利用する場合、基本的に出力がテキストのみなので、画像や図を表示させるには、何らかのツールや方法が必要になります。

そのひとつにPython言語でインタラクティブにやり取りできる(ローカルで利用できるオープンソースの)Jupyter Notebooksという技術があります。Google Colabとほぼ同じ機能のものです。

※ Anacondaをインストールしていれば、Jupyterはバージョンによってはデフォルトで導入されていたり、後からNavigatorでも導入できます。筆者は独自にJupyter Notebooks用のconda仮想環境を作って「pip install jupyter」として利用しています。起動する時は、「jupyter notebook」です。

たとえば、LLMに「Jupyter Notebooksで正八角形をプロットして」と指示すると、Pythonのコードを生成するので、それをJupyter Notebooksにコピーペーストします。

コードはローカルQwen2(8b)が生成

基本的にはtexやsvg/pngなどのソースをテキストで表現できるフォーマットをLLMの出力として選べば、何らかのファイルを生成してくれますが、そのどれもがまともな図形にはなりません。

学習量の違いなのでしょうが、Pythonコードでの作成・作図が、図表を描く上では最も良い選択のようです。

この手法で、ローカルLLMが複雑な図形を表現できるか調べてみました。ローカルでLLMで利用する設定などは下記事のものを利用しています。

合州国星条旗を描く

別にアメリカかぶれなわけではなく、日の丸やイタリア・フランスでは簡単すぎると考えたからです。

Qwen2(8B)

アリババ社のLLMです。コード生成に定評があります。さらにコンテキストトークンが32kまで利用可能なので、筆者も良く利用しています。

出力された結果です。まあ、予想通りでした。

Qwen2

Llama3 Elyza(8B)

Llama3をベースにしたELYZA社の日本語LLMです。

星条旗を描こうとしていた事は認めてやります。

Llama3 Elyza

Gemma2(9B)

Googleのオープン版最新LLMです。

ストライプを描こうとしたのですね。わかります。

Gemma2

ChatGPT 4o(非ローカル)

そもそもLLMにプロット手法で星条旗が可能なのかとChatGPTで試してみた結果です。

ChatGPT 4o

すばらしい。

ちなみに、Google Gemini(非ローカル)でも試してみましたが、自分でエラーを解決する事ができないループに陥ってしまい、画像まで作成できませんでした。

まとめ

さすが業界トップだけあって、まだまだChatGPTは抜きん出ていますね。

いいなと思ったら応援しよう!