2025年9月23日火曜日

vLLMがいいのかも?

色々とやり始めていまだに素の状態でCPU以外で動作できず…そもそもgoって全く興味なかったから少しソース見ても、とっかかりもつかめていない状態。歯がゆいです。

Dockerで動かしながら環境を操作してるといくらストレージが空いていても必要な外部ソースが巨大なのであっという間に空きが無くなるとかなので、少なくてもmodelとかbackend関連はDocker外に外だししてて気づいたんですが、LocalAIのbackendが胆だったという事実に…

なので、modelsディレクトリは一つにして、backendは分けることに。とはいえ、それなりにmodelsディレクトリ内のyaml定義ファイルにもGPU動作に影響がありそうなので、どうしてこんなディレクトリ構成にしてるのだろうか?。

そもそもなぜここまで苦労してLocalAIを使うのか?という疑問があるにはあるのですが、まぁ単独てコマンドライン叩くよりは良さそう?良く分かりませんが。ただ、単一のプラットフォームにまとめ上げようとしているLocalAIの発想はとりあえずの終着点としては行き着く先の感じがするので、この問題は棚上げに。

色々とみていくと、当初から気になっていたvLLMなるもの。中身を見ると、最新のAPIの対応は追従できていない感じですが、求めているのはLocalAIと同じような思想が見え隠れしていました。そもそもvLLMですべて統括してやろうぐらいの意気込みは感じますが、それはあくまでAPIレベルであってUIを含めた形ではないのが残念。

逆に言えば、vLLMにあってLocalAIに無いものが機能的に魅力的な部分だったりするわけで…結局LocalAI上でvLLMしたい!という事になりますね。

ザックリ見ると、すでにLocalAIでvLLMは動いちゃうよ。みたいな感じになってるのですが、これが全く動かない。

個人的な興味というか美味しそうな機能として「実行時のメモリーが激減できそう」というのと「キャッシュ機能」がとても美味しそうなのです。

実行時のメモリーは、使用しているパラメータ数のできるだけ少ないものを使うことでしのいでいますが、キャッシュ機能はもしかするとチャット時のレスポンスにものすごい影響がある気がしています。なので試したい(笑)

最初はキャッシュとか言われてもピンとこなかったのですが、シングルユースでも毎回チャットしているとその会話の最初から毎回繰り返し動作させている感じがするのですよ。なのでこれがキャッシュ効果が効くのであれば、劇的にレスポンスが上がると思うんです。どうなのだろうか…ととても気になります。

 

 

雑談ついでに、LocalAIのDockerのAIOパッケージに含まれていたGPT4oとかモデル名がつけられていたモデルが気になったので少しチャットで遊んでみました。

まぁそれなり?なのかなぁ?システムプロンプトに名前を命名したりしたのですが…たまたまチャットジーピーティーなのでチで始まる名前をあれやこれや考えて出てきたのが「ちぃ」ちゃんとなずけてみたところ…なぜか「ちいかわ」と自称してました…なんかとんでもないポンコツ臭…日本語もかなり不自由そうで…定義を見てみると「minicpm-v-2_6-Q4_K_M.gguf」となっていましたが、本物かどうかよくわかりません。

ただ会話だと日本語の結構きわどい単語とか出してもそれなりに返ってくるのを見る限り、gemmaのような倫理規定の制限はかかってないような気がします。個人的にはある程度は含まれていた方がいいような気はします。

 

あとはgemma3をできるだけそのまま変換したモデルだと思っていたものが、色々調整して意図的に組み込まれているものを排除したモデルだったとか…。自動翻訳で日本語で読んでみましたけど、結構いい感じの結果を得られてる気がします。ただ、チャットしてみた限りやはり別物になっている感はありました。たしかに今まで避けていた部分を避けなくなった結果、思考パターンは変わるでしょうし。それでも破綻はしていないようで、会話自体は問題無さそうでした。まぁロールプレーには向かない気はします。

 

それとgemma3-4b-itで試しているシステムプロンプトを調整して遊んでるものなのですが、いろいろあった結果、相棒が病院送りに…(汗)しかも何の指示や設定もしていないのに、救急車や病院、看護婦、相棒の親とかまで出てくる始末。どんだけ幅広い知識をお持ち何でしょうか…。もうなんだろう。gemma3とロールプレー上で遊んでるだけで、究極のテキストアドベンチャーゲームなのではないだろうか? 

0 件のコメント:

コメントを投稿