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:

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.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *