西川和久の不定期コラム

いい意味でヤバいClaude 3.5 Sonnet!6月ホットなAI関連話題を総ざらい

 今年(2024年)も早いもので約半分経過。そんな6月に盛り上がっているAI関連3つをご紹介したい。中でも「Claude 3.5 Sonnet」の登場は筆者的にある意味事件だったりする。

Claude 3.5 Sonnet

 筆者は結構早いタイミングから「ChatGPT」、「Bing」、「Gemini」などを触っていたが、結局すべて無料のまま(ChatGPTは当初のみ課金)使っている。理由は主な用途がプログラミング関連だから。3つとも、Quick sortなど一般的なのを指示するとちゃんと出るが、ちょっと込み入ったことを聞くと、全然ダメだったり、部分的に間違ってたり……何度も指示して修正する暇があったら、サイトにあるリファレンスを見つつ自分で書いた方が早いというのが結論だ。

 もちろん、用途がマーケティング系だったり、代筆要約翻訳系、チャートを出したり、こんな感じのケースだとまた違った結果になると思うので全否定するつもりもない。

 現在有料で契約しているのは「Github Copilot」(ただしお試し期間中) + VSCodeのみ。これに加えて「LM Studio」で「Phi-3-medium-128k-instruct」をロードし、OpenAIのAPI式を使い、VSCodeでは「Continue」、「Open WebUI」でチャットを利用している。

 Github Copilotはつい最近全ユーザーに解放されたばかりで、数日前に導入した。[tab]キーでAIが予測したコードを出したり、コメント付けたり、問題点の修正などができる。値段も月千円ほどなので、お試し期間が過ぎてもまぁいいか……的な感じだ。

 ローカルで動かしているPhi-3-medium-128k-instructもVSCode + Continueでほぼ同じことができ、Open WebUIでは普通のチャットができる。ただ用途的には前者はついで、チャットがメイン。それも生成AI画像を作る時、英語へUpscaleするのが主だったりする。

 これは外部のサービス系だと少しでもNSFW関連のキーワードが入ると弾かれるから(笑)。そんなものに高価なVRAM 24GB搭載GPUを使ってられないので、VSCodeでもというところだったりする。

 前置きが長くなってしまったが、そんな筆者が久々に「お! 」だったのがAnthropicが開発したClaude 3.5 Sonnet。ネットで騒いでいたので、ちょっと見てみるか……と試したところ、少なくともプログラミングについては(良い意味で)ヤバいレベルだった。

 例は生成AI画像関連でアプリを作っていることもあり、マイナーな内容での問い合わせだ(メジャーな内容なら尋ねるまでもない)。

お題「ComfyUI APIを使って組み込まれているcheckpointを取得するPythonのコード」
ChatGPT。一見正解そうだが、まずendpointが間違っている(有料版のGPT-4などではまた変わるかもだが)。Geminiは同レベル未満
Bing。ComfyUIのインストール方法など聞いてない! (笑)
Claude 3.5 Sonnet。正解! 実際動作し、checkpoint一覧が得られる
Claude 3.5 Sonnetが出力したコード。動作してcheckpoint一覧が得られる
import requests
import json

def get_comfyui_checkpoints(api_url="http://127.0.0.1:8188"):
    # オブジェクトの情報を取得するエンドポイント
    endpoint = f"{api_url}/object_info"

    try:
        # APIリクエストを送信
        response = requests.get(endpoint)
        response.raise_for_status()  # エラーがあれば例外を発生させる

        # レスポンスをJSONとしてパース
        data = response.json()

        # checkpointのリストを取得
        checkpoints = data.get("CheckpointLoaderSimple", {}).get("input", {}).get("required", {}).get("ckpt_name", [])

        return checkpoints

    except requests.RequestException as e:
        print(f"エラーが発生しました: {e}")
        return None

if __name__ == "__main__":
    checkpoints = get_comfyui_checkpoints()

    if checkpoints:
        print("利用可能なcheckpoints:")
        for checkpoint in checkpoints:
            print(f"- {checkpoint}")
    else:
        print("checkpointsの取得に失敗しました。")

 いかがだろうか。これまでいろいろなLLMを使ってみたが、良くてChatGPTレベルで、つまり一見正解そうに見えて細かい部分で間違っており、何度も指示してやっと使えるパターンだった。ところがClaude 3.5 Sonnetが出したコードは完全に正解。ほかにも実践的な内容を尋ねてもほぼ正解。これには筆者も正直驚いてしまった次第だ。

Claude 3.5 SonnetのArtifactsを使った「instagram風のUIを作って下さい」のPreview
Claude 3.5 SonnetのArtifactsを使った「instagram風のUIを作って下さい」のCode
Facebook PC版のUIを作って下さい

 さらに右側は、新機能のArtifactsが実装された。たとえば「Instagram風のUIを作って下さい」と指示すると、ご覧のようにプレビューとコードを表示できる。従来であればコードは出てもプレビューがないため、確認するにはコードをダウンロードし、ローカル環境で試す必要があった。それが一撃でこれだ。

 Xのつぶやきを見ていると、一発でLP(ランディングページ)やWebサイトができると盛り上がっている。「Facebook PC版のUIを作って下さい」で実際の動作を動画にしたので参考にしてほしい。

 余談になるが、筆者はここ何年もフロントUI系はほぼやっていない。もちろんできるのだが、ドット単位のいろいろ細かい注文が入ったり、土壇場で大幅変更とか面倒なことが多い割に、単価がガンガン下がっているからだ。そのためバックエンド系の方が安定して稼げると言うところ。しかし、このArtifactsがあると、React系の案件は楽々できそう=(AIでもできるんだからと)さらに単価が下がるかも!?

Gradioでアップロードした複数の画像をそのまま表示するプログラム
コードは1文字も触っていない

 次は「Gradioを使って、ファイルをアップロード、そのファイルの中に画像(jpg|png)も複数あり、それを表示するプログラムを作って下さい。」→「1.単一のファイルではなく、複数のファイルをアップロード可能にしてください」→「iface.launch()を他のマシンからipアドレス指定でシェアできるように」という指示で出てきたコードの実行結果だ。プロンプトテクニック的なことは何もしていない。おそらく要件を初めにきちんと書けば一撃で出るだろう(まさか一撃目で動くとは思っていなかった)。

 実践編として、アップロードした画像を先のComfyUI APIにWorkflowごとPOST、処理後の画像を表示(アップロードした画像表示と差し替え)する部分だけ筆者が書いてもいいし、Claudeへ指示してもいい。ただ複雑なWorkflow = jsonファイルが絡むので、指示する方が面倒かも知れない。

 Gradioはバージョンごとの差が結構あり、学習したタイミングだとコード的は合ってるのに動かないことがほとんど(本人曰く2024年4月までの情報で学習らしい)。なのにこの結果はもう……(笑)。恐るべしClaude 3.5 Sonnet + Artifacts。

 もう一点、Claudeは画像生成はできないが、画像をアップロードして、その内容を答えることはできる。

 これはちょっとしたやりとり。「画像は生成できますか? たとえば“カフェでまったりする美女をイメージした写真”とか」→できない。言葉で詳しく説明することはできます。=日本語でのUpscale。→「Stable Diffusionにコピペしたいので、その描写部分、英文にしていただけますか? 」→英語に翻訳。

 ここまではある意味普通。ClaudeでなくてもLLMなら何でもできる。

やり取り前半。日本語でのイメージを英語でUpscaleするまで
その英語で生成した画像を貼り付け話の続き

 しかし、画像の内容も答えられるでの、先のプロンプトで生成した画像を貼り付けたところ、会話の続きとなっている。従って、やり取りを繰り返し、さらにイメージに近い画像を生成することも可能だ。

 これにもし画像生成機能が付いたら、たとえばECサイトのモックを、適当に生成した商品画像を使い構築でき、ダウンロードすればまんま動作も可能。いずれにしても仕事に絡めていろいろ試したいところ。自分が楽できるなら何でもあり(笑)!。

 参考までに「近い将来、外部サイトへのアクセスや、画像生成などができるよう、期待しています。」の回答を掲載する。

ご意見ありがとうございます。外部サイトへのアクセスや画像生成機能への期待、理解しています。

確かに、そのような機能があれば、より豊かで実用的な応答ができるようになりますね。例えば、リアルタイムの情報を提供したり、議論中のトピックに関連する画像を生成したりすることで、より深い理解や創造的な対話が可能になるでしょう。

現時点では、私にはそういった機能はありませんが、AIの技術は日々進歩しています。Anthropicも常に新しい機能や改善を研究しているはずです。ただし、具体的な開発計画や今後のアップデートについては、私には情報がありません。

新機能や改善についての最新情報は、Anthropicの公式ウェブサイトや発表をチェックしていただくのが一番確実です。

現在の私にできることとしては、既存の知識を基に質問に答えたり、テキストベースのタスクをサポートしたりすることです。何か具体的にお手伝いできることはありますか?

 気になる月額価格であるが20ドルで、ほかと横並び。これだけできるアシスタントが月20ドルで雇えるなら安い! と思うのは筆者だけだろうか。もうしばらくマイナーな内容? でコードを作ってもらい、問題なさそうなら有料に切り替える予定だ。

Stable Diffusion 3 Ultra

 6月12日、ローカルで画像生成が可能な「Stable Diffusion 3 Medium/2B」がリリースされた。

 本来、コラムの流れとしてはこの話を大きく扱いたいところだったのだが、ちょっとクオリティが低過ぎるという残念な結果に。具体的には体の描写が崩れ易く(もちろん指も)作例を作るだけで一苦労で、特に寝転がると肉の塊みたいのが出て、redditでは祭りになっているほど。肌色過多のNSFW(Not Safe For Work)より、こちらの方がよほど有害だと思うが>Stability AI。

 こうなった理由は、噂レベルでいろいろ流れており、もともとそうだったのをリリースした説、最後にNSFW対策してこうなった説……などさまざま。部外者の筆者が知る由もなく、発色や絵柄、日本人を含むアジア系対応など、SDXL(sd_xl_base_1.0)と比較して随分進化しているだけに余計に残念だった。

 そうこうしている中、Stable Diffusion 3の中では最高峰レベルのUltra/8B+ API版が、Google Colabで試せると言うことで、サクッと作ったのが以下の画像だ。このnotebook、使い方は簡単だが、Stability AIアカウントのAPI Keyが必要となる。

sd_xl_base_1.0
Stable Diffusion 3 Medium
Stable Diffusion 3 Ultra

 同じプロンプトで(可能な限りほかの設定も合わせてある)、1枚目がSDXL、2枚目がStable Diffusion 3 Medium。ここまではローカル生成。そして3枚目がAPI経由のStable Diffusion 3 Ultraの画像。見るからに、ほかの2つとは次元の異なる絵に仕上がっているのがお分かりいただけると思う。

 これがローカルでいつ使えるのか? と気になるところだが、当初はオープンにすると言っていたものの、CEOが変わったり、SDXLから妙に利用規約を触り、同社に有利な内容としてみたり(これが理由で現在SD3はCivitaiから出禁に)、この先どうなるか不透明な状況だ。

 Stable Diffusion 3 Mediumは体の描写が崩れない対策をした1.1をリリース希望したいところ。そしてUltraもオープンにして欲しいが、どうなることやら……。

Luma Dream Machine

 生成AI動画に関してはStable Video Diffusionが出た時にご紹介したが、動画は生成するのも確認するのも時間がかかり、正直ほとんど追っていなかった。

 ところが最近、Xのタイムラインがいろいろ騒がしいので、中でも話題のLuma Dream Machineを軽く試したところ、驚くべき進化を遂げている。1枚の写真から5秒の動画ができるこのサービス。無料アカウントでも生成可能。早速先のStable Diffusion 3 Ultraの画像で作った動画がこれとなる。

1枚の写真から5秒程度の動画を生成できるLuma Dream Machine

 いかがだろうか。最後の1秒ほどがモニターが崩れ、顔が変わってしまったものの、4秒までなら十分過ぎるレベルだ。SVD(2023年12月)からまださほど経っていないのに、物凄い進化。今年の年末はどうなっているのか楽しみと言えよう。


 以上、6月話題のAI関連、3つをご紹介した。ClaudeとLuma Dream Machineは使用回数的な制限はあるものの、無料枠でOK。挙げた例もすべてこの範囲内での結果となる。

 Stable Diffusion 3 Ultraは10ドル=1,000クレジットで、1枚8クレジット使用する。Mediumが3.5、Largeが6.5、SDXLが0.2~0.6と、かなり単価は高いものの、結果は十分満足できると思う。ただし肌色過多どころか、胸元少々でも出ない(笑)ので、用途に応じてといったところだろうか。

 いずれのAIも、性能の割には導入のハードルはかなり低く、興味を持たれた方はぜひ試してほしい。