Embora as unidades de processamento gráfico (GPUs) antes residissem exclusivamente nos domínios de jogos com uso intensivo de gráficos e streaming de vídeo, as GPUs agora estão igualmente associadas ao aprendizado de máquina (ML). Sua capacidade de realizar cálculos múltiplos e simultâneos que distribuem tarefas, acelerando significativamente o processamento de cargas de trabalho de ML, torna as GPUs ideais para potencializar aplicativos de inteligência artificial (IA).
Os dados múltiplos de instrução única (SIMD) a arquitetura de fluxo em uma GPU permite que os cientistas de dados dividam tarefas complexas em várias unidades pequenas. Como tal, as empresas que buscam iniciativas de IA e ML estão agora mais propensas a escolher GPUs em vez de unidades centrais de processamento (CPUs) para analisar rapidamente grandes conjuntos de dados em cargas de trabalho de aprendizado de máquina algoritmicamente complexas e com uso intensivo de hardware. Isto é especialmente verdadeiro para grandes modelos de linguagem (LLMs) e aplicações generativas de IA construídas em LLMs.
No entanto, CPUs de baixo custo são mais do que capazes de executar determinadas tarefas de aprendizado de máquina onde o processamento paralelo é desnecessário. Isso inclui algoritmos que realizam cálculos estatísticos, como processamento de linguagem natural (PNL) e alguns algoritmos de aprendizado profundo. Existem também exemplos de IA que são apropriados para CPUs, como telemetria e roteamento de rede, reconhecimento de objetos em câmeras CCTV, detecção de falhas na fabricação e detecção de objetos em tomografias computadorizadas e ressonâncias magnéticas.
Habilitando o desenvolvimento de aplicativos baseados em GPU
Embora os casos de uso de CPU acima mencionados continuem a trazer benefícios para as empresas, o grande impulso na IA generativa exige mais GPUs. Isso tem sido uma bênção para os fabricantes de GPU em geral, e especialmente para a Nvidia, líder indiscutível na categoria. E ainda assim, à medida que cresce a demanda por GPUs em todo o mundo, mais empresas estão percebendo que configurar pilhas de GPU e desenvolver em GPUs não é fácil.
Para superar esses desafios, a Nvidia e outras organizações introduziram diferentes conjuntos de ferramentas e estruturas para facilitar aos desenvolvedores o gerenciamento de cargas de trabalho de ML e a gravação de código de alto desempenho. Isso inclui estruturas de aprendizado profundo otimizadas para GPU, como PyTorch e TensorFlow, bem como a estrutura CUDA da Nvidia. Não é exagero dizer que a estrutura CUDA mudou o jogo na aceleração de tarefas de GPU para pesquisadores e cientistas de dados.
GPUs locais versus GPUs em nuvem
Dado que as GPUs são preferíveis às CPUs para executar muitas cargas de trabalho de machine learning, é importante compreender qual abordagem de implantação – local ou baseada na nuvem – é mais adequada para as iniciativas de IA e ML que uma determinada empresa empreende.
Em uma implantação de GPU local, uma empresa deve adquirir e configurar suas próprias GPUs. Isto requer um investimento de capital significativo para cobrir o custo das GPUs e a construção de um data center dedicado, bem como as despesas operacionais de manutenção de ambos. Essas empresas desfrutam de uma vantagem de propriedade: seus desenvolvedores são livres para iterar e experimentar indefinidamente sem incorrer em custos adicionais de uso, o que não seria o caso com uma implantação de GPU baseada em nuvem.
As GPUs baseadas em nuvem, por outro lado, oferecem um paradigma de pagamento conforme o uso que permite às organizações aumentar ou diminuir o uso de GPU a qualquer momento. Os provedores de GPU em nuvem oferecem equipes de suporte dedicadas para lidar com todas as tarefas relacionadas à infraestrutura de nuvem de GPU. Dessa forma, o provedor de GPU em nuvem permite que os usuários comecem rapidamente a provisionar serviços, o que economiza tempo e reduz responsabilidades. Ele também garante que os desenvolvedores tenham acesso à tecnologia mais recente e às GPUs certas para seus casos de uso atuais de ML.
As empresas podem obter o melhor dos dois mundos por meio de uma implantação de GPU híbrida. Nessa abordagem, os desenvolvedores podem usar suas GPUs locais para testar e treinar modelos e dedicar suas GPUs baseadas em nuvem para dimensionar serviços e fornecer maior resiliência. As implantações híbridas permitem que as empresas equilibrem seus gastos entre CapEx e OpEx, garantindo ao mesmo tempo que os recursos de GPU estejam disponíveis nas proximidades das operações do data center da empresa.
Otimizando cargas de trabalho de machine learning
Trabalhar com GPUs é desafiador, tanto do ponto de vista de configuração quanto de desenvolvimento de aplicativos. As empresas que optam por implantações locais muitas vezes enfrentam perdas de produtividade, pois seus desenvolvedores precisam realizar procedimentos repetitivos para preparar um ambiente adequado para suas operações.
Para preparar a GPU para realizar qualquer tarefa, é necessário realizar as seguintes ações:
- Instale e configure os drivers CUDA e o kit de ferramentas CUDA para interagir com a GPU e executar quaisquer operações adicionais da GPU.
- Instale as bibliotecas CUDA necessárias para maximizar a eficiência da GPU e usar os recursos computacionais da GPU.
- Instale estruturas de aprendizado profundo, como TensorFlow e PyTorch, para executar cargas de trabalho de aprendizado de máquina, como treinamento, inferência e ajuste fino.
- Instale ferramentas como JupyterLab para executar e testar código e Docker para executar aplicativos GPU em contêineres.
Esse longo processo de preparação de GPUs e configuração dos ambientes desejados frequentemente sobrecarrega os desenvolvedores e também pode resultar em erros devido a versões incompatíveis ou desatualizadas das ferramentas necessárias.
Quando as empresas fornecem aos seus desenvolvedores uma infraestrutura pré-configurada pronta para uso e uma pilha de GPU baseada em nuvem, os desenvolvedores podem evitar a execução de tarefas e procedimentos administrativos onerosos, como o download de ferramentas. Em última análise, isso permite que os desenvolvedores se concentrem em trabalhos de alto valor e maximizem sua produtividade, pois podem começar imediatamente a criar e testar soluções.
Uma estratégia de GPU em nuvem também oferece às empresas a flexibilidade de implantar a GPU certa para qualquer caso de uso. Isso permite que eles combinem a utilização da GPU com suas necessidades de negócios, mesmo quando essas necessidades mudam, aumentando a produtividade e a eficiência, sem ficarem presos a uma compra específica de GPU.
Além disso, dada a rapidez com que as GPUs estão evoluindo, a parceria com um provedor de GPU em nuvem oferece capacidade de GPU sempre que a organização precisar, e o provedor de nuvem manterá e atualizará suas GPUs para garantir que os clientes sempre tenham acesso a GPUs que ofereçam desempenho máximo. Um paradigma de implantação híbrida ou em nuvem permitirá que as equipes de ciência de dados se concentrem em atividades geradoras de receita, em vez de provisionar e manter GPUs e infraestrutura relacionada, além de evitar investir em hardware que poderá ficar desatualizado em breve.
Kevin Cochrane é diretor de marketing da Vultr.
–
Generative AI Insights oferece um local para líderes de tecnologia – incluindo fornecedores e outros colaboradores externos – explorarem e discutirem os desafios e oportunidades da inteligência artificial generativa. A seleção é ampla, desde aprofundamentos tecnológicos até estudos de caso e opiniões de especialistas, mas também subjetiva, com base em nosso julgamento de quais tópicos e tratamentos servirão melhor ao público tecnicamente sofisticado do InfoWorld. A InfoWorld não aceita material de marketing para publicação e reserva-se o direito de editar todo o conteúdo contribuído. Contato [email protected].