Auteurs:
(1) Iason Ofeidis, Département de génie électrique et Yale Institute for Network Science, Yale University, New Haven {Contribution égale} ;
(2) Diego Kiedanski, Département de génie électrique et Yale Institute for Network Science, Yale University, New Haven {Contribution égale} ;
(3) Leandros TassiulasLevon Ghukasyan, Activeloop, Mountain View, Californie, États-Unis, Département de génie électrique et Yale Institute for Network Science, Yale University, New Haven.
Dans cet article, nous avons exploré le paysage actuel des bibliothèques Pytorch qui permettent aux praticiens de l'apprentissage automatique de charger leurs ensembles de données dans leurs modèles. Ces bibliothèques offrent un large éventail de fonctionnalités allant d'une vitesse accrue à la création de vues d'un sous-ensemble de données uniquement et au chargement de données à partir d'un stockage distant. Nous pensons que le chargement à distance est le plus prometteur pour toutes ces fonctionnalités, car il permet de dissocier le stockage des données et la formation des modèles. Même si la vitesse de chargement sur Internet public est naturellement plus lente que depuis un disque local, certaines bibliothèques, comme Deep Lake, ont montré des résultats remarquables (seulement une augmentation de 13 % du temps). Pour la plupart, nous n'avons pas trouvé de différence considérable en termes de performances entre les bibliothèques, à l'exception de FFCV pour les multi-GPU et de Deep Lake pour le chargement en réseau, qui ont remarquablement bien fonctionné. Cependant, nous avons remarqué que la documentation de la plupart de ces bibliothèques n'est pas facilement disponible ou complète, ce qui peut entraîner une mauvaise configuration. Comme les bonnes pratiques sont difficiles à trouver, un programmeur peut utiliser ce qui fonctionne bien dans un autre chargeur de données, ce qui n'est pas nécessairement le cas dans la nouvelle bibliothèque. À ce stade, les gains de performances ne semblent pas suffisamment importants pour justifier la migration des bases de code existantes pour les petits et moyens travaux. Pour les travaux plus importants, le passage à l’une des bibliothèques les plus rapides pourrait entraîner des réductions de coûts significatives. Enfin, nous pensons qu’un système de mise en cache innovant conçu pour les applications d’apprentissage automatique pourrait être l’élément final de la réalisation de la vision d’un système de modèle d’ensemble de données véritablement découplé. Une telle approche devrait s’appuyer sur les connaissances existantes en matière de synthèse d’ensembles de données et d’apprentissage actif.
Les auteurs tiennent à remercier l'équipe Activeloop pour son soutien et ses idées lors du développement de ce projet. Les auteurs souhaitent également remercier Tryolabs et Activeloop pour leurs ressources permettant de mener certaines expériences.
Abadi, M., Agarwal, A., Barham, P., Brevdo, E., Chen, Z., Citro, C., Corrado, GS, Davis, A., Dean, J., Devin, M., Ghemawat , S., I. Goodfellow, A. Harp, G. Irving, M. Isard, Y. Jia, R. Jozefowicz, L. Kaiser, M. Kudlur, J. Levenberg, Mane , D., R. Monga, S. Moore, D. Murray, C. Olah, M. Schuster, J. Shlens, B. Steiner, I. Sutskever, K. Talwar, Tucker, P., Vanhoucke, V., Vasudevan, V., Viegas, F., Vinyals, O., Warden, P., Wattenberg, M., ´ Wicke, M., Yu, Y. et Zheng, X. . TensorFlow : apprentissage automatique à grande échelle sur des systèmes hétérogènes, 2015. URL https://www.tensorflow.org/. Logiciel disponible sur tensorflow.org.
Adolf, R., Rama, S., Reagen, B., Wei, G.-Y. et Brooks, D. Fathom : Charges de travail de référence pour les méthodes modernes d'apprentissage en profondeur. En 2016, Symposium international de l'IEEE sur la caractérisation de la charge de travail (IISWC), pp. IEEE, 2016.
Baidu-Recherche. DeepBench, 2020. URL https://github.com/baidu-research/DeepBench.
Ben-Nun, T., Besta, M., Huber, S., Ziogas, AN, Peter, D. et Hoefler, T. Une infrastructure d'analyse comparative modulaire pour un apprentissage en profondeur hautes performances et reproductible. Dans le Symposium international sur le traitement parallèle et distribué (IPDPS) de l'IEEE 2019, pp. IEEE, 2019.
Bianco, S., Cadene, R., Celona, L. et Napoletano, P. Analyse comparative d'architectures représentatives de réseaux neuronaux profonds. Accès IEEE, 6:64270-64277, 2018
Buslaev, A., Iglovikov, VI, Khvedchenya, E., Parinov, A., Druzhinin, M. et Kalinin, AA Albumentations : augmentations d'images rapides et flexibles. Informations, 11(2) : 125, 2020.
Coleman, C., Kang, D., Narayanan, D., Nardi, L., Zhao, T., Zhang, J., Bailis, P., Olukotun, K., Re, C. et Zaharia, ´M . Analyse de dawnbench, un benchmark de performances d'apprentissage automatique en termes de délai de précision. Revue des systèmes d'exploitation ACM SIGOPS, 53(1):14-25, 2019.
Gao, W., Tang, F., Zhan, J., Lan, C., Luo, C., Wang, L., Dai, J., Cao, Z., Xiong, X., Jiang, Z., et coll. Aibench : une méthodologie d'analyse comparative agile spécifique à un domaine et une suite d'analyse comparative IA. Préimpression arXiv arXiv :2002.07162, 2020.
Hadidi, R., Cao, J., Xie, Y., Asgari, B., Krishna, T. et Kim, H. Caractérisation du déploiement de réseaux neuronaux profonds sur des appareils de pointe commerciaux. Dans le Symposium international de l'IEEE 2019 sur la caractérisation de la charge de travail (IISWC), pp. IEEE, 2019.
Hambardzumyan, S., Tuli, A., Ghukasyan, L., Rahman, F., Topchyan, H., Isayan, D., Harutyunyan, M., Hakobyan, T., Stranic, I. et Buniatyan, D. Deep Lake : une maison au bord d'un lac pour l'apprentissage profond, 2022. URL https://arxiv.org/abs/2209.10785.
Laboratoire de calcul hétérogène à HKBU, D. DLBench, 2017. URL https://github.com/hclhkbu/dlbench.
Hinton, G., Srivastava, N. et Swersky, K. Réseaux de neurones pour l'apprentissage automatique cours 6a aperçu de la descente de gradient en mini-lots. Cité, 14(8):2, 2012.
Hu, H., Jiang, C., Zhong, Y., Peng, Y., Wu, C., Zhu, Y., Lin, H. et Guo, C. dpro : Une boîte à outils générique de diagnostic et d'optimisation des performances pour accélérer la formation DNN distribuée. Actes de l'apprentissage automatique et des systèmes, 4 : 623-637, 2022.
Ignatov, A., Timofte, R., Chou, W., Wang, K., Wu, M., Hartley, T. et Van Gool, L. Ai benchmark : Exécution de réseaux neuronaux profonds sur les smartphones Android. Dans Actes des ateliers de la Conférence européenne sur la vision par ordinateur (ECCV), pp. 0-0, 2018.
Krizhevsky, A., Hinton, G. et al. Apprendre plusieurs couches de fonctionnalités à partir de petites images. 2009.
Kumar, AV et Sivathanu, M. Quiver : Un cache de stockage éclairé pour l'apprentissage en profondeur. Dans la 18e conférence USENIX sur les technologies de fichiers et de stockage (FAST 20), pp. 283-296, Santa Clara, Californie, février 2020. Association USENIX. ISBN978-1-939133-12-0. URL https://www.usenix.org/conference/fast20/presentation/kumar.
Leclerc, G., Ilyas, A., Engstrom, L., Park, SM, Salman, H. et Madry, A. ffcv. https://github.com/libffcv/ffcv/, 2022. commit xxxxxxx.
Li, S., Zhao, Y., Varma, R., Salpekar, O., Noordhuis, P., Li, T., Paszke, A., Smith, J., Vaughan, B., Damania, P., et coll. Pytorch distribué : expériences sur l'accélération de la formation parallèle de données. Préimpression arXiv arXiv :2006.15704, 2020.
Lin, T.-Y., Maire, M., Belongie, S., Hays, J., Perona, P., Ramanan, D., Dollar, P. et Zitnick, CL Microsoft coco : ´ Objets communs en contexte . Dans Conférence européenne sur la vision par ordinateur, pp. 740-755. Springer, 2014.
Liu, L., Wu, Y., Wei, W., Cao, W., Sahin, S. et Zhang, Q. Analyse comparative des cadres d'apprentissage en profondeur : considérations de conception, mesures et au-delà. En 2018, 38e Conférence internationale de l'IEEE sur les systèmes informatiques distribués (ICDCS), pp. IEEE, 2018.
Mattson, P., Cheng, C., Diamos, G., Coleman, C., Micikevicius, P., Patterson, D., Tang, H., Wei, G.-Y., Bailis, P., Bittorf, V., et coll. Référence de formation Mlperf. Actes de l'apprentissage automatique et des systèmes, 2 : 336-349, 2020.
Mohan, J., Phanishayee, A., Raniwala, A. et Chidambaram, V. Analyse et atténuation des blocages de données lors de la formation dnn, 2020. URL https://arxiv.org/abs/ 2007.06775.
Paszke, A., Gross, S., Massa, F., Lerer, A., Bradbury, J., Chanan, G., Killeen, T., Lin, Z., Gimelshein, N., Antiga, L., et coll. Pytorch : une bibliothèque d'apprentissage en profondeur de style impératif et hautes performances. Avancées dans les systèmes de traitement de l’information neuronale, 32, 2019.
Équipe principale de PyTorch. PyTorch : Documents PyTorch. PyTorch.
Shi, S., Wang, Q., Xu, P. et Chu, X. Analyse comparative des outils logiciels d'apprentissage en profondeur de pointe. En 2016, 7e Conférence internationale sur le cloud computing et le Big Data (CCBD), pp. IEEE, 2016.
Tao, J.-H., Du, Z.-D., Guo, Q., Lan, H.-Y., Zhang, L., Zhou, S.-Y., Xu, L.-J., Liu, C., Liu, HF, Tang, S. et al. Benchip : analyse comparative des processeurs de renseignement. Journal d'informatique et de technologie, 33(1):1-23, 2018.
Équipe, AD Hub : un format d'ensemble de données pour l'IA. une API simple pour créer, stocker, collaborer sur des ensembles de données IA de toute taille et les diffuser vers des frameworks ML à grande échelle. GitHub. Remarque : https://github.com/activeloopai/Hub, 2022a.
Team, SD Squirrel : une bibliothèque Python qui permet aux équipes ML de partager, charger et transformer des données de manière collaborative, flexible et efficace. GitHub. Remarque : https://github.com/merantix-momentum/squirrelcore, 2022b. est ce que je: 10.5281/zenodo.6418280.
TorchData. Torchdata : une bibliothèque prototype de primitives de chargement de données modulaires communes pour construire facilement des pipelines de données flexibles et performants. https://github.com/pytorch/data, 2021.
Wang, Y., Wei, G.-Y. et Brooks, D. Une méthodologie systématique pour l'analyse des plates-formes matérielles et logicielles d'apprentissage en profondeur. Actes de Machine Learning and Systems, 2 : 30-43, 2020.
Ensemble de données Web. Format d'ensemble de données Web. https://github. com/webdataset/webdataset, 2013.
Wu, Y., Cao, W., Sahin, S. et Liu, L. Caractérisations expérimentales et analyse des cadres d'apprentissage en profondeur. En 2018, Conférence internationale de l'IEEE sur le Big Data (Big Data), pp. 372-377. IEEE, 2018.
Wu, Y., Liu, L., Pu, C., Cao, W., Sahin, S., Wei, W. et Zhang, Q. Une étude de mesure comparative de l'apprentissage profond en tant que cadre de service. Transactions IEEE sur les services informatiques, 2019.
Zhang, W., Wei, W., Xu, L., Jin, L. et Li, C. Matrice Ai : une référence d'apprentissage en profondeur pour les centres de données Alibaba. Préimpression arXiv arXiv : 1909.10562, 2019.
Zhu, H., Akrout, M., Zheng, B., Pelegris, A., Phanishayee, A., Schroeder, B. et Pekhimenko, G. À déterminer : analyse comparative et analyse de la formation approfondie des réseaux neuronaux. Préimpression arXiv arXiv : 1803.06905, 2018.
Cet article est disponible sur arxiv sous licence CC 4.0.