Présentation d’IBM Data Prep Kit pour des flux de travail LLM rationalisés
Les grands modèles de langage (LLMs) ont été largement adoptés dans les secteurs de la santé, du retail et de l’e-commerce, générant des milliards de dollars de revenus globaux. Un ingrédient clé du succès de ces LLMs est constitué par les données sur lesquelles ils sont entraînés. L’intelligence générale de ces modèles dépend de la quantité, de la qualité et de la variété des données utilisées ; par conséquent, garantir un prétraitement efficace devient essentiel.
Lors d’un récent NYC Unstructured Data Meetup organisé par Zilliz, Santosh Borse, Senior Engineer chez IBM Research, a présenté un Data Prep Kit (DPK) open source qu’ils ont créé pour rationaliser le processus de préparation des données pour les workflows de LLM. Il a abordé les défis liés à la qualité des données, la manière dont ils les ont relevés, ainsi que le pipeline de mise en œuvre du DPK open source.
Ce blog récapitulera ses points clés et explorera comment DPK peut être davantage intégré à Milvus pour des applications telles que la recherche sémantique et la génération augmentée par récupération (RAG).
Les données sont le nouveau pétrole !
« Les données sont le nouveau pétrole » — cette affirmation s’applique parfaitement à la croissance des LLM. Tout comme le pétrole fait tourner l’économie, les données sont la source du succès des LLMs.
Voici une liste de sources de données que de nombreux LLMs, tels que les modèles GPT d’OpenAI, ont exploitées pour extraire des données destinées à l’entraînement des LLM.
Common Crawl : Une source de données massive contenant des pétaoctets de données, équivalant à près de 250 milliards de pages web. C’est également un sur-ensemble de nombreux autres jeux de données disponibles. Ces données servent de source fondamentale pour les modèles de langage à usage général.
Jeux de données traités : C4, The Pile, Red Pajama et Wikipedia offrent des données de haute qualité, organisées et adaptées à des tâches spécifiques.
Données propres à un domaine : Les données propres à un domaine peuvent être utilisées pour répondre à des cas d’usage plus ciblés. Quelques exemples sont BookCorpus pour l’analyse littéraire, MathQA pour la résolution de problèmes mathématiques et StarCoder pour les tâches liées au codage.
HuggingFace : Il propose plus de 210 000 jeux de données, permettant la personnalisation pour des tâches de fine-tuning.
Vos propres données : Les LLMs sont généralement entraînés à l’aide d’une combinaison de données de l’entreprise et de données open source.
La qualité des données est essentielle !
Garantir la qualité des données est l’étape la plus importante pour obtenir des performances optimales des LLM. Voici quelques-uns des aspects clés à prendre en compte lors du traitement de vos données d’entraînement :
Variété — Les données doivent contenir une variété d’informations et provenir de diverses sources afin de garantir qu’il y ait suffisamment d’informations à apprendre pour la généralisation du modèle.
Schéma linguistique — Des schémas linguistiques diversifiés doivent être présents dans les données afin de rendre les LLMs plus généralisables entre les langues et les domaines.
Surapprentissage vs. sous-apprentissage — Si une actualité apparaît sur plus de 100 pages sur Internet, alors le modèle sera entraîné sur toutes ces pages, ce qui l’amènera à surapprendre ces données particulières. À l’inverse, pour d’autres actualités, il sous-apprendrait. Il faut donc maintenir un équilibre entre les deux.
Biais — Les biais dans les données d’entraînement, tels que les stéréotypes de genre ou culturels, peuvent propager des résultats nuisibles dans les LLMs. Par conséquent, l’atténuation des biais est une étape de prétraitement cruciale.
Informations personnelles — Les informations personnelles doivent être encodées ou supprimées afin de protéger la confidentialité et la sécurité de la personne.
Mauvaises données — Les données contenant du contenu nuisible (abus, grossièretés ou discours haineux) doivent être supprimées afin de préserver les normes éthiques et professionnelles des sorties des modèles.
| Mauvaises données | Bonnes données |
|---|---|
| Dupliquées | Uniques et distinctes |
| Fautes de frappe et d’orthographe | Exactes et sans erreur |
| Incohérentes | Cohérentes |
| Hallucinations | Validées |
| Toxiques | Sûres et sécurisées |
| … | … |
Tableau : Bonnes données vs mauvaises données
Si les données restent de mauvaise qualité, cela augmentera le coût de calcul et le temps nécessaires pour entraîner efficacement les LLM.
Nettoyage des données
Le nettoyage des données est une autre étape essentielle du prétraitement des données pour les LLM. Il garantit que les données d’entraînement sont exemptes d’incohérences, d’inexactitudes ou d’informations non pertinentes. Vous trouverez ci-dessous quelques-unes des principales étapes du nettoyage des données.
Figure- Exemples de nettoyage des données .png
Figure : Exemples de nettoyage des données
Déduplication—Les entrées dupliquées d’un jeu de données peuvent fausser les résultats d’entraînement, entraînant une utilisation inefficace des ressources et du surapprentissage.
Filtres de qualité—Filtres permettant de supprimer les données incohérentes (par exemple, deux langues dans la même phrase), d’imputer les valeurs manquantes, de normaliser les formats, de supprimer les motifs ou textes indésirables, et de purifier davantage les données.
Filtres de contenu—Les données toxiques ou biaisées sont filtrées en remplaçant certains mots nuisibles par des mots modérés et éthiques, plus inclusifs pour tout le monde.
Réduction de la confidentialité—Les informations personnellement identifiables (PII) sont encodées avec certains mots-clés afin de protéger la confidentialité des données des individus ou des organisations.
Nettoyage basé sur des règles—Certaines règles sont définies pour supprimer les erreurs liées aux fautes de frappe, aux signes de ponctuation inutiles, aux problèmes de mise en forme, etc.
Data Prep Kit et le parcours des données pour le modèle IBM Granite
Après avoir évoqué les principaux problèmes de qualité des données et la manière de les traiter grâce au nettoyage des données, Santosh Borse a parlé du parcours de traitement des données pour leur propre modèle IBM Granite, présenté ci-dessous. Il mentionne également quelques statistiques intéressantes sur le volume de données (au final 2,5 billions de tokens pour l’entraînement) après certaines étapes de prétraitement, comme indiqué ci-dessous. Plus de 70 % des données brutes sont inutiles, ce qui signifie que le prétraitement et le nettoyage des données sont des étapes cruciales.
Le Data Prep Kit (DPK) est une boîte à outils open source d’IBM Research conçue pour rationaliser la préparation des données non structurées pour les développeurs qui créent des applications activées par les LLM. Il est adapté à des cas d’utilisation tels que le fine-tuning, l’instruction-tuning et la génération augmentée par récupération (RAG), offrant des solutions modulaires et évolutives pour gérer divers défis de traitement des données. DPK s’est avéré bénéfique et efficace pour produire des jeux de données de pré-entraînement destinés aux modèles LLM open source Granite.
Flux de travail DPK
Le Data Prep Kit (DPK) simplifie la préparation des données grâce à des transforms (modules) réutilisables conçus pour les données de code et de langage. Il est également envisagé d’étendre sa prise en charge aux images, à la parole et aux données multimodales. DPK fournit des API de haut niveau qui permettent aux développeurs de commencer rapidement à traiter leurs données sans nécessiter une connaissance approfondie des frameworks ou des environnements d’exécution sous-jacents.
Figure- Flux de travail Data Prep Kit.png
Figure : Flux de travail Data Prep Kit
Le workflow commence par la conversion des fichiers d’entrée (tels que HTML, PDF ou code) au format Parquet standardisé, garantissant des schémas de données cohérents. En son cœur, DPK inclut une bibliothèque robuste de traitement des données qui permet aux utilisateurs d’appliquer des transformations prédéfinies ou personnalisées, en enchaînant plusieurs transformations pour traiter les données de manière systématique. Par exemple, les données textuelles peuvent passer par une déduplication exacte, puis poursuivre avec des étapes comme l’analyse de la qualité des documents et la tokenisation, ou le découpage des documents et la génération d’embeddings.
Les embeddings de documents résultants peuvent être exploités pour des applications avancées telles que le fine-tuning de modèles, la mise en œuvre de pipelines RAG ou l’instruct-tuning. En automatisant et en standardisant le processus de préparation des données, DPK permet aux développeurs de se concentrer sur la création et l’amélioration de leurs modèles d’IA, en passant facilement des ordinateurs portables aux environnements basés sur des clusters.
DPK permet également aux utilisateurs de créer et d’ajouter leurs transformations personnalisées afin de répondre à des besoins spécifiques. Voici comment vous pouvez commencer :
Tutoriel étape par étape pour vous aider à ajouter votre propre transformation.
Essayez d’implémenter votre première transformation personnalisée
Démo complète pour implémenter toutes les étapes de prétraitement des documents dans un seul workflow.
Intégration de DPK avec Milvus pour RAG
Après avoir fait passer les données brutes par DPK, le résultat est constitué d’embeddings textuels, qui peuvent être ensuite intégrés à des bases de données vectorielles comme Milvus afin de créer des applications LLM intéressantes. Examinons un exemple de pipeline RAG en intégrant DPK avec Milvus.
La Retrieval Augmented Generation (RAG) est une technique avancée qui améliore la précision, la pertinence et l’ancrage factuel des sorties des LLM en combinant des méthodes de récupération et de génération. Elle se compose de deux éléments clés : le retriever, qui récupère des informations contextuelles pertinentes depuis une base de données vectorielle comme Milvus, remplie de données externes, et le generator, qui utilise ce contexte pour créer des réponses précises et pertinentes.
Ci-dessous se trouve le pipeline RAG construit avec Milvus et DPK. Milvus sert de retriever dans ce pipeline, en gérant et en interrogeant efficacement des données externes à grande échelle. DPK prétraite les données, en veillant à ce qu’elles soient propres, cohérentes et de haute qualité avant d’être stockées dans Milvus. Le LLM est le generator, produisant des réponses précises et sensibles au contexte, adaptées aux besoins des utilisateurs.
Figure- Workflow global de Data Prep Kit avec Milvus pour RAG.png
Figure : Workflow global de Data Prep Kit avec Milvus pour RAG (Source)
Nettoyage des documents - Cette étape exécute toutes les fonctions de prétraitement des données, telles que la suppression des balises, la réalisation d’une déduplication exacte et approximative, etc.
Découpage en chunks - Divise les documents en chunks ou segments gérables à l’aide de diverses stratégies de chunking. Les documents peuvent être divisés en pages, paragraphes ou sections. La bonne stratégie de chunking dépend des types de documents traités.
Vectoriser/Générer des embeddings - Les fragments obtenus sont ensuite vectorisés à l’aide de modèles d’embedding. Cette étape vise à rendre le texte recherchable.
Enregistrement des données dans la base de données vectorielle Milvus - Milvus stocke tous les embeddings encodés et les prépare pour la recherche par similarité.
Vectoriser la question - Lorsqu’un utilisateur soumet une question, elle est vectorisée à l’aide du même modèle d’embedding.
Recherche vectorielle - La requête encodée est envoyée à Milvus pour une recherche de similarité vectorielle.
Récupérer les documents pertinents - Milvus renvoie les top-K documents les plus pertinents pour la requête.
Former un nouveau prompt : Les documents récupérés et la requête originale sont combinés pour former un nouveau prompt pour le LLM.
Le LLM produit une réponse — Enfin, le LLM génère une réponse plus précise en utilisant ses connaissances et les informations contextuelles récupérées depuis la base de données vectorielle Milvus.
Pour consulter l’implémentation complète du workflow ci-dessus, consultez ce tutoriel.
Conclusion
Le Data Prep Kit (DPK) open source d’IBM simplifie le prétraitement des données pour les workflows LLM en s’attaquant aux défis courants tels que la toxicité, le surapprentissage et les biais dans les données. Avec plus de 20 transformations modulaires, DPK rationalise les tâches essentielles telles que la déduplication, le filtrage et la protection de la confidentialité. Le pipeline DPK commence par prétraiter les entrées brutes telles que les PDF ou le HTML et les convertir en formats structurés comme Parquet. Des contrôles qualité, le nettoyage des données et la génération d’embeddings suivent cette étape. Ces embeddings peuvent être stockés dans des bases de données vectorielles comme Milvus afin de prendre en charge des applications telles que le fine-tuning et la génération augmentée par récupération (RAG).
Ce blog a également démontré comment l’intégration de Milvus avec DPK permet de récupérer des documents contextuellement pertinents et d’améliorer les sorties des LLM grâce à des réponses fiables et fondées sur des faits.
Ressources pertinentes
Continuer à lire

Zilliz Cloud Update: Tiered Storage, Business Critical Plan, Cross-Region Backup, and Pricing Changes
This release offers a rebuilt tiered storage with lower costs, a new Business Critical plan for enhanced security, and pricing updates, among other features.

Zilliz Cloud Now Available in Azure North Europe: Bringing AI-Powered Vector Search Closer to European Customers
The addition of the Azure North Europe (Ireland) region further expands our global footprint to better serve our European customers.

DeepSeek-VL2: Mixture-of-Experts Vision-Language Models for Advanced Multimodal Understanding
Explore DeepSeek-VL2, the open-source MoE vision-language model. Discover its architecture, efficient training pipeline, and top-tier performance.


