minsheng
2023-04-10 22:16:57 +08:00
GPT 这个模型训练的时候,优化的目标就是给定一串输入,预测出正确的输出。输入就被称为 prompt 。训练的时候就是找一堆文本,把一段话拆成两部分,给 GPT 喂第一部分,让它生成,再拿生成的结果跟第二部分比较。最后更新 GPT 的参数。
一开始,这个模型就是单纯作文本生成,比如给个开头写小说。到 GPT-3 的时候,人们发现这玩意可以完成简单的任务了,比如说有这么一串输入:
```
apple => 苹果
pear => 梨子
banana =>
```
然后 GPT-3 就会直接输出「香蕉」。你可以这么理解,GPT 这个模型的任务是给出一串文本的前半部分,猜出 /补全可能的后续。当模型的文本补全能力足够强大的时候,你把问题提出来,在写上类似「答案是:」(注意冒号),它补出的这段文本就和答案八九不离十了。
到这个时候还有一个问题,就是 GPT 这个时候还不是为对话优化过的。你可能每次都需要打上「答案是:」,它才会碰巧输出问题的答案。然后 OpenAI 就对它专门针对问答 /聊天的形式进行训练。然后就有了 ChatGPT:你问它,它可以直接回答。不需要用这些标点符号和特殊的文字来「提示」模型,应该输出答案。
所以 prompt 本质就是给语言模型的输入。