IBM rilascia Granite 4.0 3B Vision con un obiettivo dichiarato: estrarre dati strutturati da documenti enterprise meglio di qualsiasi modello compatto disponibile. Il risultato: SOTA su table extraction (92,1 TEDS su PubTablesV2), SOTA su chart understanding (86,4% su Chart2Summary), e 85,5% exact match su form extraction zero-shot. Licenza Apache 2.0, 3B parametri, disponibile su HuggingFace.
Cosa fa e per chi
Granite 4.0 3B Vision non è un modello generico multimodale — è specializzato su tre task specifici di document intelligence:
- Table Extraction: parsing di tabelle complesse da PDF, incluse strutture annidate e multi-riga. Metrica TEDS (structural + content accuracy).
- Chart Understanding: conversione di grafici in CSV, codice o testo strutturato. Benchmark ChartNet su 24 tipi di grafici e 6 librerie di plotting.
- Semantic KVP Extraction: identificazione di coppie campo-valore da form e moduli (es. nome, codice fiscale, importo, data) — 85,5% exact match zero-shot su VAREX (1.777 form US reali).
Benchmark: confronto con modelli alternativi
| Task | Granite 4.0 3B | Qwen3.5-9B | VLM generici 7-13B |
|---|---|---|---|
| Chart2Summary | 86,4% | n/d | 50-60% |
| Chart2CSV | 62,1% | 63,4% | 50-55% |
| PubTablesV2 cropped (TEDS) | 92,1 | n/d | 60-75 |
| PubTablesV2 full-page (TEDS) | 79,3 | n/d | 55-65 |
| VAREX KVP (exact match) | 85,5% | n/d | 70-80% |
Fonte: IBM Research / HuggingFace model card, marzo-aprile 2026. Qwen3.5-9B vince solo su Chart2CSV di 1,3 punti con il triplo dei parametri.
Architettura: LoRA adapter + DeepStack Injection
Il modello è un LoRA adapter su Granite 4.0 Micro (base testuale). L’innovazione è DeepStack Injection: le feature visive astratte vengono iniettate negli strati iniziali del transformer (dove il modello costruisce la semantica), mentre le feature ad alta risoluzione entrano negli strati finali (dove si gestiscono i dettagli spaziali). Separare questi due flussi permette al modello di essere contemporaneamente preciso sulla struttura e fedele ai dettagli.
Come usarlo in pipeline
# Installazione
pip install transformers torch
# Uso standalone su immagine singola
from transformers import AutoModelForCausalLM, AutoProcessor
from PIL import Image
model = AutoModelForCausalLM.from_pretrained(
"ibm-granite/granite-4.0-3b-vision",
device_map="auto"
)
processor = AutoProcessor.from_pretrained("ibm-granite/granite-4.0-3b-vision")
# Estrazione tabella da PDF (convertito in immagine)
image = Image.open("pagina_report.png")
prompt = "Extract the table as CSV"
inputs = processor(images=image, text=prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=500)
print(processor.decode(outputs[0]))
# Pipeline completa con Docling (PDF multi-pagina)
# pip install docling
# Docling detecta e croppa figure/tabelle automaticamente,
# Granite Vision le converte in dati strutturati
VRAM stimata: 4-8 GB — entra comodamente su una RTX 3060 o 4060. Il dataset ChartNet (1.7M campioni sintetici) è pubblico su HuggingFace per chi vuole fare fine-tuning su domini specifici.
