O Prompt Tuning é uma técnica eficiente utilizada para adaptar modelos pré-treinados de grande dimensão, em particular modelos de linguagem de grande dimensão (LLM), a tarefas específicas a jusante sem modificar os parâmetros do modelo original. Em vez de voltar a treinar todo o modelo, ou mesmo uma parte significativa do mesmo, o Prompt Tuning centra-se na aprendizagem de pequenos "soft prompts" específicos da tarefa - vectores contínuos de incorporação - quesão anexados ao texto de entrada. Esta abordagem reduz significativamente os recursos computacionais e os dados necessários para a adaptação, em comparação com o ajuste fino tradicional.
Como funciona o Prompt Tuning
No Prompt Tuning, a ideia central é manter congelada a grande maioria dos parâmetros do modelo pré-treinado. Ao adaptar o modelo para uma tarefa como a análise de sentimentos ou a geração de texto, em vez de ajustar os milhares de milhões de weights and biases dentro do modelo, apenas um pequeno conjunto de parâmetros de prontidão (os "soft prompt embeddings") são treinados utilizando a descida gradiente. Estas incorporações aprendidas funcionam como instruções ou contexto, orientando o modelo congelado para produzir o resultado desejado para a tarefa específica. Isto torna-o uma forma de afinação eficiente de parâmetros (PEFT), reduzindo drasticamente a barreira à especialização de modelos de base maciça.
Vantagens do Prompt Tuning
O Prompt Tuning oferece várias vantagens:
- Eficiência computacional: Requer significativamente menos computação e memória em comparação com o ajuste fino completo, uma vez que apenas uma pequena fração dos parâmetros é actualizada durante o treino.
- Armazenamento reduzido: Só é necessário armazenar o pequeno conjunto de "prompt embeddings" para cada tarefa, em vez de uma cópia completa do modelo ajustado.
- Adaptação mais rápida: Treinar avisos específicos de tarefas é muito mais rápido do que afinar todo o modelo.
- Atenuação do esquecimento catastrófico: Uma vez que os parâmetros originais do modelo permanecem inalterados, o modelo mantém as suas capacidades gerais aprendidas durante o pré-treino, evitando o problema em que o ajuste fino numa tarefa degrada o desempenho noutras(interferência catastrófica).
- Implantação simplificada: Vários prompts específicos de tarefas podem ser usados com um único modelo principal compartilhado, simplificando a implantação e o gerenciamento de modelos nos pipelines do MLOps.
Aplicações no mundo real
O Prompt Tuning é particularmente eficaz para personalizar grandes modelos de linguagem para aplicações especializadas:
- Chatbots personalizados de atendimento ao cliente: Uma empresa pode usar um LLM geral pré-treinado, como o GPT-4, e usar o Prompt Tuning para criar prompts especializados para diferentes áreas de suporte (por exemplo, cobrança, suporte técnico, consultas sobre produtos). Cada pedido orienta o modelo base para responder adequadamente dentro desse contexto específico, utilizando linguagem e conhecimentos específicos da empresa, sem necessitar de modelos de ajuste fino separados. Isto permite um escalonamento eficiente das capacidades do chatbot.
- Geração de conteúdo especializado: Uma agência de marketing pode utilizar o Prompt Tuning para adaptar um modelo de geração de texto de grande dimensão para criar conteúdo em vozes ou estilos de marca específicos (por exemplo, relatórios formais, publicações informais em blogues, textos publicitários apelativos). São treinados prompts separados para cada estilo, permitindo que o mesmo modelo de base poderoso de organizações como a OpenAI ou a Google AI seja versátil para diferentes necessidades do cliente.
Prompt Tuning vs. Conceitos relacionados
É importante distinguir o Prompt Tuning de técnicas semelhantes:
- Afinação: Envolve a atualização de uma grande parte, ou mesmo da totalidade, dos parâmetros do modelo pré-treinado num novo conjunto de dados. É mais intensivo do ponto de vista computacional, mas pode, por vezes, alcançar um desempenho superior adaptando profundamente as representações internas do modelo. As sugestões de formação de modelos abrangem frequentemente aspectos de afinação.
- Engenharia rápida: Concentra-se na conceção manual de prompts eficazes baseados em texto (hard prompts) para obter o comportamento desejado de um modelo pré-treinado congelado. Envolve a elaboração de instruções e exemplos dentro do próprio texto de entrada e não envolve a formação de quaisquer parâmetros novos. Técnicas como a sugestão de cadeia de pensamento enquadram-se nesta categoria.
- Prompt Enriquecimento: Melhora automaticamente o prompt de entrada de um utilizador, adicionando contexto ou informações relevantes (por exemplo, utilizando Retrieval-Augmented Generation (RAG)) antes de ser processado pelo modelo de IA. Ao contrário da afinação do pedido, não modifica o modelo nem treina os parâmetros; refina a consulta de entrada.
- LoRA (Low-Rank Adaptation): Outra técnica PEFT que injeta pequenas matrizes treináveis de baixa classificação nas camadas existentes (como o mecanismo de atenção) do modelo pré-treinado. Actualiza diferentes partes do modelo em comparação com o Prompt Tuning, que se concentra apenas nos embeddings de entrada. Ambos são frequentemente encontrados em bibliotecas como a bibliotecaHugging Face PEFT.
Embora o Prompt Tuning seja predominantemente aplicado a LLMs no Processamento de Linguagem Natural (PNL), o princípio fundamental da adaptação eficiente é relevante em toda a Inteligência Artificial (IA). Na Visão por Computador (CV), enquanto o ajuste fino completo de modelos como Ultralytics YOLO em conjuntos de dados personalizados é comum para tarefas como a deteção de objectos, os métodos PEFT estão a ganhar força, especialmente para grandes modelos multimodais. Plataformas como o Ultralytics HUB simplificam o processo de treinamento e implantação de vários modelos de IA, potencialmente incorporando essas técnicas eficientes no futuro.
Em resumo, o Prompt Tuning oferece um método potente e eficiente para especializar grandes modelos pré-treinados, como LLMs, para diversas tarefas, equilibrando o desempenho com a viabilidade computacional. Representa um avanço fundamental para tornar os poderosos modelos de IA mais adaptáveis e acessíveis.