Ajuste modelos no Azure AI Studio
Importante
Os itens marcados (visualização) neste artigo estão atualmente em visualização pública. Essa visualização é fornecida sem um contrato de nível de serviço e não a recomendamos para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas. Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.
O ajuste fino retreina um modelo de linguagem grande (LLM) existente usando dados de exemplo. O resultado é um LLM novo e personalizado otimizado para os exemplos fornecidos.
Este artigo pode ajudá-lo a decidir se o ajuste fino é ou não a solução certa para o seu caso de uso. Este artigo também descreve como o Azure AI Studio pode dar suporte às suas necessidades de ajuste fino.
Neste artigo, o ajuste fino refere-se ao ajuste fino supervisionado, não à pré-formação contínua ou à aprendizagem por reforço através do feedback humano (RLHF). O ajuste fino supervisionado é o processo de retreinamento de modelos pré-treinados em conjuntos de dados específicos. Normalmente, o objetivo é melhorar o desempenho do modelo em tarefas específicas ou introduzir informações que não estavam bem representadas quando você treinou originalmente o modelo base.
Introdução ao ajuste fino
Ao decidir se o ajuste fino é ou não a solução certa para seu caso de uso, é útil estar familiarizado com estes termos-chave:
- A engenharia de prompt é uma técnica que envolve a criação de prompts para modelos de processamento de linguagem natural. Este processo melhora a precisão e relevância nas respostas, para otimizar o desempenho do modelo.
- A geração aumentada de recuperação (RAG) melhora o desempenho do LLM recuperando dados de fontes externas e incorporando-os em um prompt. A RAG pode ajudar as empresas a obter soluções personalizadas, mantendo a relevância dos dados e otimizando os custos.
O ajuste fino é uma ótima maneira de obter resultados de maior qualidade e, ao mesmo tempo, reduzir a latência. As perguntas a seguir podem ajudá-lo a entender melhor por que ajustar e avaliar se você está pronto para ajustar o processo. Você pode usar essas perguntas para orientar suas próximas etapas.
Por que você quer ajustar um modelo?
Antes de começar a ajustar um modelo, considere se você identificou deficiências ao usar um modelo básico. Essas deficiências podem incluir: um desempenho inconsistente em casos de borda, incapacidade de ajustar prompts suficientes na janela de contexto para orientar o modelo ou alta latência.
Os modelos base já são pré-treinados em grandes quantidades de dados, mas na maioria das vezes você adicionará instruções e exemplos ao prompt para obter as respostas de qualidade que você está procurando. Este processo de "aprendizagem de poucos tiros" pode ser melhorado com ajustes finos.
O ajuste fino permite treinar um modelo com muitos mais exemplos. Você pode adaptar seus exemplos para atender ao seu caso de uso específico. Isso pode ajudá-lo a reduzir o número de tokens no prompt, levando a possíveis economias de custos e solicitações com menor latência.
Os casos de uso para ajustar um modelo podem ser:
- Direcionando o modelo para produzir conteúdo em um estilo, tom ou formato específico e personalizado.
Se você identificar o custo como seu principal motivador, prossiga com cautela. O ajuste fino pode reduzir os custos de determinados casos de uso, encurtando prompts ou permitindo que você use um modelo menor. Mas normalmente há um custo inicial mais alto para o treinamento, e você tem que pagar para hospedar seu próprio modelo personalizado.
O que não é trabalhar com abordagens alternativas?
Entender onde a engenharia rápida fica aquém deve fornecer orientação sobre como abordar seu ajuste fino. O modelo base está falhando em casos de borda ou exceções? O modelo base não está consistentemente fornecendo saída no formato certo e você não consegue ajustar exemplos suficientes na janela de contexto para corrigi-lo?
Exemplos de falha com o modelo base e engenharia imediata podem ajudá-lo a identificar os dados que eles precisam coletar para ajuste fino e como você deve avaliar seu modelo ajustado.
Aqui está um exemplo: um cliente deseja usar o GPT-3.5 Turbo para transformar perguntas de linguagem natural em consultas em uma linguagem de consulta específica e não padrão. O cliente fornece orientação no prompt ("Sempre retornar GQL") e usa o RAG para recuperar o esquema do banco de dados. No entanto, a sintaxe nem sempre está correta e muitas vezes falha para casos de borda. O cliente coleta milhares de exemplos de perguntas em linguagem natural e consultas equivalentes para o banco de dados, incluindo casos em que o modelo falhou antes. Em seguida, o cliente usa esses dados para ajustar o modelo. A combinação do modelo recém-ajustado com o prompt e a recuperação projetados eleva a precisão das saídas do modelo a padrões aceitáveis para uso.
O que você tentou até agora?
O ajuste fino é um recurso avançado, não o ponto de partida para sua jornada de IA generativa. Você já deve estar familiarizado com os conceitos básicos do uso de LLMs. Você deve começar avaliando o desempenho de um modelo básico com engenharia imediata e/ou RAG para obter uma linha de base para o desempenho.
Ter uma linha de base para o desempenho sem ajustes finos é essencial para saber se o ajuste fino melhora ou não o desempenho do modelo. O ajuste fino com dados incorretos piora o modelo base, mas sem uma linha de base, é difícil detetar regressões.
Antes de começar a ajustar um modelo, você precisa garantir:
- Você pode demonstrar evidências e conhecimento do uso de engenharia imediata e abordagens baseadas em RAG em seu LLM.
- Você pode compartilhar experiências e desafios específicos com técnicas diferentes do ajuste fino que você tentou para seu caso de uso.
- Você tem avaliações quantitativas do desempenho da linha de base, sempre que possível.
- Você tem um conjunto de dados rotulado que corresponde ao caso de uso específico que você deseja treinar seu LLM.
Que dados vai utilizar para ajustamentos?
Mesmo com um ótimo caso de uso, o ajuste fino é tão bom quanto a qualidade dos dados que você pode fornecer. Você precisa estar disposto a investir tempo e esforço para fazer o ajuste fino funcionar. Modelos diferentes exigem volumes de dados diferentes, mas muitas vezes você precisa ser capaz de fornecer quantidades bastante grandes de dados com curadoria de alta qualidade. No ajuste fino supervisionado, um moddel genérico é treinado em um conjunto de dados rotulado específico do tópico. O modelo com ajustar seus parâmetros para os novos dados e aplicar o conhecimento pré-existente ao emitir novos conteúdos.
Outro ponto importante é que, mesmo com dados de alta qualidade, se seus dados não estiverem no formato necessário para ajuste fino, você precisa comprometer recursos de engenharia para a formatação.
Você pode estar pronto para ajustes finos se:
- Você identificou um conjunto de dados para ajuste fino.
- Seu conjunto de dados está no formato apropriado para treinamento em seu modelo existente.
- Você empregou algum nível de curadoria para garantir a qualidade do conjunto de dados.
Como irá medir a qualidade do seu modelo ajustado?
Não há uma única resposta certa para essa pergunta, mas você deve ter metas claramente definidas para como é o sucesso com ajustes finos. O ideal é que esse esforço não seja apenas qualitativo. Ele deve incluir medidas quantitativas de sucesso, como o uso de um conjunto de dados para validação, além de testes de aceitação do usuário ou testes A/B do modelo ajustado em relação a um modelo base.
Modelos suportados para ajuste fino no Azure AI Studio
Agora que você sabe quando usar o ajuste fino para seu caso de uso, você pode ir para o Azure AI Studio para encontrar modelos disponíveis para ajuste. A tabela a seguir descreve os modelos que você pode ajustar no Azure AI Studio, juntamente com as regiões onde você pode ajustá-los.
Família de modelos | Model ID | Regiões de ajuste fino |
---|---|---|
Modelos do Azure OpenAI | Os modelos do Serviço OpenAI do Azure que você pode ajustar incluem, entre outros gpt-4 , e gpt-4o-mini .Para obter detalhes sobre os modelos do Azure OpenAI que estão disponíveis para ajuste fino, consulte a documentação de modelos do Serviço OpenAI do Azure ou a tabela de modelos do Azure OpenAI mais adiante neste guia. |
Os modelos do Serviço OpenAI do Azure que você pode ajustar incluem, entre outros, o Centro-Norte dos EUA e o Centro da Suécia. As regiões suportadas podem variar se você usar modelos do Azure OpenAI em um projeto do AI Studio versus fora de um projeto. Para obter detalhes sobre o ajuste fino de regiões, consulte a documentação de modelos do Serviço OpenAI do Azure. |
Modelos da família Phi-3 | Phi-3-mini-4k-instruct Phi-3-mini-128k-instruct Phi-3-medium-4k-instruct Phi-3-medium-128k-instruct |
E.U.A. Leste 2 |
Modelos da família Meta Llama 2 | Meta-Llama-2-70b Meta-Llama-2-7b Meta-Llama-2-13b Llama-2-7B-chat Llama-2-70B-chat |
Oeste US3 |
Modelos da família Meta Llama 3.1 | Meta-Llama-3.1-70b-Instruct Meta-Llama-3.1-8b-Instruct |
Oeste US3 |
Esta tabela fornece mais detalhes sobre os modelos do Serviço OpenAI do Azure que dão suporte ao ajuste fino e as regiões onde o ajuste fino está disponível.
Ajustando modelos do Azure OpenAI
Nota
gpt-35-turbo
- O ajuste fino deste modelo é limitado a um subconjunto de regiões e não está disponível em todas as regiões em que o modelo base está disponível.
As regiões com suporte para ajuste fino podem variar se você usar modelos do Azure OpenAI em um projeto do AI Studio versus fora de um projeto.
Model ID | Regiões de ajuste fino | Solicitação máxima (tokens) | Dados de formação (até) |
---|---|---|---|
babbage-002 |
Centro-Norte dos EUA Suécia Central Oeste da Suíça |
16,384 | Setembro 2021 |
davinci-002 |
Centro-Norte dos EUA Suécia Central Oeste da Suíça |
16,384 | Setembro 2021 |
gpt-35-turbo (0613) |
Leste US2 Centro-Norte dos EUA Suécia Central Oeste da Suíça |
4,096 | Setembro 2021 |
gpt-35-turbo (1106) |
Leste US2 Centro-Norte dos EUA Suécia Central Oeste da Suíça |
Entrada: 16.385 Saída: 4.096 |
Setembro 2021 |
gpt-35-turbo (0125) |
Leste US2 Centro-Norte dos EUA Suécia Central Oeste da Suíça |
16,385 | Setembro 2021 |
gpt-4 (0613) 1 |
Centro-Norte dos EUA Suécia Central |
8192 | Setembro 2021 |
gpt-4o-mini 1 (2024-07-18) |
Centro-Norte dos EUA Suécia Central |
Entrada: 128.000 Potência: 16.384 Duração do contexto do exemplo de treinamento: 64.536 |
Outubro de 2023 |
gpt-4o 1 (2024-08-06) |
Leste US2 Centro-Norte dos EUA Suécia Central |
Entrada: 128.000 Potência: 16.384 Duração do contexto do exemplo de treinamento: 64.536 |
Outubro de 2023 |
1 GPT-4 está atualmente em pré-visualização pública.