A Nvidia, a Hugging Face e a ServiceNow lançaram o StarCoder2, uma avançada suíte de modelos de linguagem de código aberto (LLMs) projetada para aprimorar a geração de código impulsionada por IA. Disponíveis atualmente em três tamanhos, esses modelos foram treinados em mais de 600 linguagens de programação, incluindo algumas menos conhecidas, permitindo que empresas agilizem diversas tarefas de codificação em seus fluxos de desenvolvimento. Desenvolvidos como parte do projeto BigCode — uma iniciativa colaborativa da ServiceNow e da Hugging Face —, os modelos incentivam o uso responsável de LLMs para código e são oferecidos sem royalties sob Licenças de IA Responsável Abertas (OpenRAIL).
“StarCoder2 exemplifica a força da colaboração científica aberta combinada com práticas responsáveis de IA,” afirma Harm de Vries, líder da equipe de desenvolvimento do StarCoder2 na ServiceNow. “Este modelo de ponta aumenta a produtividade dos desenvolvedores e democratiza o acesso à IA de geração de código, permitindo que organizações de todos os tamanhos realizem seu pleno potencial de negócios.”
StarCoder2: Três Modelos para Necessidades Diversas
O modelo original StarCoder LLM apresentava um único modelo de 15 bilhões de parâmetros treinado em 80 linguagens de programação. Em contraste, o StarCoder2 apresenta três tamanhos distintos—3B, 7B e 15B—treinados em 619 linguagens. O conjunto de dados de treinamento, conhecido como The Stack, é mais de sete vezes maior que o seu antecessor.
De maneira significativa, novas técnicas de treinamento foram implementadas para aprimorar a capacidade dos modelos de compreender e gerar código em linguagens de baixo recurso, como COBOL, além de expressões matemáticas e discussões sobre código fonte de programas. O modelo 3B utiliza a estrutura Fast LLM da ServiceNow, enquanto o modelo 7B emprega a estrutura nanotron da Hugging Face. Ambos são projetados para geração de texto para código e texto para fluxo de trabalho com alto desempenho, minimizando as demandas computacionais. Já o modelo 15B é otimizado utilizando a estrutura nativa em nuvem Nvidia NeMo e o software Nvidia TensorRT-LLM.
Inovação Colaborativa: ServiceNow, Hugging Face e Nvidia
Embora o desempenho desses modelos em vários cenários de codificação ainda precise ser avaliado, testes iniciais sugerem que o modelo 3B executa de maneira comparável ao original modelo 15B StarCoder LLM. As equipes empresariais podem personalizar qualquer um desses modelos utilizando seus dados organizacionais para aplicações específicas, incluindo geração de código fonte, automação de fluxo de trabalho, completude de código, sumarização avançada e recuperação de snippets. O extenso treinamento dos modelos melhora sua capacidade de fornecer previsões precisas e contextualmente relevantes, acelerando os processos de desenvolvimento e permitindo que os engenheiros se concentrem em desafios mais críticos.
“Todo ecossistema de software possui uma linguagem de programação única, e os LLMs de código podem fomentar avanços significativos em eficiência e inovação em diversas indústrias,” destacou Jonathan Cohen, vice-presidente de pesquisa aplicada na Nvidia. “Nossa parceria com a ServiceNow e a Hugging Face entrega modelos seguros e desenvolvidos de forma responsável que ampliam o acesso a uma IA generativa responsável para a comunidade global.”
Como Começar com o StarCoder2
Todos os modelos da família StarCoder2 estão disponíveis sob a licença Open RAIL-M, proporcionando acesso livre de royalties. O código de suporte pode ser encontrado no repositório do projeto BigCode no GitHub, e os modelos também podem ser baixados da Hugging Face. Além disso, o modelo 15B está acessível através da Nvidia AI Foundation, permitindo que desenvolvedores experimentem diretamente de seus navegadores ou por meio de uma API.
Embora o StarCoder represente um avanço significativo na geração de código impulsionada por IA, não está sozinho nesse campo. Concorrentes como a OpenAI com o Codex (que alimenta o GitHub Copilot), o CodeWhisper da Amazon e outros como Replit e Codenium também estão explorando as capacidades dos LLMs em desenvolvimento de aplicações.