ベースとなるモデルが動いたので、他のモデルも簡単に動かせるかと期待したものの、結果から言えばほぼ全滅…昨日の夜からいろいろ試してみた物の何の成果も出ませんでした…。
遅いとか早いとか以前の問題ですね。ただ、どんな形でモデルが絡み合っているのかは見えてきました。とはいえ、ドキュメントはあくまでも参考程度で、ソースを見なければ設定した値がどのようにbackendに引き渡されるのかわからなかったりしますね。普通はこの辺りの事どうしてるんでしょうかね?
LocalAIのbackendとしてはgolangで実装されていますが、llama.cppと同様に、stable-diffusion.cppをラッパークラスを作ってそのクラスをgolangから扱っている感じです。llama-cppがcppでgrpcサーバーを実装している代わりに、こちらはgolanベースでgrpcサーバーが実装されていました。個人的にはクライアントだけで完結してほしいのですが、github上のファイルをインポートして実装しているので、正直あまり好きじゃありません。
モデルを動かすための設定は、.yamlから読み込まれるわけですが、stablediffusion-ggmlは他のバックエンドに比べてかなりドキュメントから読み取れる情報はほとんどありませんでした。結果としてソースからどんな感じなのかを調べる必要がありました。
stable-diffusion.cpp自体、というか、そもそもImage to Image形式の場合は実装の仕方が多岐にわたるようで、パラメータがあまり体系化されていない感じを受けます。
stable-diffusion.cppのreadmeにも載っているモデルぐらいは素直に動いてほしいのですが、Qwen-Imageすら動かせてないのはちょっと納得いかないけど、stable-diffusion.cpp単体で動かすことを優先した方がいいかな…。
0 件のコメント:
コメントを投稿