De Grandes Modelos de Linguagem(LLMs) à StackSpot AI: a evolução da assistência à codificação

Foto de um homem negro em frente ao computador, suas mãos estão no teclado e ele observa uma tela e um notebook que mostram códigos.
Resumimos o essencial sobre transformers e seu impacto na evolução dos Grandes Modelos de Linguagem ou Large Language Models, além de como a StackSpot AI se beneficia disso. Leia no blog o artigo!

Introduzidos inicialmente em 2017, os transformers se tornaram fundamentais na evolução dos Large Language Models (LLMs) ou Grandes Modelos de Linguagem, como o GPT-3 da OpenAI. 

Dessa maneira, esses modelos mudaram fundamentalmente a abordagem do processamento de linguagem natural e da aprendizagem profunda, permitindo que os modelos processem e gerem textos com uma compreensão do contexto. 

Nesta postagem do blog, resumimos a literatura existente sobre transformers, mostrando como eles podem ser úteis na criação de ferramentas de assistente de inteligência artificial de codificação, como a StackSpot AI.

Transformers e o surgimento de Grandes Modelos de Linguagem

Antes de tudo, o principal recurso dos transformers é seu mecanismo de atenção autoadaptativo. Esse mecanismo permite que o modelo se concentre dinamicamente nas partes mais relevantes das sequências de texto, o que é essencial para o reconhecimento de relações de longo alcance no texto e para a compreensão de nuances linguísticas complexas.

Esses modelos, treinados em grandes conjuntos de dados de texto, podem responder a perguntas, traduzir idiomas e produzir conteúdo coerente e relevante para o contexto. Por isso, os transformers influenciaram significativamente a inteligência artificial. 

Além disso, transformers são proficientes em uma série de tarefas de processamento de linguagem natural e avançaram significativamente em tecnologias como assistentes virtuais, automação de tarefas, escrita assistida por máquina e desenvolvimento de software.

Evolução dos Grandes Modelos de Linguagem

A figura abaixo, extraída do trabalho de pesquisa “A Survey of Large Language Models”, ilustra a evolução dos modelos de linguagem ampla (LLMs). Ela mostra o desenvolvimento de modelos como T5, GPT-3, Codex e GPT-4, indicando inovação e refinamento contínuos no processamento de linguagem natural.

Imagem do artigo Grandes Modelos de Linguagem com gráfico de linha do tempo de vários modelos de linguagem e sistemas de IA desenvolvidos de 2019 a 2023. Ela inclui nomes conhecidos como GPT-3, Codex e BERT, representados por logotipos e conectados com linhas que indicam sua progressão ou relacionamentos. Cada modelo é marcado com uma cor diferente, e alguns têm símbolos adicionais, como um boné de formatura. Os anos são marcados na parte superior com setas que levam a "ChatGPT" e "GPT-4", indicando desenvolvimentos mais recentes. A disponibilidade pública é indicada por uma etiqueta de canto vermelha em alguns modelos.

Esta linha do tempo destaca o progresso tecnológico e a crescente relevância da pesquisa de LLM na IA e na compreensão da linguagem.

Em sua base, os LLMs utilizam arquiteturas de redes neurais profundas. Dessa maneira, essas redes consistem em várias camadas de neurônios artificiais treinados em amplas coleções de textos.

Com esse treinamento, eles aprendem o reconhecimento de padrões, a compreensão da estrutura gramatical e a compreensão da relação semântica. Sendo a sua principal função prever a próxima palavra em uma sequência de texto. Por isso, a repetição contínua dessa tarefa melhora a capacidade dos modelos de compreender o contexto e gerar textos coerentes.

Ferramentas baseadas em Grandes Modelos de Linguagem

Assim, com seus inúmeros parâmetros ajustáveis, os LLMs, como o GPT-3 e o GitHub Copilot, acumularam uma ampla gama de conhecimentos sobre vários tópicos. 

Isso permite que eles entendam consultas complexas, criem novos conteúdos e até repliquem os estilos de escrita de seres humanos, aprimorando sua capacidade de produzir textos para diversos aplicativos.

No desenvolvimento de software, os LLMs estão sendo usados com mais frequência para auxiliar profissionais de programação. Eles podem ajudar em um espectro de tarefas, das mais simples às mais complexas.

Porém, a precisão da saída desses assistentes de código de IA é crucial. 

Os erros no código gerado podem levar a vulnerabilidades de segurança, mau funcionamento e outros problemas que afetam a qualidade e a confiabilidade do software. Portanto, é fundamental avaliar e gerenciar a saída desses assistentes para manter a integridade do código final.

Deve-se levar em conta

A princípio, a aplicação da IA na geração de código traz várias considerações importantes. Elas incluem questões éticas, questões de responsabilidade, preocupações com a privacidade e determinação da responsabilidade pelo código gerado.

Assim, esses são fatores essenciais a serem abordados por profissionais de engenharia de software e afetam profundamente a forma como os assistentes inteligentes são recebidos e usados no desenvolvimento.

Consuma inovação,
comece a transformação

Assine nosso boletim informativo para se manter atualizado sobre as práticas recomendadas mais recentes para aproveitar a tecnologia para gerar impacto nos negócios

Estudos com pessoas usuárias usando LLM

Com o aumento do uso de assistentes de código de IA, a compreensão dos benefícios e desafios que eles apresentam às pessoas desenvolvedoras de software ganhou destaque. 

Os estudos se concentraram principalmente em ferramentas específicas de geração de código e no GitHub Copilot. Confira alguns deles:

Jiang et al. 

Jiang et al. exploraram o GenLine, uma ferramenta baseada em LLM para traduzir solicitações de linguagem natural em código. Envolvendo 14 participantes com experiência variada em codificação de front-end, o estudo os encarregou de criar aplicativos baseados na Web usando o GenLine. 

Logo depois, as descobertas mostraram que as pessoas participantes precisavam ajustar a forma como interagiam com a ferramenta, aprendendo formulações e frases específicas para obter o resultado desejado. 

Pois quando as respostas da ferramenta eram inesperadas, eles geralmente alteravam suas solicitações, ajustavam as informações fornecidas ou faziam ajustes nas configurações do GenLine.

Barke

Barke e sua equipe pesquisaram como 20 pessoas, incluindo devs profissionais e estudantes, usaram o Copilot em um cenário de programação realista. 

A equipe de pesquisa descobriu que o uso de assistentes de programação variava: no modo de aceleração, as pessoas programadoras usavam o Copilot para acelerar tarefas conhecidas, enquanto no modo de exploração, elas usavam para navegar pelas incertezas.

Bird e colegas 

Bird e colegas usaram três fontes de dados para investigar como devs usaram o GitHub Copilot em janeiro de 2022. Informações de fóruns públicos esclareceram como o Copilot foi usado e seus desafios associados, como problemas de licenciamento e interrupções no fluxo de trabalho. 

Os relatórios indicaram que as pessoas usuárias tinham menos compreensão do funcionamento do código. Além disso, um experimento com cinco pessoas desenvolvedoras especialistas que criaram um jogo simples, e dados sobre o efeito do Copilot na produtividade foram incluídos em sua pesquisa.

Em suma, esses estudos examinaram as experiências de devs em ambientes controlados, concentrando-se em suas interações durante tarefas simples. Portanto, a previsão é que pesquisas futuras aprofundem esses aspectos em ambientes mais realistas. É aqui que a StackSpot AI se destaca.

StackSpot AI

O estudo teve como objetivo familiarizar as pessoas participantes com a ferramenta StackSpot AI, orientando-as sobre suas capacidades e funcionalidades por meio de uma reunião online.

A abordagem das pessoas facilitadoras envolveu a progressão de conceitos introdutórios e demonstrações do produto para exploração interativa e prática, seguida por discussões. Desse modo, o objetivo era garantir a compreensão da ferramenta StackSpot AI, suas características e aplicações.

Por exemplo, dentre as fases da pesquisa, uma das ações era replicar uma demonstração, aplicando a ferramenta para simular operações, como transações de um banco.

Percepções

Em síntese, algumas das percepções foram:

  • a geração de códigos precisos para integração rápida com APIs internas;
  • a agregação de fontes de conhecimento no IDE;
  • o refinamento iterativo dos códigos gerados por meio de interação por chat;
  • os ganhos de produtividade são úteis somente se users souberem como usar a StackSpot AI.

Para conhecer mais descobertas, leia o artigo do estudo sobre a StackSpot AI com pessoas usuárias.

Conheça a StackSpot AI

Diferentemente dos assistentes de codificação em geral, como o GitHub Copilot ou o Amazon Code Whisper, a StackSpot AI é uma assistente de código de IA adaptada às necessidades específicas de pessoas desenvolvedoras e projetos individuais. 

RAG (Retrieval-Augmented Generation)

A StackSpot AI utiliza o mecanismo RAG (Retrieval-Augmented Generation), que inclui um componente de recuperação e um componente de geração. A parte de recuperação foi projetada para encontrar documentos relevantes de um conjunto de dados escolhido, usando técnicas de recuperação de informações para localizar o documento mais pertinente para uma consulta. 

Embora seja eficaz na obtenção de informações, essa parte não pode gerar um novo conteúdo. Por outro lado, o componente de geração aproveita o GPT-4 da OpenAI. Escrevemos em outra postagem do blog como a StackSpot AI foi arquitetada.

Portanto, quando devs criam um novo algoritmo, mas encontram desafios de implementação, a StackSpot AI pode produzir trechos de código que se alinham com a situação específica, a partir das informações dos documentos identificados pela parte de recuperação. 

A StackSpot AI combina recuperação avançada com recursos generativos para oferecer às pessoas desenvolvedoras um suporte preciso e sensível ao contexto.

Conclusão

Olhando para o futuro, o avanço e o refinamento contínuo dos Grandes Modelos de Linguagem e suas aplicações em vários domínios sugerem um futuro em que a IA desempenha uma função cada vez mais integral em muitos aspectos da vida cotidiana.

Em conclusão, o advento dos modelos baseados em transformers e LLMs representa um marco significativo na IA e no processamento de linguagem natural. Afinal, sua capacidade de entender e gerar textos contextualmente relevantes abriu novos horizontes, desde assistentes virtuais até o desenvolvimento de software.

Com a StackSpot AI, vamos nos juntar a esse novo fluxo de assistentes de código contextualizados, ajudando as pessoas desenvolvedoras a desenvolver códigos melhores e mais rápidos.

Saiba mais sobre a StackSpot AI marcando uma demonstração com nosso time de especialistas para conhecer todos os recursos disponíveis de perto.

Consuma inovação,
comece a transformação

Assine nosso boletim informativo para se manter atualizado sobre as práticas recomendadas mais recentes para aproveitar a tecnologia para gerar impacto nos negócios

Related posts