Autores:
(1) Iason Ofeidis, Departamento de Engenharia Elétrica, e Instituto Yale para Ciência de Redes, Universidade de Yale, New Haven {Contribuição igual};
(2) Diego Kiedanski, Departamento de Engenharia Elétrica, e Instituto Yale para Ciência de Redes, Universidade de Yale, New Haven {Contribuição igual};
(3) Leandros TassiulasLevon Ghukasyan, Activeloop, Mountain View, CA, EUA, Departamento de Engenharia Elétrica, e Instituto Yale para Ciência de Redes, Universidade de Yale, New Haven.
Neste artigo, exploramos o cenário atual das bibliotecas Pytorch que permitem aos profissionais de aprendizado de máquina carregar seus conjuntos de dados em seus modelos. Essas bibliotecas oferecem uma ampla gama de recursos, desde maior velocidade, criação de visualizações de apenas um subconjunto de dados e carregamento de dados de armazenamento remoto. Acreditamos que o carregamento remoto é o mais promissor para todos esses recursos, pois permite a dissociação do armazenamento de dados e do treinamento do modelo. Embora a velocidade de carregamento na Internet pública seja naturalmente mais lenta do que em um disco local, algumas bibliotecas, como Deep Lake, mostraram resultados notáveis (um aumento de apenas 13% no tempo). Na maior parte, não encontramos uma diferença considerável no desempenho entre as bibliotecas, exceto FFCV para multi-GPUs e Deep Lake para carregamento em rede, que teve um desempenho notavelmente bom. No entanto, notamos que a documentação da maioria dessas bibliotecas não está prontamente disponível ou não é abrangente, o que pode resultar em configurações incorretas. Como é difícil encontrar boas práticas, um programador pode usar o que funciona bem em um dataloader diferente, o que não precisa funcionar na nova biblioteca. Neste ponto, os ganhos de desempenho não parecem grandes o suficiente para justificar a migração das bases de código existentes para trabalhos de pequeno e médio porte. Para trabalhos maiores, poderia haver reduções de custos significativas ao mudar para uma das bibliotecas mais rápidas. Finalmente, acreditamos que um sistema de cache inovador projetado para aplicações de aprendizado de máquina poderia ser a peça final para concretizar a visão de um sistema modelo de conjunto de dados verdadeiramente desacoplado. Qualquer abordagem deste tipo teria de construir o conhecimento existente sobre a sumarização de conjuntos de dados e a aprendizagem activa.
Os autores gostariam de agradecer à equipe Activeloop pelo apoio e insights durante o desenvolvimento deste projeto. Os autores também gostariam de agradecer ao Tryolabs e ao Activeloop pelos recursos disponibilizados para a execução de alguns dos experimentos.
Abadi, M., Agarwal, A., Barham, P., Brevdo, E., Chen, Z., Citro, C., Corrado, GS, Davis, A., Dean, J., Devin, M., Ghemawat , S., Goodfellow, I., Harp, A., Irving, G., Isard, M., Jia, Y., Jozefowicz, R., Kaiser, L., Kudlur, M., Levenberg, J., Mane , D., Monga, R., Moore, S., Murray, D., ´ Olah, C., Schuster, M., Shlens, J., Steiner, B., Sutskever, I., Talwar, K., Tucker, P., Vanhoucke, V., Vasudevan, V., Viegas, F., Vinyals, O., Warden, P., Wattenberg, M., ´ Wicke, M., Yu, Y., e Zheng, X . TensorFlow: Aprendizado de máquina em larga escala em sistemas heterogêneos, 2015. URL https://www.tensorflow.org/. Software disponível em tensorflow.org.
Adolf, R., Rama, S., Reagen, B., Wei, G.-Y., e Brooks, D. Fathom: Cargas de trabalho de referência para métodos modernos de aprendizagem profunda. Em 2016, Simpósio Internacional IEEE sobre Caracterização de Carga de Trabalho (IISWC), pp. IEEE, 2016.
Pesquisa Baidu. DeepBench, 2020. URL https://github.com/baidu-research/DeepBench.
Ben-Nun, T., Besta, M., Huber, S., Ziogas, AN, Peter, D., e Hoefler, T. Uma infraestrutura modular de benchmarking para aprendizado profundo reprodutível e de alto desempenho. Em 2019, Simpósio Internacional de Processamento Paralelo e Distribuído IEEE (IPDPS), pp. IEEE, 2019.
Bianco, S., Cadene, R., Celona, L., e Napoletano, P. Análise de benchmark de arquiteturas representativas de redes neurais profundas. Acesso IEEE, 6:64270–64277, 2018
Buslaev, A., Iglovikov, VI, Khvedchenya, E., Parinov, A., Druzhinin, M., e Kalinin, AA Albumentações: aumentos de imagem rápidos e flexíveis. Informação, 11(2): 125, 2020.
Coleman, C., Kang, D., Narayanan, D., Nardi, L., Zhao, T., Zhang, J., Bailis, P., Olukotun, K., Re, C., e Zaharia, ´M .Análise do Dawnbench, um benchmark de desempenho de aprendizado de máquina com precisão de tempo. Revisão dos sistemas operacionais 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., e outros. Aibench: Uma metodologia ágil de benchmarking específico de domínio e um conjunto de benchmark de IA. Pré-impressão do arXiv arXiv:2002.07162, 2020.
Hadidi, R., Cao, J., Xie, Y., Asgari, B., Krishna, T., e Kim, H. Caracterizando a implantação de redes neurais profundas em dispositivos comerciais de ponta. Em 2019, Simpósio Internacional IEEE sobre Caracterização de Carga de Trabalho (IISWC), pp. IEEE, 2019.
Hambardzumyan, S., Tuli, A., Ghukasyan, L., Rahman, F., Topchyan, H., Isayan, D., Harutyunyan, M., Hakobyan, T., Stranic, I., e Buniatyan, D. Lago profundo: uma casa no lago para aprendizagem profunda, 2022. URL https://arxiv.org/abs/2209.10785.
Laboratório de Computação Heterogênea em HKBU, D. DLBench, 2017. URL https://github.com/hclhkbu/dlbench.
Hinton, G., Srivastava, N., e Swersky, K. Redes neurais para aprendizado de máquina, aula 6, uma visão geral da descida gradiente de minilote. Citado em 14(8):2, 2012.
Hu, H., Jiang, C., Zhong, Y., Peng, Y., Wu, C., Zhu, Y., Lin, H. e Guo, C. dpro: Um kit de ferramentas genérico de diagnóstico e otimização de desempenho para agilizando o treinamento dnn distribuído. Procedimentos de aprendizado de máquina e sistemas, 4:623–637, 2022.
Ignatov, A., Timofte, R., Chou, W., Wang, K., Wu, M., Hartley, T., e Van Gool, L. Ai benchmark: Executando redes neurais profundas em smartphones Android. Em Anais dos Workshops da Conferência Europeia sobre Visão Computacional (ECCV), pp.
Krizhevsky, A., Hinton, G., et al. Aprendendo múltiplas camadas de recursos a partir de imagens minúsculas. 2009.
Kumar, AV e Sivathanu, M. Quiver: Um cache de armazenamento informado para aprendizado profundo. Na 18ª Conferência USENIX sobre Tecnologias de Arquivo e Armazenamento (FAST 20), pp. 283–296, Santa Clara, CA, fevereiro de 2020. Associação USENIX. ISBN 978-1-939133-12-0. URL https://www.usenix.org/conference/fast20/presentation/kumar.
Leclerc, G., Ilyas, A., Engstrom, L., Park, SM, Salman, H., e Madry, A. ffcv. https://github.com/libffcv/ffcv/, 2022. confirmar xxxxxxx.
Li, S., Zhao, Y., Varma, R., Salpekar, O., Noordhuis, P., Li, T., Paszke, A., Smith, J., Vaughan, B., Damania, P., e outros. Pytorch distribuído: Experiências na aceleração do treinamento paralelo de dados. Pré-impressão do arXiv arXiv:2006.15704, 2020.
Lin, T.-Y., Maire, M., Belongie, S., Hays, J., Perona, P., Ramanan, D., Dollar, P., e Zitnick, CL Microsoft coco: ´ Objetos comuns no contexto . Na conferência europeia sobre visão computacional, pp. Springer, 2014.
Liu, L., Wu, Y., Wei, W., Cao, W., Sahin, S. e Zhang, Q. Benchmarking de estruturas de aprendizagem profunda: considerações de design, métricas e muito mais. Em 2018, 38ª Conferência Internacional IEEE sobre Sistemas de Computação Distribuída (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., e outros. Referência de treinamento Mlperf. Procedimentos de aprendizado de máquina e sistemas, 2:336–349, 2020.
Mohan, J., Phanishayee, A., Raniwala, A., e Chidambaram, V. Analisando e mitigando paradas de dados no treinamento 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., e outros. Pytorch: uma biblioteca de aprendizado profundo de alto desempenho e estilo imperativo. Avanços em sistemas de processamento de informações neurais, 32, 2019.
Equipe principal do PyTorch. PyTorch: Documentos PyTorch. PyTorch.
Shi, S., Wang, Q., Xu, P. e Chu, X. Benchmarking de ferramentas de software de aprendizagem profunda de última geração. Em 2016, 7ª Conferência Internacional sobre Computação em Nuvem e 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, H.-F., Tang, S., et al. Benchip: Benchmarking de processadores de inteligência. Jornal de Ciência da Computação e Tecnologia, 33(1):1–23, 2018.
Equipe, AD Hub: um formato de conjunto de dados para IA. uma API simples para criar, armazenar e colaborar em conjuntos de dados de IA de qualquer tamanho e transmiti-los para estruturas de ml em escala. Github. Nota: https://github.com/activeloopai/Hub, 2022a.
Team, SD Squirrel: uma biblioteca python que permite que equipes de ml compartilhem, carreguem e transformem dados de maneira colaborativa, flexível e eficiente. Github. Nota: https://github.com/merantix-momentum/squirrelcore, 2022b. doi: 10.5281/zenodo.6418280.
Dados da tocha. Torchdata: uma biblioteca de protótipos de primitivas modulares comuns de carregamento de dados para construir facilmente pipelines de dados flexíveis e de alto desempenho. https://github.com/pytorch/data, 2021.
Wang, Y., Wei, G.-Y., e Brooks, D. Uma metodologia sistemática para análise de plataformas de hardware e software de aprendizagem profunda. Procedimentos de aprendizado de máquina e sistemas, 2:30–43, 2020.
Conjunto de dados da Web. Formato de conjunto de dados da Web. https://github. com/webdataset/webdataset, 2013.
Wu, Y., Cao, W., Sahin, S., e Liu, L. Caracterizações experimentais e análise de estruturas de aprendizagem profunda. Em 2018 Conferência Internacional IEEE sobre Big Data (Big Data), pp. IEEE, 2018.
Wu, Y., Liu, L., Pu, C., Cao, W., Sahin, S., Wei, W. e Zhang, Q. Um estudo de medição comparativo de aprendizagem profunda como estrutura de serviço. Transações IEEE em computação de serviços, 2019.
Zhang, W., Wei, W., Xu, L., Jin, L. e Li, C. Matriz Ai: Um benchmark de aprendizagem profunda para data centers do Alibaba. Pré-impressão do arXiv arXiv:1909.10562, 2019.
Zhu, H., Akrout, M., Zheng, B., Pelegris, A., Phanishayee, A., Schroeder, B., e Pekhimenko, G. Tbd: Benchmarking e análise de treinamento de rede neural profunda. Pré-impressão do arXiv arXiv:1803.06905, 2018.
Este artigo está disponível no arxiv sob licença CC 4.0.