一文掌握Prompt:万能框架+优化技巧+常用指标

随着大模型在2023年横空出世,“Prompt 工程” 应运而生,作为用好大模型最重要的武器,Prompt 的好坏对模型效果有着决定性的影响。然而,网络上大量相关文章多是罗列“Prompt 工程” 中的若干技巧,少有体系化的总结,让人看完依然不知道该如何入手。

本文希望结合我们在 “Prompt 工程” 中的实践经验,更加体系化地对 “Prompt 工程” 进行梳理,希望可以一步步地帮助大家用好大模型,人人都是 Prompt 工程师。

01、写在前面

1.1 Prompt 与 GPT 的前世今生

如今我们所讨论的大语言模型,大多专指2023年 “ChatGPT” 爆发以来出现的众多模型,而非广义的 Transformer 架构下的所有模型。而 Prompt 的概念也正是伴随 “GPT” 模型的发展应运而生的。我们要明白 Prompt 是什么,就要知道 Prompt 的前世今生,这就要从 GPT 的发展开始谈起。

一文掌握Prompt:万能框架+优化技巧+常用指标_第1张图片

如上图所示,自 2017 年 Transformer 诞生以来,在这个架构的基础上,以 BERT 为代表的模型和以 GPT 为代表的模型便以极快的速度向前发展。在 2018 年 BERT 诞生后,语言模型便开始重塑 NLP 领域,快速在市场中得到广泛应用,时至今日这些语言模型依然是 NLP 领域中最被广泛应用的模型,我们今天看到以 GPT 为代表的各类大模型也是其中之一。

从 GPT 的发展来看,我们可以大致划分为4个阶段, " GPT1 - GPT2 - GPT3 - ChatGPT " ,我们可以从这个发展过程中了解到 Prompt 是如何诞生的,以此更好的了解 Prompt。

阶段1:GPT-1 诞生在 Transformer 初期, 是最早期基于 Transformer 架构打造的模型之一,其采用了和 BERT 相同的范式,通过 “pretrain + finetune” 的方式, 首先让模型在大量未标注的数据上自监督的进行学习,完成预训练,随后在应用时再使用有监督数据进行微调,以此让模型可以适用于各种任务。在这种范式下 BERT 作为双向模型,可以充分的获取上下文信息,这让他在各类任务中都展现出了更精准更稳定的效果,而 GPT 作为单向模型,更擅长生成任务,而由于在这个阶段还处于大模型发展的早期,模型规模和效果还没有成长起来,因此生成的不稳定性使得 GPT 并没有被大规模应用。时至今日,即便 GPT 已经展现出了令人惊艳的效果,但目前 BERT 类的模型依然是各个业务使用更多的模型。

阶段2:相比 GPT-1,GPT-2 第一次提出了全新的范式, 当我们扩大模型规模增加训练数据,让模型在一个称为 WebText 的由数百万个网页组成的数据集上完成预训练后,模型不再需要任何监督数据,就可以完成各类任务。在 OpenAI 的 Blog 中我们可以看到,团队在研究过程中发现,提升模型规模及训练数据的体量,可以让模型在 zero-shot 任务中的效果明显提升, 这也在今天被认为是对 scaling law 的第一次发现,虽然当时还没有诞生智能涌现的现象。也有人解读,由于 BERT 在各个领域展现出的优异效果,GPT 被迫找到了新的发展方向,也为如今的智能涌现奠定了基础。由此,GPT 开启了与 BERT 截然不同的范式,并在新的范式下进行研发,专注模型在 zero-shot 中的效果。

阶段3:沿着 GPT-2 增大模型体量和训练数据规模的思路, GPT-3 使用了 570G 的训练数据,达到了 GPT-2 的15倍,参数量更是达到了惊人的 1750B,是 GPT-2 的 116 倍。

你可能感兴趣的:(prompt,人工智能,产品经理,大模型,RAG,langchain)