- Les données d'entraînement sont transmises en streaming à votre job d'entraînement au lieu d'être téléchargées sur des instances répliquées, ce qui peut accélérer le chargement des données et les tâches de configuration lorsque le job commence à s'exécuter.
- Les tâches d'entraînement peuvent gérer les entrées et les sorties à grande échelle sans passer d'appels d'API, ni gérer les réponses, et sans gérer l'intégration avec les bibliothèques côté client.
- Cloud Storage FUSE offre un débit élevé pour les lectures séquentielles de fichiers volumineux et dans les scénarios d'entraînement distribué.
Cas d'utilisation
Nous vous recommandons d'utiliser Cloud Storage pour stocker les données d'entraînement dans les situations suivantes :
- Vos données d'entraînement sont des données non structurées, telles que les images, les textes et les vidéos.
- Vos données d'entraînement sont des données structurées dans un format tel que TFRecord.
- Vos données d'entraînement contiennent de gros fichiers, tels que des vidéos brutes.
- Vous utilisez l'entraînement distribué.
Fonctionnement
Les jobs d'entraînement personnalisé peuvent accéder à vos buckets Cloud Storage en tant que sous-répertoires du répertoire racine /gcs
. Par exemple, si vos données d'entraînement se trouvent dans gs://example-bucket/data.csv
, vous pouvez lire et écrire dans le bucket à partir de votre application d'entraînement Python comme suit :
Lire dans le bucket
with open('/gcs/example-bucket/data.csv', 'r') as f:
lines = f.readlines()
Écrire dans le bucket
with open('/gcs/example-bucket/epoch3.log', 'a') as f:
f.write('success!\n')
Autorisations d'accès aux buckets
Par défaut, une tâche d'entraînement personnalisé peut accéder à n'importe quel bucket Cloud Storage du même projet Google Cloud à l'aide de l'agent de service de code personnalisé Vertex AI. Pour contrôler l'accès aux buckets, vous pouvez attribuer un compte de service personnalisé au job. Dans ce cas, l'accès à un bucket Cloud Storage est accordé en fonction des autorisations associées aux rôles Cloud Storage du compte de service personnalisé.
Par exemple, si vous souhaitez accorder au job d'entraînement personnalisé un accès en lecture et en écriture au bucket A, mais seulement un accès en lecture au bucket B, vous pouvez attribuer un compte de service personnalisé disposant des rôles suivants au job :
roles/storage.objectAdmin
pour le bucket Aroles/storage.objectViewer
pour le bucket B
Si le job d'entraînement tente d'écrire dans le bucket B, une erreur "autorisation refusée" est renvoyée.
Pour en savoir plus sur les rôles Cloud Storage, consultez la page Rôles IAM pour Cloud Storage.
Bonnes pratiques
- Évitez de renommer des répertoires. Une opération de modification du nom n'est pas atomique dans Cloud Storage FUSE. Si l'opération est interrompue, certains fichiers restent dans l'ancien répertoire.
- Évitez de fermer inutilement (
close()
) ou de vider les fichiers (flush()
). La fermeture ou le vidage des fichiers entraîne le transfert du fichier vers Cloud Storage, ce qui génère des frais.
Consignes d'optimisation des performances
Pour obtenir un débit de lecture optimal lorsque vous utilisez Cloud Storage comme système de fichiers, nous vous recommandons de suivre ces consignes :
- Pour réduire la latence introduite par la recherche et l'ouverture d'objets dans un bucket, stockez les données dans des fichiers plus volumineux et moins nombreux.
- Utilisez l'entraînement en parallèle pour optimiser l'utilisation de la bande passante.
- Mettez en cache les fichiers fréquemment consultés pour améliorer les performances de lecture.
Limites
Pour en savoir plus sur les limites de Cloud Storage FUSE, y compris sur les différences entre les systèmes de fichiers Cloud Storage FUSE et POSIX, consultez la section Différences avec d'autres systèmes de fichiers.
Charger des données dans Cloud Storage
Pour en savoir plus sur les options de transfert de données vers Cloud Storage, consultez la section Options de transfert de données.
Étapes suivantes
- Consultez les tarifs de Cloud Storage FUSE.
- Préparez votre application d'entraînement pour l'utiliser sur Vertex AI.