Curso
Desde o lançamento do ChatGPT no fim de 2022 (o marco que inaugurou a atual revolução da IA), os modelos de IA generativa ficaram mais poderosos e variados. Novos modelos com diferentes tamanhos, recursos, modalidades e usos chegam ao mercado todos os dias, o que torna difícil enxergar os limites do possível.
De modo geral, há uma tendência clara de desenvolvimento de modelos maiores e mais complexos. Aumentar o número de parâmetros e o volume de dados de treinamento é visto como a melhor estratégia para melhorar o desempenho dos large language models (LLMs), a tecnologia por trás dos modelos de IA generativa. Confira nosso artigo para entender em detalhes o que são LLMs.
No entanto, diante das crescentes preocupações com os recursos necessários para treinar e operar esses grandes modelos (assim como seu impacto ambiental), a eficiência no desenvolvimento e na implantação de IA vem ganhando cada vez mais força.
Este artigo apresenta o Stable Code 3B, o mais recente modelo lançado pela Stability AI, criado especificamente para oferecer código preciso e com alta responsividade. Extremamente assertivo em tarefas de programação, o LLM entrega desempenho no nível do estado da arte, com tamanho consideravelmente menor.
O que é o Stable Code 3B?
Lançado em janeiro de 2024 pela Stability AI, o Stable Code 3B é um LLM de 3 bilhões de parâmetros desenvolvido para programação. É uma versão avançada de seu predecessor, o Stable Code Alpha 3B.
O Stable Code 3B se destaca em tarefas de autocompletar código e pode ser uma excelente ferramenta educacional para quem está começando a programar. O modelo é disponibilizado gratuitamente para pesquisa ou uso pessoal. Para aplicações comerciais, é necessário assinar um dos Stability AI Memberships.
Entre os LLMs de tamanho similar (veja mais detalhes sobre métricas de desempenho na próxima seção), o Stable Code 3B está entre os melhores, alcançando ótimos resultados com um tamanho significativamente menor. Graças ao seu design compacto e eficiente, o Stable Code 3B pode rodar offline em notebooks comuns, mesmo sem GPU dedicada, como um MacBook Air.
Como o Stable Code 3B funciona?
O Stable Code 3B é um modelo compacto com 2,7 bilhões de parâmetros. É um transformer somente decodificador, semelhante ao LLaMA, projeto open source da Meta. Confira nosso artigo para conhecer todos os detalhes do LLaMA.
O processo de treinamento do Stable Code 3B é claramente inspirado no CodeLLaMA, da Meta. O modelo parte do LLM pré-treinado da Stability AI, o StableLM-3b-4e1t, que funciona como seu foundation model.
Esse modelo passou por um processo de fine-tuning em duas etapas. Na primeira, foi treinado em múltiplos conjuntos de dados de código e relacionados a código, incluindo CommitPack, GitHub Issues, StarCoder e outros datasets de Matemática. Os dados de treinamento incluem código de 18 linguagens de programação amplamente usadas, como Python, R, Java e C.
Depois, o modelo passou por um ajuste fino adicional com sequências mais longas, de 16.384 tokens, usando técnicas de fill-in-the-middle, conforme sugerido no artigo científico do CodeLLaMA. Essa segunda etapa permite ao modelo suportar janelas de contexto longas, de até 100 mil tokens. Isso é especialmente adequado para tarefas de programação. Com entradas mais extensas, desenvolvedores podem fornecer mais contexto e trechos maiores da base de código para gerar saídas mais relevantes e precisas.
Métricas de desempenho do Stable Code 3B
Os desenvolvedores da Stability AI criaram um modelo que atinge desempenho de ponta em comparação a modelos de tamanho semelhante nas métricas MultiPL-E, testadas em várias linguagens de programação. A comparação é ilustrada na imagem a seguir:

Comparação de desempenho Multi-PL de modelos abaixo de 3B. Fonte: Stability AI
O Stabe Code 3B também se destaca frente a modelos significativamente maiores. Por exemplo, atinge o mesmo nível de desempenho do CodeLLaMA 7b, sua principal inspiração, com uma redução de 60% no tamanho do modelo.

Comparação do Stable Code Completion 3B com o CodeLLama 7B. Fonte: Stability AI
Aplicações do Stable Code 3B
Assistentes de programação com IA, como o Stable Code 3B, abrem muitas oportunidades no desenvolvimento de software e na análise de dados. Veja algumas formas como programadores já estão usando IA:
Automação de tarefas
O Stable Code 3B automatiza com facilidade tarefas repetitivas e operacionais, como consultas SQL básicas, análises exploratórias de dados e a organização de projetos de data science. Isso ajuda programadores a evitar atividades demoradas e focar em trabalhos mais complexos e desafiadores. Para ver na prática, confira nosso guia de uso do ChatGPT em projetos de data science.
Correção de bugs
Depurar código costuma levar tempo e pode ser desafiador, especialmente em projetos complexos com centenas de linhas. O Stable Code 3B é o assistente ideal para acelerar esse processo, vasculhando seu código em segundos e sugerindo correções de estrutura e de implementação. Graças à sua janela de contexto longa, você pode enviar scripts extensos e o Stable Code 3B encontrará erros e armadilhas potenciais no seu código.
Otimização de código
Em projetos complexos que exigem muitos recursos computacionais, eficiência é essencial. A forma como o código é escrito impacta bastante o desempenho. O Stable Code 3B pode ajudar a reescrever seu código para torná-lo mais eficiente, economizando tempo, recursos e dinheiro.
Interpretabilidade de código
Entender o código de outras pessoas pode ser difícil, especialmente para quem está começando. O Stable Code 3B não só sugere melhorias no código, como também fornece explicações detalhadas sobre determinados trechos, ajudando você a aprender mais rápido.
Para aprender como a IA generativa pode ser usada para fins educativos, recomendamos muito experimentar o DataCamp Workspace. Usamos os modelos GPT 3.5 e GPT-4 para potencializar nossa IDE de data science e ajudar você a entender sintaxes complexas. Confira também nosso guia para começar no DataCamp Workspace.
Como baixar o modelo Stable Code 3B
A melhor forma de começar com o Stable Code 3B é via HuggingFace API. Você pode importar o modelo facilmente para o seu ambiente Python e começar a gerar texto com o código abaixo:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("stabilityai/stable-code-3b", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
"stabilityai/stable-code-3b",
trust_remote_code=True,
torch_dtype="auto",
)
model.cuda()
inputs = tokenizer("import torch\nimport torch.nn as nn", return_tensors="pt").to(model.device)
tokens = model.generate(
**inputs,
max_new_tokens=48,
temperature=0.2,
do_sample=True,
)
print(tokenizer.decode(tokens[0], skip_special_tokens=True))
Como usar o Stable Code 3B em aplicações comerciais
Como já mencionamos, o Stable Code 3B é gratuito para pesquisa ou uso pessoal. Para aplicações comerciais, é necessário assinar um dos Stability AI Memberships.
Atualmente, a Stability AI oferece dois tipos de assinaturas além da opção não comercial, como mostrado na imagem a seguir:

A assinatura Professional custa US$ 20 por mês e dá acesso e direito de uso comercial aos Core Models da Stability AI, que incluem modelos para geração de imagens, vídeos, 3D, texto e código. A assinatura Enterprise é voltada para grandes empresas, com preço sob consulta e um conjunto de recursos corporativos.
Saiba mais
Vivemos um momento empolgante para profissionais de dados. O setor está prestes a passar por uma grande transformação com a adoção em massa de ferramentas de IA generativa como o Stable Code 3B.
A melhor forma de navegar por essa revolução é se manter informado e atualizado. A DataCamp te acompanha nessa. Confira nossos artigos dedicados a outras poderosas ferramentas de IA generativa:
Sou analista de dados freelancer, colaborando com empresas e organizações em todo o mundo em projetos de ciência de dados. Também sou instrutor de ciência de dados com mais de 2 anos de experiência. Escrevo regularmente artigos relacionados à ciência de dados em inglês e espanhol, alguns dos quais foram publicados em sites consagrados, como DataCamp, Towards Data Science e Analytics Vidhya Como cientista de dados com formação em ciência política e direito, meu objetivo é trabalhar na interação de políticas públicas, direito e tecnologia, aproveitando o poder das ideias para promover soluções e narrativas inovadoras que possam nos ajudar a enfrentar desafios urgentes, como a crise climática. Eu me considero uma pessoa autodidata, um aprendiz constante e um firme defensor da multidisciplinaridade. Nunca é tarde demais para aprender coisas novas.



