inclusionAI、4B意思決定VLM「SingVL-4B」のGGUF版を公開

スペック

総パラメータ4B
コンテキスト長4096 tokens
重みの公開GGUF
配布形式・量子化BF16, Q8_0, Q4_K_M; 共有ビジョンプロジェクターはF16
4bit量子化の目安メモリ約2.4GB(16GB以上のメモリで実行可能な目安)

メモリの目安はパラメータ数×0.6バイトの概算で、実際はコンテキスト長と実装で変わります

inclusionAIは、Qwen3.5を基盤とする4Bパラメータのマルチモーダル意思決定モデル「Sing VL S1」のGGUF版をinclusionAI/SingVL_S1_4B_GGUFとして公開しました。デコーダーはBF16・Q8_0・Q4_K_Mの3種類で、最小のQ4_K_Mは2.71 GBです。

何をするモデルか

Sing VL S1は、テキストまたはJSONと最大4枚の画像を入力に、名前付きの質問へ回答します。各質問は1回の完全なforward passで選択肢をスコアリングします。質問タイプは3つです。

  • choice: 選択肢を選び、候補ごとの確率を返す
  • noul: yes/no命題が真である確率を返す
  • score: 低→高に並べた2〜10段階で評価し、各レベルの確率と期待レベル(0始まりのレベル番号×確率の総和)を返す。例: 3段階で確率0.1/0.3/0.6なら1.5

完全attention層は入力全体への双方向attentionを使い、GDN層は因果的再帰を維持します。各質問はKVと再帰状態をクリアした状態から始まり、最後の有効入力位置で候補のlogitを読みます。付属のllama.cppアダプターがこのattention契約を自動で適用します。

ファイルとスコア

ファイル 精度 サイズ
models/SingVL-4B-BF16.gguf BF16デコーダー 8.42 GB
models/SingVL-4B-Q8_0.gguf Q8_0デコーダー 4.48 GB
models/SingVL-4B-Q4_K_M.gguf Q4_K_Mデコーダー 2.71 GB
models/mmproj-SingVL-4B-F16.gguf 共有F16ビジョンプロジェクター 0.67 GB

デコーダーを1つ選び、共有ビジョンプロジェクターと組み合わせます。チェックサムと正確なバイト数はmanifest.jsonにあります。

Public Decision Index 0.3でのSing VL S1のスコアは、Textが69.76、Visionが73.94です。原文の表ではStartLux-Decision v1.1 4BがText 67.8/Vision 67.90、Perplexity Decider Flash v1.2 (4B)がText 60.1/Vision 72.5、TypeSafe Jev 1.14がText 60.70です。これらはソースモデルの完全な公開再実行(テキスト140,178リクエスト、ビジョン12,210リクエスト)に基づく値で、GGUF版の検証は現時点で3精度にわたる9例・11問にとどまり、GGUF版の完全な公開スコアは保留中です。

動かし方と要件

  • バックエンド: Linux x86_64 CPU上のllama.cpp
  • 入力処理: Python 3.12と互換性のあるPyTorch・torchvision
  • コンテキスト: デフォルト4096 tokens(画像トークン込み)
  • 固定されたllama.cppコミットでアダプターを一度ビルドし、リポジトリのルートから例を実行

PythonではJEV_GGUF_MODEL、JEV_GGUF_MMPROJ、JEV_CPU_CONTEXT、JEV_CPU_THREADSを設定し、SingVLS1("config", device="cpu")でモデルを生成してpredictを呼びます。stateと質問のinstructionsは連結されるため、区切りが必要な場合はテキストstateの末尾に空白か改行を残します。

HTTP APIはFastAPIサービスで提供します。

export JEV_GGUF_MODEL="$PWD/models/SingVL-4B-Q8_0.gguf"
export JEV_GGUF_MMPROJ="$PWD/models/mmproj-SingVL-4B-F16.gguf"
export JEV_CPU_CONTEXT=4096
export JEV_CPU_THREADS=8
export OMP_NUM_THREADS=8
python examples/llama_cpp/serve.py --model "$PWD/config" --device cpu --port 8173 --image-root "$PWD/examples/images"

リクエストは/v1/systemoneへ送り、"model": "sing-vl-s1"を指定します。サーバーは起動時にattentionとコンテキストの設定を表示し、/healthで公開、/docsで対話的APIドキュメントを提供します。画像は順序付きのimages配列で渡し、data_url(Base64 data URL)、base64、path(--image-root内で解決)の形式に対応します。

背景

GGUFはGGMLプロジェクトで仕様が公開されている推論用モデルのバイナリ形式で、llama.cppはggml-orgが公開するC/C++実装の言語モデル・視覚言語モデル推論ソフトウェアです。

この記事の固有名詞

コメント (0)

まだコメントはありません。

コメントを書く

2000文字以内