CoolFace
Modelpublic

sbakus1528/gemma-4-E4B-it-mmproj-vision

sourceHugging Faceapache-2.0updated 1mo agoView on Hugging Face
0likes181downloads
Model Card

gemma-4-E4B-it mmproj — vision only

The official Gemma 4 E4B multimodal projector ships vision and audio in one file. If your app only needs image understanding, the audio encoder is dead weight — and llama.cpp has no flag to disable one modality (--no-mmproj turns off both).

This is the same projector with the audio encoder removed. No weight value was modified.

fileVRAM (measured)
original mmproj0.99 GB5,213 MiB
vision only (this)0.37 GB4,465 MiB
saved620 MB748 MB

On an 8 GB laptop GPU that is roughly one extra slot.

Verified, not assumed

Both files were loaded in llama-server and asked the same questions with the same image:

  • —synthetic image (3 blue squares, "how many?") — original: 3, this: 3
  • —real 1920x1080 desktop screenshot ("what is this screen?") — both correctly identified Google Colab and that machine-learning work was in progress

A first attempt loaded fine but returned garbage (<unused49>): the repacking had flattened clip.vision.image_mean / image_std from [0,0,0] / [1,1,1] to scalars, so image normalization was wrong. Every key and tensor was present — only the values were broken. Worth knowing if you repack one yourself: comparing key lists is not enough, compare values.

What changed

  • —removed tensors: a.* (751) and mm.a.input_projection.weight
  • —kept tensors: v.* (658) and mm.input_projection.weight
  • —metadata: clip.has_audio_encoder = false; clip.audio.* keys removed

Usage

bash
llama-server -m gemma-4-E4B-it-Q4_K_M.gguf \
             --mmproj gemma-4-E4B-it-mmproj-vision.gguf -ngl 99

Audio input will not work with this file — that is the point. Use the original projector if you need it.

License

Apache-2.0, inherited from google/gemma-4-E4B-it. Source of the GGUF conversion: unsloth/gemma-4-E4B-it-GGUF. See NOTICE for the required attribution and the list of changes.