FastFlowLMにカスタムモデルが追加できるFLM Q4NXコンバーターを試す

FastFlowLM(以下FLM)の不満と言えば、公式が変換したモデル以外追加が出来ない事です。
LMスタジオであれば、ファイル形式さえ合えば量子化されていようが、ファインチューンされていようが使用できるわけですが、FLMではそれが出来ません。

まぁ、普通に使う分には公式モデルでも問題ないわけですが、普通じゃ無い事や限界の向こう側を試したい時もあるわけです。
そんな中、FLMにリストアップされているファミリーモデルであればFLMで使用できる様になるコンバーターの存在を知りました。

第三者が作成したコンバーターではなく、FLMチームが作成している公式のコンバーターとなります。

・導入手順
導入はやや慣れが必要です。インストールexe等は無いので、pip installが主となります。
自分はcopilotに補助を頼み、導入を行いました。
自環境では追加で4~5個ほどモジュールインストールが必要でした。

・モデル選定
モデル選定にあたり、注意すべき点があります。
※FLMがリストアップしているモデルが対象となります。
具体的には、qwen3.5で有れば2Bや4BはFLMモデルリストに含まれているので変換対象になります。
しかし、qwen3.5 27BはFLMリストに含まれていないので変換対象外となります。
また、bonsai 8B等そもそもFLMリストに含まれていないモデルも変換対象外となります。

また、変換対象はgguf形式かつ、Q4_0又はQ4_1のファイルが対象です。Q4_K_M等も変換出来ない訳ではありませんが、自分が行った変換では変換後実際には使えませんでした。
公式は、Qwen3.5-9B-Uncensored-HauhauCS-Aggressive-Q4_K_M.ggufがカスタムモデルとして変換されています。
実際に変換しFLMで使用出来たものは僅かです。
自環境で変換し、使用できたのは下記Gemma3-4Bの2モデルのみでした。
・gemma-3-4b-it-heretic-creative.i1-Q4_1.gguf
・Gemma-3-4b-it-abliterated-Q4_0.gguf
変換を試した一覧が下記となります。

テストしたモデル一覧

実際に使用できるモデルが少ない理由としては、変換前のモデルが標準と比べどの程度変化しているか?がキーのようです。
例えば上記の様にGemm3-1Bはかなりの数を変換しました。変換自体は成功します。
しかし、実際にFLMで使用しようとすると、FLMが落ちてしまいます。
FLM特有の問題としてログが残ることなく、FLMが落ちてしまうので何が問題だったのかの特定につなげられません。

・ファイル変換

ファイル変換にも少し慣れが必要で、公式の導入手順に従うとvenvを用いた仮想化での導入となります。そのため、変換前に必ず仮想の有効化が必要になります。
変換をインストールしたウインドウでコマンド画面を開き、venv\Scripts\activate のCMD入力を行う必要があります。

仮想有効化前
仮想有効化後

変換自体はGitHubに書かれているように
python convert.py -i 変換対象ファイル名 -o 変換後ファイル名
入力すれば良いのです。名称が長いカスタムモデルは変換成功しても、実際には使用できない傾向がありました。

・ここで注意

現在配布されているコンバーターには記入ミスがあります。

convert.py 記入ミス

上記画像は修正前のconvert.pyなんですが、108行目に入力ミスがあります。
本来で有れば#sys.argv〜となる所がsys.argv〜となっている為、全てが強制的にgemma4判定となります。

convert.py修正前強制変換ミス

このミスが分かるまではどんなに工夫をしてもgemma4-2b-mmproj.gguf入力ファイルが無いと言うエラーが発生してました。
Githubのissuesで報告し、製作者よりこのエラーが判明しました。
vs code等で#sys.argv〜に修正してからはこのエラーは発生しなくなります。

モデル変換成功例。実際には使用できませんでしたが


・変換後ファイル移動・使用例
q4nx形式に変換されたモデルの使用方法としては公式が例にしている様に、同名の既存モデルファイルにコピーし、使用するのが楽です。
FLMリストへの追加手順も上記Gitで説明していますので、切り分けて使用したい方はリストに追加した方がフォルダ内がごちゃつかず良いと思います。

emma-3-4b-it-heretic-creative.i1-Q4_0 使用例 暴走し、出力が止まらなかった
Gemma-3-4b-it-abliterated-Q4_0 成功例



かなりピーキーでしたが、カスタムモデルをFLMで使用できる筋道ができました。
Qwen系が自環境では上手く変換できないですが、そこには執着せずGemma4を優先しようと思います。
これはGemma系の方が好みの画像生成用プロンプトを生成するためです。
あまりお勧めはできませんが、NPUを活用されたいと考える方はテストしてみてはいかがでしょうか?


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