Tous les produits
Search
Centre de documentation

Object Storage Service:Performance of OSS Connector in AI/ML Dataset Processing

Dernière mise à jour :Sep 22, 2026

Le chargement et le traitement efficaces des données jouent un rôle déterminant dans l'entraînement des modèles d'apprentissage automatique (ML) et d'apprentissage profond. Cette rubrique compare les performances de chargement des données depuis OssIterableDataset, OssMapDataset et les jeux de données créés avec ossfs et ImageFolder. Les tests s'appuient sur des endpoints internes ainsi que sur des endpoints accélérés fournis par l'accélérateur OSS. Exploitez les résultats présentés ici pour optimiser votre stratégie d'accès aux données.

Description du test

Scénarios de test : évaluer les performances de lecture des données à partir des jeux de données en utilisant des endpoints internes et des endpoints accélérés.

Données de test : les tests de performances portent sur environ 1 To de données, soit 10 000 000 d'images d'une taille moyenne de 100 Ko.

Environnement de test : une instance Elastic Compute Service (ECS) à usage général optimisée pour le réseau g7nex sert de base aux mesures. Elle dispose de 128 vCPU, de 512 Go de mémoire et d'une bande passante interne de 160 Gbit/s.

Jeux de données : OSS Connector for AI/ML permet de créer les jeux de données de type OssIterableDataset et OssMapDataset. Le jeu de données de type ossfs avec ImageFolder est quant à lui généré via ossfs.

Tests de performances

  • Paramètres de test

    Paramètre

    Valeur/Opération

    Description

    dataloader batch size

    256

    Chaque tâche par lot traite 256 échantillons.

    dataloader workers

    32

    32 processus chargent les données en parallèle.

    transform

    trans = transforms.Compose([
        transforms.Resize(256),
        transforms.CenterCrop(224),
        transforms.ToTensor(),
        transforms.Normalize(mean=[0 485, 0 456, 0 406], std=[0 229, 0 224, 0 225])
    ])
    
    def transform(object):
        img = Image.open(io.BytesIO(object.read())).convert('RGB')
        val = trans(img)
        return val, object.label

    Prétraite les données.

  • Résultats des tests

    Jeu de données créé avec

    Type de jeu de données

    Durée de chargement de 10 millions d'images via l'endpoint interne OSS (s)

    Durée de chargement de 10 millions d'images via l'endpoint accéléré (s)

    OSS Connector for AI/ML

    OssIterableDataset

    2182

    2107

    OssMapDataset

    2493

    2288

    ossfs

    Ossfs avec ImageFolder

    178571

    39840

Tests de performances optimales

  • Paramètres de test

    Paramètre

    Valeur/Opération

    Description

    dataloader batch size

    256

    Chaque tâche par lot traite 256 échantillons.

    dataloader workers

    32

    32 processus chargent les données en parallèle.

    transform

    def transform(object):
     data = object.read()
     return object.key, object.label

    Ne prétraite pas les données.

  • Résultats des tests

    Jeu de données créé avec

    Type de jeu de données

    Durée de chargement de 10 millions d'images via l'endpoint interne OSS (s)

    Durée de chargement de 10 millions d'images via l'endpoint accéléré (s)

    OSS Connector for AI/ML

    OssIterableDataset

    100

    81

    OssMapDataset

    176

    127

Analyse des données de performances

Lors de la lecture des données, OssIterableDataset et OssMapDataset offrent des performances nettement supérieures à celles des jeux de données créés avec ossfs et ImageFolder. Ils se révèlent environ 80 fois plus rapides sans l'accélérateur OSS, et près de 18 fois plus rapides lorsque ce dernier est activé. Ces tests démontrent qu'OSS Connector for AI/ML accélère considérablement le traitement des données et améliore l'efficacité de l'entraînement des modèles.

La lecture des données depuis OssIterableDataset et OssMapDataset avec l'accélérateur OSS activé s'avère environ 1,4 fois plus rapide qu'avec l'accélérateur désactivé. Même sans ce dernier, OSS Connector for AI/ML gère des accès fortement concurrents tout en maintenant une bande passante élevée. Son association avec l'accélérateur OSS permet d'atteindre des niveaux de performances encore plus élevés.

Conclusion

Intégrez OSS Connector for AI/ML dans votre code Python afin de lire les objets OSS en flux continu. Ce connecteur augmente la vitesse de lecture des données et convient à la majorité des scénarios d'entraînement de modèles. Pour obtenir des performances de traitement encore supérieures, associez-le à l'accélérateur OSS.