Neste curso de NLP Cloud, explicamos por que um hardware específico é frequentemente necessário para acelerar o processamento de cargas de trabalho de aprendizado de máquina. Também analisamos quais são os melhores aceleradores disponíveis no mercado em 2023: GPUs, TPUs, IPUs, Inferentia, Habana Gaudi...
Eis a estrutura do curso:
Olá a todos, este é Julien Salinas da NLP Cloud.
Neste curso, vamos ver que tipo de aceleradores de hardware podemos utilizar atualmente para acelerar as nossas cargas de trabalho de inferência.
Para compreender a aceleração de hardware, é importante recordar que, atualmente, as aplicações de IA se baseiam sobretudo em redes neuronais, também conhecidas como aprendizagem profunda.
A multiplicação de matrizes é uma operação essencial nas redes neuronais porque lhes permite aprender dados complexos e representações complexas dos dados.
Numa rede neuronal, os dados de entrada são representados por uma matriz e os pesos das ligações entre os neurónios são também representados por uma matriz.
Quando estas duas matrizes são multiplicadas, o resultado é uma nova matriz que representa a saída dos neurónios.
Este processo é repetido através de várias camadas de neurónios, permitindo à rede aprender características cada vez mais abstractas e complexas dos dados de entrada.
As matrizes são componentes essenciais dos modelos de IA, pelo que é importante utilizar algum hardware que seja muito bom a efetuar operações em matrizes.
Outro aspeto importante são os números de vírgula flutuante.
Os pontos flutuantes são importantes nas redes neuronais porque permitem a representação de valores fraccionários.
Como acabámos de dizer, as redes neuronais envolvem grandes matrizes com muitas entradas.
A utilização apenas de valores inteiros conduziria rapidamente a erros de transbordo.
Ao utilizar valores de vírgula flutuante, as redes neuronais podem representar valores com muitas casas decimais, permitindo cálculos mais precisos e uma maior exatidão nos resultados.
Resumindo, para processar eficientemente cargas de trabalho, cargas de trabalho de IA, precisamos de hardware que seja bom a lidar com multiplicações de matrizes e cálculos de vírgula flutuante.
As duas principais opções que pode considerar atualmente para as suas cargas de trabalho de aprendizagem automática são as CPUs e as GPUs.
Uma CPU, ou Unidade Central de Processamento, é um processador de uso geral que lida com uma vasta gama de tarefas num sistema informático, incluindo a execução de aplicações, a gestão do sistema operativo e a realização de cálculos matemáticos.
As CPUs foram concebidas para serem versáteis e poderem lidar com muitos tipos de tarefas, mas não estão optimizadas para qualquer tipo específico de carga de trabalho.
Uma GPU, ou Unidade de Processamento Gráfico, é um processador especializado que foi concebido para lidar com cargas de trabalho complexas e paralelas, como a renderização de gráficos e a aprendizagem automática.
As GPUs têm milhares de núcleos mais pequenos que trabalham em conjunto para processar grandes quantidades de dados de uma só vez, tornando-as muito mais rápidas do que as CPUs para determinados tipos de cargas de trabalho.
As operações matriciais podem ser facilmente paralelizadas em vários núcleos pequenos, razão pela qual as GPUs são excelentes neste domínio.
Além disso, as GPUs têm normalmente muito mais unidades de vírgula flutuante do que as CPUs, o que lhes permite efetuar operações de vírgula flutuante muito mais rapidamente.
Agora já sabe porque é que uma CPU não é suficiente para os actuais volumes de trabalho de IA e porque é que o hardware específico é frequentemente muito importante.
Vamos agora analisar as opções que tem no que diz respeito a aceleradores de hardware específicos.
As GPUs NVIDIA são uma ferramenta poderosa para processamento gráfico e oferecem uma gama de recursos que as tornam ideais para jogos, aprendizado de máquina, edição de vídeo e aplicativos de design e engenharia.
Como engenheiro de software de IA, não há dúvida de que terá de jogar com as GPU NVIDIA, uma vez que estas ocupam atualmente uma posição central no mercado das GPU.
As suas cartas mais potentes para a IA em 2023 são a A100 e a H100.
A AMD também oferece uma vasta gama de GPUs, incluindo para aprendizagem automática.
A sua gama de produtos RockM é interessante e aconselho-o a dar uma vista de olhos.
A Google também constrói os seus próprios chips de IA, designados por TPUs (TensorFlow Processing Unit).
A empresa utiliza estes chips internamente, mas também os propõe na sua oferta Google Cloud.
No entanto, não é possível comprar uma TPU para si próprio.
As TPUs funcionam de forma ligeiramente diferente das GPUs, mas esse será um tópico para outro vídeo dedicado.
A Graphcore é uma empresa sediada no Reino Unido que produz um hardware de IA específico denominado IPU, equivalente às TPUs da Google.
Pode comprar IPUs ou utilizá-las na nuvem através de um dos seus parceiros.
A AWS constrói os seus próprios chips de IA.
Têm um chip dedicado à inferência, chamado Inferentia, e outro dedicado ao treino, chamado Tranium.
Estas fichas são relativamente baratas.
Não pode comprar esses chips para si, mas pode utilizá-los no AWS EC2 ou no Sage Maker.
A Intel também construiu o seu próprio chip de IA, chamado Habana Gaudi, que é uma alternativa muito potente mas muito cara.
Os aceleradores de hardware são potentes, mas também muito caros e difíceis de adquirir devido à escassez mundial de semicondutores.
Consequentemente, é por isso que é aconselhável trabalhar na otimização da sua carga de trabalho de IA, tanto quanto possível, para que possa ser executada em hardware mais pequeno.
As CPUs podem até ser uma opção decente para muitas cargas de trabalho de aprendizado de máquina em muitas situações.
Como se pode ver neste momento, em 2023, a NVIDIA é a solução de facto quando se trata de aceleração de hardware em IA e aprendizagem automática.
Mas, curiosamente, estão a surgir algumas alternativas.
Assim, talvez daqui a alguns anos, para os seus próximos projectos de IA, possa utilizar outros tipos de aceleradores.
Espero que este curso tenha sido útil e desejo-vos um bom dia.