- Les données d'entraînement sont transmises à votre job d'entraînement au lieu d'être téléchargées sur des instances dupliquées, ce qui peut accélérer les jobs de chargement et de configuration des données lorsque le job démarre.
- 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 fournit 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 ne sont pas des données structurées, telles que des images, du texte et des 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 des fichiers volumineux, tels que des vidéos brutes.
- Vous utilisez l'entraînement distribué.
Fonctionnement
Les tâches d'entraînement personnalisées 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 à l'emplacement 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 au bucket
Par défaut, un job d'entraînement personnalisé peut accéder à n'importe quel bucket Cloud Storage situé dans le 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é à la tâche. 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 changement de 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 des fichiers (flush()
). La fermeture ou le vidage des fichiers entraîne leur transfert dans Cloud Storage, ce qui entraîne des frais.
Consignes d'optimisation des performances
Pour obtenir un débit en lecture optimal lorsque vous utilisez Cloud Storage en tant que système de fichiers, nous vous recommandons de mettre en œuvre les consignes suivantes:
- 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 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 page Options de transfert de données.
Étapes suivantes
- Apprenez-en plus sur les tarifs de Cloud Storage FUSE.
- Préparez votre application d'entraînement pour l'utiliser sur Vertex AI.