Quando usar o ajuste fino do Azure OpenAI
Ao decidir se o ajuste fino é ou não a solução certa a ser explorada para um determinado caso de uso, há alguns termos-chave com os quais é útil estar familiarizado:
- Prompt Engineering é 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, otimizando o desempenho do modelo.
- A Geração Aumentada de Recuperação (RAG) melhora o desempenho do Large Language Model (LLM) recuperando dados de fontes externas e incorporando-os em um prompt. O RAG permite que as empresas alcancem soluções personalizadas, mantendo a relevância dos dados e otimizando os custos.
- O ajuste fino treina novamente um Modelo de Linguagem Grande existente usando dados de exemplo, resultando em um novo Modelo de Linguagem Grande "personalizado" que foi otimizado usando os exemplos fornecidos.
O que é o ajuste fino com o Azure OpenAI?
Quando falamos de ajuste fino, realmente nos referimos ao ajuste fino supervisionado e não ao pré-treinamento contínuo ou à Aprendizagem por Reforço através do Feedback Humano (RLHF). O ajuste fino supervisionado refere-se ao processo de retreinamento de modelos pré-treinados em conjuntos de dados específicos, normalmente para melhorar o desempenho do modelo em tarefas específicas ou introduzir informações que não estavam bem representadas quando o modelo base foi originalmente treinado.
O ajuste fino é uma técnica avançada que requer experiência para uso adequado. As perguntas abaixo irão ajudá-lo a avaliar se você está pronto para ajustes finos e quão bem você pensou no processo. Você pode usá-los para orientar suas próximas etapas ou identificar outras abordagens que possam ser mais apropriadas.
Por que você quer ajustar um modelo?
- Você deve ser capaz de articular claramente um caso de uso específico para ajuste fino e identificar o modelo que você espera ajustar.
- Bons casos de uso para ajuste fino incluem direcionar o modelo para conteúdo de saída em um estilo, tom ou formato específico e personalizado, ou cenários em que as informações necessárias para orientar o modelo são muito longas ou complexas para caber na janela de prompt.
Sinais comuns de que você pode ainda não estar pronto para o ajuste fino:
- Nenhum caso de uso claro para ajuste fino, ou uma incapacidade de articular muito mais do que "Eu quero fazer um modelo melhor".
- Se você identificar o custo como seu principal motivador, prossiga com cautela. O ajuste fino pode reduzir os custos de certos casos de uso, encurtando prompts ou permitindo que você use um modelo menor, mas há um custo inicial mais alto para o treinamento e você terá que pagar para hospedar seu próprio modelo personalizado. Consulte a página de preços para obter mais informações sobre os custos de ajuste fino do Azure OpenAI.
- Se quiser adicionar conhecimento fora do domínio ao modelo, você deve começar com a geração aumentada de recuperação (RAG) com recursos como o Azure OpenAI em seus dados ou incorporações. Muitas vezes, esta é uma opção mais barata, mais adaptável e potencialmente mais eficaz, dependendo do caso de uso e dos dados.
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 Large Language Models (LLMs). Você deve começar avaliando o desempenho de um modelo básico com engenharia imediata e/ou Geração Aumentada de Recuperação (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 melhorou 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.
Se você estiver pronto para ajustá-lo:
- Deve ser capaz de demonstrar evidências e conhecimento de abordagens baseadas em Engenharia Imediata e RAG.
- Ser capaz de compartilhar experiências e desafios específicos com técnicas diferentes do ajuste fino que já foram tentadas para o seu caso de uso.
- Necessidade de ter avaliações quantitativas do desempenho inicial, sempre que possível.
Sinais comuns de que você pode ainda não estar pronto para o ajuste fino:
- Começando pelo ajuste fino sem ter testado outras técnicas.
- Conhecimento ou compreensão insuficientes sobre como o ajuste fino se aplica especificamente aos modelos de linguagem grande (LLMs).
- Não há medições de referência para avaliar o ajuste fino.
O que não é trabalhar com abordagens alternativas?
Entender onde a engenharia rápida fica aquém deve fornecer orientação sobre como fazer 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 ajudarão você 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 queria 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. Eles forneceram orientação no prompt ("Always return GQL") e usaram o RAG para recuperar o esquema do banco de dados. No entanto, a sintaxe nem sempre estava correta e muitas vezes falhava para casos de borda. Eles coletaram milhares de exemplos de perguntas de linguagem natural e consultas equivalentes para seu banco de dados, incluindo casos em que o modelo havia falhado antes – e usaram esses dados para ajustar o modelo. A combinação do seu novo modelo ajustado com o seu aviso e recuperação projetados elevou a precisão das saídas do modelo a padrões aceitáveis para uso.
Se você estiver pronto para ajustá-lo:
- Tenha exemplos claros sobre como você abordou os desafios em abordagens alternativas e o que foi testado como possíveis resoluções para melhorar o desempenho.
- Você identificou deficiências usando um modelo base, como desempenho inconsistente em casos de borda, incapacidade de ajustar alguns prompts de captura suficientes na janela de contexto para orientar o modelo, alta latência, etc.
Sinais comuns de que você pode ainda não estar pronto para o ajuste fino:
- Conhecimento insuficiente do modelo ou fonte de dados.
- Incapacidade de encontrar os dados certos para servir o modelo.
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ê é capaz de fornecer. Você precisa estar disposto a investir tempo e esforço para fazer o ajuste fino funcionar. Modelos diferentes exigirão volumes de dados diferentes, mas muitas vezes você precisa ser capaz de fornecer quantidades bastante grandes de dados selecionados de alta qualidade.
Outro ponto importante é mesmo com dados de alta qualidade, se seus dados não estiverem no formato necessário para ajuste fino, você precisará comprometer recursos de engenharia para formatar corretamente os dados.
Dados | Babbage-002 Davinci-002 |
GPT-3.5-Turbo GPT-4o & GPT-4o mini GPT-4 |
---|---|---|
Volume | Milhares de exemplos | Milhares de exemplos |
Formato | Prompt/Conclusão | Bate-papo conversacional |
Se você estiver pronto para ajustá-lo:
- Identificaram um conjunto de dados para ajuste fino.
- O conjunto de dados está no formato apropriado para treinamento.
- Foi utilizado algum nível de curadoria para garantir a qualidade do conjunto de dados.
Sinais comuns de que você pode ainda não estar pronto para o ajuste fino:
- O conjunto de dados ainda não foi identificado.
- O formato do conjunto de dados não corresponde ao modelo que você deseja ajustar.
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. Idealmente, isso não deve ser apenas qualitativo, mas deve incluir medidas quantitativas de sucesso, como a utilização de um conjunto de dados para validação, bem como testes de aceitação do usuário ou testes A/B do modelo ajustado em relação a um modelo base.
Próximos passos
- Assista ao episódio do Azure AI Show: "Afinar ou não ajustar, essa é a questão"
- Saiba mais sobre o ajuste fino do Azure OpenAI
- Explore nosso tutorial de ajuste fino