Découvrez comment les lacs de données constituent la base de l'IA et du ML. Apprenez à exploiter les données brutes pour former Ultralytics et rationaliser les workflows de vision par ordinateur.
Un lac de données est un référentiel de stockage centralisé qui conserve une grande quantité de données brutes dans leur format natif jusqu'à ce qu'elles soient nécessaires. Contrairement aux systèmes de stockage traditionnels qui exigent que les données soient structurées avant leur entrée, un lac de données accepte les données « telles quelles », y compris les données structurées (lignes et colonnes), les données semi-structurées (CSV, journaux, XML, JSON) et les données non structurées (e-mails, documents, PDF) et les données binaires (images, audio, vidéo). Cette flexibilité architecturale fait des lacs de données la pierre angulaire des stratégies modernes en matière de stratégies Big Data modernes, en particulier pour les organisations qui exploitent l' intelligence artificielle (IA) et l' apprentissage automatique (ML). En dissociant la capture des données de leur utilisation, les organisations peuvent stocker des pools d'informations massifs à un coût relativement faible et déterminer les questions d'analyse spécifiques ultérieurement.
Dans le contexte du développement de l'IA, la valeur principale d'un lac de données réside dans sa capacité à prendre en charge les flux de travail d'apprentissage profond (DL). Les réseaux neuronaux avancés nécessitent des données d'entraînement diverses et volumineuses pour atteindre un haut niveau de précision. Un lac de données sert de terrain d'essai où les ressources brutes, telles que des millions d'images haute résolution pour la vision par ordinateur (CV) ou des milliers d'heures d'enregistrements audio pour la reconnaissance vocale, sont stockées avant d'être traitées.
Les scientifiques des données utilisent des méthodologies « schema-on-read » (schéma à la lecture) au sein des lacs de données. Cela signifie que la structure n'est appliquée aux données que lorsqu'elles sont lues pour être traitées, plutôt que lorsqu'elles sont écrites dans le stockage. Cela permet une grande agilité ; le même ensemble de données brutes peut être traité de plusieurs façons pour différentes tâches de modélisation prédictive sans modifier la source d'origine. De plus, les lacs de données robustes s'intègrent souvent à des services de cloud computing tels qu' Amazon S3 ou Azure Blob Storage, permettant ainsi le traitement parallèle et évolutif nécessaire à l'entraînement de modèles lourds tels que YOLO26.
Bien que souvent confondu, un lac de données est distinct d'un entrepôt de données. Un entrepôt de données stocke les données dans des tables structurées et est optimisé pour les requêtes SQL rapides et les rapports de veille économique. Il utilise le « schéma à l'écriture », ce qui signifie que les données doivent être nettoyées et transformées via un processus ETL (Extract, Transform, Load) avant d'entrer dans le système.
À l'inverse, un lac de données est optimisé pour le volume et la variété des données stockées. Il prend en charge l' apprentissage non supervisé et l'analyse exploratoire lorsque l'objectif n'est pas encore défini. Par exemple, un entrepôt de données peut vous indiquer le nombre de produits vendus le mois dernier, tandis qu'un lac de données contient les journaux bruts des sentiments des clients et les données d'images qui aident un modèle d'IA à comprendre pourquoi ils ont été vendus.
Les lacs de données jouent un rôle déterminant dans divers secteurs qui repoussent les limites de l'automatisation :
Lorsqu'ils travaillent avec la Ultralytics , les utilisateurs extraient souvent des sous-ensembles de données brutes du lac de données de leur organisation afin de créer des ensembles de données annotés pour la formation. Une fois les images brutes récupérées et étiquetées, elles peuvent être utilisées pour former des modèles de pointe.
L'exemple suivant montre comment un développeur peut charger un ensemble de données local (imitant une récupération à partir d'un lac de données) afin de former le modèle YOLO26 pour une tâche de détection.
from ultralytics import YOLO
# Load the YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")
# Train the model using a dataset configuration file
# In a production pipeline, this data might be streamed or downloaded
# from a cloud-based data lake prior to this step.
results = model.train(data="coco8.yaml", epochs=5, imgsz=640)
# Run inference on a new image to verify performance
predictions = model("https://ultralytics.com/images/bus.jpg")