Benchmarks gpu de aprendizagem profunda

Estamos constantemente treinando modelos de linguagem para o nosso trabalho. Nossa equipe usa dezenas de placas de vídeo diferentes escolhidas para diferentes tarefas: em algum lugar precisamos de uma poderosa estação DGX, e em algum lugar um cartão de jogo antigo como RTX 2080Ti é suficiente. A escolha da GPU ideal para treinamento de modelos pode impactar significativamente a velocidade e a relação custo-benefício do processo.

O que é interessante é que existem alguns artigos na Internet com comparação de GPU para aprendizado de máquina, mas poucos se concentram na velocidade para treinamento de modelos de linguagem. Principalmente apenas testes de inferência são encontrados. Quando o novo chip H100 foi lançado, o relatório da NVidia afirmou que era até nove vezes mais rápido que o A100 em treinamento, mas para nossas tarefas, a nova placa era apenas 90% mais rápida que a antiga. Em comparação, nossos provedores de nuvem tinham uma diferença de preço de 2 x entre essas GPUs, então não fazia sentido mudar para o novo H100 para economizar dinheiro.

Além disso, fizemos um teste em uma estação DGX, que consiste em 8 placas gráficas A100 de 80 GB e custa 10 mil dólares por mês. Após o teste, ficou claro que a relação preço/desempenho desta estação não nos convém em tudo e para este dinheiro, podemos tomar 66 x RTX 3090, que no total será muito mais útil.

Nossos modelos de linguagem de tradução têm até 500 milhões de parâmetros (100 milhões a 300 milhões em média). É possível que se aumentarmos significativamente o número de parâmetros, a relação preço/desempenho da DGX seja melhor. Atualmente, não treinamos grandes modelos de linguagem que possam traduzir entre todos os idiomas em todas as variações de uma só vez, mas usamos modelos de linguagem separados para cada par de idiomas, e. Inglês-Alemão. Cada um desses modelos leva de 120 a 300 Mb.

Vale ressaltar que diferentes idiomas possuem diferentes quantidades de dados na Internet, e enquanto. Por exemplo, para o espanhol, você pode encontrar 500 milhões de frases com traduções, mas ao treinar modelos para idiomas mais raros como o tibetano, você precisa escolher uma GPU específica para tarefas de aprendizado de máquina com base nos dados disponíveis. Para criar um modelo de tradução do inglês para o espanhol, usamos um servidor com 4 x RTX 4500 e 256 GB de RAM. Ao mesmo tempo, a língua tibetana pode ser treinada no RTX 2080 Ti com 16 GB de RAM, pois não faz sentido aumentar a complexidade da rede neural e, como resultado, levar um servidor mais poderoso com uma pequena quantidade de dados.

Seleção de processadores gráficos e figuras teóricas

O treinamento do modelo de linguagem ocorreu em nossa plataforma interna Data Studio usando a estrutura OpenNMT-tf. Esta fase incluiu preparação de dados, treinamento de modelos e comparação de modelos com uma tradução de referência. A utilização do FP16 em vez do FP32 durante a formação permitiu-nos reduzir significativamente o tempo de formação dos modelos linguísticos sem degradar a qualidade da tradução, mas nem todas as nossas GPUs apoiaram isso.

Ao escolher um processador gráfico, é padrão considerar métricas como poder de processamento (TFLOPS), memória de vídeo (VRAM), resultados de benchmark de GPU, suporte de biblioteca e estrutura, orçamento e outros fatores (tamanho e formato da placa gráfica, requisitos de energia, resfriamento e compatibilidade com seu sistema). Ao treinar modelos de geração de texto, você também deve ter em mente que diferentes idiomas consumirão diferentes quantidades de recursos. Por exemplo, 1 byte é usado para codificar um caractere para idiomas latinos, 2 bytes para idiomas cirílicos e 3 bytes para idiomas contendo hieróglifos. Entender quais características sua placa gráfica terá tem um impacto significativo na velocidade do processo de aprendizagem.

No treinamento dos modelos quanto às GPUs utilizadas, as placas de vídeo foram divididas em dois grupos de acordo com o período de uso: placas de vídeo precoces, que foram utilizadas para fazer as primeiras medidas de velocidade de aprendizagem, e placas atualmente em uso. As principais características dessas placas gráficas podem ser encontradas na Tabela 1 e na Tabela 2, respectivamente.

Tabela 1 - Processadores gráficos utilizados anteriormente e seus parâmetros técnicos
 

Number of GPUsGPUVRAM, GCUDAFP16,
TFLOPS
FP32,
TFLOPS
1Tesla V100-SXM2HBM2, 167.031.3316.31
2Tesla V100-SXM2HBM2, 327.031.3315.67
1RTX 4060 TiGDDR6, 88.922.0622.06
1Nvidia A40GDDR6, 488.637.4237.42
2Nvidia A40GDDR6, 968.637.4237.42
1Nvidia A100HBM2, 408.077.9719.49
1Nvidia A100HBM2, 808.077.9719.49
1Nvidia RTX A6000GDDR6, 488.638.7138.71
1Nvidia A10GDDR6, 248.631.2431.24
8Nvidia A10GDDR6, 1928.631.2431.24
1Nvidia H100HBM3, 809.0204.951.22


Notas
1. Com CUDA maior que 7,0, o uso do FP16 dará um impulso na velocidade de treinamento, dependendo da versão CUDA e das características da própria placa gráfica.
2. Se a especificação da placa gráfica indicar que a relação de desempenho FP16 para FP32 é superior a 1 para 1, então o uso de precisão mista será garantido para aumentar a velocidade de treinamento na quantidade especificada na especificação. Por exemplo, para o Quadro RTX 6000 o valor FP16 TFLOPS de 32,62 (2:1) acelerará o treino em pelo menos duas vezes (2,4 vezes na prática)

Tabela 2 - Modelos de GPU atualmente utilizados e suas principais características
 

Number of GPUs in useGPUVRAM, GCUDAFP16,
TFLOPS
FP32,
TFLOPS
1Quadro RTX 6000GDDR6, 247.532.6216.31
2Quadro RTX 6000GDDR6, 487.532.6216.31
4Quadro RTX 6000GDDR6, 967.532.6216.31
2Nvidia TITAN RTXGDDR6, 487.532.6216.31
4Nvidia RTX A4500GDDR6, 968.623.6523.65
1Nvidia GeForce RTX 3090GDDR6X, 248.635.5835.58
1Nvidia GeForce RTX 3070GDDR6, 88.620.3120.31

* - os valores para FP16, TFLOPS e FP32, TFLOPS são retirados das especificações por GPU

Processo de treinamento e teste de GPU

Os modelos foram treinados utilizando um conjunto de 18 GPUs. No processo de treinamento de redes neurais, utilizamos numerosos pares de idiomas (mais de cem idiomas). Os testes de GPU ajudaram a identificar qual hardware tem melhor desempenho para tarefas específicas. Durante o treinamento de nossos pares de línguas, tomou-se como base os seguintes parâmetros de redes neurais:
 

  • tamanho do vocabulário = 30 000
  • numunidades = 768
  • camadas = 6
  • cabeças = 16
  • dimensão interna = 4 096


Primeiramente, vamos caracterizar as GPUs que pertenciam ao primeiro grupo com base na Tabela 1. O tempo em minutos e segundos gasto no treinamento do modelo a uma velocidade aproximada de 1.000 passos e um múltiplo em tamanho de lote de 100.000 unidades serão tomados como base para a comparação dos indicadores.

Ressaltamos que para o primeiro grupo, as medidas de velocidade foram realizadas com o uso do alinhamento mecanismo e apenas usando 32o PQ. Sem utilizar este mecanismo a velocidade de aprendizagem em alguns servidores pode ser muito mais rápida.

O mecanismo de alinhamento permite combinar substrings na base e no texto traduzido. É necessário traduzir texto formatado, como páginas da web, quando uma substring em uma frase pode ser destacada em uma fonte diferente e deve ser traduzida com o realce.

Levando em consideração os parâmetros da rede neural acima mencionados, o melhor tempo da primeira tabela foi mostrado pela GPU Nvidia H100 com tempo de aprendizagem de 22 minutos, e o tempo intermediário foi mostrado pela GPU da mesma marca GeForce RTX 4060 Ti com tempo de aprendizado de 72 minutos e o último lugar foi ocupado pela GPU Tesla V100-SXM 2 com tempo de aprendizado de 140 minutos.

Havia também oito placas Nvidia A10 no teste de GPU com curva de aprendizado de 20 minutos e 28 segundos, duas placas Nvidia A40 com tempo de 56 minutos e duas placas Tesla V100-SXM com clock de 86 minutos. A aplicação simultânea de múltiplas placas da mesma série de GPU pode acelerar o processo de treinamento dos modelos e mostrar quase o mesmo tempo com GPUs que possuem capacidades mais altas, mas tal técnica pode não ser suficientemente racional financeira e processualmente. Os resultados das medidas de velocidade de aprendizagem podem ser observados na Tabela número 3.

Tabela 3 - Medições do tempo de treinamento nos mapas gráficos utilizados anteriormente
 

Using the alignment mechanism
Effective batch size = 100 000
FP 32
Number of GPUs in useGPUApproximate speed (min. sec),
1,000 steps
Batch size in use
8Nvidia A1020,286 250
1Nvidia H1002225 000
1A100 (80 Gb)4025 000
1A100 (40 Gb)5615 000
2Nvidia A405612 500
1RTX A600068,2512 500
1GeForce RTX 4060 Ti724 167
1Nvidia A4082,0812 500
2Tesla V100-SXM864 167
1Nvidia A10104,505 000
1Tesla V100-SXM21404 167


A seguir, vamos fazer uma análise comparativa dos pedais de gás gráficos atualmente em uso (Tabela 2). Para este grupo de processadores gráficos, as medições de velocidade foram realizadas utilizando o alinhamento mecanismo, bem como utilização do 16.o PQ e do 32.o PQ. Medições de velocidade incluindo este mecanismo e precisão mista serão apresentadas abaixo nas Tabelas 4 e 5, respectivamente.

Assim, tendo medido a velocidade das GPUs a partir desta tabela, podemos dizer que o primeiro lugar foi ocupado pela GPU da série RTX A4500 com um tempo de treinamento de 31 minutos, mas deve-se enfatizar que tal velocidade dos modelos de treinamento foi obtida aumentando o número de unidades da GPU usada até 4. Desconsiderando esse fato, a velocidade de treinamento da referida GPU será muito maior, o que a colocará no penúltimo lugar da mesa final.

A GPU da série Quadro RTX 6000 com um tempo de aprendizagem de 47 minutos está em segundo lugar. Deve-se notar que tal velocidade de treinamento é inversamente condicionada pelo número de unidades do processador utilizado, que é igual a quatro. Usar apenas uma dessas GPU daria uma perda de velocidade de cerca de 3,2 vezes e, consequentemente, seria de aproximadamente 153 minutos e a colocaria em último lugar.

A terceira linha foi tomada pela GPU da série TITAN RTX com um tempo de 75 minutos e 85 segundos. Essa pontuação de velocidade de aprendizagem se deve ao uso de 2 processadores, o que reduziu o tempo de treinamento do modelo.

O líder inquestionável em termos de velocidade de treino no número de uma unidade será definitivamente a GPU da série GeForce RTX 3090 com um tempo de 78 minutos e 26 segundos. Aumentar o número de unidades desta GPU acelerará a velocidade de treinamento do modelo, o que ultrapassará claramente todos os modelos de GPU mencionados acima. Os dados das medidas do tempo de treinamento do modelo podem ser observados na Tabela 4.

Tabela 4 - Análise comparativa da velocidade de treinamento do modelo de linguagem em GPUs utilizadas anteriormente
 

Using the alignment mechanism
Effective batch size = 100 000
FP 32
Number of GPUs in useGPUApproximate speed (min. sec),
1,000 steps
Batch size in use
4Nvidia RTX A4500315 000
4Quadro RTX 6000476 250
2Nvidia TITAN RTX75,856 250
1GeForce RTX 309078,266 250
2Quadro RTX 6000886 250
1GeForce RTX 3070104,172 000
1Quadro RTX 60001536 250


As seguintes medições de velocidade de treinamento foram realizadas usando FP16. Em comparação com o FP32, a meia precisão permite reduzir a quantidade de memória consumida durante o treinamento do modelo e acelerar a computação na GPU. A precisão da representação será menor do que com a utilização do FP32.

Medindo o tempo de treinamento dos modelos utilizando FP32 da tabela anterior, podemos dizer que o tempo de treinamento da rede neural foi reduzido em quase duas vezes. Com base nos resultados da medição de desempenho, podemos observar a partir dos benchmarks de GPU de aprendizado de máquina na Tabela 4 que as posições das GPUs permaneceram praticamente inalteradas. A placa da série Quadro RTX 6000 subiu da quinta para a sexta posição, batendo a GPU GeForce RTX 3090 por 96 segundos. Os números finais são mostrados na Tabela 5.

Tabela 5 - Análise comparativa da velocidade de treinamento do modelo de linguagem em GPUs utilizadas anteriormente
 

Using the alignment mechanism
Effective batch size = 100 000
FP 16
Number of GPUs in useGPUApproximate speed (min. sec),
1,000 steps
Batch size in use
4Nvidia RTX A450015,8110 000
4Quadro RTX 600020,3412 500
2Nvidia TITAN RTX32,686 250
2Quadro RTX 600037,9310 000
1GeForce RTX 309038,8910 000
1GeForce RTX 307048,512 500
1Quadro RTX 600052,5610 000

Perguntas frequentes (FAQ)

Vale a pena comprar uma GPU para aprendizagem profunda?

Comprar uma GPU para aprendizagem profunda pode aumentar significativamente a velocidade e a eficiência do treinamento, tornando-o um investimento que vale a pena para projetos sérios. No entanto, a decisão deve considerar fatores como orçamento, casos de uso específicos e se as soluções em nuvem podem ser mais econômicas.

Qual GPU é melhor para aprendizado profundo?

O NVIDIA A100 é frequentemente considerado a melhor escolha para aprendizado profundo, oferecendo desempenho e memória excepcionais para modelos grandes. Para usuários preocupados com o orçamento, o NVIDIA RTX 3090 oferece fortes capacidades para treinar modelos de forma eficaz.

AMD ou NVIDIA são melhores para aprendizagem profunda?

A NVIDIA é geralmente preferida para aprendizado profundo devido ao seu ecossistema de software robusto, que aprimora o desempenho e a compatibilidade com estruturas populares. Embora as GPUs AMD tenham melhorado, elas ainda estão atrás da NVIDIA em termos de otimização e suporte para aplicativos de aprendizado profundo.

A GPU ajuda na PNL?

Sim, as GPUs aceleram significativamente o treinamento de redes neurais em processamento de linguagem natural (PNL), lidando com cálculos paralelos de forma eficiente. Esse aumento de velocidade permite experimentação e iteração mais rápidas, levando a um melhor desempenho do modelo e tempos de treinamento reduzidos.

Mais leituras fascinantes aguardam

Reconhecimento de fala no local: o que é?

Reconhecimento de fala no local: o que é?

September 27, 2024

Avaliação da significância estatística no sistema de tradução

Avaliação da significância estatística no sistema de tradução

September 10, 2024

Reconhecimento de fala em marketing

Reconhecimento de fala em marketing

August 23, 2024

Contate-nos

0/250
* Indica campo obrigatório

Sua privacidade é de extrema importância para nós; seus dados serão usados ​​apenas para fins de contato.

E-mail

Concluído

Sua solicitação foi enviada com sucesso

× 
Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site.

We also use third-party cookies that help us analyze how you use this website, store your preferences, and provide the content and advertisements that are relevant to you. These cookies will only be stored in your browser with your prior consent.

You can choose to enable or disable some or all of these cookies but disabling some of them may affect your browsing experience.

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Always Active

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Always Active

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Always Active

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Always Active

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.