语言人工智能指南

及时调整

Prompt tuning adapts a frozen language model to a new task by learning a short sequence of trainable vectors, called a soft prompt, that is prepended to every input.

听听这个指南AI叙述 · ~8 min

在本页阅读时间 9 分钟
  1. 概述
  2. 主要要点
  3. 深入探讨
  4. Training a complaint classifier with a soft prompt in Hugging Face PEFT
  5. 现实世界的实施
  6. 即时调优的未来
  7. 付诸实践
  8. 资料来源与延伸阅读
  9. 不断探索
  10. 常见问题

概述

Only those vectors change during training, so one shared model can serve many tasks while each task stores a few thousand numbers instead of a full copy of the model.

主要要点

  1. Prompt tuning trains only a short matrix of virtual-token embeddings that is prepended to the input, while every weight of the language model stays frozen.
  2. The 2021 Google paper by Lester, Al-Rfou and Constant showed prompt tuning matches full fine-tuning on SuperGLUE once T5 models reach about 11 billion parameters.
  3. A five-token soft prompt on T5-XXL holds 20,480 parameters, compared with 11 billion for a fully fine-tuned copy of the same model.
  4. Prompt tuning beat full fine-tuning on most out-of-domain question-answering tests in the original study, including a 12.5-point F1 gain on TextbookQA.
  5. On models smaller than about a billion parameters, deeper variants such as prefix tuning and P-Tuning v2 usually work better than input-only soft prompts.

深入探讨

Prompt tuning is a way to teach an existing language model a new job without changing the model itself. A normal text prompt is a string of words, such as "Classify the sentiment of this review". A soft prompt is different: it is a short list of numeric vectors that live in the same space as the model's word embeddings (the vectors the model uses to represent each token), but they do not have to correspond to any real word. The model's billions of weights stay frozen. Training adjusts only the soft prompt, using ordinary gradient descent on labeled examples, until the frozen model produces the right outputs when the prompt sits in front of each input.

The mechanism has four steps. First, choose a prompt length p, typically between 5 and 100 virtual tokens, and create a matrix of p vectors, each with the same width e as the model's embeddings. Second, initialize those vectors, either randomly, by copying embeddings of common vocabulary words, or by copying embeddings of the class label words such as "positive" and "negative". Third, for each training example, convert the input text to embeddings as usual, concatenate the prompt matrix in front of them, and run the frozen model forward. Fourth, compute the task loss on the model's output and backpropagate it only into the prompt matrix. At inference time the learned prompt is attached to new inputs in exactly the same way. Because the prompt is the only task-specific artifact, a single deployed model can handle many tasks by swapping prompts per request.

The technique was introduced by Brian Lester, Rami Al-Rfou and Noah Constant of Google in "The Power of Scale for Parameter-Efficient Prompt Tuning", submitted to arXiv in April 2021 and published at EMNLP 2021. Its central finding is about scale. Using T5 models from small to XXL (11 billion parameters), the authors showed that prompt tuning lags behind full fine-tuning on small models but closes the gap as models pass a few billion parameters. They also report that GPT-3's few-shot prompting scored 71.8 on SuperGLUE against 89.3 for a fine-tuned T5-XXL, even though GPT-3 is 16 times larger. Google's February 2022 research blog summarizes the headline: on T5-XXL, prompt tuning matches model tuning while training about 20,000 parameters to steer an 11-billion-parameter model.

The paper's ablations give practical guidance. Lengthening the prompt beyond about 20 tokens generally gave only small gains, and the XXL model still gave strong results with a single-token prompt. Initializing from class-label embeddings beat random initialization on small and medium models, but the difference vanished at XXL size. A surprising detail concerned pretraining: T5's original span-corruption objective, where the model fills in masked spans with sentinel tokens, made frozen models poor prompt targets. The authors continued training T5 1.1 checkpoints with a plain language-modeling objective for up to 100,000 steps and released these "LM-adapted" checkpoints, which became the standard starting point for prompt-tuning experiments.

Prominent alternatives sit on a spectrum of how much of the model they touch. Prompt design, or hand-written prompting, trains nothing and relies on the model following instructions and a few examples. Prefix tuning, proposed by Xiang Lisa Li and Percy Liang in January 2021, learns continuous vectors that are inserted at every transformer layer rather than only at the input, training about 0.1% of the parameters of GPT-2 and BART. P-Tuning v2, by Xiao Liu and colleagues at Tsinghua (ACL 2022), applies deep prompts to every layer and reports matching fine-tuning across model sizes and harder tasks such as sequence labeling, with 0.1% to 3% of parameters tuned. LoRA, from Microsoft researchers in June 2021, instead adds small low-rank matrices to the weight updates and reports 10,000 times fewer trainable parameters than full fine-tuning of GPT-3 175B. Full fine-tuning updates every weight and usually gives the strongest per-task result, at the cost of storing a full model copy for each task.

The main appeal is robustness and economy. Lester and colleagues trained on SQuAD and tested on out-of-domain question-answering datasets from the MRQA 2019 shared task; prompt tuning beat full fine-tuning on most of them, with a 12.5-point F1 gap on TextbookQA. Transferring a paraphrase detector from the QQP dataset to MRPC, prompt tuning scored 76.3% accuracy against 73.1% for full fine-tuning. The authors interpret this as evidence that freezing the model limits overfitting to quirks of the training set. Storage is the other benefit: with a five-token prompt on T5-XXL, each task needs 20,480 parameters instead of another 11-billion-parameter copy, which the paper notes takes 42 GiB on disk.

The method has clear limits. On models below roughly a billion parameters, plain prompt tuning trails full fine-tuning by a wide margin on SuperGLUE, which is why P-Tuning v2 and prefix tuning add trainable vectors at deeper layers. Training can be slow to converge and sensitive to learning rate; the Google work used a learning rate of 0.3, far higher than typical fine-tuning rates. Learned prompts are hard to interpret, since their vectors rarely match real words; the paper found nearest-neighbor words formed loose semantic clusters, not readable instructions. Prompts also consume context: every virtual token occupies a position the input could have used. Finally, a prompt is tied to the exact model it was trained on, so upgrading the base model means retraining every prompt.

In practice the costs are modest. Training requires a forward and backward pass through the full frozen model, so GPU memory for activations is similar to fine-tuning, but optimizer state is needed only for the prompt, which removes most of the memory for gradients and Adam statistics. Hugging Face's PEFT library exposes the method through a PromptTuningConfig object where the user sets the number of virtual tokens and the initialization, either random, sampled vocabulary or a text string. Its documented example on a 559-million-parameter BLOOMZ model trains 8,192 parameters, about 0.0015% of the total, and the resulting checkpoint is a few kilobytes.

04工作示例

Training a complaint classifier with a soft prompt in Hugging Face PEFT

  1. Load a small causal language model such as bigscience/bloomz-560m and its tokenizer with the transformers library.

  2. Create a PromptTuningConfig with task_type CAUSAL_LM, prompt_tuning_init set to TEXT and an initialization string such as 'Classify if the tweet is a complaint or no complaint.'

  3. Set num_virtual_tokens to the token length of that string so every virtual token starts from a real word embedding.

  4. Wrap the model with get_peft_model and call print_trainable_parameters to confirm only a few thousand parameters are trainable.

  5. Format each labeled tweet as input text followed by the label word, then train for a few epochs with a relatively high learning rate.

  6. Save the adapter, which writes only the prompt matrix, and reload it on top of the untouched base model for inference.

它显示了什么

The saved adapter is a few kilobytes and contains roughly 8,192 numbers. Check it by generating labels for held-out tweets and comparing accuracy with an untuned base model given the same text prompt.

现实世界的实施

Google's 2021 study tuned soft prompts on a frozen T5-XXL model with 11 billion parameters and matched full fine-tuning on the SuperGLUE language-understanding benchmark while training a tiny fraction of the weights.

A support team can train one soft prompt to classify tweets as complaints or not complaints on bigscience/bloomz-560m using Hugging Face PEFT, which reports about 8,192 trainable parameters against 559 million in the base model.

A service hosting many customers can keep one frozen model in memory and batch requests from different tasks together, swapping only the small prompt matrix attached to each request.

Researchers built cheap ensembles by training five prompts for the same SuperGLUE task on a single frozen T5-XXL and taking a majority vote, which beat the average single prompt on every task.

The SPoT method from Google (ACL 2022) first learns a prompt on source tasks and reuses it to initialize a prompt for a new target task, matching or beating full fine-tuning on SuperGLUE.

即时调优的未来

Research since 2021 has focused on making soft prompts reusable and less dependent on model scale. SPoT (Vu and colleagues, ACL 2022) showed that a prompt learned on one or more source tasks can initialize a prompt for a new task, and its study covered 26 NLP tasks in 160 source and target combinations, reporting results that match or beat full fine-tuning on SuperGLUE with up to 27,000 times fewer task-specific parameters. P-Tuning v2 (ACL 2022) extended competitive results to smaller models by adding prompts at every layer. Open problems remain. Soft prompts are tied to one base model, so transferring them across model versions or architectures is an active question. Interpretability is limited because learned vectors rarely map to words. In industry, low-rank methods such as LoRA (2021) have become the more common choice for adapting open models, partly because their weights merge into the base model and add no inference tokens, while prompt tuning remains attractive where many tasks must share a single frozen model in one batch. Whether newer, larger models make soft prompts even more competitive, as the 2021 scaling result suggests, is still being studied on current architectures.

付诸实践

为什么这很重要

  • 速度与规模. 语言工作流程可以在不牺牲一致性的情况下更快地移动。
  • 交通与覆盖范围. 它扩展了跨语言和沟通方式的访问。
  • 更清晰的判决. 团队可以花更多时间进行判断,而自动化则可以处理重复。

留意

  • 幻觉的事实可以悄悄地进入报告、支持流程或研究成果。
  • 及时的敏感性可能会在类似的请求中产生不一致的结果。
  • 如果访问控制薄弱,敏感文本数据可能会暴露。

后续步骤

  1. 在推出之前定义输出格式、语气和质量标准。
  2. 当准确性很重要时,请使用可信来源进行地面响应。
  3. 为高风险输出保留人工审查检查点。
  4. 跟踪故障模式并定期重新训练提示或工作流程。

资料来源与延伸阅读

  1. arXiv (EMNLP 2021)The Power of Scale for Parameter-Efficient Prompt Tuning
  2. Google ResearchGuiding Frozen Language Models with Learned Soft Prompts
  3. arXiv (ACL 2021)Prefix-Tuning: Optimizing Continuous Prompts for Generation
  4. arXiv (ACL 2022)P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks
  5. arXiv (ACL 2022)SPoT: Better Frozen Model Adaptation through Soft Prompt Transfer
  6. arXivLoRA:大型语言模型的低秩适应
  7. Hugging Face PEFT documentationPrompt tuning

不断探索

免费通讯

获取每日AI简报

每个工作日早晨提供三条经过验证的AI故事,使用简明英文撰写。永久免费,无广告。

每个工作日发送一封邮件。一键退订。我们永不出售或分享您的地址。

测试一下自己

Take the Prompt Tuning quiz

每个答案即时反馈,课程通过后可获得可验证ID的可分享证书。

开始测验

支持免费AI教育。AI Understanding是一家501(c)(3)非营利组织——无广告,无付费墙,永不收费。 捐款

常见问题

What is Prompt Tuning?

Prompt tuning adapts a frozen language model to a new task by learning a short sequence of trainable vectors, called a soft prompt, that is prepended to every input. Only those vectors change during training, so one shared model can serve many tasks while each task stores a few thousand numbers instead of a full copy of the model.

什么是提示调音中的“软提示”?

软提示是嵌入空间中可训练的连续向量,而不是人类可读的单词。

即时调优在哪里添加其可训练向量?

提示调整仅在输入处添加软提示,这使得它比前缀调整更轻。

原论文强调了模型规模的哪些令人惊讶的效果?

该论文的标题强调了“规模的力量”:更大的模型让快速调整可以与完全微调相媲美。

谁引入了即时调整?

Google 的 Brian Lester、Rami Al-Rfou 和 Noah Constant 于 2021 年发表了提示调整论文。

快速调优如何能够从一个模型提供多项任务?

只有一个小的软提示是特定于任务的,因此一个冻结模型可以通过交换提示来承载许多任务。