O que é uma NPU e o porquê devem substituir GPUs

Поделиться
HTML-код
  • Опубликовано: 17 июл 2024
  • O que afinal são NPUs? Será que vão substituir GPUs? Com todo esse hype sobre IA, LLMs, ChatGPT, as maiores fabricantes de chips e computadores tem trazido muitas inovações para viabilizar o uso dessas ferramentas nos desktops tradicionais. Uma dessas é o uso de NPUs (Neural Processing Unit) junto da CPU para fazer as operações de matrizes necessárias para IA. Mas por que então resolveram sair das GPUs?
    A principal diferença entre a GPU e NPU é que a GPU tem um propósito genérico, podendo ser utilizada nos mais diversos tipos de aplicação (incluindo IA), já a NPU é especializada em continhas para IA, e faz apenas isso. Ou seja, enquanto a GPU é genérica, a NPU é especializada, com essa troca permitindo benefícios de maior eficiência energética, menor consumo, menor custo, entre outras. Inclusive essa migração de um hardware genérico para um especializado é extremamente comum em computação, já observamos isso diversas vezes na história.
    Responder se as NPUs vão superar e substituir as GPUs é uma coisa que só o tempo irá nos responder, mas creio que para dispositivos que necessitam de eficiência energética as NPUs devem se tornar o novo padrão. É esperar pra ver, isso enquanto os executivos da NVidia, Apple e Microsoft ficam cada dia mais ricos e felizes com tudo isso.
    00:00 Introdução
    01:00 Trend de NPUs
    02:35 Por que NPU não GPU?
    05:00 NPU e coprocessadores
    08:06 Caso de estudo: Ethos-U85
    09:34 Arquitetura do Ethos-U85
    14:40 Caso de estudo: TPU da Google
    18:38 Conclusão
    20:42 Chico
    LINKS
    Microsoft Copilot PCs: blogs.microsoft.com/blog/2024...
    NVIDIA rebate NPUs: www.adrenaline.com.br/nvidia/...
    Neural Engine da Apple: en.wikipedia.org/wiki/Neural_...
    ARM Ethos-85: developer.arm.com/Processors/...
    Documentação técnica do ARM Ethos-85: developer.arm.com/documentati...
    Artigo da Google sobre TPUs: dl.acm.org/doi/10.1145/314065...
    REDES
    Site: www.wainejr.com/
    Instagram: / waine_jr
    TikTok: / waine_jr
    GitHub: github.com/wainejr/
    Discord: / discord
  • НаукаНаука

Комментарии • 53

  • @pombonielsen3189
    @pombonielsen3189 22 дня назад +6

    É aquela velha máxima: quer deixar um software mais rápido? Transforme-o em hardware. Parabéns pelo conteúdo! Muito bom!

  • @AlexCastroDev
    @AlexCastroDev 23 дня назад +6

    Muito bom!
    A melhor parte, é que vc deixa bem claro, é que certas coisas acontece desde sempre, esses hypes, são só problema da computação antigo.
    A parte do whiteboard é massa tbm, parabéns !

    • @waine_jr
      @waine_jr  23 дня назад +3

      Valeu! Deu trabalho de configurar o tablet pra mostrar na tela, mas acho massa passar essa vibe de "sala de aula" escrevendo na tela

  • @thefastjojo
    @thefastjojo 23 дня назад +4

    Hardware especializado em cálculos de matrizes, como NPUs, são extremamente eficientes para os modelos de IA atuais que dependem fortemente de operações matriciais. Mas tem uns papers massas ai mostrando que é possível fazer algumas coisas sem essa base em matriz, claro que para casos específicos. E belo vídeo Waine, obrigado pelo conteúdo!

    • @waine_jr
      @waine_jr  23 дня назад +2

      Eu não cheguei a colocar no vídeo, mas qnd tava fazendo a pesquisa vi um paper que resolve operação de matriz na memória em "um step", usando propriedades dos transistores.
      Tem muita mágica em eletrônica e de matemática que dá pra fazer pra deixar ainda mais eficiente esse tipo de coisa, e além disso tá jorrando dinheiro na área, então aumentam os desenvolvimentos e inovações. Pra quem é de eletrônica ou computação e quer se especializar nisso, com ctz deve ter vaga lá fora pra esse tipo de pesquisa.

  • @joaomatheus1993
    @joaomatheus1993 23 дня назад +8

    A aparição do Chico no final do vídeo foi inesperado kkkkkkkkkk

    • @waine_jr
      @waine_jr  23 дня назад +2

      Tenho que compartilhar a fofura dele kkkkkkkkkkkk

  • @Eng.pedroneto
    @Eng.pedroneto 23 дня назад +6

    Mande sempre conteúdo de baixo nível hehe

    • @waine_jr
      @waine_jr  23 дня назад +2

      É o que os jovens de hoje em dia curtem, conteúdo de baixo nível kkkkkkkk

    • @Eng.pedroneto
      @Eng.pedroneto 23 дня назад

      @@waine_jr kkkkkkkkk

  • @jaderpereira1889
    @jaderpereira1889 21 день назад +2

    Eu gosto do assunto apesar de leigo e entender pouco da area fiz esforço para aprender nao conseguir ir muito longe no raciocinio valeu muito.

    • @VictorCampos87
      @VictorCampos87 13 дней назад +1

      Já viu aqueles caminhões de mineradora, q são gigantes?
      Fazendo uma analogia grosseira, a sua CPU é um único caminhão de mineradora.
      Ele carrega (processa) qualquer coisa. Mas, por ser grande, ele consome bastante diesel (Watts), é relativamente lento, e faz 1 tarefa por vez.
      Já as GPUs são como centenas de caminhonetes normais. Elas são mais simples, carregam cargas bem menores.
      Mas como elas são centenas, elas conseguem fazer várias tarefas (cálculos) em paralelo, e ao mesmo tempo. E isso agiliza o processamento de pixels numa imagem, ou de alguns tipos de IA.
      Já as TPUs são GPUs, mas adaptadas para fazerem bem a parte dos cálculos numéricos, sendo esse tipo de processamento de números priorizado. Por serem mais simples, elas economizam mais energia q as GPUs.
      E as NPUs são como motos. Elas são ainda mais simples, carregam cargas ainda menores mas, como elas são milhares, elas conseguem fazer grandessíssimas quantidades de cálculos em paralelo num mesmo período de tempo.
      E essa grande quantidade de processamento em paralelo das NPUs, TPUs ou GPUs são perfeitas para o treinamento e inferência de IAs.

  • @italothiagodev
    @italothiagodev 23 дня назад +2

    Obrigado pelo contéudo, comecei aprendendo as tecnologias da web, e vídeos como o seu e de outros desenvolvedores me fizeram compreender o que e realmente importante na programação, Fazer muito com pouco e entregar software de qualidade, testado, legível, escalável e performatico.
    Conclusão.
    Hoje não largo VIM por nada, Estou lendo os clássicos da profissão, e me aprofundando em contéudos mais baixo nível.

    • @waine_jr
      @waine_jr  23 дня назад +1

      Sucesso, meu querido! Aprofundar o conhecimento é um caminho contínuo na carreira de todo dev, sabendo bem os fundamentos a gente se vira em qualquer área.

  • @farchanjo
    @farchanjo 23 дня назад +2

    Seu conteúdo é muito bom man, boraa!

  • @ojoao3499
    @ojoao3499 22 дня назад +1

    Muito bom o vídeo, tava bem na dúvida sobre o que seria melhor nesse novo mudulo. E chivi lindo de mais

    • @waine_jr
      @waine_jr  22 дня назад

      Chico é a personificação da fofura e lindeza

  • @maicosalbrecht
    @maicosalbrecht 23 дня назад +1

    Na parte de software não tão direto o uso dos chips, cada fabricante de NPU tem um SDK próprio, então vc tem que compilar o seu modelo Neural especifico para cada fabricante.
    O Yolo, por exemplo, vc tem que gerar uma compilação para cada Chip (fabricante) e às vezes não fica bom, porque aí também depende de ter um bom SDK.
    Ainda tem muito chão pela frente, mas é uma area bem promissora.

    • @waine_jr
      @waine_jr  23 дня назад

      Nesse ponto a Nvidia tá muito na frente com CUDA, uso faz vários anos e não tenho o que reclamar do SDK deles

  • @_rubenscjr
    @_rubenscjr 23 дня назад +2

    Bom que me inscrevi e recebi a notificação hehe

  • @Eng.pedroneto
    @Eng.pedroneto 23 дня назад +2

    Muito bom
    Respondeu minha pergunta antes mesmo de eu ter feito rs

  • @mralbinoman6231
    @mralbinoman6231 23 дня назад +2

    Os fundamentos de portas lógicas e registradores, ainda vão estar presentes nessas NPUs? Ou será diferente essas implementações?

    • @waine_jr
      @waine_jr  23 дня назад +1

      Esses fundamentos estão presentes em qualquer processador, de uma maneira ou outra. Todo circuito digital não passa de um monte de porta lógica e flip flop (base dos registradores) ligados uns aos outros, então é uma coisa meio "universal" esses princípios pra todo circuito digital, seja CPU, NPU, GPU, etc.

  • @eliascarvalho8637
    @eliascarvalho8637 23 дня назад +2

    Excelente conteúdo

  • @mcleber100
    @mcleber100 19 дней назад +1

    Qual programa você usa pra escrever com a tablet??
    Sei que não trabalha com IA, mas conhece algum material/artigo sobre implementação de redes neurais em fpgas? Estou juntando alguns com pesquisas simples no google.
    Parabéns pelo conteúdo!!

    • @waine_jr
      @waine_jr  18 дней назад +1

      Eu uso o v4l2loopback, tanto pro tablet quando pra câmera do celular pra gravar, mt bom.
      Infelizmente não manjo quase nada de FPGA, não faço a mínima ideia de como fazer essas coisas não. Mas acho que o jeito é seguir na linha de arquitetura de NPUs e TPUs

    • @mcleber100
      @mcleber100 18 дней назад +1

      @@waine_jr hummm vou dar uma olhada nesse programa!
      Pois é, vendo seu vídeo tive a impressão que seria melhor parar de pagar esses artigos que em geral são antigos e olhar os de NPUs.
      Obrigado pelo retorno!

  • @srleirbag
    @srleirbag 23 дня назад +1

    Com a integração de IA, nós smartphones atuais, provavelmente isso será comum em aparelhos mais pra frente... Anotem

  • @KodandocomFaria
    @KodandocomFaria 23 дня назад +2

    O groq com as LPUs provavelmente deve ser algo nessa linha tbm né?

    • @waine_jr
      @waine_jr  22 дня назад

      Não conhecia as LPUs não, mas pelo que li aqui é nessa linha de coprocessador especializado também. Com relação as diferenças e semelhanças pra NPU aí teria que ver mais a fundo

  • @MiguelV-DF-xv2nf
    @MiguelV-DF-xv2nf 22 дня назад +1

    Muito interessante.

  • @JADERLINKG4M3S
    @JADERLINKG4M3S 22 дня назад +1

    eu queria vc explicasse essa tal GPGPU que usa no calculo textura, e comparação com que é feito atualmente, pois vc valou disso já em outro vídeo, e ainda não descobrir como isso funciona.
    pois ja fiz um renderizador 3d usando Shader GLSL; Então no caso os dados seriam os pixel da textura, o calculo feito no shader, e o resultado uma "print" do frame/tela?
    e o caso das imagem esticar/ borrar na tela não afetaria o resultado?

    • @waine_jr
      @waine_jr  21 день назад +1

      É uma coisa bem bizarra, eu nunca cheguei a ver o código, mas já vi vários artigos que utilizavam GPGPU pra implementar o método que trabalho.
      Com relação a como funciona, as texturas e shaders pra "fazer continha", tenho que ver exemplos pq realmente não sei dizer kkkkkkk mas com certeza vou fazer vídeo sobre isso

  • @edmarhenches875
    @edmarhenches875 23 дня назад +1

    Boa!
    Obs: meu gato da dois desse cachorro. 😂

    • @waine_jr
      @waine_jr  23 дня назад +1

      kkkkkkkkkkkkkkkkkk o chico é minusculo mesmo, mas o que falta de tamanho sobra de fofura

  • @gabrielmaciel4844
    @gabrielmaciel4844 23 дня назад +1

    É tipo as gpu que dão focada em minerar Bitcoin?

    • @gabrielmaciel4844
      @gabrielmaciel4844 23 дня назад

      São*

    • @waine_jr
      @waine_jr  23 дня назад

      A NPU é focada em operações de redes neurais e convolucionais (IA). A GPU pode também ser usada pra IA ou pra mineirar bitcoin, mas é um hardware genérico, ao contrário da NPU que é especializado só em IA.

  • @Alexandreofbh
    @Alexandreofbh 23 дня назад +2

    A NVidia só deixará de ser o maior nome de Rede neural quando fizerem clone da linguagem CUDA e cuDnn rodando, que consigam rodar codigos legados CUDA

    • @waine_jr
      @waine_jr  23 дня назад +1

      Esse é um ponto mt importante que não citei no vídeo. O ambiente que a NVIDIA dá com CUDA e as bibliotecas dela pra rodar modelos de IA e desenvolver pra GPU é impressionante. Qualquer empresa que quiser superar a NVIDIA vai ter que dar compatibilidade com CUDA e suas bibliotecas (coisa que acho que a NVIDIA não vai permitir não...)

  • @caquintella
    @caquintella 22 дня назад +1

    vai substituir somente para IA, GPU continua relevante para computacao gráfica

    • @waine_jr
      @waine_jr  21 день назад

      Com ctz, até pq GPU já é o hardware especializado pra isso. O uso pra IA e outros ramos começou a aparecer só no meio dos anos 2000

  • @rafaellisboa8493
    @rafaellisboa8493 20 дней назад +1

    Unidades de Processamento Neural ft. Chico Buarque

    • @waine_jr
      @waine_jr  20 дней назад

      kkkkkkkkkkkkkkkkkkkkkkkkk

  • @arozendojr
    @arozendojr 23 дня назад +3

    GPU, pois tem memória própria, deixa os míseros 16GB em 2024 para usuário, digo, 3GB para O.S, 10GB para Chrome, 3GB também alocada para o Chrome 😂😂😂😂😂😂😂😂

    • @waine_jr
      @waine_jr  23 дня назад +2

      A vatangem de usar GPU é que o programa não compete com o Chrome mesmo kkkkkkk

  • @Draffythecheetah84
    @Draffythecheetah84 18 дней назад +1

    Será que vao fazer uma NPU com soquete compatível com meu celeron 3215U
    Vivo com meu notebook celeron por 7 anos(melhor que nada) que ganhei do lixo Kkkkk
    Seria um presente para min se podessem realizar esse meu sonho

    • @waine_jr
      @waine_jr  18 дней назад

      Kkkkkkkkkkk esse tipo de coisa só sai pras gerações novas. Inclusive essas NPUs são SoC (system on chip), então já estão "embeddadas" na CPU

    • @Draffythecheetah84
      @Draffythecheetah84 18 дней назад +1

      @@waine_jr ah tudo bem mas te garanto uma coisa
      Acho que não tem mais nada economico que meu notebook eu te garanto pois só tem dois núcleos fracos
      E que se for contar o consumo pra esfriar o processador o meu ganha de lavada pois ate tem Ventuinha por incrível que pareça, mas sinceramente eu nunca escutei nada e nunca senti um vento saindo então o comsumo ó 👌 so n levo em conta a tela que consome muito
      Notebook ja caiu da mesa uma vez por conta do meu gato e por conta deu usar tubos de pvc como apoio(mas resolvi colocando borrachas de camaras de ar) e ainda ficou vivo ate mesmo funcionando bonito mesmo com conector de carga quebrado, so n deu pra ecaixar e segurar bem mas eu ja troquei fazendo uma gambiarra
      Kkkkk bela história que to enrolando aqui

  • @thiagolcfl
    @thiagolcfl 17 дней назад +1

    🥺 🐕

  • @ppcarvalhof
    @ppcarvalhof 20 дней назад

    9:30 Rapaz... Agora fiquei encafifado. 8 ou 16 bits de dados nas IA? Sério?! Eu imaginava que as inferência eram em 64 ou até 128 bits... Tô de queixo caído agora...

    • @waine_jr
      @waine_jr  19 дней назад

      Sim, usam só 8 ou 16 bits mesmo! No caso de IA a precisão das coisas não precisa ser alta, importa muito mais o número de iterações do sistema e sua evolução no tempo. Inclusive tem até testes com 4 bits de algumas partes hahahaha
      Só a gente de computação científica que usa float de 32, 64 ou 80/128 bits