Modelos de Linguagem Grande (LLMs) do GitHub Copilot

Concluído

O GitHub Copilot é alimentado por Modelos de Linguagem Grande (LLMs) para ajudar você a escrever código de maneira integrada. Nessa unidade, nos concentramos em entender a integração e o impacto dos LLMs no GitHub Copilot. Vamos rever os seguintes tópicos:

  • O que são LLMs?
  • O papel dos LLMs no GitHub Copilot e na criação de prompts
  • LLMs de ajuste fino
  • Ajuste fino LoRA

O que são LLMs?

Os Modelos de Linguagem Grande (LLMs) são modelos de inteligência artificial projetados e treinados para entender, gerar e manipular a linguagem humana. Esses modelos têm uma capacidade inerente de lidar com uma ampla gama de tarefas envolvendo textos, graças à grande quantidade de dados de texto com que são treinados. Abaixo alguns aspectos básicos que precisamos entender sobre os LLMs:

Volume de dados de treinamento

Os LLMs são expostos a grandes quantidades de texto provenientes de fontes diversas. Essa exposição os equipa com uma ampla compreensão da linguagem, do contexto e dos meandros envolvidos em diversas formas de comunicação.

Compreensão contextual

Os modelos têm um desempenho excelente na geração de textos contextualmente relevantes e coerentes. Sua capacidade de entender o contexto permite que façam contribuições significativas redigindo frases, parágrafos ou até mesmo gerando documentos inteiros que são contextualmente aptos.

Aprendizado de máquina e integração de IA

Os LLMs são fundamentados em princípios de aprendizado de máquina e inteligência artificial. São redes neurais com milhões, ou até bilhões de parâmetros que passam por um ajuste fino durante o processo de treinamento para entender e prever textos com eficácia.

Versatilidade

Esses modelos não se limitam a um tipo específico de texto ou idioma. Podem ser adaptados e ajustados para executar tarefas especializadas, o que os torna altamente versáteis e aplicáveis a domínios e idiomas variados.

O papel dos LLMs no GitHub Copilot e na criação de prompts

O GitHub Copilot utiliza LLMs para fornecer sugestões de código com reconhecimento de contexto. O LLM leva em conta não apenas o arquivo atual, mas também outros arquivos e guias abertos no IDE para gerar preenchimentos de código precisos e relevantes. Essa abordagem dinâmica garante sugestões sob medida, aumentando a sua produtividade.

LLMs de ajuste fino

O ajuste fino é um processo crucial que nos permite adaptar Modelos de Linguagem Grande (LLMs) pré-treinados para tarefas ou domínios específicos. Envolve o treinamento do modelo em um conjunto de dados menor e específico por tarefa — conhecido como conjunto de dados de destino — e, ao mesmo tempo, o uso do conhecimento e dos parâmetros obtidos de um conjunto de dados grandes pré-treinado — conhecido como modelo de origem.

Diagrama que mostra como o ajuste fino é usado em modelos de linguagem grande.

O ajuste fino é essencial para adaptar os LLMs para tarefas específicas, aprimorando seu desempenho. No entanto, o GitHub deu um passo além ao usar o método de ajuste fino LoRA, que discutiremos a seguir.

Ajuste fino LoRA

Realizar um ajuste fino total tradicional significa treinar todas as partes de uma rede neural, um processo que pode ser lento e fortemente dependente de recursos. Mas o ajuste fino de LoRA (Learning to Rank ou, em português, aprender a classificar) é uma alternativa inteligente. A técnica é usada para fazer com que modelos de linguagem grandes (LLMs) pré-treinados funcionem melhor para tarefas específicas sem precisar refazer todo o treinamento.

Veja como o LoRA funciona:

  • O LoRA adiciona partes treináveis ​​menores a cada camada do modelo pré-treinado, em vez de alterar tudo.
  • O modelo original permanece o mesmo, o que economiza tempo e recursos.

Confira os melhores aspectos do LoRA:

  • A técnica supera outros métodos de adaptação, como adaptadores e ajustes de prefixos.
  • É como obter resultados excelentes com menos variáveis e imprevistos.

Em termos simples, o ajuste fino LoRA gira em torno de trabalhar de forma mais inteligente, não mais difícil, para tornar os LLMs mais adequados aos seus requisitos de codificação específicos ao usar o Copilot.