Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Prompt Engineering

A engenharia de prompts concebe as instruções, o contexto e os exemplos fornecidos a um modelo de IA para orientar a sua saída sem retreino, desde LLMs até visão.

A engenharia de prompts é a prática de conceber a entrada dada a um modelo generativo, incluindo instruções, contexto, exemplos e o formato de saída solicitado, para orientar o que o modelo produz sem alterar os seus pesos do modelo. Ganhou popularidade com o GPT-3: em Language Models are Few-Shot Learners (2020), a OpenAI mostrou que um modelo com 175 mil milhões de parâmetros podia executar novas tarefas sem atualizações de gradiente quando o prompt descrevia a tarefa e incluía alguns exemplos, uma capacidade a que o artigo chama aprendizagem em contexto. Atualmente, o prompt é a principal forma de controlar modelos de linguagem de grande porte (LLMs), modelos visão-linguagem (VLMs), geradores de texto para imagem e modelos de visão condicionáveis por prompts.

Técnicas principais#

  • Instruções e funções: Um prompt de sistema define a função, as regras e o público-alvo do modelo, e delimitadores como cabeçalhos ou etiquetas ao estilo XML separam as instruções dos dados que estão a ser processados.
  • Exemplos few-shot: Pares de entrada e saída resolvidos mostram a tarefa e o formato da resposta com mais precisão do que uma descrição. Um prompt sem exemplos é zero-shot.
  • Formato de saída: O prompt indica o formato, como uma lista ou JSON com determinadas chaves. Quando o código tem de analisar o resultado, as saídas estruturadas impõem um esquema durante a descodificação, em vez de dependerem do pedido.
  • Prompts de cadeia de pensamento: Pedir etapas intermédias de raciocínio antes da resposta, o que aumenta a precisão em problemas com várias etapas.
  • Encadeamento de prompts: Dividir uma tarefa complexa em vários prompts, cada um com uma tarefa específica e limitada, ligados por código.
  • Contexto recuperado: Inserir documentos ou dados encontrados por pesquisa para que o modelo responda com base nos factos fornecidos, em vez de recorrer à memória.

Os factos fornecidos reduzem as alucinações, e a sua posição é importante: o estudo Lost in the Middle concluiu que os modelos utilizam melhor a informação quando esta aparece no início ou no fim de uma janela de contexto longa, e pior quando fica enterrada no meio.

O efeito dos exemplos é mais fácil de observar num modelo base que nunca foi ajustado por instruções. Este excerto fornece ao GPT-2, carregado com Transformers da Hugging Face, a mesma instrução com e sem três exemplos:

from transformers import AutoModelForCausalLM, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("gpt2")
model = AutoModelForCausalLM.from_pretrained("gpt2")

# The same instruction, without and with three worked examples that show the answer format
instruction = "Convert each country to its capital city.\n"
prompts = {
    "zero-shot": instruction + "Italy:",
    "few-shot": instruction + "France: Paris\nJapan: Tokyo\nCanada: Ottawa\nItaly:",
}

for name, prompt in prompts.items():
    inputs = tokenizer(prompt, return_tensors="pt")
    output = model.generate(**inputs, max_new_tokens=4, do_sample=False, pad_token_id=tokenizer.eos_token_id)
    completion = tokenizer.decode(output[0, inputs.input_ids.shape[1] :])
    print(f"{name}: {completion!r}")

Apresenta zero-shot: '\n\nItaly is' e few-shot: ' Rome\nSpain:'. A instrução, por si só, levou o GPT-2 a escrever prosa sobre Itália, enquanto os três exemplos o levaram a responder "Roma" no formato esperado e a continuar o padrão com o país seguinte.

A conceção de prompts é empírica#

Pequenas alterações na formulação ou na disposição podem mudar bastante os resultados. Melanie Sclar e colegas mediram diferenças de precisão de até 76 pontos no LLaMA-2-13B apenas com alterações de formatação, como separadores, uso de maiúsculas e espaçamento, e a sensibilidade manteve-se com modelos maiores, mais exemplos e ajuste por instruções. Por isso, os prompts são desenvolvidos como código: testados com um conjunto fixo de entradas e saídas corretas conhecidas, revistos com base nas falhas e sujeitos a controlo de versões, como parte habitual do LLMOps.

É possível automatizar o ciclo. O Automatic Prompt Engineer (APE), de Yongchao Zhou e colegas, utiliza um LLM para propor instruções candidatas e conserva as que obtêm melhor pontuação nos exemplos; em 19 das 24 tarefas, as instruções igualaram ou superaram as escritas por pessoas em Large Language Models Are Human-Level Prompt Engineers.

Prompts para modelos de visão#

Em visão computacional, os prompts assumem várias formas. Geradores de texto para imagem, como Stable Diffusion, respondem a descrições do tema, estilo, iluminação e composição, além de prompts negativos que indicam o que evitar. Modelos de segmentação condicionados por prompts aceitam prompts visuais, como pontos e caixas, e o SAM 3 da Meta também aceita frases nominais curtas e segmenta cada instância do conceito especificado, recurso que a Ultralytics Platform usa para a anotação automática guiada por texto.

Os detetores de vocabulário aberto transformam nomes de classes em prompts. O Ultralytics YOLOE deteta e segmenta as classes indicadas por set_classes(), como "empilhadora" ou "autocarro de dois andares", comparando as características das regiões com os embeddings de texto desses nomes, pelo que a formulação altera diretamente o que encontra. Como a correspondência se baseia na aparência, os prompts que dependem do estado, da posição ou de uma comparação, como "danificado", "mais à esquerda" ou "o que está a ser transportado", não têm uma referência visual fiável, e os nomes próximos das categorias do dia a dia funcionam melhor.

  • Ajuste de prompts: Aprende vetores contínuos de prompt por descida do gradiente em dados etiquetados. A engenharia de prompts consiste em escrever o prompt manualmente, em linguagem natural.
  • Ajuste fino: Altera os pesos do modelo através do treino com um conjunto de dados etiquetado. A engenharia de prompts não altera o modelo e é aplicada no momento da inferência.
  • Engenharia de contexto: Abrange tudo o que entra no contexto do modelo numa aplicação, incluindo documentos recuperados, resultados de ferramentas e memória. A engenharia de prompts é a parte que se ocupa da redação das instruções e dos exemplos.
  • Injeção de prompts: Um ataque que oculta instruções no texto ou nas imagens que o modelo lê, para que estas se sobreponham ao prompt do programador.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina