Partilhar via


Conceitos - Ajuste fino de modelos de linguagem para fluxos de trabalho de IA e aprendizado de máquina

Neste artigo, você aprenderá sobre modelos de linguagem de ajuste fino, incluindo alguns métodos comuns e como a aplicação dos resultados de ajuste pode melhorar o desempenho de seus fluxos de trabalho de IA e aprendizado de máquina no Serviço Kubernetes do Azure (AKS).

Modelos linguísticos pré-treinados

Os modelos de linguagem pré-treinados (PLMs) oferecem uma maneira acessível de começar com a inferência de IA e são amplamente utilizados no processamento de linguagem natural (NLP). Os PLMs são treinados em corpora de texto em grande escala da Internet usando redes neurais profundas e podem ser ajustados em conjuntos de dados menores para tarefas específicas. Esses modelos geralmente 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 universais da linguagem 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 a jusante, como classificação de texto, reconhecimento de entidade nomeada e resposta a perguntas, ajustando o modelo em conjuntos de dados específicos de tarefas.

Prós e contras

A tabela a seguir lista alguns prós e contras do uso de PLMs em seus fluxos de trabalho de IA e aprendizado de máquina:

Prós Contras
• Comece rapidamente com a implantação em seu ciclo de vida de aprendizado de máquina.
• Evite custos de computação pesados associados ao treinamento de modelos.
• Reduz a necessidade de armazenar grandes conjuntos de dados rotulados.
• Pode fornecer respostas generalizadas ou desatualizadas com base em fontes de dados 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 ajustamento fino

Ajuste fino eficiente de parâmetros

O ajuste fino eficiente de parâmetros (PEFT) é 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 com poucos recursos. Esse método retém a maioria dos pesos do modelo original pré-treinado e atualiza os pesos restantes para ajustar dados rotulados específicos do contexto.

Adaptação de baixo nível

Low rank adaptation (LoRA) é um método PEFT comumente usado para personalizar grandes modelos de linguagem para novas tarefas. Esse método rastreia as alterações nos pesos do modelo e armazena eficientemente 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ário para o 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.

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

Experimente modelos de linguagem de ajuste fino no AKS

O Kubernetes AI Toolchain Operator (KAITO) é um operador de código aberto que automatiza implantações de modelos de linguagem pequenas e grandes em clusters Kubernetes. O complemento do operador da cadeia de ferramentas de IA aproveita o KAITO para simplificar a integração, economizar em custos de infraestrutura e reduzir o tempo de inferência para modelos de código aberto em um cluster 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 eficientemente os modelos licenciados MIT e Apache 2.0 suportados 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.
  • Puxe a imagem de forma eficiente para inferência com camadas de adaptador em novos cenários.

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

Importante

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

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

A Microsoft assume a responsabilidade pela criação dos pacotes de código aberto que implantamos no AKS. Essa responsabilidade inclui ter a propriedade completa do processo de compilação, digitalização, assinatura, validação e hotfix, juntamente com o controle sobre os binários em imagens de contêiner. Para obter mais informações, consulte Gerenciamento de vulnerabilidades para cobertura de suporte AKS e AKS.

Próximos passos

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