Présentation de la préparation des données

Il existe plusieurs options pour développer vos données d'entraînement.

Votre choix dépend de nombreux facteurs.

Cloud Storage en tant que système de fichiers installé (Cloud Storage FUSE)

Envisagez d'utiliser Cloud Storage comme système de fichiers installé (Cloud Storage FUSE) pour les raisons suivantes :

  • Lorsque les données d'entraînement ne sont pas structurées (images, texte ou vidéo), Cloud Storage est un choix naturel pour stocker ces types de fichiers volumineux, souvent individuels.
  • Lorsque les données d'entraînement sont structurées dans des formats tels que TFRecord : Cloud Storage est couramment utilisé pour ces formats spécifiques au ML.
  • Lorsque vous travaillez avec des fichiers très volumineux : Cloud Storage FUSE diffuse les données vers votre job d'entraînement au lieu de nécessiter le téléchargement de l'intégralité du fichier sur les instances répliquées. Cela peut accélérer le chargement des données et le démarrage des jobs pour les grands ensembles de données.
  • Lors de l'entraînement distribué : Cloud Storage FUSE offre un débit élevé pour les lectures séquentielles de fichiers volumineux, ce qui est utile dans les scénarios d'entraînement distribué où plusieurs nœuds de calcul doivent accéder aux données en parallèle.
  • Lorsque vous préférez accéder aux données Cloud Storage comme s'il s'agissait d'un système de fichiers local, sans avoir à effectuer d'appels d'API explicites dans votre code d'entraînement.
  • Lorsque votre besoin principal est un stockage évolutif et que vous êtes moins préoccupé par la latence la plus faible pour l'accès aléatoire à de nombreux petits fichiers.

Spécifique à Ray sur Agent Platform

  • Vous pouvez stocker vos données dans des buckets Cloud Storage, auxquels Ray sur Agent Platform peut accéder.
  • Ray peut lire directement les données depuis Cloud Storage. Par exemple, lorsque vous exécutez Spark sur Ray, vous pouvez lire des fichiers à partir de Cloud Storage.
  • Agent Platform utilise Cloud Storage FUSE pour installer des buckets Cloud Storage en tant que systèmes de fichiers locaux dans vos jobs d'entraînement exécutés sur Ray. Vos applications Ray peuvent ainsi accéder aux données comme si elles se trouvaient sur un disque local, à l'aide d'opérations d'E/S de fichiers standards.
  • Pour des performances optimales, nous vous recommandons d'utiliser des buckets Cloud Storage dans la même région que celle où vous exécutez votre cluster Ray.

En savoir plus

Partage NFS (Network File System)

  • Lorsque vous avez besoin d'un très haut débit et d'un accès à faible latence aux fichiers distants, comme s'ils étaient stockés localement. Cela peut être important pour certains types de données ou interactions de fichiers complexes pendant l'entraînement.
  • Lorsque vous devez rendre des fichiers distants facilement disponibles pour tous les nœuds d'un cluster de calcul, tel qu'un cluster Ray sur Agent Platform.
  • Lorsque votre application bénéficie d'une interface de système de fichiers plus standard, avec une conformité POSIX potentiellement plus forte que Cloud Storage FUSE.
  • Vous disposez d'une infrastructure NFS existante dans votre cloud privé virtuel que vous souhaitez utiliser.
  • Vous devez partager des fichiers ou des répertoires entre plusieurs jobs ou clusters avec un accès cohérent et à faible latence, et vous préférez gérer les autorisations au niveau du système de fichiers.

Spécifique à Ray sur Agent Platform

  • Vous pouvez installer des partages NFS sur votre cluster Ray sur Agent Platform, ce qui permet d'accéder aux fichiers distants comme s'ils étaient locaux.
  • Cela est utile pour l'accès à haut débit et à faible latence aux systèmes de fichiers partagés.
  • Vous pouvez configurer des installations NFS lors de la création de votre cluster Ray à l'aide du SDK Agent Platform pour Python, en spécifiant le serveur, le chemin d'accès et le point d'installation. Une fois monté, votre code Ray peut lire et écrire sur ces volumes NFS à l'aide d'opérations sur les fichiers standards.

En savoir plus

Ensemble de données géré

  • Gestion et gouvernance centralisées des données : les ensembles de données gérés fournissent un emplacement centralisé pour organiser et gérer vos ensembles de données dans Agent Platform. Cela facilite le suivi et la gouvernance de vos éléments de données dans différents projets et tests.
  • Étiquetage des données sur Gemini Enterprise Agent Platform : vous pouvez créer des tâches d'étiquetage et gérer des ensembles d'annotations directement dans l'ensemble de données géré.
  • Suivi de la traçabilité des données : les ensembles de données gérés suivent automatiquement la traçabilité de vos données vers les modèles entraînés sur celles-ci. Cela est crucial pour comprendre les sources de données utilisées pour des modèles spécifiques, et pour garantir la reproductibilité et la gouvernance.
  • Comparer des modèles personnalisés et AutoML : les ensembles de données gérés vous permettent d'entraîner des modèles personnalisés et AutoML à l'aide des mêmes données. Cela facilite la comparaison directe de leurs performances sur le même ensemble de données, ce qui vous aide à choisir la meilleure approche pour votre problème.
  • Générer des statistiques et des visualisations de données : Agent Platform peut générer automatiquement des statistiques et des visualisations pour les données d'un ensemble de données géré. Cela peut vous aider à explorer vos données et à comprendre leurs caractéristiques.
  • Division automatique des données : lorsque vous utilisez des ensembles de données gérés dans des pipelines d'entraînement, Agent Platform peut diviser automatiquement vos données en ensembles d'entraînement, de validation et de test en fonction de fractions, de filtres, de divisions prédéfinies ou de codes temporels spécifiés. Cela simplifie le processus de préparation des données.
  • Utiliser les versions d'ensembles de données : les ensembles de données gérés permettent la gestion des versions, ce qui vous permet de suivre les modifications apportées à vos données au fil du temps et de revenir aux versions précédentes si nécessaire.

Spécifique à Ray sur Gemini Enterprise Agent Platform

  • Si vous utilisez un ensemble de données géré dans un pipeline d'entraînement Agent Platform qui utilise Ray pour l'entraînement distribué, les données de l'ensemble de données géré sont mises à la disposition des conteneurs d'entraînement, auxquels votre application Ray peut ensuite accéder (via Cloud Storage ou BigQuery si l'ensemble de données est associé à ces sources). Les variables d'environnement AIP_TRAINING_DATA_URI, AIP_VALIDATION_DATA_URI et AIP_TEST_DATA_URI pointeraient vers les données.

En savoir plus

BigQuery

  • Lors de la connexion aux données dans les composants d'Agent Platform : de nombreux outils et services d'Agent Platform s'intègrent directement à BigQuery. Vous pouvez interroger des données dans BigQuery à partir de JupyterLab. Cela vous permet d'interagir directement avec vos données BigQuery pour l'exploration, la visualisation et le développement de modèles, sans avoir à les déplacer vers un autre système de stockage.
  • Lors de la création de pipelines d'entraînement : lorsque vous créez des pipelines d'entraînement dans Agent Platform, vous pouvez utiliser des données directement depuis BigQuery. Par exemple, un pipeline peut récupérer des données à partir de BigQuery, les prétraiter, puis entraîner un modèle.
  • Pipelines d'entraînement de modèles continus : pour configurer l'entraînement de modèles continus, vous pouvez déclencher des exécutions de pipeline en fonction des nouvelles données arrivant dans une table BigQuery. Cela permet d'automatiser le réentraînement du modèle. Vous pouvez configurer un déclencheur Eventarc pour lancer un pipeline lorsqu'un nouveau job est inséré dans une table BigQuery spécifique.
  • Surveillance des modèles : BigQuery peut être utilisé comme source pour surveiller l'asymétrie et la dérive des caractéristiques de vos modèles déployés. Pour la détection des décalages, vous pouvez spécifier l'URI BigQuery de votre ensemble de données d'entraînement. BigQuery peut également stocker les journaux des points de terminaison d'inférence en ligne, qui peuvent ensuite être utilisés comme source de données pour la surveillance continue. Pour cela, votre table BigQuery doit idéalement comporter une colonne de code temporel.
  • Intégration de BigQuery ML : vous pouvez utiliser des ensembles de données BigQuery lorsque vous exploitez BigQuery ML pour créer des modèles de machine learning à l'aide de SQL. Agent Platform Workbench permet d'effectuer une analyse exploratoire interactive des données BigQuery et d'utiliser BigQuery ML dans un environnement de notebook.
  • Exploration et préparation des données : avant l'entraînement, vous pouvez utiliser BigQuery pour explorer et visualiser vos données. Vous pouvez également effectuer des transformations de données à l'aide de requêtes SQL directement dans BigQuery avant d'utiliser les données pour l'entraînement.
  • Accéder à des ensembles de données publics : BigQuery héberge de nombreux ensembles de données publics, tels que l'ensemble de données Chicago Taxi Trips, que vous pouvez facilement utiliser pour l'expérimentation et l'entraînement dans Agent Platform Workbench.

Spécifique à Ray sur Gemini Enterprise Agent Platform

  • Ray sur Gemini Enterprise Agent Platform peut lire les données directement depuis BigQuery. Vous pouvez utiliser le SDK Agent Platform pour Python dans une tâche Ray pour exécuter des requêtes BigQuery et matérialiser les résultats afin de les utiliser dans vos applications Ray.
  • Lorsque vous lisez des données depuis BigQuery, tenez compte de la taille maximale de la réponse à la requête, qui est de 10 Go.
  • Vous pouvez également réécrire des données de vos applications Ray dans BigQuery à l'aide du SDK Agent Platform pour Python.

En savoir plus