beta
Ricerca & Sviluppo

Fine-Tuning di LLaMA 3.2 Vision 11B per l'Estrazione Dati da Volantini

Come abbiamo raggiunto un'accuratezza del 99% nell'estrazione di informazioni strutturate da volantini di supermercati tramite Vision-Language Models, OCR avanzato e RAG

99%
Accuratezza Dati
11B
Parametri Modello
85%
Riduzione Errori

Abstract

L'estrazione di informazioni strutturate da documenti scansionati — come volantini promozionali, listini prezzi e cataloghi — rappresenta una sfida complessa nel campo della computer vision. Questo studio presenta un approccio innovativo basato sul fine-tuning di LLaMA 3.2 Vision 11B, combinato con tecnologie OCR avanzate e Retrieval-Augmented Generation (RAG), per ottenere un'accuratezza del 99% nell'estrazione di dati da volantini di supermercati. La nostra pipeline integra ricerca semantica e vettoriale, garantendo coerenza e precisione nei risultati.

Metodologia

1. OCR Avanzato

Preprocessing delle immagini con tecniche di enhancement e applicazione di modelli OCR ottimizzati per layout complessi e font variabili tipici dei volantini.

2. Fine-Tuning VLLM

Addestramento di LLaMA 3.2 Vision 11B su dataset annotato di volantini, utilizzando PEFT (LoRA) per efficienza computazionale su singola GPU A100.

3. RAG Pipeline

Implementazione di ricerca semantica e vettoriale con embedding ottimizzati per garantire coerenza e contestualizzazione delle informazioni estratte.

Architettura del Sistema

1

Ingest & Preprocessing

Upload PDF volantini → Conversione in immagini → Normalizzazione e enhancement

2

OCR + Vision Model

Estrazione testo con Tesseract/PaddleOCR → Analisi visuale con LLaMA 3.2 Vision fine-tuned

3

Strutturazione Dati

Estrazione entità (prodotti, prezzi, date) → Validazione coerenza → Creazione embeddings vettoriali

4

RAG & Query

Indexing vettoriale (Pinecone/Weaviate) → Ricerca semantica → Retrieval contestuale

Processo di Fine-Tuning

Framework e Configurazione

Per l'addestramento efficiente del modello da 11 miliardi di parametri su singola GPU A100 (40GB), abbiamo utilizzato Unsloth combinato con PEFT (Parameter-Efficient Fine-Tuning)tramite LoRA (Low-Rank Adaptation).

Configurazione Iniziale

# Hyperparametri iniziali (dataset: 500 volantini)
r = 8
lora_alpha = 8
learning_rate = 2e-5
num_epochs = 20
per_device_train_batch_size = 2
gradient_accumulation_steps = 4

Configurazione Ottimizzata

# Hyperparametri finali (dataset: 2500 volantini)
r = 32
lora_alpha = 32
learning_rate = 1e-6
num_epochs = 12
per_device_train_batch_size = 2
gradient_accumulation_steps = 4
warmup_steps = 50
early_stopping = True (patience=4)

Strategie di Ottimizzazione

  • Approccio Iterativo: Cicli di training → valutazione → aggiustamento parametri con monitoraggio giornaliero delle metriche
  • Early Stopping: Interruzione automatica quando la validation loss si stabilizza, risparmiando ore di GPU
  • Scaling Progressivo: Aumento graduale di r e lora_alpha con la crescita del dataset per evitare underfitting
  • Data Augmentation: Rotazioni, zoom, variazioni di luminosità per simulare condizioni reali di scansione

Metriche di Valutazione

Mean Reciprocal Rank (MRR)

Misura la qualità della ricerca valutando la posizione del primo risultato rilevante.

0.94
MRR Score sui volantini test

Average Precision (AP)

Valuta precisione e recall attraverso tutti i livelli di confidenza.

0.97
AP Score complessivo

Confronto Pre/Post Fine-Tuning

MetricaModello BasePost Fine-TuningMiglioramento
Accuratezza Estrazione76.3%99.1%+22.8%
F1-Score Prodotti0.720.98+36%
F1-Score Prezzi0.680.99+45%
MRR0.710.94+32%
Tempo Inferenza (ms)287214-25%

Risultati Sperimentali

Training & Validation Loss

1.00.80.60.40.20.0
Epoch
Training Loss
Validation Loss

Convergenza raggiunta all'epoch 9 con early stopping

Accuracy per Categoria

Prodotti99.2%
Prezzi99.5%
Date Validità98.7%
Marche98.9%
Categorie99.0%

Deployment e Infrastruttura

Scelte Cloud e Ottimizzazioni Costi

Per il deployment in produzione abbiamo optato per Lambda Cloud, ottenendo un risparmio del 60% rispetto a AWS/GCP mantenendo performance eccellenti:

  • GPU A100 (40GB) per inferenza con latenza media di 214ms per documento
  • Autoscaling basato su carico con min 1 / max 4 istanze
  • Cache Redis per embeddings già computati (hit rate: 78%)
  • Vector DB (Pinecone) per ricerca semantica con 2.5M+ embeddings

⚠️ Limitazioni e Trade-offs

  • • Disponibilità GPU non sempre garantita (consigliato uso di reserved instances)
  • • No supporto multi-GPU nativo con Unsloth (per scale-out considerare Axolotl)
  • • Latenza variabile in caso di cold start (mitigata con warm pools)

Conclusioni e Best Practices

Questo studio dimostra che il fine-tuning di modelli vision-language su task specifici può produrre risultati straordinari, raggiungendo un'accuratezza del 99% nell'estrazione di dati strutturati da volantini di supermercati. La combinazione di OCR avanzato, Vision-Language Models e RAG ha permesso di superare le limitazioni dei sistemi tradizionali.

Successi Chiave

  • ✓ Riduzione errori dell'85% rispetto a baseline
  • ✓ Tempo inferenza ridotto del 25%
  • ✓ Scalabilità a 2500+ volantini processati
  • ✓ ROI positivo in 4 mesi di produzione

Raccomandazioni

  • → Approccio iterativo al training
  • → Early stopping per efficienza GPU
  • → Scaling graduale di hyperparametri
  • → Monitoraggio continuo delle metriche

Sviluppi Futuri

  • Multi-lingua: Estensione a volantini in lingue diverse dall'italiano
  • Real-time processing: Riduzione latenza sotto i 100ms per applicazioni mobile
  • Active Learning: Feedback loop per miglioramento continuo su nuovi layout
  • Multi-modal RAG: Integrazione di informazioni testuali e visuali nella retrieval

Scopri la Piattaforma in Azione

Prova tu stesso la potenza del nostro sistema di estrazione dati da volantini

Vittorio Sequino
Autore

Vittorio Sequino

Innovation Manager & Data Scientist specializzato in Vision LLM e Marketing. Appassionato di Vision-Language Models e applicazioni pratiche di AI nel retail.