Aprendiz de profundo aprendizado distribuído
Uma lista com curadoria de incríveis recursos de aprendizado profundo distribuído.
Índice
Estruturas
Blogs
Papéis
Livros
Estruturas
- MXNET - Aprendizagem profunda leve, portátil, portátil e flexível/móvel com Dynamic e Dataflow DeP Scheduler; Para Python, R, Julia, Go, JavaScript e muito mais.
- GO-MXNET-PREDITOR-GO VINHAÇÃO PARA MXNET C_PREDICT_API para fazer inferência no modelo pré-treinado.
- Deeplearning4J - Plataforma de aprendizado profundo distribuído para Java, Clojure, Scala.
- Kit de ferramentas de aprendizado de máquina distribuído (DMTK) - Uma estrutura de aprendizado de máquina distribuído (servidor de parâmetros) da Microsoft. Permite modelos de treinamento em grandes conjuntos de dados em várias máquinas. As ferramentas atuais incluídas com ele incluem: LightlDa e Word Distributed (multisense) incorporação de palavras.
- Elephas - Elephas é uma extensão de Keras, que permite executar modelos de aprendizado profundo distribuídos em escala com Spark.
- Horovod - Estrutura de treinamento distribuída para Tensorflow.
Blogs
- Keras + Horovod = aprendizado profundo distribuído em esteróides
- Conheça Horovod: estrutura de aprendizado profundo de código aberto da Uber para Tensorflow
- Distribuído-Deep-Learning-Part-1-Introdução-Distribuída-Treinamento de Networks-Networks/
- Acelerando o aprendizado profundo usando o SGD distribuído - uma visão geral
- Introdução a sistemas de aprendizado profundo distribuídos:
Papéis
Em geral:
- Aprendizagem profunda paralela e distribuída desmistificada: uma análise de simultaneidade aprofundada: discute os diferentes tipos de simultaneidade nos DNNs; Descendência de gradiente estocástica síncrona e assíncrona; Arquiteturas de sistemas distribuídos; esquemas de comunicação; e modelagem de desempenho. Com base nessas abordagens, também extrapola as direções potenciais para o paralelismo na aprendizagem profunda.
Livros
- Padrões de aprendizado de máquina distribuídos: este livro ensina como pegar modelos de aprendizado de máquina do seu laptop pessoal para grandes clusters distribuídos. Você explorará conceitos e padrões-chave por trás dos sistemas de aprendizado de máquina distribuídos bem-sucedidos e aprenderão tecnologias como Tensorflow, Kubernetes, Kubeflow e Argo Flows diretamente de um mantenedor e colaborador, com cenários do mundo real e projetos práticos.
Consistência do modelo:
Sincronização:
Técnicas síncronas:
- Aprendizagem profunda com sistemas HPC da COTS: Tecnologia de computação de alto desempenho (COTS HPC), um cluster de servidores de GPU com interconexões Infiniband e MPI.
- FIRECAFFE: Aceleração quase linear do treinamento de rede neural profundo em clusters de computação: a velocidade e a escalabilidade dos algoritmos distribuídos são quase sempre limitados pela sobrecarga de comunicação entre servidores; O treinamento da DNN não é uma exceção a esta regra. Portanto, a principal consideração que este artigo faz é reduzir a sobrecarga de comunicação sempre que possível, embora não degradar a precisão dos modelos DNN que treinamos.
- SparkNet: Treinando redes profundas em Spark. Em Anais da Conferência Internacional sobre Representações de Aprendizagem (ICLR).
- SGD de 1 bit: descida de gradiente estocástica de 1 bit e aplicação ao treinamento distribuído de dados de DNNs distribuídos de dados, no Interspeech 2014.
- Treinamento DNN distribuído escalável usando a Commodity GPU Cloud Computing: Introduz um novo método para ampliar o treinamento distribuído de descida de gradiente estocástico (SGD) de redes neurais profundas (DNN). O método resolve o conhecido problema de gargalo de comunicação que surge para o SGD paralelo de dados, porque os nós de computação freqüentemente precisam sincronizar uma réplica do modelo.
- Treinamento multi-GPU de convnets.: Treinamento de Convnets em vários GPUs
Técnicas obsoletas síncronas:
- Precisão do modelo e troca de tempo de execução em aprendizado profundo distribuído: um estudo sistemático.
- Um algoritmo de aprendizado rápido para redes de crenças profundas.: Um algoritmo de aprendizado rápido para redes de crenças profundas
- Servidores de parâmetros distribuídos com reconhecimento de heterogeneidade: J. Jiang, B. Cui, C. Zhang e L. Yu. 2017. Servidores de parâmetros distribuídos com consciência de heterogeneidade. Em Proc. 2017 Conferência Internacional da ACM sobre Gerenciamento de Dados (Sigmod '17). 463-478.
- Gradiente estocástico paralelo assíncrono para otimização não -convexa: x. Lian, Y. Huang, Y. Li e J. Liu. 2015. Gradiente estocástico paralelo assíncrono para otimização não -convexa. Em Proc. 28th int'l conf. Em NIPS - Volume 2. 2737-2745.
- ASYNC-SGD ASYNC-SGD PARA APRENDIZAGEM DISTRIBUTADO: W. Zhang, S. Gupta, X. Lian e J. Liu. 2016. ASYNC-SGD ACESSO DE STUSENDIDADE PARA APRENDIZAGEM DISTIVIDO DE APRENDIZAGEM. Em Proc. Vigésima Quadra Conferência Conjunta Internacional de Inteligência Artificial (IJCAI'16). 2350-2356.
Técnicas assíncronas:
- Uma análise unificada dos algoritmos do estilo Hogwild!: C. de SA, C. Zhang, K. Olukotun e C. Ré. 2015. Toming the Wild: Uma análise unificada dos algoritmos do estilo Hogwild! Em Proc. 28th int'l conf. Sobre NIPS - Volume 2. 2674-2682.
- Redes profundas distribuídas em larga escala: J. Dean et al. 2012. Redes profundas distribuídas em larga escala. Em Proc. 25ª Conferência Internacional sobre Sistemas de Processamento de Informações Neurais - Volume 1 (NIPS'12). 1223-1231.
- Descendência de gradiente estocástico paralelo assíncrono: j. Keuper e F. pfreundt. 2015. Descendência de gradiente estocástico paralelo assíncrono: um núcleo numérico para algoritmos de aprendizado de máquina distribuídos escaláveis. Em Proc. Workshop no MLHPC. 1: 1–1: 11.
- Dogwild!-Distribuído Hogwild para CPU & GPU.: C. Noel e S. Osinco. 2014. Dogwild!-Distribuído Hogwild para CPU & GPU. No Workshop do NIPS, sobre aprendizado de máquina distribuído e cálculos de matriz.
- GPU Ascendência estocástica de gradiente estocástica para acelerar o treinamento da rede neural: T. Paine, H. Jin, J. Yang, Z. Lin e TS Huang. 2013. Descendência de gradiente estocástico assíncrono da GPU para acelerar o treinamento da rede neural. (2013). ARXIV: 1312.6186
- Hogwild!: Uma abordagem livre de fechadura para paralelando o gradiente estocástico descendente: B. Recht, C. Re, S. Wright e F. Niu. 2011. Hogwild: Uma abordagem livre de bloqueio para paralelize a descida de gradiente estocástico. Em Avanços nos Sistemas de Processamento de Informações Neurais 24. 693–701.
- Descendente de gradiente estocástico assíncrono para treinamento de DNN: S. Zhang, C. Zhang, Z. You, R. Zheng e B. Xu. 2013. Descendência de gradiente estocástica assíncrona para treinamento em DNN. Na Conferência Internacional do IEEE sobre acústica, processamento de fala e sinal. 6660-6663.
Comunicação não determinística:
- Gossipgrad: aprendizado profundo escalável usando a descendência de gradiente assíncrona baseada em fofocas com comunicação de fofocas
- Como escalar aprendizado profundo distribuído: como escalar aprendizado profundo distribuído?
- Servidores de parâmetros distribuídos com reconhecimento de heterogeneidade: um estudo de aprendizado de máquina distribuído em ambientes heterogêneos.
Distribuição e comunicação de parâmetros:
Centralização:
Parameter Server (PS):
- GEEPS: Aprendizagem profunda escalável em GPUs distribuídas com um parâmetro especializado em GPU. Servidor.
- Firecaffe: FN Iandola, MW Moskewicz, K. Ashraf e K. Keutzer. 2016: Aceleração quase linear de treinamento profundo em redes neurais em clusters de computação. Na conferência do IEEE sobre visão computacional e reconhecimento de padrões (CVPR).
- DeepSpark: H. Kim et al. 2016. Aprendizagem profunda baseada em Spark, apoiando atualizações assíncronas e compatibilidade com Caffe. (2016).
- Aprendizado de máquina distribuído com o servidor de parâmetros: M. Li et al. 2014. Sconing Distributed Machine Learning com o servidor de parâmetros. Em Proc. 11ª Conferência da Usenix sobre Design e Implementação de Sistemas Operacionais (OSDI'14). 583-598.
PS franco:
- Projeto Adam: t. Chilimbi, Y. Suzue, J. Apacible e K. Kalyanaraman. 2014. Construindo um sistema de treinamento de aprendizado profundo eficiente e escalável. No 11º Simpósio Usenix, sobre design e implementação de sistemas operacionais. 571–582.
- Redes profundas distribuídas em larga escala: J. Dean et al. 2012. Redes profundas distribuídas em larga escala. Em Proc. 25ª Conferência Internacional sobre Sistemas de Processamento de Informações Neurais - Volume 1 (NIPS'12). 1223-1231.
- Servidores de parâmetros distribuídos com reconhecimento de heterogeneidade: J. Jiang, B. Cui, C. Zhang e L. Yu. 2017. Servidores de parâmetros distribuídos com consciência de heterogeneidade. Em Proc. 2017 Conferência Internacional da ACM sobre Gerenciamento de Dados (Sigmod '17). 463-478.
- Construindo características de alto nível usando aprendizado sem supervisão em larga escala: QV LE, M. Ranzato, R. Monga, M. Devin, K. Chen, GS Corrado, J. Dean e Ay Ng. 2012. Construindo recursos de alto nível usando aprendizado sem supervisão em larga escala. Em Proc. 29th Int'l Conf. no aprendizado de máquina (ICML'12). 507-514.
- Aprendizagem profunda às 15pf: Classificação supervisionada e semi-supervisionada para dados científicos: T. Kurth et al. 2017. Aprendizagem profunda às 15pf: Classificação supervisionada e semi-supervisionada para dados científicos. Em Proc. Int'l conf. Para computação de alto desempenho, rede, armazenamento e análise (SC '17). 7: 1–7: 11.
- PETUUM: Ep Xing, Q. Ho, W. Dai, JK Kim, J. Wei, S. Lee, X. Zheng, P. Xie, A. Kumar e Y. Yu. 2015. PETUUM: Uma nova plataforma para aprendizado de máquina distribuído em big data. IEEE Transactions on Big Data 1, 2 (2015), 49-67.
- Poseidon: H. Zhang, Z. Hu, J. Wei, P. Xie, G. Kim, Q. Ho e Ep Xing. 2015. Poseidon: Uma arquitetura do sistema para um aprendizado profundo eficiente baseado em GPU em várias máquinas. (2015). ARXIV: 1512.06216
PS hierárquico:
- Precisão do modelo e troca de tempo de execução na aprendizagem profunda distribuída: um estudo sistemático: S. Gupta, W. Zhang e F. Wang. 2016. Precisão do modelo e troca de tempo de execução em aprendizado profundo distribuído: um estudo sistemático. Na 16ª Conferência Internacional do IEEE sobre Mineração de Dados (ICDM). 171–180.
- Gaia: K. Hsieh, A. Harlap, N. Vijaykumar, D. Konomis, Gr Ganger, PB Gibbons e O. Mutlu. 2017. GAIA: Aprendizado de máquina geo-distribuído se aproximando da velocidade da LAN. Em Proc. 14º USENIX Conf. no nsdi. 629–647.
- Usando o Supercomputer para acelerar o treinamento da rede neural: Y. Yu, J. Jiang e X. Chi. 2016. Usando o Supercomputer para acelerar o treinamento em rede neural. Na 22ª Conferência Internacional do IEEE sobre sistemas paralelos e distribuídos (ICPADs). 942–947.
Feedback: se você tiver alguma idéia ou deseja que outro conteúdo seja adicionado a esta lista, sinta -se à vontade para contribuir para a lista.