2 pontos por GN⁺ 2023-12-16 | 1 comentários | Compartilhar no WhatsApp
  • O CEO da Intel, Pat Gelsinger, revelou os chips de datacenter Core Ultra e Xeon de 5ª geração em um evento em New York City e afirmou que o domínio da CUDA, da Nvidia, no treinamento de IA não será eterno
  • Gelsinger vê MLIR, Google e OpenAI como exemplos de que o setor está migrando para uma camada de programação Pythonic para tornar o treinamento de IA mais aberto
  • A Intel considera o mercado de inferência (inference), que não depende de CUDA, como o campo de batalha mais importante e quer disputar a execução de modelos após o treinamento com Gaudi 3, Xeon e PCs de borda
  • No centro da estratégia de IA está o OpenVINO, e a Intel prevê um ambiente de computação híbrida em que parte das operações será processada na nuvem e parte no PC
  • Gelsinger disse que vai competir no mercado de IA para datacenters com CPU, aceleradores e foundry, e que pretende buscar tanto oportunidades internas de chips quanto oportunidades comerciais com Nvidia, AMD e outras

A ofensiva da Intel contra o domínio da CUDA

  • Pat Gelsinger apresentou o Intel Core Ultra e os chips de datacenter Xeon de 5ª geração em um evento em New York City, mirando diretamente a tecnologia CUDA da Nvidia
  • Ao responder a uma pergunta da NASDAQ, afirmou que o domínio da Nvidia CUDA no treinamento de IA não durará para sempre
  • Ele disse: “Toda a indústria está motivada a eliminar o mercado de CUDA”
  • Ele avalia que MLIR, Google e OpenAI estão migrando para uma camada de programação Pythonic para tornar o treinamento de IA mais aberto
  • Descreveu o fosso competitivo da CUDA como “raso e pequeno” e argumentou que a indústria quer trazer um conjunto mais amplo de tecnologias para treinamento em larga escala, inovação e ciência de dados

Estratégia que prioriza inferência em vez de treinamento

  • A Intel vê a inferência como o mercado central, em vez de competir apenas em treinamento
  • Segundo Gelsinger, depois que um modelo é treinado uma vez, não há dependência de CUDA, e o importante passa a ser quão bem esse modelo pode ser executado
  • O Gaudi 3, revelado no palco pela primeira vez, foi apresentado como o produto para responder a essa disputa
  • Xeon e PCs de borda também foram citados como eixos de competição nessa mesma direção
  • Isso não significa que a Intel esteja abrindo mão do mercado de treinamento, mas Gelsinger considera que “fundamentalmente, o mercado de inferência é onde a disputa será decidida”

OpenVINO e computação híbrida

  • Gelsinger destacou o OpenVINO como padrão central nos esforços de IA da Intel
  • Ele prevê um mundo de computação híbrida em que parte das operações será processada na nuvem e parte no PC do usuário
  • Sandra Rivera acrescentou que a Intel pode se tornar a parceira escolhida por ter escala desde o datacenter até o PC
  • Rivera também apontou como força da Intel sua capacidade de produzir em grande volume

Três frentes de competição no mercado de IA para datacenters

  • Gelsinger afirmou que a Intel vai competir em todo o mercado de IA para datacenters de três formas: CPU, aceleradores e foundry
  • Como oportunidades internas, foram citados chips como TPU, Inferentia e Trainium
  • Do lado das oportunidades comerciais, a posição é buscar também todas as possibilidades de cooperação com Nvidia, AMD e outras
  • A Intel apresenta ao mesmo tempo uma estratégia de competir com produtos próprios e de atuar como player de foundry

As questões que ainda restam na disputa competitiva

  • Gelsinger demonstrou forte confiança durante o anúncio e liderou as apresentações da equipe naquele dia
  • Se a Intel conseguirá realmente enfrentar a CUDA segue como uma questão que só poderá ser verificada depois que os chips apresentados pela empresa e os chips em desenvolvimento pelos concorrentes tiverem aplicações mais amplamente disseminadas

1 comentários

 
GN⁺ 2023-12-16
Opiniões no Hacker News
  • Como em outros comentários, o ponto central é CUDA. Intel ou AMD até conseguem fabricar chips bem rápidos, mas não entendem que o verdadeiro concorrente é software e ecossistema
    Por exemplo, no eBay dá para comprar uma MI100 usada com desempenho quase igual ao de uma A100 por um quinto do preço, e o motivo de ser tão barata é que, em comparação com GPUs da Nvidia, você acaba gastando uma quantidade enorme de tempo para fazê-la funcionar por causa de incompatibilidades de software
    O Google também está no nível de colocar uma interface XLA no PyTorch para oferecer aos pesquisadores um caminho de compatibilidade razoável, e a Intel faz algo parecido
    Se uma empresa desse setor quiser vender chips, vai precisar montar um enorme conjunto de testes, como todos os modelos da Hugging Face, e corrigir os problemas um por um, na força bruta
    A Intel está fazendo o de sempre: anuncia uma iniciativa aberta e depois dá só o mínimo de suporte, e parece bem provável que o OpenVINO termine sem grandes resultados. O Triton da OpenAI já parece ser mais mencionado

    • O engraçado é que uma parte considerável do ecossistema de software de IA é, na prática, PyTorch. Não é preciso criar um novo framework e fazê-lo virar moda, nem dar suporte a inúmeras bibliotecas periféricas. Basta dar suporte direito ao PyTorch
      Se o PyTorch rodar bem em GPUs da Intel, muita gente migraria de bom grado
    • Não é um problema só da Intel. Iniciativas abertas e consórcios em geral são uma forma de os retardatários se juntarem para tentar obter uma vantagem que não têm
      Se você já tem certa idade, deve ter visto esse padrão se repetir na indústria. A história do Unix contra o Windows NT nos anos 1990 estava cheia desses movimentos, e o setor de redes está passando pela mesma coisa de novo com o UltraEthernet
      O OpenGL talvez tenha sido a abordagem mais bem-sucedida, mas funcionou por pouco, e não ajudou muito os participantes que já não estavam no caminho para vencer. Unix 95 não pegou, nem Unix 98
    • É bem provável que a Nvidia tenha dez vezes mais medo de alguém como https://github.com/ggerganov do que da Intel ou da AMD
    • Esse é o ponto. Até que Intel ou AMD levem a sério o lado de software e invistam dinheiro de verdade, CUDA não vai desaparecer
      A Intel provavelmente vai fazer barulho sobre iniciativas relacionadas e, um ou dois trimestres depois, cortar bastante aquele departamento
      Para competir no território da CUDA, é preciso um compromisso de vários anos e contratações em grande escala, e, para isso, também será necessário elevar os salários ao valor de mercado
    • AMD e Intel, e até certo ponto a Qualcomm, parecem não entender como vencer a NVIDIA
      Para tomar uma fatia do bolo da NVIDIA, não é preciso criar agora algo melhor que a H100. Há muitos consumidores que ficariam satisfeitos com algo no nível de uma 4090, 4080 ou até 3080, desde que custe metade do preço, esteja disponível para compra imediata na Amazon, NewEgg etc. e não tenha um botão de “consultar preço”
      AMD e Intel são muito melhores que a NVIDIA em tornar os chips realmente compráveis, mas isso por si só não basta
      O necessário é um intelcc, amdcc, qualcommcc que aceite e compile exatamente o mesmo código que você colocava no nvcc. Nem mesmo o protótipo de uma função pode ser diferente, e ele precisa funcionar no hardware-alvo sem perguntas. Tem que ser um substituto drop-in da CUDA
      Se isso acontecer, recompilar o PyTorch e todo o resto para outros chips se tornará algo trivial
  • Um fato interessante: mais da metade dos engenheiros da NVIDIA são engenheiros de software. Jensen construiu deliberada e estrategicamente uma pilha de software poderosa sobre as GPUs, e vem fazendo isso há décadas
    Até a Intel encontrar um CEO tão técnico e estratégico quanto Jensen, e não apenas um executivo que olha números, parece difícil que consiga contra-atacar a CUDA com sucesso

    • Chamar Gelsinger de “não técnico” está muito distante da realidade
      Gelsinger entrou na Intel em 1979, aos 18 anos; em 1987, foi coautor de um livro de programação do microprocessador 80386; e foi o arquiteto-chefe do processador 80486 de quarta geração, lançado em 1989
      Aos 32 anos, tornou-se o vice-presidente mais jovem da história da Intel e, em 2001, virou CTO, liderando o desenvolvimento de tecnologias essenciais como Wi-Fi, USB, Intel Core, Intel Xeon e 14 projetos de chips. Também iniciou o Intel Developer Forum, em resposta ao Microsoft WinHEC
    • Quando Gelsinger fala em “toda a indústria”, isso parece perto de uma simples constatação. Todos os participantes, exceto a Nvidia, têm incentivo para reduzir a importância de uma tecnologia proprietária chamada CUDA. Isso significa muito mais programadores do que a Nvidia conseguiria contratar
      Mesmo que a Intel tropece sozinha, o incentivo para atrair mais fabricantes de chips é grande. Isso vai acontecer; a questão é apenas se levará meses, anos ou uma década
      Pessoalmente, eu apostaria no prazo mais curto. Parece ser em grande parte um problema de multiplicação de matrizes, e de repente há uma quantidade enorme de dinheiro e atenção indo para isso. A estratégia de APU da AMD [0] também está começando a chegar ao mercado de alto desempenho com a MI300A, o que é um desenvolvimento interessante
      [0] Para quem não acompanha esse movimento: a AMD vem unificando a memória do sistema e a memória da GPU. Se entendi corretamente, nesses chips já não é mais necessário “copiar dados para a GPU”. Basicamente, a CPU passa a ter uma grande extensão para matemática matricial. No passado, essa tecnologia era colocada em CPUs baratas e não era útil para cargas de IA, mas agora ela está indo para chips grandes
    • A atmosfera de exaltar Pat Gelsinger como um herói me parece bem estranha. A impressão que tive dele na VMware foi menos de alguém técnico e mais de um perfil de gestão por números, e parecia preso demais a ressentimentos pessoais ou jogos de status para tomar boas decisões de liderança técnica
      Claro, talvez a primeira impressão tenha sido ruim. Na apresentação da aquisição, a primeira coisa que ele disse à Pivotal foi “vocês eram nossos primos, mas agora estão mais para nossos filhos”, e isso deixou todo o clima estranho
    • Isso também era verdade na Intel havia pelo menos 10 anos, e provavelmente há muito mais tempo. É bem provável que o mesmo tenha sido quase sempre verdade para a Nvidia durante toda a sua existência
      Hardware sem software é apenas areia cara. Todas as empresas de semicondutores sabem disso. Para começo de conversa, quem completou esse pacote inteiro com x86 foi a Intel
      No campo de computação em GPU, CUDA é o x86. Está em toda parte, é o padrão de fato e algum dia será perturbado. A questão é se isso levará 1 ano ou 10 anos
  • Seria excelente se conseguissem criar uma cadeia de ferramentas, ecossistema e experiência de programação melhores que CUDA e compatíveis com desempenho máximo em todas as plataformas de computação. Todo mundo ganharia.
    Até lá, esse tipo de afirmação soa meio ridícula, ainda mais considerando como o OpenCL fracassou em termos de experiência para programadores e de suporte em queda. O mesmo vale para as tentativas de fazer computação geral em GPU com compute shaders de DX/GL/Vulkan.
    Estão mesmo “motivados”? Já tiveram anos, e o resultado foi desastroso. Nem sei se investiram sequer uma parte do que foi investido em CUDA. Precisam mostrar com dinheiro, não com palavras.

    • Eu gostaria que a AMD ou a Intel simplesmente lançassem uma CPU gigantesca com milhares de núcleos, que pudesse ser usada sem uma linguagem de programação de propósito especial.
      Não quero coprocessador, nem mais uma linguagem especial quebrada, seja C/C++ cheio de exceções esquisitas ou uma cópia malfeita de Python. Basta colocar mais núcleos e deixar usar threads de verdade em linguagens de programação comuns.
    • Fico curioso para saber qual é o problema com compute shaders.
  • Intel e AMD tiveram anos para oferecer funcionalidades semelhantes sobre OpenCL.
    Talvez primeiro precisem olhar para os próprios fracassos.

    • SYCL é uma contraparte mais próxima de CUDA do que OpenCL, e a Intel também tem sua própria implementação. Mesmo assim, quase não vejo ninguém usando SYCL para algo de verdade.
      Quando olhei para tentar usar, também havia várias implementações, cada uma com um subconjunto diferente de sistemas operacionais e hardware suportados, então era bem bagunçado.
      https://www.intel.com/content/www/us/en/developer/tools/onea...
    • É preciso ter recursos semelhantes, desempenho semelhante ou então desempenho melhor, mas hoje não há nada disso.
      As pessoas não querem comprar computação mais lenta e talvez barata nem mesmo em hardware Nvidia. Então por que fariam isso em hardware Intel? Como também seria preciso mudar os apps, isso claramente parece difícil desde o início.
      Não sou especialista na área, mas estou deixando passar alguma coisa? Se a indústria x86 quer se afastar do que a Nvidia oferece, a Intel precisa preencher de algum modo algum item que seja “melhor”.
    • AMD e Intel implementaram OpenCL, e a Nvidia também. A indústria poderia ter construído em cima dessa linguagem comum.
      Em vez disso, construiu em cima de CUDA e reclama que outros fabricantes de hardware não têm CUDA.
      Acho que foi porque OpenCL era o subconjunto comum que várias empresas conseguiam concordar em implementar. Já escrevi código que compila para CUDA, OpenCL, C++ e OpenMP, e era uma repetição constante de “como assim, OpenCL nem consegue fazer isso? Droga”.
    • A Intel tentou com OneAPI alguns anos atrás. Acontece que estava décadas atrasada e ainda está levando tempo para alcançar.
    • A Apple também. O fato de todos não terem se comprometido com essa situação permitiu que um concorrente altamente integrado varresse o mercado. Olhando agora, é curioso como a proposta de valor do OpenCL era muito mais clara.
  • Gostaria que alguém que entende profundamente de IA explicasse qual é o verdadeiro fosso competitivo de CUDA.
    Para todos está claro que não é hardware, mas software, ou seja, o ecossistema CUDA.
    Eu mexi um pouco com aprendizado de máquina no passado, mas no nível de treinar e ajustar modelos usava bibliotecas de alto nível e, até onde sei, essas bibliotecas decidiam qual backend usar basicamente com um if.
    Então, supondo que Intel e afins implementem um concorrente prático, estou errado em achar que a migração seria tranquila para muitos usuários? Talvez não para pesquisadores ou para quem está forçando os limites, mas para a maioria das empresas acho que o custo de migração não seria grande.

    • Seu entendimento está certo, mas a premissa não é nada fácil. A quantidade de trabalho que entra em CUDA é enorme, e a NVIDIA não está parada esperando os concorrentes alcançarem.
    • Essa situação é muito parecida com as primeiras guerras do IBM PC. No começo havia o IBM PC e vários “compatíveis”, mas não eram compatíveis drop-in completos; eram compatibilidades meia-boca, então muitos programas precisavam ser recompilados.
      Esses produtos também eram feitos por grandes empresas americanas. Elas não queriam transformar o PC em uma commodity de uso geral; queriam uma pequena fatia de um mercado grande.
      Os clones reais de PC, isto é, produtos puramente compatíveis drop-in, foram feitos em Taiwan e dominaram o mercado. Grandes empresas não querem um mercado comoditizado, com preços baixos e todos competindo em igualdade de condições. Uma “migração tranquila” leva justamente a esse resultado, por isso essas empresas não a criam.
    • O que é necessário é igualar o desempenho de computação por dólar nas bibliotecas de alto nível. Só isso.
      Claro que não é tão fácil quanto parece. Até o TPU do Google ainda sofre para igualar o H100 em operações de ponto flutuante por dólar, e, se você não usa Jax, também é bem trabalhoso de usar.
    • Dá para resumir dizendo que a Nvidia adotou uma abordagem de baixo para cima. Começou pelo hardware de processamento paralelo e construiu um ambiente de desenvolvimento sobre ele.
      Os concorrentes, especialmente a Intel, parecem tentar entrar no mercado com uma abordagem de cima para baixo. Tentam conquistar parte do mercado de inferência usando hardware de processamento sequencial e, na prática, dependem da inovação que acontece na Nvidia. CUDA sempre estará um passo à frente.
    • Dizer que o fosso é software está errado. O fosso ainda é principalmente um hardware de computação com desempenho muito bom pelo preço, além de equipamentos de rede muito bons.
      No treinamento de LLMs em larga escala, CUDA não é um fosso tão grande. Dá para ver isso pelo fato de a Anthropic ter migrado de CUDA para Trainium. Provavelmente reescreveram todos os kernels para Trainium.
  • Não parece que as pessoas queiram sair do CUDA. Nos últimos meses, analisei vários modelos e ferramentas, e a maioria é mais ou menos assim
    device = "cuda" if torch.cuda.is_available() else "cpu"
    Ainda não vi nada que implemente o middleware de redes neurais da AMD: https://www.amd.com/en/developer/zendnn.html

    • Não usei pessoalmente, mas entendo que o backend de aceleração AMD/ROCm para PyTorch sobrecarrega os dispositivos e módulos cuda, fazendo com que o ROCm pareça CUDA nas verificações de funcionalidade
      Eles querem tornar a transição tranquila e, como muito código existente verifica CUDA, fazem o necessário para que esse código funcione
    • Isso é mais uma questão de ovo e galinha. É bem possível que os desenvolvedores desses projetos nem tenham dispositivos AMD relevantes para teste. Por que teriam?
      Uma forma razoável de quebrar esse ciclo seria a AMD contribuir ativamente com código, testes e instalações fáceis que “funcionem de primeira” em grandes projetos populares para adicionar suporte à AMD e, depois, vender mais hardware. Mas não vejo a AMD fazendo isso
    • Parece que você não viu o anúncio do MI300X. Não é preciso mudar essa linha para usar AMD
    • zendnn é para CPU. A versão ROCm do PyTorch não exige mudar uma única linha de código
      Por isso, mesmo ao usar uma GPU AMD, algo como device = "cuda" continua funcionando com o mesmo significado
  • A Intel não fez nada nos últimos 10 anos. Desperdiçou bilhões de dólares em GPUs que mal funcionam e, apoiada em seu monopólio de CPUs, extraiu lucro enquanto desacelerava a inovação
    Pelo menos a Nvidia criou algo que ajudou o avanço da IA, e sua aposta ousada deu certo

  • Tanto Pat Gelsinger quanto Lisa Su parecem não entender nada de software, nem sequer saber delegar. Esperam que a “comunidade” faça o software para o hardware extremamente complexo deles
    A apresentação de Bill Daly, da Nvidia [1], mostra que eles vêm desenvolvendo hardware e software em conjunto. O modelo de programação CUDA foi uma aposta enorme feita muito tempo atrás, e eles venceram legitimamente em machine learning/IA
    Se Intel e AMD não mudarem radicalmente, o jogo acabou. Vão perder para ARM e Nvidia
    [1] https://www.youtube.com/watch?v=kLiwvnr4L80

    • Não é que eles não entendam o problema. O que acontece agora é uma enorme corrida pela conquista do mercado, e ninguém quer desperdiçar recursos reinventando a roda da computação paralela
      Isso é muito mais difícil do que as pessoas dizem
  • O navio já zarpou há 10 anos. Naquela época, me inscrevi numa disciplina universitária sobre computação de propósito geral em GPU, talvez com um nome como “programação paralela heterogênea”, e só na primeira aula descobri que todo o hardware e material tinham sido fornecidos gratuitamente pela NVIDIA
    O resultado foi uma disciplina puramente sobre CUDA, sem nenhuma menção a alternativas, parecida com aqueles antigos cursos universitários de Word e Excel
    A Nvidia é realmente boa em construir ou comprar fossos competitivos
    No PhysX, se você não tivesse uma GPU Nvidia, ele caía para um caminho lento de FPU não otimizado mesmo em CPUs compatíveis com SSE: https://arstechnica.com/gaming/2010/07/did-nvidia-cripple-it... https://www.realworldtech.com/physx87/3/ “Do ponto de vista da Nvidia, usar instruções x87 e uma única thread para reduzir o desempenho básico da CPU faz a GPU parecer melhor”
    O programa “The Way It’s Meant To Be Played” pagava estúdios para colocar a AMD diretamente em desvantagem. Um exemplo foi a Ubisoft retirando o patch DX10.1: https://techreport.com/news/14707/ubisoft-comments-on-assass...
    Com o programa “GameWorks”, eles foram um passo além e pagaram estúdios de jogos para inserir diretamente nos jogos bibliotecas da Nvidia que prejudicavam o desempenho: https://techreport.com/review/21404/crysis-2-tessellation-to... https://arstechnica.com/gaming/2015/05/amd-says-nvidias-game... https://wccftech.com/fight-nvidias-gameworks-continues-amd-c...

  • Entendo totalmente que a NVIDIA tem incentivo para manter o domínio do CUDA, e também entendo que, nessas condições de mercado, outras empresas como AMD e Intel perderam oportunidades
    Ainda assim, vale apontar que, quando esse tipo de fosso técnico e funcional mantém um monopólio de fato em determinados casos de uso, no fim das contas o consumidor sai prejudicado

    • Na maioria dos casos, isso está certo, mas no CUDA acho que o consumidor está ganhando. CUDA não é algum algoritmo secreto, especial e complexo feito só para GPUs da Nvidia. É o resultado de a Nvidia ter se preocupado, por 10 anos, com a experiência do desenvolvedor em vários setores
      CUDA é usado não só em IA, mas também em física, modelagem numérica, criptografia, biologia etc. A Nvidia encontrou milhares de casos de uso, ouviu o feedback dos clientes e construiu a plataforma; a IA acabou se tornando uma enorme fonte de receita
      O problema é que Intel e AMD provavelmente continuarão olhando apenas para o pote de dinheiro da “IA” e ignorando o restante da plataforma, incluindo depuração, compiladores, integração de linguagens, GUI e correções de bugs
      Se a Intel dissesse “vamos investir bilhões de dólares em OpenCL para garantir uma experiência de desenvolvedor e uma plataforma de altíssimo nível e eliminar o CUDA”, eu ficaria animado; mas o que dá para ler agora está mais perto de “vamos trocar algumas chamadas de funções CUDA no PyTorch”. Isso só vai ser divertido até o momento em que você precisar depurar um problema de desempenho e perceber que, em vez de falar diretamente com um engenheiro de CUDA no GitHub, terá de mandar e-mail para uma lista de discussão morta da Intel
    • AMD, Intel e Khronos são livres para competir com algo melhor. A NVIDIA não está impedindo isso
      Nesse sentido, CUDA é um grande benefício para os consumidores. Porque as alternativas são realmente péssimas