📌 Mini models e mais updates no desenvolvimento da IA
Apanhado para não perder o contexto sobre a área (filtramos o marketing). Mais: o bug e mais aprendizados do apagão de 19/07, sete comportamentos que definem um sênior e um retrato do uso do React.

Quem acompanha a BeTalent Academy, deve perceber que temos tentado equilibrar conteúdos sobre desenvolvimento de software com os de IA — que viraram uma praga em publicações de tecnologia — em boa parte das edições.
No entanto, de tempos em tempos, é prudente olhar para o que está rolando na IA, até para não perder o bonde trem-bala da história. Afinal, a área é a que mais vem recebendo pesquisa, desenvolvimento e investimentos em tech nos últimos anos.
E o segundo semestre de 2024 veio com uma competição de novidades, a começar por pequenos modelos de linguagens (SLMs), que podem ser tão bons quanto os grandes (LLMs). Vamos aos updates.
A lista de lançamentos de SLMs (Small Language Models) só nesta semana é extensa — e mostra uma corrida por modelos mais econômicos, seja em eficiência, seja em custo, e com qualidade cada vez maior. Mistral lançou Mistra Nemo, de 12 bilhões de parâmetros (GPT-4 tem ~1 trilhão de parâmetros) e MathΣtral, de 7B, especializado em raciocínio matemático e científico. Hugging Face lançou uma série de modelos compactos chamados SmolLM (130M, 350M e 1,7B) para desktops e smartphones. OpenAI lançou GPT-4o mini, que deve substituir GPT-3.5 na versão gratuita do ChatGPT, e que se equipara quase ao GPT-4o em qualidade, mas custa US$ 0,26 por milhão de tokens (GPT-4o custa US$ 7,5 e GPT-3.5, US$ 0,53, por exemplo). H20.ai, Apple e a chinesa Alibaba também lançaram SLMs. Antes, a Índia treinou um modelo 1B só em hindi (linguagem do país), que bateu modelos multilinguagem que também suportam hindi, e no começo do ano a Microsoft inaugurou esse filão com o Phi-3-Mini 3,8B, que chega perto da qualidade do GPT-3.5.
No lado dos LLMs, a grande novidade foi Llama 3.1 de 405B parâmetros, da Meta (dona do Facebook, WhatsApp e Instagram). Trata-se de um LLM de código aberto, ou seja, qualquer pessoa com conhecimento pode mexer em seu código fonte e aprimorá-lo (são 48 GB para instalar). Llama 3.1 já supera GPT-4o e Claude 3.5, da Anthropic, em testes. As versões menores (8B e 70B) também ganharam aprimoramentos. Na mesma corrida, Mistral lançou o Mistral Large 2 de 123B, que já bateu Llama 3.1 em benchmarks de programação e se saiu melhor até que o GPT-4o ao codar em Java.
OpenAI anunciou SearchGPT, um protótipo de busca web guiada por IA, projetado para oferecer respostas geradas com links para fontes confiáveis. A novidade está em lista de espera, para testes. A empresa também segue fechando acordos com conglomerados de mídia, como com a revista Time, para usar dados proprietários em treinamentos. E mesmo assim há rumores de que pode perder US$ 5 bi em valor este ano.
Startup World Labs, que pesquisa IA com "consciência espacial" (por meio de visão), da chamada "madrinha da IA", a pesquisadora Fei-Fei Li (que criou o ImageNet), foi avaliada em um bilhão de dólares por investidores — ou seja, um “unicórnio” de IA.
Um pouco de marketing ficou por conta da OpenAI, mais uma vez — embora a lista seja curiosa —, ao lançar uma escala de 5 níveis para a AGI (Inteligência Artificial Geral): 1) chatbots (onde estamos); 2) raciocinadores (nível de um pesquisador com doutorado, em que devemos chegar em 1,5 a 2 anos); 3) agentes (capazes de trabalharem sozinhos); 4) inovadores (capazes de imaginar e inventar coisas novas, ainda só na ficção científica); 5) organizações (IAs que podem fazer o trabalho de empresas inteiras, bem inimagináveis). Também mais marqueteiro, Elon Musk anunciou que começou a treinar a "IA mais poderosa do mundo" no Memphis Supercluster, uma megainstalação com 100 mil GPUs H100 Nvidia (as mais avançadas para IA), algo que se especula teria poder de treinar o GPT-4, o que levou 3 meses, em menos de uma semana.
Figma veio a público esclarecer porque sua IA para design (demos algo aqui em 06/06/2024) começou a plagiar mockups de interfaces parecidas com as do aplicativo Weather da Apple, sendo retirada do ar em seguida.
Anthropic anunciou neste mês o prompt generator, um gerador de prompts integrado à API da Claude.ai, recurso para simplificar a escrita de prompts, pedindo que a própria IA crie os prompts que ela mesmo processará.
No lado negativo, Apple, Nvidia, Anthropic e outras empresas teriam usado milhares de vídeos do Youtube para treinar IAs, o que afeta direitos autorais. E o X (ex-Twitter) irá usar dados dos usuários para treinar IAs, lembrando que a Meta foi proibida de fazer o mesmo no Brasil em serviços como WhatsApp, recentemente, pela Agência Nacional de Proteção de Dados (ANPD).
Ou seja, pela velocidade do desenvolvimento da área e os anúncios do que está por vir (vide lista da OpenAI e o supercluster de Musk), nem parece que há dois anos mal sabíamos o que seria “ChatGPT”, “prompts de IA”, “modelos” ou “parâmetros” (aliás, parâmetros são valores que o modelo ajusta durante o treinamento para aprender padrões a partir dos dados e poder gerar padrões parecidos depois).
Para fechar com uma pitada de humor, foi lançada no Hacker News a pergunta: "Como a IA generativa faz a diferença no seu trabalho/vida?". Um usuário deu uma resposta que pode prever outro futuro próximo: "Agora eu ignoro completamente os resumos nos resultados de pesquisa e tenho que checar tudo duas e três vezes para ter certeza de que não é uma alucinação ao encontrar respostas para perguntas simples. Encontrar informações confiáveis leva mais tempo agora do que antes da internet." Pois é, complexo.
❓O que é teste end-to-end (E2E) em software?
Se pensou em algo "de ponta a ponta", não está tão longe do alvo. Responderemos no fim desta edição.
🪳 Apagão global de 11/07 tecnicamente explicado
O apagão global de 19/07, que abriu nossa edição anterior, ganhou explicações esta semana. Um bug em um software de validação da CrowdStrike, empresa por trás do problema, deixou uma atualização defeituosa de 40 KB passar e ir para produção. Consequência: 8,5 milhões de máquinas Windows, em aeroportos, bancos e até telões da Times Square, exibindo a tela azul do Windows — e exigindo reinicialização manual uma a uma. A empresa prometeu testes rigorosos em próximas atualizações. Aqui, mais contexto do bug (que, a quem conhece a história, está mais para uma meganeura).
🎓 E mais aprendizados do apagão a devs…
Na mesma linha que adotamos na edição anterior, a excelente The Pragmatic Engineer também trouxe lições do apagão a engenheiros: 1) quantificar o impacto de falhas de software em todos os lugares (ênfase do próprio artigo); 2) revisar como as coisas vão para produção; 3) ter uma estratégia de canarying (versões nightly, dev, beta, stable) e staged rollouts (rollout em estágios); 4) tratar configuração como código; 5) considerar quais mudanças dependências/fornecedores "silenciosamente" promovem (aspas também do artigo); e 6) um apagão dessa dimensão nunca é culpa de uma pessoa (é uma falha organizacional). Vale a leitura completa.
🔄 Alternativa open source ao Postman, Insomnia e companhia
Testar rotas de APIs é feijão com arroz no dia a dia de qualquer dev. A quem procura uma alternativa aberta, leve e rápida a aplicações como Postman, Insomnia e similares, Hoppscotch parece despontar como solução promissora. Com mais de 62K estrelas no GitHub, o projeto vem com interface minimalista, suporta WebSocket, Server-Sent Events, Socket.IO, MQTT e GraphQL. Também tem offline, proxy para contornar CORS e ainda desponta por permitir coleções, ambientes e colaboração ilimitada entre membros de times. Mais no GitHub da ferramenta.
🛣️ Comportamentos para se tornar um sênior
Tornar-se engenheira ou engenheiro sênior vai muito além das habilidades técnicas. A newsletter The Polymathic Engineer propõe sete comportamentos que definem a senioridade: 1) ajudar a melhorar os colegas do time; 2) ser confiável; 3) priorizar entrega de valor; 4) pensar em trade-offs (entre qualidade e velocidade, por exemplo); 5) propor soluções antes de reclamar; 6) criar valor e não apenas código; e 7) buscar feedback estando aberto a críticas. O primeiro item, em especial, vai ao encontro de um pilar cultural da BeTalent — "Ganhar como time" — e pode ser posto em prática por meio de atitudes simples como code review, pair programming e momentos de trocas de conhecimentos. Leitura completa, aqui.
🖥️ Um retrato do uso e sentimentos sobre React
Saiu a "State of React 2023", pesquisa realizada com 13 mil desenvolvedores de diversos países sobre React. Metodologia e apresentação são as mesmas da "State of JS 2023", que trouxemos na edição de 22/06//2024. Perguntados sobre 28 recursos desde hooks a APIs React, useState
(99%), useEffect
(98,7%) e Fragment
(97,5%) foram os mais mencionados pelos respondentes. forwardRef
foi mais citado como dor em APIs principais, useEffect
em hooks e React Server Components em novas APIs. A pesquisa traz mais dados de uso e sentimentos sobre gerenciadores de estados, ferramentas de testes, renderers e em tipos de aplicações e contextos em que React é mais usado.
✅ Resposta: O que é teste end-to-end (E2E)?
Teste end-to-end (E2E) em software é uma abordagem que avalia o fluxo completo de uma aplicação, simulando cenários reais de uso. Diferentemente de testes unitários ou de integração, testes E2E verificam se todos os componentes do sistema funcionam corretamente em conjunto, do início ao fim de um processo. O método testa a aplicação em um ambiente que replica o de produção, interagindo com interfaces de usuário, APIs e bancos de dados como um usuário real faria. Isso ajuda a identificar problemas de integração, falhas em regras de negócios e problemas de desempenho. Cypress, Selenium e BrowserStack são exemplos de ferramentas E2E populares. Mais sobre aqui, aqui e aqui.
Obrigado por ler!
Voltaremos com mais fatos, tendências e dicas na próxima semana. Curta, compartilhe, comente e vote na enquete. Obrigado por ler e por estar com a BeTalent!