Modelos de Linguagem Grande (LLMs) do GitHub Copilot
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.
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.