Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Quel rôle joue ETL dans le pipeline d'ingestion de données de chiffon


Quel rôle joue ETL dans le pipeline d'ingestion de données de chiffon


L'extraction, la transformation et le chargement (ETL) jouent un rôle essentiel dans le pipeline d'ingestion de données pour la génération (RAG) (RAG) (RAG) de la récupération, qui est une architecture d'apprentissage automatique qui améliore les modèles de grandes langues (LLM) avec des connaissances externes provenant de diverses sources de données pour améliorer leurs performances sur les tasks extensifs des connaissances. Le processus ETL dans un pipeline de chiffons consiste à extraire des données brutes à partir de diverses sources, à les transformer en formes structurées, propres et significatives prêtes à intégrer et à charger ces représentations de données transformées en bases de données vectorielles ou des magasins qui prennent en charge une récupération efficace au cours du stade de génération. Ce processus garantit que les données d'entrée utilisées pour augmenter le modèle de langue sont de haute qualité, bien organisées et optimisées pour la recherche et la récupération de similitude.

Extraction dans le pipeline de chiffons

La phase d'extraction est responsable de la collecte de données brutes de différentes sources de connaissances externes telles que des pages Web, des documents, des PDF, des bases de données ou des API. Étant donné que RAG vise à augmenter le LLM avec un contenu mis à jour et pertinent, l'étape d'extraction est vitale pour tirer un grand volume de données hétérogènes de ces sources. Les données peuvent varier considérablement en format et en structure, y compris du texte non structuré, des langages de balisage semi-structurés comme HTML ou XML, et des enregistrements structurés à partir de bases de données. Extracting this data often requires specialized parsers, scrapers, or connectors that can handle diverse data formats and the specific characteristics of each source.

Dans le contexte du chiffon, les données extraites peuvent inclure de longs documents, des archives Web, des enregistrements d'entreprise ou du contenu technique qui contient les connaissances factuelles pour augmenter le modèle. Les résultats d'extraction bruts contiennent généralement du bruit tel que des étiquettes HTML, des en-têtes de navigation et des pieds de page, des métadonnées non pertinentes et d'autres éléments non informationnels qui peuvent réduire la précision et l'efficacité des processus suivants s'ils ne sont pas gérés correctement. Ainsi, les systèmes d'extraction dans les pipelines de chiffon comprennent souvent un mécanisme de préfiltrage pour éliminer les données clairement non pertinentes ou pour séparer les données en morceaux adaptés à un traitement ultérieur.

Transformation dans le pipeline de chiffons

La transformation fait référence à la série d'opérations qui convertissent les données extraites brutes en un format propre, normalisé et structuré préféré pour la modélisation et la récupération. Il s'agit de l'une des phases les plus essentielles du pipeline de chiffons, car les modèles de grands langues et les systèmes de recherche vectorielle nécessitent que les entrées soient formatées spécifiquement pour la génération de recherche et d'intégration sémantique efficaces et précises.

Les activités clés de la phase de transformation comprennent le nettoyage des données, la segmentation, la normalisation, l'enrichissement et la vectorisation:

- Le nettoyage implique la suppression du contenu étranger tel que les balises HTML, les extraits de code, les sections non liées comme les en-têtes ou les pieds de page et les métadonnées bruyantes. Cela garantit que le texte d'entrée utilisé pour l'intégration représente un contenu de connaissances réel sans distractions ou des informations non pertinentes.

- La segmentation ou le morceau se décompose de longs documents en morceaux de texte plus petits et gérables, souvent selon des frontières sémantiques comme les paragraphes ou les phrases. Cela est essentiel pour le chiffon, car la recherche de similitudes et la récupération basée sur l'intégration fonctionnent mieux sur des morceaux plus courts plutôt que sur des documents entiers.

- La normalisation normalise les problèmes de formatage, tels que la fixation des encodages de caractères, la correction des dates, les unités unificatrices et l'harmonisation des cas de texte pour améliorer la cohérence entre les documents.

- L'enrichissement peut inclure l'augmentation du texte avec des annotations, un étiquetage de mots clés ou des parties de liaison des données aux ontologies, ce qui peut améliorer à la fois la pertinence de récupération et la capacité du LLM à contextualiser les informations.

- La vectorisation implique le codage du texte nettoyé et segmenté en représentations vectorielles denses (intégres) en utilisant des modèles neuronaux (comme des modèles d'intégration basés sur le transformateur). Ces vecteurs sont le format requis pour la comparaison de similitude dans une base de données vectorielle, permettant une récupération efficace de contenu pertinente pour les requêtes utilisateur.

La transformation exploite les cadres de traitement distribués et la parallélisation pour gérer les ensembles de données à grande échelle, qui peuvent atteindre des dizaines de millions d'enregistrements ou de documents. Des outils tels que Ray ou Apache Spark sont souvent intégrés pour la génération d'intégration à l'échelle et maintiennent un débit élevé et une faible latence.

Chargement dans le pipeline de chiffons

Le chargement est l'étape ETL finale où les données transformées et vectorisées sont ingérées dans une base de données de données de données vectorielle ou de vecteur qui prend en charge les algorithmes de voisin K-NORIAL (K-NN) ou approximatifs les plus proches (ANN) pour des recherches de similitude efficaces. Les données chargées sont accessibles pendant la phase de récupération de RAG pour trouver les morceaux les plus contextuellement pertinents qui aident le modèle de langue à générer des sorties précises et fondées sur les connaissances.

Le processus de chargement doit garantir que les données sont correctement indexées pour prendre en charge les recherches de similitude rapides à grande échelle. Les bases de données vectorielles utilisées dans les pipelines de chiffon incluent le service Amazon OpenSesearch avec des plugins vectoriels, Amazon RDS avec extension PGVector, Pinecone, Milvus, Weavate et autres. Ces services permettent le stockage de millions de milliards de milliards de intérêts vectoriels et offrent des temps de récupération rapides nécessaires aux applications d'interstruction interactive.

Le chargement implique également la surveillance et la gestion des goulots d'étranglement d'ingestion de données et la capacité de la base de données. Le pipeline est souvent conçu avec une tolérance aux pannes, une exécution parallèle et des capacités de chargement incrémentielles pour gérer l'arrivée continue des données et les changements de schéma sans perturber les flux de travail de récupération en aval et les performances globales du système.

Intégration d'ETL dans le pipeline d'ingestion de données de chiffon

Les opérations ETL dans un pipeline de chiffons reflètent l'approche classique des pipelines de données mais sont spécialisées pour les exigences de l'IA générative et de la récupération d'informations basée sur la similitude. Les étapes circulent comme suit:

1. L'extraction rassemble et collecte du texte brut et des documents à partir de sources externes.
2. La transformation nettoie, se normalise, enrichit et convertit les données textuelles en intégres vectoriels appropriés pour la correspondance de similitude.
3. Le chargement stocke ces vecteurs dans une base de données vectorielle évolutive pour la récupération.

Ce processus ETL garantit que le pipeline de chiffons peut ingérer des ensembles de données hétérogènes à grande échelle et les préparer à une génération augmentée de récupération efficace et précise. En effet, l'ingestion des données de RAG est similaire aux pipelines ETL traditionnels utilisés dans l'analyse mais optimisés pour la recherche sémantique et le traitement du langage naturel. Au lieu de préparer des données uniquement pour les rapports ou les tableaux de bord, RAG ETL prépare les représentations de connaissances que les LLM peuvent tirer parti de dynamique pour améliorer leurs réponses.

défis et optimisations

Le pipeline ETL en chiffon fait face à des défis liés à l'échelle, à la variété et aux performances:

- Gérer l'extraction à partir de sources diverses, souvent non structurées, nécessite des cadres de grattage et d'ingestion robustes.
- La transformation nécessite de puissants algorithmes de nettoyage et un set efficace pour réduire le bruit et optimiser la représentation.
- La génération d'intégration est à forte intensité de calcul, nécessitant des clusters GPU distribués pour maintenir le débit.
- Le chargement doit gérer de grands volumes de vecteurs avec une latence minimale, des bases de données exigeantes optimisées pour les opérations vectorielles et l'indexation.

Plusieurs optimisations sont appliquées:

- Parallélisation de l'extraction et de la génération d'incorporation à l'aide de cadres informatiques distribués comme Ray.
- Mécanismes ETL incrémentiels pour mettre à jour les intégres avec de nouvelles données sans retraitement complet.
- Nettoyage automatisé des données et détection d'anomalies à l'aide de techniques d'IA / ML pour améliorer la qualité de la transformation.
- Stratégies d'indexation et de partitionnement dynamiques dans les bases de données vectorielles pour équilibrer la vitesse de la requête et le taux d'ingestion.

Résumé

Le processus ETL dans un pipeline d'ingestion de données de chiffon est fondamental pour convertir les documents externes bruts en représentations de connaissances vectorielles de haute qualité stockées dans les bases de données vectorielles. Cela permet aux systèmes de chiffon de récupérer et d'augmenter les informations pertinentes pour les modèles de grands langues, améliorant leur précision factuelle et leur conscience contextuelle. L'extraction gère la collecte de données brutes, la transformation nettoie et vectorise du texte, et le chargement inserte ces vecteurs en magasins vectoriels évolutifs et optimisés pour une récupération rapide. Le processus ETL global garantit que les applications RAG peuvent évoluer avec le volume et la complexité des données tout en maintenant la qualité et la vitesse de récupération nécessaires pour des réponses efficaces de l'IA génératrice.

Cette intégration d'ETL spécifiquement adaptée aux pipelines de chiffon le différencie des pipelines ETL traditionnels en se concentrant sur l'extraction de texte, le nettoyage sémantique, le groupe et l'intégration de vecteurs, tous conçus pour alimenter les modèles de récupération qui constituent des architectures de chiffon. Ces pipelines utilisent généralement le traitement distribué et l'accélération du GPU pour gérer les exigences de calcul de la génération et de l'indexation de vecteurs, qui sont au cœur de fournir un contexte opportun et pertinent pour la génération de modèles de langage en aval. Le pipeline ETL forme ainsi l'épine dorsale de RAG en permettant un accès fiable à une vaste connaissance externe de haute qualité.