Presentazione di IBM Data Prep Kit per flussi di lavoro LLM semplificati
I Large Language Models (LLMs) sono stati ampiamente adottati nei settori sanitario, retail ed e-commerce, generando miliardi di dollari di ricavi complessivi. Un ingrediente chiave alla base del successo di questi LLM è il dato su cui vengono addestrati. L’intelligenza generale di questi modelli dipende dalla quantità, dalla qualità e dalla varietà dei dati utilizzati; pertanto, garantire un preprocessing efficiente diventa fondamentale.
In un recente NYC Unstructured Data Meetup ospitato da Zilliz, Santosh Borse, Senior Engineer presso IBM Research, ha parlato di un Data Prep Kit (DPK) open-source che hanno creato per semplificare il processo di preparazione dei dati per i workflow LLM. Ha discusso le sfide affrontate con la qualità dei dati, come le hanno superate e la pipeline per implementare il DPK open-source.
Questo blog ricapitolerà i suoi punti chiave ed esplorerà come DPK possa essere ulteriormente integrato con Milvus per applicazioni come la ricerca semantica e la Retrieval Augmented Generation (RAG).
I dati sono il nuovo petrolio!
“I dati sono il nuovo petrolio”—questa affermazione può essere applicata in modo appropriato alla crescita degli LLM. Come il petrolio alimenta l’economia, i dati sono la fonte del successo degli LLM.
Ecco un elenco di fonti di dati che molti LLM, come i modelli GPT di OpenAI, hanno sfruttato per estrarre dati per l’addestramento degli LLM.
Common Crawl: Una fonte di dati enorme contenente petabyte di dati, equivalenti a quasi 250 miliardi di pagine web. È anche un superset per molti altri dataset disponibili. Questi dati servono come fonte fondamentale per modelli linguistici di uso generale.
Dataset elaborati: C4, The Pile, Red Pajama e Wikipedia offrono dati di alta qualità e curati, adattati a compiti specifici.
Dati specifici per dominio: I dati specifici per dominio possono essere utilizzati per affrontare casi d’uso più mirati. Alcuni esempi sono BookCorpus per l’analisi letteraria, MathQA per la risoluzione di problemi matematici e StarCoder per attività legate alla programmazione.
HuggingFace: Ha più di 210K dataset, consentendo la personalizzazione per attività di fine-tuning.
I tuoi dati: Gli LLM vengono solitamente addestrati utilizzando una combinazione di dati aziendali e open-source.
La qualità dei dati è la chiave!
Garantire la qualità dei dati è il passo più importante per ottenere prestazioni LLM ottimali. Alcuni degli aspetti chiave che dovrebbero essere considerati quando si elaborano i dati di addestramento sono:
Varietà—I dati dovrebbero contenere una varietà di informazioni e provenire da varie fonti per garantire che ci siano abbastanza informazioni da apprendere per la generalizzazione del modello.
Pattern linguistico—Nei dati dovrebbero essere presenti pattern linguistici diversificati per rendere gli LLM più generalizzabili tra lingue e domini.
Overfitting vs. Underfitting—Se una notizia appare su oltre 100 pagine su Internet, allora il modello verrà addestrato su tutte quelle pagine, portandolo a fare overfitting su quei dati specifici. Al contrario, per altre notizie, farebbe underfitting. Pertanto, è necessario mantenere un equilibrio tra entrambi.
Bias—I bias nei dati di addestramento, come stereotipi di genere o culturali, possono propagare output dannosi negli LLM. Pertanto, la mitigazione dei bias è un passaggio di preprocessing cruciale.
Informazioni personali—Le informazioni personali dovrebbero essere codificate o rimosse per proteggere la privacy e la sicurezza dell’individuo.
Dati scadenti—I dati che contengono contenuti dannosi (abusi, volgarità o discorsi d’odio) dovrebbero essere rimossi per mantenere gli standard etici e professionali degli output dei modelli.
| Dati di scarsa qualità | Dati di buona qualità |
|---|---|
| Duplicati | Unici e distinti |
| Refusi ed errori di ortografia | Accurati e privi di errori |
| Incoerenti | Coerenti |
| Allucinazioni | Validati |
| Tossici | Sicuri e protetti |
| … | … |
Tabella: Dati di buona qualità vs dati di scarsa qualità
Se i dati rimangono di scarsa qualità, aumenteranno il costo computazionale e il tempo necessari per addestrare efficacemente gli LLM.
Pulizia dei dati
La pulizia dei dati è un altro passaggio essenziale per il preprocessing dei dati degli LLM. Garantisce che i dati di addestramento siano privi di incoerenze, inesattezze o informazioni irrilevanti. Di seguito sono riportati alcuni dei principali passaggi per la pulizia dei dati.
Figura- Esempi di pulizia dei dati .png
Figura: Esempi di pulizia dei dati
Deduplicazione—Le voci duplicate del dataset possono distorcere i risultati dell’addestramento, portando a un utilizzo inefficiente delle risorse e all’overfitting.
Filtri di qualità—Filtri per rimuovere dati incoerenti (ad esempio, due lingue nella stessa frase), imputare valori mancanti, normalizzare i formati, rimuovere pattern o testo indesiderati e purificare ulteriormente i dati.
Filtri di contenuto—I dati tossici o distorti vengono filtrati sostituendo specifiche parole dannose con parole moderate ed etiche, più inclusive per tutti.
Riduzione della privacy—Le informazioni personali identificabili (PII) vengono codificate con determinate parole chiave per proteggere la privacy dei dati di individui o organizzazioni.
Pulizia basata su regole—Vengono impostate determinate regole per rimuovere errori relativi a refusi, segni di punteggiatura non necessari, problemi di formattazione, ecc.
Data Prep Kit e il percorso dei dati per il modello IBM Granite
Dopo aver parlato dei principali problemi legati alla qualità dei dati e della loro gestione tramite la pulizia dei dati, Santosh Borse ha parlato del percorso di elaborazione dei dati per il loro modello IBM Granite, mostrato di seguito. Menziona anche alcune statistiche interessanti sul volume di dati (in definitiva 2,5 trilioni di token per l’addestramento) dopo alcuni passaggi di preprocessing, come indicato di seguito. Oltre il 70% dei dati grezzi è inutile, il che dimostra che il preprocessing e la pulizia dei dati sono passaggi cruciali.
Il Data Prep Kit (DPK) è un toolkit open-source di IBM Research progettato per semplificare la preparazione dei dati non strutturati per gli sviluppatori che creano applicazioni abilitate agli LLM. È pensato per casi d’uso come il fine-tuning, l’instruction-tuning e la generazione aumentata da recupero (RAG), offrendo soluzioni modulari e scalabili per gestire diverse sfide di elaborazione dei dati. DPK si è rivelato utile ed efficace nella produzione di dataset di pre-addestramento per i modelli LLM open-source Granite.
Flusso di lavoro di DPK
Il Data Prep Kit (DPK) semplifica la preparazione dei dati con trasformazioni (moduli) riutilizzabili progettate per dati di codice e linguaggio. È inoltre previsto che estenda il suo supporto a immagini, parlato e dati multimodali. DPK fornisce API di alto livello che consentono agli sviluppatori di iniziare rapidamente a elaborare i propri dati senza richiedere una conoscenza approfondita dei framework o dei runtime sottostanti.
Figura- Flusso di lavoro del Data Prep Kit.png
Figura: Flusso di lavoro del Data Prep Kit
Il workflow inizia convertendo i file di input (come HTML, PDF o codice) nel formato Parquet standardizzato, garantendo schemi di dati coerenti. Al suo interno, DPK include una solida libreria di elaborazione dei dati che consente agli utenti di applicare trasformazioni predefinite o personalizzate, concatenando più trasformazioni per elaborare i dati in modo sistematico. Ad esempio, i dati testuali possono passare attraverso una deduplicazione esatta e poi procedere a passaggi come l’analisi della qualità dei documenti e la tokenizzazione oppure la suddivisione dei documenti in chunk e la generazione di embedding.
Gli embedding dei documenti risultanti possono essere sfruttati per applicazioni avanzate come il fine-tuning dei modelli, l’implementazione di pipeline RAG o l’instruct-tuning. Automatizzando e standardizzando il processo di preparazione dei dati, DPK consente agli sviluppatori di concentrarsi sulla creazione e sul perfezionamento dei propri modelli AI, scalando facilmente dai laptop agli ambienti basati su cluster.
DPK consente inoltre agli utenti di creare e aggiungere le proprie trasformazioni personalizzate per soddisfare esigenze specifiche. Ecco come puoi iniziare:
Tutorial passo passo per aiutarti ad aggiungere la tua trasformazione.
Prova a implementare la tua prima trasformazione personalizzata
Demo completa per implementare tutti i passaggi di pre-elaborazione dei documenti in un unico workflow.
Integrare DPK con Milvus per RAG
Dopo aver passato i dati grezzi attraverso DPK, il risultato sono embedding testuali, che possono essere ulteriormente integrati con database vettoriali come Milvus per creare interessanti applicazioni LLM. Vediamo un esempio di pipeline RAG integrando DPK con Milvus.
La Retrieval Augmented Generation (RAG) è una tecnica avanzata che migliora l’accuratezza, la pertinenza e il fondamento fattuale degli output degli LLM combinando metodi di retrieval e generazione. È composta da due componenti chiave: il retriever, che recupera informazioni contestuali rilevanti da un database vettoriale come Milvus riempito con dati esterni, e il generator, che utilizza questo contesto per creare risposte precise e significative.
Di seguito è riportata la pipeline RAG realizzata con Milvus e DPK. Milvus funge da retriever in questa pipeline, gestendo ed eseguendo query in modo efficiente su dati esterni su larga scala. DPK pre-elabora i dati, assicurando che siano puliti, coerenti e di alta qualità prima di essere archiviati in Milvus. L’LLM è il generator, producendo risposte accurate e consapevoli del contesto, adattate alle esigenze degli utenti.
Figure- Overall Workflow of Data Prep Kit with Milvus for RAG.png
Figura: Workflow complessivo di Data Prep Kit con Milvus per RAG (Fonte)
Pulizia dei documenti - Questo passaggio esegue tutte le funzioni di pre-elaborazione dei dati, come la rimozione dei markup, l’esecuzione della deduplicazione esatta e fuzzy, ecc.
Suddivisione in chunk - Suddivide i documenti in chunk o segmenti gestibili utilizzando varie strategie di chunking. I documenti possono essere suddivisi in pagine, paragrafi o sezioni. La strategia di chunking corretta dipende dai tipi di documenti elaborati.
Vettorizzare/Generare Embedding - I blocchi ottenuti vengono quindi vettorizzati utilizzando modelli di embedding. Questo passaggio serve a rendere il testo ricercabile.
Salvataggio dei dati nel Database vettoriale Milvus - Milvus archivia tutti gli embedding codificati e li prepara per il recupero per similarità.
Vettorizzare la domanda - Quando un utente pone una domanda, questa viene vettorizzata utilizzando lo stesso modello di embedding.
Ricerca vettoriale - La query codificata viene inviata a Milvus per una ricerca di similarità vettoriale.
Recuperare documenti pertinenti - Milvus restituisce i primi K documenti più pertinenti alla query.
Formare un nuovo prompt: I documenti recuperati e la query originale vengono combinati per formare un nuovo prompt per l’LLM.
LLM produce la risposta— Infine, l’LLM genera una risposta più accurata utilizzando la sua conoscenza e le informazioni contestuali recuperate dal database vettoriale Milvus.
Per consultare l’implementazione completa del flusso di lavoro sopra descritto, consulta questo tutorial.
Conclusione
Il Data Prep Kit (DPK) open source di IBM semplifica la preelaborazione dei dati per i flussi di lavoro LLM affrontando sfide comuni come tossicità, overfitting e bias nei dati. Con oltre 20 trasformazioni modulari, DPK semplifica attività essenziali come deduplicazione, filtraggio e protezione della privacy. La pipeline DPK inizia preelaborando input grezzi come PDF o HTML e convertendoli in formati strutturati come Parquet. A questo passaggio seguono controlli di qualità, pulizia dei dati e generazione di embedding. Questi embedding possono essere archiviati in database vettoriali come Milvus per supportare applicazioni come fine-tuning e Retrieval-Augmented Generation (RAG).
Questo blog ha inoltre dimostrato come l’integrazione di Milvus con DPK consenta il recupero di documenti contestualmente rilevanti e migliori gli output degli LLM con risposte affidabili e basate sui fatti.
Risorse pertinenti
Continua a leggere

Zilliz Cloud Just Landed in Claude Code
The Zilliz Cloud Plugin brings the full power of Zilliz Cloud directly into your Claude Code terminal as natural-language conversations.

How to Improve Retrieval Quality for Japanese Text with Sudachi, Milvus/Zilliz, and AWS Bedrock
Learn how Sudachi normalization and Milvus/Zilliz hybrid search improve Japanese RAG accuracy with BM25 + vector fusion, AWS Bedrock embeddings, and practical code examples.

Context Engineering Strategies for AI Agents: A Developer’s Guide
Learn practical context engineering strategies for AI agents. Explore frameworks, tools, and techniques to improve reliability, efficiency, and cost.


