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 en tant que système de fichiers installé (Cloud Storage FUSE) pour les raisons suivantes :
- Lorsque les données d'entraînement ne sont pas structurées, comme des images, du texte ou des vidéos : 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 tâche d'entraînement au lieu d'exiger que l'intégralité du fichier soit téléchargée sur les répliques. Cela peut accélérer le chargement des données et le démarrage des tâches pour les ensembles de données volumineux.
- Lorsque vous effectuez un entraînement distribué : Cloud Storage FUSE offre un débit élevé pour les lectures séquentielles de fichiers volumineux, ce qui est avantageux dans les scénarios d'entraînement distribué où plusieurs workers doivent accéder aux données en parallèle.
- Lorsque vous préférez la commodité d'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 vous souciez moins de la latence la plus faible possible 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 de 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 tâches d'entraînement exécutées 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 débit très élevé 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 complexes avec les fichiers pendant l'entraînement.
- Lorsque vous devez rendre des fichiers distants facilement accessibles à 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 tâches 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 rend les fichiers distants accessibles comme s'ils étaient locaux.
- Cela est avantageux pour un accès à haut débit et à faible latence aux systèmes de fichiers partagés.
- Vous pouvez configurer des installations NFS lorsque vous créez 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 installé, votre code Ray peut lire et écrire dans ces volumes NFS à l'aide d'opérations de 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 central pour organiser et gérer vos ensembles de données dans Agent Platform. Cela permet de suivre et de gouverner vos composants de données dans différents projets et expériences.
- Annotation des données : vous pouvez créer des tâches d'annotation 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 jusqu'aux modèles entraînés sur celles-ci. Cela est essentiel pour comprendre les sources de données utilisées pour des modèles spécifiques et pour garantir la reproductibilité et la gouvernance.
- Comparaison 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 des modèles AutoML à l'aide des mêmes données. Cela facilite une 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ération de statistiques et de 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 à effectuer une analyse exploratoire des données et à comprendre les caractéristiques de vos données.
- 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 d'horodatages spécifiés. Cela simplifie le processus de préparation des données.
- Utilisation des versions d'ensemble de données : les ensembles de données gérés permettent le contrôle des versions, ce qui vous permet de suivre les modifications apportées à vos données au fil du temps et de revenir à des versions précédentes si nécessaire.
Spécifique à Ray sur Vertex AI
- 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 installé si l'ensemble de données est lié à ces sources). Les variables d'environnement
AIP_TRAINING_DATA_URI,AIP_VALIDATION_DATA_URIetAIP_TEST_DATA_URIpointeront vers les données.
En savoir plus
BigQuery
- Lors de la connexion aux données dans les composants Agent Platform : de nombreux outils et services 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 à partir de BigQuery. Par exemple, un pipeline peut extraire des données de BigQuery, les prétraiter, puis entraîner un modèle.
- Pipelines d'entraînement continu de modèles : pour configurer l'entraînement continu de modèles, vous pouvez déclencher des exécutions de pipeline en fonction de l'arrivée de nouvelles données dans une table BigQuery. Cela permet d'automatiser le réentraînement des modèles. 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 les écarts et la dérive des caractéristiques de vos modèles déployés. Pour la détection des écarts, vous pouvez spécifier l'URI BigQuery de votre ensemble de données d'entraînement. De plus, BigQuery peut 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 d'horodatage.
- 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. Vertex AI Workbench permet une analyse exploratoire interactive des données BigQuery et l'utilisation de 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ès aux ensembles de données publics : BigQuery héberge de nombreux ensembles de données publics, tels que l'ensemble de données sur les trajets des taxis de Chicago, que vous pouvez facilement utiliser pour des tests et des entraînements dans Vertex AI Workbench.
Spécifique à Ray sur Vertex AI
- Ray sur Vertex AI peut lire des données directement à partir de BigQuery. Vous pouvez utiliser le SDK Agent Platform pour Python dans une tâche Ray afin d'exécuter des requêtes BigQuery et de concrétiser les résultats pour les utiliser dans vos applications Ray.
- Lorsque vous effectuez une lecture à partir de BigQuery, tenez compte de la taille maximale de la réponse à la requête, qui est de 10 Go.
- Vous pouvez également écrire des données de vos applications Ray dans BigQuery à l'aide du SDK Agent Platform pour Python.
En savoir plus
- Agent Platform pour les utilisateurs de BigQuery
- Créer un pipeline pour l'entraînement continu de modèle
- Utilisez Ray sur Vertex AI avec BigQuery.