CoolFace
Modelpublic

macunaima/gemma4-search-doc-sm8650-a8w4-full-int4embed

sourceHugging Facegemmaupdated 18d agoView on Hugging Face
0likes
Model Card

gemma4-search-doc · SM8650 · A8W4 (full) + embedders INT4

Quantização derivada do checkpoint gemma4-search-doc, compilada e empacotada especificamente para a NPU (HTP) da Qualcomm Snapdragon SM8650 — o SoC do Samsung Galaxy S24, alvo deste projeto. Sujeito aos Termos de Uso do Gemma.

Compilado via AOT com --soc-model SM8650. Roda através do runtime LiteRT-LM como um único arquivo .litertlm.

Tamanho

Tamanhovs. baseline A8W8 (produção)
Baseline A8W8 (referência, sem este repo)5.87 GiB—
Este modelo1.64 GiB-72.0%

Esquema de quantização

ComponentePrecisão
Atenção (q/k/v/o_proj)INT4 peso per-channel, INT8 ativação
MLP (gate/up/down_proj)INT4 peso per-channel, INT8 ativação
embedder.tfliteINT4 weight-only, per-channel
perlayerembedder.tfliteINT4 weight-only, per-channel

Granularidade: per-channel em todos os pesos (o compilador HTP da Qualcomm não suporta blockwise — ver Qualcomm_QNN_Compiler.md no repo LiteRT). Os embedders (embedder.tflite, per_layer_embedder.tflite) nunca passam pelo compilador AOT — são tabelas de lookup puras, então a compressão ali não tem restrição de HTP.

Risco de qualidade

Médio-alto. Todas as projeções lineares do modelo (atenção + MLP) vão pra INT4 — máxima redução de tamanho possível dentro do que o HTP da Qualcomm suporta (per-channel; blockwise não é suportado no HTP), mas também o maior desvio do baseline validado.

Velocidade esperada

Mesma lógica da opção MLP-only, ganho um pouco maior (mais peso movido em 4 bits por token). Estimativa de engenharia, não medida no S24 ainda.

Recomendação

Última opção — só se as duas anteriores não liberarem RAM suficiente. Precisa de comparação de qualidade contra um conjunto de avaliação fora da calibração antes de ir pra produção.

Modelos irmãos (mesma base, outras receitas)

Uma quarta receita (INT4 weight-only com dequantize explícito) foi testada e descartada: o compilador AOT da Qualcomm rejeita esse padrão inteiro (Op Dequantize does not support per-channel quant tensor) — não gerou modelo utilizável, por isso não tem repo.

Aviso

As estimativas de velocidade/qualidade acima são raciocínio de engenharia sobre a arquitetura (decode é limitado por banda de memória; MLP domina os parâmetros), não medições reais no dispositivo. Ainda não foram validadas num Galaxy S24 físico.