O que é InstructLab?

Copiar URL

O InstructLab simplifica o processo de personalização de Large Language Models (LLMs) com dados privados. 

Os LLMs servem como base para a IA generativa (gen IA), como chatbots e assistentes de codificação. Eles podem ser proprietários, como os modelos GPT da OpenAI e Claude da Anthropic, ou mais abertos, com diferentes restrições de uso sobre os dados de pré-treinamento, como os modelos Llama da Meta, Mistral da Mistral AI e Granite da IBM.

É bastante comum que profissionais de IA precisem adaptar um LLM pré-treinado para uma determinada finalidade comercial, mas existem limites quanto ao que pode se modificado em um LLM:

  • O ajuste fino de um LLM para compreender habilidades ou áreas específicas de conhecimento envolve um treinamento caro e com grande consumo de recursos.
  • Como não é possível incorporar melhorias nos LLMs de forma contínua, eles não são atualizados com as contribuições dos usuários.
  • Em geral, os aperfeiçoamentos feitos em um LLM exigem grandes quantidades de dados gerados por humanos cuja obtenção é cara e demorada.

O InstructLab segue uma abordagem que contorna essas limitações. Ele pode aprimorar LLMs utilizando muito menos informações geradas por humanos e recursos computacionais do que normalmente são consumidos para retreinar um modelo.

O nome InstructLab é derivado do trabalho de alinhamento em larga escala para chatbots da IBM Research, abreviado em inglês como LAB. O método LAB está descrito em um artigo de 2024 de autoria dos membros do MIT-IBM Watson AI Lab e da IBM Research.

O InstructLab não atende apenas a modelos específicos. Ele ajuda a incrementar as habilidades e fazer ajustes finos no conhecimento de qualquer tipo de LLM. Essa "árvore de habilidades e conhecimento" é melhorada continuamente com contribuições que podem ser aplicadas a builds regulares de um LLM aprimorado. 

O projeto InstructLab tem como prioridade acelerar a iteração e como finalidade retreinar modelos regularmente. As organizações também podem usar as ferramentas de alinhamento de modelo do InstructLab para treinar seus próprios LLMs com habilidades e conhecimento proprietários.

Como aplicar a IA na sua empresa 

O método LAB consiste em três componentes:

  • Seleção de dados com base em taxonomia. Taxonomia é um conjunto diversificado de dados de treinamento selecionados por humanos como exemplos de novos conhecimentos e habilidades para o modelo.
  • Geração de dados sintéticos em larga escala. Em seguida, o modelo é usado para gerar novos exemplos com base nos dados de treinamento inseridos. Reconhecendo que a qualidade dos dados sintéticos pode variar, o método LAB tem mais uma etapa automatizada para refinar as respostas de exemplo com o intuito de garantir que sejam confiáveis e seguras.
  • Ajuste iterativo e em larga escala do alinhamento. Por fim, o modelo é retreinado com base no conjunto de dados sintéticos. O método LAB inclui duas fases de ajuste: ajuste do conhecimento e ajuste das habilidades.

Cada nova contribuição de conhecimento ou habilidade amplia o conjunto de dados e melhora a qualidade do modelo em ajuste. 

Acesse a biblioteca de conteúdos da Red Hat

Vamos comparar o InstructLab com outras formas de personalização de um LLM para atender aos casos de uso específicos da sua área.

Pré-treinamento

O pré-treinamento é o estágio mais avançado de personalização, no qual as organizações podem definir os dados que estruturam a base de conhecimento do modelo. 

Durante o pré-treinamento, o LLM é treinado para prever o próximo token usando trilhões de tokens de dados não rotulados. Isso pode sair muito caro, levar meses e exigir milhares de GPUs. O pré-treinamento de um LLM altamente eficiente só é possível para organizações com recursos consideráveis.

Ajustes de alinhamento

Após o pré-treinamento, os LLMs passam por ajustes de alinhamento para tornar as respostas do modelo o mais precisas e úteis possível. Normalmente, a primeira etapa dos ajustes de alinhamento é o ajuste de instruções, quando o modelo é treinado em tarefas específicas. 

Em seguida, acontece o ajuste de preferências, que pode incluir aprendizado por reforço com feedback humano (RLHF). Nessa etapa, pessoas testam o modelo e classificam as saídas, marcando se as respostas são preferenciais ou não. O processo de RLHF pode incluir várias rodadas de feedback e refinamento para otimizar o modelo.

Pesquisadores descobriram que a quantidade de feedback usada nessa fase dos ajustes de alinhamento pode ser muito menor do que o conjunto inicial de dados de treinamento: algumas dezenas de milhares de anotações humanas em comparação aos trilhões de tokens de dados necessários para o pré-treinamento. Ainda assim, essa etapa revela capacidades latentes do modelo.

InstructLab

O método LAB nasceu da ideia de que deveria ser possível alcançar os mesmos benefícios do alinhamento do modelo com um conjunto ainda menor de dados gerados por humanos. Um modelo de IA pode usar poucos exemplos humanos para gerar uma grande quantidade de dados sintéticos, refinar a lista para melhorar a qualidade e, por fim, utilizar um conjunto de dados sintéticos de alta qualidade para continuar com o ajuste e o treinamento. Diferente dos ajustes de instruções, que em geral precisam de milhares de exemplos de feedback humano, o método LAB pode tornar um modelo muito melhor usando uma quantidade relativamente pequena de exemplos gerados por humanos.

Qual a diferença entre o InstructLab e a Geração Aumentada de Recuperação (RAG)?

A resposta curta é que o InstructLab e a Geração Aumentada de Recuperação (RAG) resolvem problemas diferentes.

A RAG é um método econômico para complementar um LLM com conhecimento específico de um domínio que não foi incluído no pré-treinamento. Com o método RAG, é possível fazer com que um chatbot responda com precisão a perguntas relacionadas a um campo ou tipo de negócios específico sem necessidade de retreinar o modelo. 

Além disso, os documentos com o conhecimento são armazenados em um banco de dados vetorial, e partes deles são recuperadas e enviadas ao modelo para complementar as consultas dos usuários. Isso é útil para quem quer adicionar dados proprietários a um LLM sem perder o controle das próprias informações ou para quem precisa de um LLM capaz de acessar informações atualizadas. 

Já o método InstructLab utiliza contribuições dos usuários finais para gerar builds regulares de uma versão melhorada de um LLM. O InstructLab ajuda a acrescentar conhecimento e revelar novas habilidades de um LLM.

É possível "turbinar" o processo da RAG usando essa técnica em um modelo ajustado com o método do InstructLab.

Mais informações sobre RAG

Com o Red Hat AI InstructLab on IBM Cloud, é possível fazer contribuições para um LLM sem a necessidade de ter ou operar uma infraestrutura de hardware.

O Red Hat InstructLab é um projeto open source que simplifica o desenvolvimento de LLMs, viabilizando uma abordagem econômica para alinhar modelos com menos dados e recursos.

A IBM Cloud é uma plataforma em nuvem empresarial feita até mesmo para os setores mais regulamentados. Ela oferece uma nuvem altamente resiliente, de alto desempenho, segura e em conformidade.

A junção deles é o Red Hat AI InstructLab on IBM Cloud, uma solução escalável e econômica para simplificar, escalar e proteger o alinhamento dos seus LLMs nos casos de uso exclusivos da sua organização.

Mais informações sobre o Red Hat InstructLab on IBM Cloud

Recurso

Introdução à IA empresarial: um guia para iniciantes

Leia este guia para iniciantes e descubra como o Red Hat OpenShift AI e o Red Hat Enterprise Linux AI podem ajudar a acelerar sua jornada de adoção da inteligência artificial.

Todos os testes de soluções Red Hat

Com os nossos testes de solução gratuitos, você ganha experiência hands-on, prepara-se para uma certificação ou avalia se uma determinada solução é adequada para sua organização.

Leia mais

O que é o Podman Desktop?

O Podman Desktop é uma ferramenta open source gratuita que simplifica o trabalho com containers em ambientes de desenvolvedor locais.

O que é o Helm?

Helm é um gerenciador de pacotes para Kubernetes que inclui todos os códigos e recursos necessários para implantar uma aplicação em um cluster.

O que é Argo CD?

Argo CD é uma ferramenta declarativa de entrega contínua para Kubernetes que pode ser usada como parte do seu fluxo de trabalho de CI/CD para entregar recursos aos seus clusters.

Open source: conteúdo adicional

Artigos relacionados