OpenAI的官方Prompt工程指南详解
1. Write clear instructions(写出清晰的指令)
把话说详细 & 让模型充当某个角色 & 使用分隔符清楚地指示输入的不同部分 & 指定完成任务所需的步骤 & 提供例子 & 指定所输出的长度
2.Provide reference text(提供参考文本)
让模型使用参考文本作答 & 让模型通过引用参考文本来回答
3. Split complex tasks into simpler subtasks(将复杂的任务拆分为更简单的子任务)
使用意图分类来识别与用户查询最相关的指令 & 对于需要很长对话的对话应用,总结或过滤之前的对话 & 分段总结长文档并递归构建完整总结
4. Give the model time to "think"(给模型时间“思考”)
让模型在急于得出结论之前找出自己的解决方案 & 使用内心独白来隐藏模型的推理过程 & 询问模型在之前的过程中是否遗漏了什么内容
5. Use external tools(使用外部工具)
使用基于嵌入的搜索实现高效的知识检索 & 使用代码执行来进行更准确的计算或调用外部API & 给模型提供特定的功能
6. Test changes systematically(系统地测试变更)
独家 | 解析Tansformer模型—理解GPT-3, BERT和T5背后的模型(附链接)
大约从2012年开始,我们已经用卷积神经网络(Convolutional Neural Network, CNN)相当成功地解决了视觉问题,比如识别照片中的物体,识别人脸,手写数字识别。
任何能够理解语言的模型都必须捕捉词序,而循环神经网络(Recurrent Neural Network, RNN)是通过在一个序列中,一次处理一个单词来做到的。
用一句话总结Transformer,一定是这样的: 当一个扩展性极佳的模型和一个巨大的数据集邂逅,结果可能会让你大吃一惊。
Transformer背后的创新可以归结为三个主要概念:
1. 位置编码(Positional Encodings)
2. 注意力机制(attention)
3. 自注意力机制(Self-Attention)
位置编码:将语序存储为数据,而不是靠网络结构。
注意力机制:事实上,2017年介绍Transformer的那篇论文标题并不是《我们向你介绍Transformer》(We Present You the Transformer)。相反,它被称为《注意力就是你需要的一切》(Attention is All You Need)。……注意力是一种机制,它允许文本模型在决定如何翻译输出句子中的单词时“查看”原始句子中的每一个单词。……模型如何知道在每个时间步中应该“注意”哪些单词呢? 这就是从训练数据中学到的东西。通过观察成千上万的法语和英语句子,该模型学会了什么类型的单词是相互依赖的。学会了如何遵守词性、复数和其他语法规则。
自注意力机制:自注意力使神经网络能够在单词周围的语境中理解单词,帮助神经网络消除单词歧义,做词性标注,命名实体识别,学习语义角色等等。
最流行的基于Transformer的模型之一BERT,它是“来自Transformer的双向编码器表示”( “Bidirectional Encoder Representations from Transformers”)的缩写。它是谷歌的研究人员在我2018年加入公司前后引入的,很快就进入了几乎所有的NLP项目,包括谷歌搜索。
BERT不仅指模型体系结构,还指经过训练的模型本身。
>>> 在阅读这篇文章之后,对注意力机制和自注意力机制的区别仍有所困惑,遂阅读了这篇博文,作者讲述的很清楚:
Transformer:注意力机制(attention)和自注意力机制(self-attention)的学习总结
同时,我又找智谱清言询问了两者的区别:
我:请用通俗的语言或例子,解释自注意力机制和注意力机制的区别。
ChatGLM:好的,我们可以用一个生活中的例子来解释这两个概念的区别。
假设你正在参加一个讲座,这时候有两种情况:
注意力机制: 想象你在听讲座时,老师会时不时地强调一些重点内容,并用手势或者语气告诉你:“这部分很重要,你们要注意听!”这时,你会更加关注老师强调的那部分内容,而其他部分则相对不那么关注。这里的“老师强调的内容”就相当于注意力机制中的“关键信息”,你的注意力被有选择性地引导到了这些关键信息上。
自注意力机制: 现在换一个场景,你在听讲座的同时,还在做笔记。在这个过程中,你会根据自己的理解,将讲座内容分成几个部分,比如“定义”、“例子”、“结论”等。你在做笔记时,会不断地回顾自己记下的内容,看看这些部分之间是如何联系起来的。这里的“回顾并理解各部分之间的联系”就相当于自注意力机制。自注意力机制可以理解为,每个信息点都在关注其他所有信息点,从而更好地理解和整合整个信息。
总结一下:
注意力机制:类似于有一个人(或规则)告诉你哪些信息是重要的,你需要关注这些信息。
自注意力机制:每个信息点都在互相观察,试图理解整个信息结构,从而更好地整合和利用这些信息。