最近はいよいよ、RTX 4090のゲーミングPCでローカルLLMを動かす環境が構築でき始めてきました。
もちろんフロントエンドはHermes エージェントで、最近はこのHermesエージェントをM3 MaxのMacBook Proで動かしています。
その裏では3台のDGX SparktとM1 Mac Miniが適材適所でLLMを動かしていたんですが、そこにRTX 4090のゲーミングPCが参戦したという感じです。
といっても、Windowsの中でLLMを動かすのはちょっと面倒だったので、Claude Codeにお願いしてWSL2経由でUbuntuを動かしているという感じですね。
これも今時本当にすごい便利な世界で、Ubuntuの中にTailscaleだけセットアップできてしまえば、あとはどこからでもAIがアクセスして、自動でセットアップやLLMの作業をしてくれます。
この環境で動かしたいのは、やっぱり画像とか動画の生成AIですよね。

先日もちょっと X に投稿したのが、この画像です。
これが一番最初に 4090 上で生成 AI が生成した画像なのですが、いきなりあまりにもクオリティが高くてめちゃめちゃびっくりしました。
これは1枚の画像を参照して、勝手に静止画を生成したというやつですね。
これで気を良くしたので、「よし、じゃあもっと自由自在に画像を生成できるようにしよう」と思って、LoRA学習と呼ばれる、よく西川和久さんとかがグラビア生成で使っている、もうちょっと本格的に学習させる手法をトライしてみました。

これがその学習に使ったデータです。
ネズミさんにお願いして、最初は1番から16番目くらいまでの、顔のアップと上半身、そして全身の写真を60枚ほど撮ってもらったんです。ただ、同じ背景で同じ服装の画像を用意しすぎると、服のパターンなどを過学習してしまって、逆に精度が出ないと言われてしまいました。
そこで、追加で17番以降の写真を適当に見繕って、改めて学習してもらいました。


その学習データを元に、最初に生成してもらったのがこの画像です。
これ、まあ言われてみれば、もちろん特徴は掴んでいるんですけど、かなりクオリティが下がっていますよね。
すごいのは「ドリキン」と言っただけで、何も画像などを参照せずにこの生成をしているのはもちろんすごいことなんですけど、それでもちょっとこれだと実用度が低いかなっていう感じ。

「もっとクオリティを上げてほしい」と伝えたところ、ReActorというLoRAで生成した後に、リファレンスの写真を使ってさらに顔を上書きする方法をとるとよりリアルになるよとアドバイスをもらいました。
それを実験したのが、こちらの写真です。
まあ確かに良くはなってるんですけど、まだまだ違和感ありますよね。

その後も「もっとクオリティを上げて、もっとクオリティを上げて」と、Claudeを経由して精度を上げるお願いをしたところ、いろいろと試行錯誤をしてくれて、ちょっとずつリアリティが上がってきている気がします。


ここらへんまで来ると、まあ悪くはないというか、やりたいことはわかるっていう感じまでは来てる気もするんですが、とはいえ違和感バリバリですよね。
さらに精度を上げて学習を続けるようにお願いしました。


途中、結構GPUメモリーが足りなくなっちゃったり、負荷が高すぎてWSLが落ちちゃったりとトラブルは続きましたが、地道に精度を上げさせていくと、確かにちょっとずつ良くなっていくんですよね。

途中、なぜかよくわからないおじさんの画像も作られたりしました。

こんな感じとか、こんな感じとか。
しかし、どんなに頑張っても Qwen のイメージモデルでは限界があるみたいで、これ以上精度が上がらないなと思いました。
そこで、また西川和久さんのグラビア記事の最新を参考にして、最新でおすすめされていた HiDream o1 というモデルに変えてみることにしました。

すると、これが一気にクオリティ上がるんですよね。
かなりいい感じに、モデルを変えただけでなってきて「これならいけるかも」というところにまで近づいてきました。

ちょっとCGのツルツルした感じが強かったので、もう少リアリティのある仕上げ方などを調整していくことで、最終的にはここまで来ました。
これだったら、なんとなく僕だとそんなに違和感なく認識できるんじゃないかなと思ったので、学習は一旦ここまでで終了させました。

これが最終的に学習を完了させた写真です。
もちろんプロンプトだけで、何もリファレンス画像は与えていませんが、このくらいの写真が簡単に作れるようになりました。

でもって仕上げは、これを Hermes エージェントからプロンプトで叩けるようにして、実際に画像を生成したのが最後の写真です。
こんな感じで、Discord経由でHermesエージェントに「ドリキンがHermesエージェントと日々格闘している様子」という画像を作ってとお願いして、できあがったのがこれです。
今後はDiscordに「ドリキンの〇〇な画像を作って」と言うだけで、簡単にこんなものが作れるようになりました。意外と悪くないんじゃないかなと思っていますが、いかがでしょうか?
やっぱり画像生成においても、LLMのモデルによって出来上がる精度や学習内容の反映がだいぶ違うみたいです。新しいモデルが出たらまた試してみたいと思いますが、これくらいの画像がローカルLLMだけで簡単に作れるようになってくると、いよいよローカルLLMの楽しさが一段上がったような気がします。
ということで、4台目のDGX Sparkを買うべきか、RTX 5090のGPUを買うべきか、めちゃくちゃ悩み始めた今日この頃です。沼~~~~