prompt engineering

在LLM兴起之后,很多工作都在如果更好的设计prompt的形式上下了很多苦功夫,设计提示词的这个学问就是prompt engineering。我之前一直觉得这是一个静态的过程,建议刚接触的同学先学习吴恩达和openai合作制作的prompt engineering的知道课程,另外也有中国热心的网友也翻译了自己的中文版本,还加入了一些自己的思考,推荐骆驼

我是从斯坦福的羊驼模型开始接触instruction tuning的,instruction tuning提供给了用户一种在特定数据集上低成本finetune模型的可能性,后来又接触到了斯坦福新出的paper:Demonstrate-Search-Predict: Composing retrieval and language models for knowledge-intensive NLP,这是一篇用信息抽取技术retrieval models来扩充query,从而使得LM能够得到更多context的技术,这才让我了解到其实除了最基础的我们知道的那些prompting的方式,比如zero-shot,few-shot,chain-of-thought方式,还有一些方式在这些方式上进行了创新。

lilian weng的博客在chiin-of-thought章节之后就介绍了自动prompt design和augmented language models。这些对于我来说都是新东西,新技术发展的很快,我学习的过程其实也是在织自己知识结构中的这个网,从接触GPT以来写了好几篇博客,零零散散的,很多博客都是只局限于其中的技术,时不时我需要停下里思考这些技术之间的关联,从而把整个逻辑理顺。技术的发展或者一个模型一个方法的出现都是有路径可循的,我希望能把这些路径穿起来,摸清楚发展脉络。

Augmented Language Models

本节参考review,我之前理解augmented llm有点狭隘,最基本的方法是从一个知识库或者搜索引擎中搜索query相关的内容,将这些内容加到prompt里,从而一定程度上解决大模型的幻觉问题,这种思路的典型应用见Internet-augmented language models through few-shot prompting for open-domain question answering. 但上面提到的这篇review把问题更细化一点,从更高的维度去分析现在的这些方法,第一个就是reasoning,也就是把复杂问题如何细化成LLM可以解决的简单问题,第二个是Tools,也就是我们上面介绍的应用的场景,tool帮我们抽取相关信息(document retriever)。关于更具体地解释可以阅读review地1.2节。

Useful Links