暑期实习基本结束了,校招即将开启。不同以往的是,当前职场环境已不再是那个双向奔赴时代了。求职者在变多,HC 在变少,岗位要求还更高了。
最近,我们又陆续整理了很多大厂的面试题,帮助一些球友解惑答疑,分享技术面试中的那些弯弯绕绕。
总结链接如下:
喜欢本文记得收藏、关注、点赞。更多实战和面试交流,文末加入我们
我们来看看大模型NLP-prompt工程总结:29个NLP任务下的39种方法
大模型NLP-prompt工程总结:29个NLP任务下的30种方法
我们来看看大模型在特定任务上的雕花,来看个NLP里面的prompt工程总数,《A Survey of Prompt Engineering Methods in Large Language Models for Different NLP Tasks》(https://arxiv.org/abs/2407.12994),**阅读并呈现了44篇研究论文的综述,其中讨论了29个不同NLP任务上的39种不同的提示方法
这对于增强我们对大模型prompt工程的理解是有帮助的,我们可以看看其提示工程方法与NLP任务的分类体系,以及其对这些工作进行的分析和比较结结论。
如针对每类NLP任务,都以表格的形式整理出了其对应的sota方案。
1、39种不同的提示方法
在具体量化指标上,论文列举了39种不同的提示方法。
-
Basic/Standard/Vanilla Prompting: 直接向LLMs提出查询,不进行任何提示工程。
-
Chain-of-Thought (COT): 生成一系列中间推理步骤来增强LLMs的复杂推理能力。
-
Self-Consistency: 通过不同的推理路径选择最一致的答案。
-
Ensemble Refinement (ER): 在COT和Self-Consistency的基础上,通过多次生成和投票选择最终答案。
-
Automatic Chain-of-Thought (Auto-COT): 自动生成推理链,减少对训练数据点的依赖。
-
Complex COT: 选择复杂数据点提示以增加LLMs的推理性能。
-
Program-of-Thoughts (POT): 生成Python程序,将计算部分交给Python解释器。
-
Least-to-Most: 解决CoT在解决比示例更难的问题时的不足。
-
Chain-of-Symbol (COS): 使用符号表示推理步骤,以改善空间问题的表达。
-
Structured Chain-of-Thought (SCOT): 使用程序结构来组织中间推理步骤,以更准确地生成代码。
-
Plan-and-Solve (PS): 解决CoT的计算错误、遗漏步骤错误和语义理解错误。
-
MathPrompter: 针对数学问题解决任务,通过生成代数表达式和Python函数来提高有效性。
-
Contrastive CoT/Contrastive Self-Consistency: 提供正面和负面示例来增强LLMs的推理能力。
-
Federated Same/Different Parameter Self-Consistency/COT (FED-SP/DP-SC/COT): 使用同义词众包查询来提高推理能力。
-
Analogical Reasoning: 利用类比推理,使用相关经验解决新问题。
-
Synthetic Prompting: 使用LLMs生成合成示例,增强现有手工示例。
-
Tree-of-Thoughts (TOT): 通过树状结构搜索组合空间,每个节点代表部分解决方案。
-
Logical Thoughts (LOT): 使用逻辑等价来改善零样本推理能力。
-
Maieutic Prompting: 使用深度递归推理来引出各种假设的演绎解释。
-
Verify-and-Edit (VE): 后编辑CoT生成的推理链,以获得更符合事实的输出。
-
Reason + Act (REACT): 结合推理和行动,解决多样化的语言推理和决策任务。
-
Active-Prompt: 通过识别最相关的数据点作为示例,帮助LLMs适应不同任务。
-
Thread-of-Thought (THOT): 处理长混乱上下文,保持信息流的连贯性。
-
Implicit Retrieval Augmented Generation (Implicit RAG): LLM自己检索给定上下文中的重要部分,然后回答问题。
-
System 2 Attention (S2A): 两步提示策略,解决LLMs因不相关上下文而做出错误判断的问题。
-
Instructed Prompting: 明确指示语言模型忽略问题描述中的不相关信息。
-
Program Prompting: 通过编写Python程序来解决问题,并通过外部Python解释器运行代码以获得最终答案。
-
Chain-of-Verification (COVE): 通过生成验证查询来检查基线响应中的错误,并修正这些错误。
-
Chain-of-Knowledge (COK): 通过动态知识适应和答案整合来解决幻觉问题,提高准确性。
-
Chain-of-Code (COC): 使LLM的代码导向推理更好,生成伪代码并模拟解释器的输出。
-
Program-Aided Language Models (PAL): 使用LLM读取自然语言问题并生成混合自然语言和编程语言语句的推理步骤。
-
Binder: 一种无需训练的神经符号技术,将输入映射到程序中,以增加对语法的覆盖范围并解决更广泛的查询。
-
Dater: 探索LLMs在少样本学习中的表基推理,通过分解证据和查询来提高效率。
-
Chain-of-Table: 将CoT技术应用于表格设置,通过多步骤表格提示方法提高表格理解的准确性。
-
Decomposed Prompting (DECOMP): 将复杂问题分解为更简单的子问题,然后由特定于子问题的LLMs解决。
-
Three-Hop Reasoning (THOR): 模仿人类情感/情绪理解任务的推理过程。
-
Metacognitive Prompting (MP): 基于元认知概念,包括理解输入文本、初步判断、批判性评估、做出最终决定和评估整个过程的置信度。
-
Chain-of-Event (COE): 用于摘要任务,通过提取特定事件并按时间顺序整合它们。
-
Basic with Term Definitions: 在基本提示指令中添加医学术语定义,以帮助LLM在回答问题时获得更多上下文。
2、29个不同的NLP任务的应用
并分析了它们在29个不同的NLP任务(包括数学问题解决、逻辑推理、常识推理、多跳推理、社交推理、上下文问答等)中的应用。
根据提供的文档内容,以下是29个不同的自然语言处理(NLP)任务的列表:
-
Truthfulness: 评估模型在事实性陈述上的准确性。
-
Free Response: 评估模型生成无约束文本回答的能力。
-
Code Generation: 涉及输入或输出为编程语言代码的任务。
-
Dialogue System: 评估模型在用户与机器对话环境中的语言生成能力。
-
Conversational Contextual Question-Answering: 评估模型理解文本并回答一系列相互关联问题的能力。
-
Spatial Question-Answering: 评估模型处理空间推理的能力。
-
Context-Free Question-Answering: 评估模型依赖其内嵌知识库或开源知识库回答问题的能力。
-
Contextual Question-Answering: 评估模型仅依赖给定上下文回答问题的能力。
-
Social Reasoning: 评估模型理解人类社交互动的能力。
-
Causal Reasoning: 评估模型处理因果关系的能力。
-
Multi-Hop Reasoning: 评估模型连接来自不同上下文部分的证据以回答问题的能力。
-
Commonsense Reasoning: 评估模型使用人类常识进行判断的能力。
-
Logical Reasoning: 评估模型遵循一系列命令并解决问题的能力。
-
Mathematical Problem Solving: 评估模型在非表格环境中执行数学计算的能力。
-
Table-Based Truthfulness: 在表格环境中评估模型的事实性陈述能力。
-
Table-Based Question-Answering: 涉及在表格环境中的问答任务。
-
Table-Based Mathematical Problem Solving: 在表格环境中评估模型的数学计算能力。
-
Recommender System: 评估模型处理输入并推荐最相关项目列表的能力。
-
Emotion/Sentiment Understanding: 评估模型理解人类情感或情绪的能力。
-
Machine Translation: 评估模型在两种语言之间翻译的能力。
-
Named Entity Recognition: 评估模型识别给定输入文本中预定义类别或类别的对象的能力。
-
Word Sense Disambiguation: 评估模型在不同上下文中区分单词不同含义的能力。
-
Summarization: 评估模型将长文本分解为保留关键信息的较小片段的能力。
-
Paraphrasing: 评估模型使用不同单词重写输入文本同时保持原始语义的能力。
-
Stance Detection: 评估模型确定文本作者对某个主题或目标的态度的能力。
-
Natural Language Inference: 评估模型确定假设是真、假还是未定的能力。
-
Relation Extraction: 评估模型识别预定义类别或类别的对象或命名实体之间的语义关系的能力。
-
Language-Based Task Completion: 评估模型遵循基于语言的导航命令以完成任务的能力。
-
Multilabel Text Classification: 评估模型将每个输入分配到一组预定义目标标签的能力。