Pesquisa de site

A IA poderia torná-lo um bilionário em 2025?


O software é fundamental para ampliar o alcance da IA, e grande parte dele remonta a abordagens de décadas na tecnologia de compiladores.

"Os maiores modelos levam um milhão de dólares para serem treinados, eles são o equivalente a um supercomputador", diz o gerente geral de IA e análise da Intel, Wei Li. "Isso não é sustentável, não será amplamente aplicável se todos tiverem que pagar dez milhões de dólares para treinar um modelo de trilhões de parâmetros."

Um consenso surgiu nos círculos de aprendizado profundo de inteligência artificial sobre algumas noções básicas. 

Uma noção é que a tendência de as redes neurais ficarem cada vez maiores continuará no futuro próximo, com algumas exceções. 

Outra visão consensual é que o potencial do aprendizado profundo depende da inovação de software, apesar da proliferação de novos hardwares.

Juntas, o que essas duas coisas significam?

Eles podem significar que as inovações de software são a única coisa que tornará o aprendizado profundo acessível a todos aqueles que usariam IA, não apenas àqueles que possuem os maiores e mais caros computadores. 

"A IA de hoje é realmente sobre supercomputação quando nos aprofundamos nela", diz Wei Li, vice-presidente e gerente geral de IA e análise da gigante de chips Intel. 

"Os maiores modelos levam um milhão de dólares para serem treinados, são o equivalente a um supercomputador."

Isso coloca grande parte da IA fora do alcance de meros mortais, disse Li em entrevista à ZDNet. 

"Tivemos muito sucesso na adoção da IA no laboratório de pesquisa, onde os alunos de doutorado de Stanford criam algoritmos que reconhecem cães e gatos, e os provedores de serviços em nuvem fazem muitas coisas", disse Li. 

"Isso não é sustentável, não será amplamente aplicável  se todos tiverem que pagar dez milhões de dólares para treinar um modelo de trilhões de parâmetros", disse Li. "Se você quiser ir amplo - e essa é a oportunidade aqui, ter IA em todos os lugares - a ponte ainda não está lá."

A ponte, na visão de Li, é um software. Software é a capacidade de pegar os avanços do laboratório e distribuí-los para organizações grandes e pequenas, em diferentes tipos de hardware de computador, incluindo CPUs e GPUs e todos os novos tipos de chips aceleradores exóticos. 

"Eu vejo o software como uma ponte para chegar à IA em todos os lugares", disse Li.

Para Li, o impasse atual tem uma sensação muito familiar. Ele fez seu doutorado em ciência da computação na Universidade de Cornell na década de 1990, avançando técnicas de compiladores, o software que faz os programas rodarem em uma determinada peça de hardware. Seu trabalho então se concentrou especificamente em como executar cargas de trabalho em muitos recursos de computação.

"O que é incrível é que as coisas que aprendi na época eram sobre como executar as coisas rapidamente e lidar com uma grande quantidade de dados", refletiu Li.

Depois de Cornell, Li foi contratado pela Intel há vinte e cinco anos, quando a empresa estava dando o salto de ser principalmente uma fabricante de chips para PC para ser também uma fornecedora líder de chips para servidores. Sua experiência foi colocada em prática no desenvolvimento de compiladores para servidores. "Sempre estive na vanguarda da Intel", refletiu ele, "o que torna meu trabalho divertido".

Como costuma acontecer na tecnologia, tudo o que é velho é novo novamente. De repente, diz Li, tudo no aprendizado profundo está voltando às inovações dos compiladores no passado.

"Os compiladores se tornaram irrelevantes" nos últimos anos, disse ele, uma área da ciência da computação vista como amplamente estabelecida. "Mas por causa do aprendizado profundo, o compilador está voltando", disse ele. "Estamos no meio dessa transição." 

Em sua dissertação de doutorado em Cornell, Li desenvolveu uma estrutura de compilador para processar código em sistemas muito grandes com o que é chamado de "acesso não uniforme à memória", ou NUMA. Seu programa reformulou loops de código para a maior quantidade possível de processamento paralelo. Mas também fez outra coisa particularmente importante: decidiu qual código deveria ser executado dependendo de quais memórias o código precisava acessar a qualquer momento. 

Hoje, diz Li, o aprendizado profundo está se aproximando do ponto em que esses mesmos problemas dominam. O potencial do aprendizado profundo é limitado principalmente não por quantas multiplicações de matrizes podem ser calculadas, mas pela eficiência com que o programa pode acessar a memória e a largura de banda.  

"Nos estágios iniciais [do aprendizado profundo], era tudo sobre esses primitivos, você pode executar multiplicações de matrizes rapidamente, você pode executar convoluções rapidamente", disse Li. 

"Seguindo em frente, os primitivos são apenas o primeiro passo", disse Li. O problema se torna um problema de decisão mais estratégico. "Como você executa o gráfico [de operações de computação] em todas as máquinas heterogêneas que temos", disse ele . "Você quer distribuí-lo, você quer paralelizá-lo de uma certa maneira, você quer lidar com hierarquias de memória de uma certa maneira - todas essas são otimizações do compilador."

Algumas coisas são mais difíceis do que outras. "Nosso trabalho é escolher um gráfico e dividi-lo nessas unidades de computação - essa é a parte fácil", disse Li. Um programador de computador pode desenhar diagramas do hardware de computação, dos vários nós, dos processadores e pensar em como dividir os loops de execução. 

Muito mais difíceis, e não tão fáceis de diagramar, são a memória e as comunicações, especialmente com modelos de redes neurais cada vez maiores.

"A parte difícil é a hierarquia de memória, é muito mais difícil do que a simples paralelização, e essa é a chave", disse Li. "A parte difícil é a largura de banda de interconexão, a organização das comunicações."

"Não temos uma boa maneira de modelar a movimentação de dados", observou ele. "A maior parte do trabalho é sobre o gerenciamento de dados - a parte difícil da otimização do compilador é sobre o gerenciamento de dados de maneira eficaz." Especificamente, "a localidade dos dados é super importante", disse Li, o que significa que uma operação funciona em um determinado dado e, "esperançosamente, esse dado ainda permanece na camada de memória mais próxima, ou talvez o cache em algum lugar."

A escala do problema aumenta com certos tipos de aprendizado profundo, como redes neurais gráficas, usadas em sistemas de recomendação para, digamos, um aplicativo de comércio. 

"Há uma semelhança no nível central, estamos falando de multiplicação de matrizes, convolução, mas há uma diversidade quando você vai acima disso", disse Li. Em sistemas de visão computacional, pode haver milhões de imagens para lidar, mas "quando você vai para gráficos, a quantidade de dados é enorme". Cada pessoa conectada a todas as outras pessoas, como em uma rede social, significa desafios qualitativamente diferentes para o processamento.

"Você pensa no LinkedIn, quantos bilhões de pessoas - ou seja, bilhões e bilhões de nós - isso é realmente big data."

Como lidar com memória e interconexão para realmente big data "volta à paralelização de compiladores", disse Li. 

"Na realidade, precisamos de muitas pessoas de compiladores porque tudo se resume aos compiladores."

A Intel já tomou medidas para trazer mais especialistas em compiladores para o grupo. Em junho, a empresa anunciou que adquiriria a startup CodePlay de Edimburgo, na Escócia, fornecedora de compiladores paralelos. 

O CodePlay é um componente do esforço da Intel para ter uma ampla pilha de software disponível para todas as otimizações que Li discute. Como uma solução possível, Li é um defensor de um kit de ferramentas de software e plataforma que a Intel ajudou a desenvolver chamado oneAPI, cujo código-fonte é postado no GitHub. A Intel está enviando sua própria implementação da especificação de código aberto desde dezembro de 2020.

oneAPI oferece bibliotecas, como oneDNN, para a aceleração da matriz multiplicar primitivas. Ele também inclui uma linguagem de programação que a Intel pretende ser uma linguagem de paralelização multiplataforma, chamada DPC++. A linguagem é uma adaptação da linguagem SYCL desenvolvida pelo Khronos Group. O CodePlay já tinha seu próprio esforço análogo ao DPC++, chamado ComputeC++.

Questionado sobre o progresso da oneAPI, disse Li, "a adoção está chegando lá e esses são lugares onde estamos obtendo uma adoção muito boa do lado do aprendizado profundo".

"Ainda há um longo caminho a percorrer", acrescentou. "Estabelecer um padrão na comunidade e no ecossistema não é uma coisa fácil."

A especificação oneAPI exige uma linguagem de programação, DPC++ e várias bibliotecas para otimizar aplicativos de aprendizado profundo para uma variedade de hardware. 

A Intel pode apontar alguns sucessos práticos. Uma das tecnologias oneAPI, OneDNN, uma abordagem para acelerar o desempenho da rede neural, tornou-se uma configuração padrão no TensorFlow e no PyTorch. Uma biblioteca da Intel chamada BigDL, que pode reestruturar automaticamente uma rede neural desenvolvida em um único nó para escalar para milhares de nós, foi adotada por grandes empresas como a MasterCard.

A gigante do licenciamento de processadores ARM implementou o oneAPI em seus designs de processadores. "A ARM está realmente usando o mesmo OneAPI e é um dos grandes contribuintes para o nosso OneDNN", disse Li. "Eles têm uma implementação do oneDNN no ARM, e é assim que eles chegam ao seu valor mais rapidamente."

"Eventualmente, veremos muitos ganhos de desempenho com a otimização que fazemos", disse Li. "Estamos vendo uma escala de 10x, estamos vendo um ganho de desempenho de 100x" com o uso da oneAPI, disse ele.

Parte da batalha para Li é enfatizar continuamente a importância do software, algo que pode ser obscurecido em um mundo onde os mais recentes aceleradores de hardware de startups como Cerebras Systems, Graphcore e SambaNova atraem a maior parte da atenção. 

"Mesmo dentro da indústria, há, você pode chamá-lo, uma desconexão", disse Li. "Muitas vezes as pessoas falam sobre como você tem dados, algoritmos, computação - a noção de software é muito, muito menos compreendida, mas, na realidade, o software desempenha um papel fundamental em fazer a IA acontecer."

Por mais importante que seja o software, a discussão sobre a aceleração da IA sempre voltará ao papel da Intel como a maior fabricante independente de processadores e a batalha entre ela e os jovens rivais, como a Cerebras e a gigante dos chips de IA, a Nvidia. 

A Intel compete diretamente com as startups com a Habana, fabricante de chips que comprou em 2019, que continua a oferecer melhorias de desempenho competitivas com gerações sucessivas. A Intel tem o fardo do código legado para oferecer suporte a todos os seus usuários x86, algo que as startups não têm. Mas, de certa forma, diz Li, as startups também precisam apoiar legados - os legados de estruturas de IA como TensorFlow e PyTorch que dominam a criação de redes neurais. 

"Como você conecta sua coisa única a algo que já está lá?" é como Li expressa a questão. "Esse é um desafio que todos eles têm e esse é o desafio que temos também.

"É por isso que tenho uma equipe trabalhando em Python, tenho uma equipe trabalhando no TensorFlow", disse ele. "É por isso que nossa estratégia é o ecossistema de software de muitas maneiras diferentes."

A Intel divide o mercado de chips de IA de alto volume com a Nvidia, com a Nvidia dominando o treinamento, a fase inicial em que uma rede neural é desenvolvida e a Intel tem a maior parte do mercado para inferência, quando uma rede neural treinada executa previsões. A Intel também tem concorrência na borda da Qualcomm, que está promovendo sua própria pilha de software que pode ser vista como uma alternativa ao oneAPI.

A proliferação de processadores no roteiro de chips da Intel - uma GPU de datacenter com o codinome Ponte Vecchio, o aprimoramento contínuo da CPU do servidor Xeon com habilidades de multiplicação de matrizes, novas matrizes de portas programáveis em campo (FPGAs), entre outros - significa que há um diagrama de Venn muito grande onde a Intel compete com a Nvidia e AMD e Qualcomm e as startups.  

"Na CPU hoje, temos a maior parte do mercado de inferência, e é aí que jogamos, e estamos entrando no mercado de treinamento por causa dos outros aceleradores que estamos fazendo aqui", disse Li. 

A Nvidia é geralmente considerada como tendo forte controle do mercado de treinamento em virtude não apenas de seu volume de remessa de GPUs, mas também porque suas ferramentas de programação CUDA existem há mais tempo do que qualquer outra coisa. 

"A questão do CUDA é interessante porque realmente depende de quão baixo as pessoas irão", disse Li. Apenas um pequeno público realmente se preocupa em escrever nas bibliotecas CUDA e na linguagem de programação CUDA, afirma Li. A grande maioria das pessoas que a Intel está tentando alcançar com o oneAPI são as massas: os cientistas de dados que trabalham no nível dos frameworks. 

"Quando falamos sobre IA em todos os lugares, você tem milhões de desenvolvedores, mas esses são os desenvolvedores principalmente no nível superior", disse ele. "Eles não estarão no nível de programação CUDA, estarão no nível de programação do TensorFlow - essas são as pessoas que colocarão a IA em escala, certo?"

A Intel tem chance de quebrar a liderança da Nvidia entre os pesquisadores de aprendizado profundo? Li se abstém de fazer previsões grandiosas. Em vez disso, ele disse: "Acho que é bom para o mercado em geral porque oferece uma alternativa", ou seja, oneAPI.

"Meu objetivo é que desenvolvamos bem nosso produto e deixemos o produto falar por si no mercado", disse ele. "A Intel, na minha opinião, está bem posicionada para liderar essa jornada para chegar à IA em todos os lugares, principalmente no lado do software."

Há um outro grupo com o qual a Intel compete, mas com o qual também faz parceria, os provedores de serviços em nuvem, Amazon, Alphabet e Microsoft. Todos os três têm seus próprios programas de silício. No caso da TPU do Google da Alphabet, a unidade de processamento Tensor, a família de chips está agora em sua quarta geração e obtendo um impulso substancial como um cavalo de batalha dedicado na nuvem do Google. O chip "Trainium" da Amazon é menos desenvolvido como um ecossistema neste momento.

Embora os fornecedores de nuvem comprem toneladas de processadores da Intel, suas peças domésticas podem ser vistas como um obstáculo tanto para a Intel quanto para seus concorrentes comerciais de silício Nvidia e AMD. Os chips internos podem tirar as cargas de trabalho das ofertas do comerciante.

Por um lado, a Intel trabalha duro para girar, disse Li, para ficar em contato com o que os gigantes da nuvem precisam. "É interessante: inicialmente, a IA era tudo sobre visão computacional e cães e gatos", disse Li. "Mas quando começamos a trabalhar com os CSPs [provedores de serviços em nuvem], descobrimos que o ciclo número um lá, a maior quantidade de computação que eles estão queimando, não é a visão computacional, na verdade, são os sistemas de recomendação." 

As startups não conseguem acompanhar esse ritmo, insiste Li. "Você pode imaginar, cinco anos atrás, há uma startup em todos os lugares, e eles só projetaram a máquina para o AlexNet", uma rede neural que faz o teste ImageNet amplamente utilizado. "Hoje eles não estão mais no mercado porque simplesmente não conseguiam lidar com a tendência nos CSPs."

Ao mesmo tempo, "a nuvem é uma prioridade para nós, mas a IA em todos os lugares está realmente indo além da nuvem, para as empresas". 

Esses clientes corporativos "têm um conjunto diferente de pessoas, requisitos diferentes e diferentes tipos de aplicativos". Essas empresas podem incluir o Facebook, observou Li, ou podem incluir um varejista.

Aplicações de IoT e computação de borda podem exigir uma sensibilidade diferente das operações de IA em nuvem, afirma Li.

"Vou conversar com alguns grandes varejistas, e seus aplicativos não são exatamente aplicativos em nuvem", disse Li. "Eles podem ter alguma coisa de aprendizado de máquina acontecendo na loja que será um pouco diferente do lado da nuvem."

"Essas coisas estão mudando em termos da variedade de coisas que estão sendo feitas", observou Li sobre as cargas de trabalho de IA, "e é por isso que acho que a Intel está em uma boa posição, porque a Intel tem escala". O portfólio de chips, o volume que a Intel envia, significa que ela pode lidar com a diversidade, ele insiste.

"A Intel é grande, temos um portfólio de hardware de alta qualidade projetado e construído hoje em um amplo conjunto de mercados", disse ele, "E, muitas vezes, eles estão conectados", como no caso de cargas de trabalho de borda que se conectam a data centers em nuvem.

Quanto às redes neurais muito grandes, Li afirma que técnicas como destilação e aprendizado por transferência permitirão que os frutos dessas redes neurais de supercomputadores cheguem aos usuários comuns. 

"Eu diria que será uma pirâmide, onde, na ponta da pirâmide, estão todos os modelos em que apenas algumas empresas ricas podem continuar a pressionar por essas coisas", observou Li. "E então haverá uma amplitude, a maior parte, e você encontrará modelos mais econômicos - pegue um modelo grande e encontre o modelo pequeno equivalente que faz a mesma coisa.

"Mas no topo, as pessoas sempre optarão por esse tipo de coisa de supercomputação."

Artigos relacionados