Compartilhar via


Conceitos – modelos de linguagem de ajuste fino para fluxos de trabalho de IA e machine learning

Neste artigo, você aprenderá a ajustar modelos de linguagem, incluindo alguns métodos comuns e como aplicar os resultados de ajuste pode melhorar o desempenho de seus fluxos de trabalho de IA e machine learning no AKS (Serviço de Kubernetes do Azure).

Modelos de linguagem pré-treinados

PLMs (modelos de linguagem pré-treinados) oferecem uma maneira acessível de começar a usar a inferência de IA e são amplamente usados no NLP (processamento de linguagem natural). Os PLMs são treinados em texto corporativo em larga escala da Internet usando redes neurais profundas e podem ser ajustados em conjuntos de dados menores para tarefas específicas. Esses modelos normalmente consistem em bilhões de parâmetros ou pesos, que são aprendidos durante o processo de pré-treinamento.

Os PLMs podem aprender representações de linguagem universal que capturam as propriedades estatísticas da linguagem natural, como a probabilidade de palavras ou sequências de palavras ocorrerem em um determinado contexto. Essas representações podem ser transferidas para tarefas downstream, como classificação de texto, reconhecimento de entidade nomeada e resposta a perguntas, ajustando o modelo em conjuntos de dados específicos da tarefa.

Prós e contras

A tabela a seguir lista alguns prós e contras do uso de PLMs nos fluxos de trabalho de IA e machine learning:

Vantagens Desvantagens
• Comece rapidamente com a implantação em seu ciclo de vida de aprendizado de máquina.
• Evite custos pesados de computação associados ao treinamento de modelo.
• Reduz a necessidade de armazenar conjuntos de dados grandes e rotulados.
• Pode fornecer respostas generalizadas ou desatualizadas com base em fontes de dados de pré-treinamento.
• Pode não ser adequado para todas as tarefas ou domínios.
• O desempenho pode variar dependendo do contexto de inferência.

Métodos de ajuste fino

Ajuste fino eficiente do parâmetro

PEFT (ajuste fino eficiente) de parâmetro é um método para ajustar PLMs em conjuntos de dados relativamente pequenos com recursos de computação limitados. O PEFT usa uma combinação de técnicas, como métodos aditivos e seletivos para atualizar pesos, para melhorar o desempenho do modelo em tarefas específicas. O PEFT requer recursos de computação mínimos e quantidades flexíveis de dados, tornando-o adequado para configurações de baixo recurso. Esse método retém a maioria dos pesos do modelo pré-treinado original e atualiza os pesos restantes para ajustar dados rotulados específicos ao contexto.

Adaptação de classificação baixa

LoRA (adaptação de baixa classificação) é um método PEFT comumente usado para personalizar modelos de linguagem grandes para novas tarefas. Esse método controla as alterações nos pesos do modelo e armazena com eficiência matrizes de peso menores que representam apenas os parâmetros treináveis do modelo, reduzindo o uso de memória e o poder de computação necessários para ajuste fino. O LoRA cria resultados de ajuste fino, conhecidos como camadas de adaptador, que podem ser armazenados temporariamente e puxados para a arquitetura do modelo para novos trabalhos de inferência.

QLoRA (adaptação de baixa classificação) quantizada é uma extensão do LoRA que reduz ainda mais o uso de memória introduzindo a quantização às camadas do adaptador. Para obter mais informações, consulte Tornando as LLMs ainda mais acessíveis com bitsandbites, quantização de 4 bits e QLoRA.

Experimente modelos de linguagem de ajuste fino no AKS

O Operador de Conjunto de Ferramentas de IA do Kubernetes (KAITO) é um operador de código aberto que automatiza implantações de modelos de idiomas pequenos e grandes em clusters do Kubernetes. O complemento do operador de cadeia de ferramentas de IA aproveita o KAITO para simplificar a integração, economizar nos custos de infraestrutura e reduzir o tempo de inferência para modelos de software livre em um cluster do AKS. O complemento provisiona automaticamente nós de GPU de tamanho certo e configura o servidor de inferência associado como um servidor de ponto de extremidade para o modelo escolhido.

Com o KAITO versão 0.3.0 ou posterior, você pode ajustar com eficiência os modelos licenciados do MIT e do Apache 2.0 com os seguintes recursos:

  • Armazene seus dados de retreinamento como uma imagem de contêiner em um registro de contêiner privado.
  • Hospede a nova imagem da camada do adaptador em um registro de contêiner privado.
  • Efetuar pull eficiente da imagem para inferência com camadas de adaptador em novos cenários.

Para obter diretrizes sobre como começar a ajustar o KAITO, consulte a documentação da API do Workspace do Kaito Tuning. Para saber mais sobre como implantar modelos de linguagem com KAITO em seus clusters do AKS, consulte o repositório GitHub modelo KAITO.

Importante

O software de código aberto é mencionado em toda a documentação e amostras do AKS. O software que você implanta está excluído dos contratos de nível de serviço do AKS, garantia limitada e suporte do Azure. Ao usar tecnologia de código aberto junto com o AKS, consulte as opções de suporte disponíveis nas comunidades e mantenedores de projetos respectivos para desenvolver um plano.

Por exemplo, o repositório do Ray GitHub descreve várias plataformas que variam em tempo de resposta, finalidade e nível de suporte.

A Microsoft assume a responsabilidade por criar os pacotes de código aberto que implantamos no AKS. Essa responsabilidade inclui ter propriedade completa do processo de criação, verificação, sinalização, validação e hotfix, junto com o controle sobre os binários em imagens de contêiner. Para obter mais informações, confira Gerenciamento de vulnerabilidades para o AKS e Cobertura de suporte do AKS.

Próximas etapas

Para saber mais sobre cargas de trabalho de IA e aprendizado de máquina em contêineres no AKS, consulte os artigos a seguir: