Fine-tuning
Continuar treinando um modelo existente com os seus próprios exemplos para que ele se adapte a uma tarefa, estilo ou formato. Mais barato e rápido que treinar do zero; ainda é um custo de GPU que você paga uma vez por execução.
O que é
Você pega um modelo base pré-treinado, dá a ele de algumas centenas a algumas centenas de milhares de pares entrada/saída e roda algumas passadas de treinamento (épocas). Os pesos se deslocam na direção dos seus dados. O resultado é um modelo novo que você hospeda ou envia para um provedor que hospeda fine-tunes.
Duas grandes famílias: fine-tuning completo (atualiza todos os pesos — caro) e os métodos eficientes em parâmetros como lora / qlora (atualizam um pequeno complemento — baratos). A maioria se refere à segunda.
Por que importa
O fine-tuning é uma alternativa a um prompt de sistema longo + exemplos few-shot. Bem feito, permite que um modelo menor e mais barato iguale um maior na sua tarefa específica — o que muda o seu custo por milhão de tokens por requisição de forma permanente, não só uma vez.
Feito pelo motivo errado (adicionar conhecimento — use rag em vez disso) queima tempo de GPU para pouco ganho.
Impacto em custo e infraestrutura
Custo = GPU-horas da execução + armazenamento dos pesos resultantes + (se hospedado) um adicional de serviço por token. Uma execução lora num modelo de 7-8B costuma custar de alguns dólares a algumas dezenas de dólares de tempo de GPU; um fine-tuning completo de um modelo de 70B, de centenas a milhares.
Modele a sua execução com a calculadora de custo de fine-tuning antes de alugar qualquer coisa.
Conceitos relacionados
Use no Obolith
Perguntas frequentes
Fine-tuning ou RAG?
RAG para dar ao modelo fatos que ele deve consultar. Fine-tuning para mudar como ele se comporta — tom, formato, seguir um estilo de instrução específico. Combinam bem.