高阶提示词工程、幻觉综述

提示词工程技术

类比提示

“类比提示”利用类比推理的概念,鼓励模型生成自己的例子和知识,从而实现更灵活和高效的解决问题。

后退提示

“后退提示”专注于抽象,引导模型推导出高级概念和原理,进而提高其推理能力。

使用一个基本的数学问题来展示“后退提示”技术:

Original Question: If a train travels at a speed of 60 km/h and covers a distance of 120 km, how long will it take?

Options: 3 hours / 2 hours / 1 hour / 4 hours

Original Answer [Incorrect]: The correct answer is 1).

Stepback Question: What is the basic formula to calculate time given speed and distance?

Principles: To calculate time, we use the formula: Time = Distance / Speed.

Final Answer: Using the formula, Time = 120 km / 60 km/h = 2 hours. The correct answer is 2) 2 hours.

动态少样本

少样本学习—为基础模型提供几个任务和响应的示例,使模型能够迅速适应特定领域并学会遵循任务格式。有了足够的可用数据,可以为不同的任务输入选择不同的少样本示例,这种方法称为使用动态少样本示例。该方法利用一种机制根据其与待处理情况的相似度来确认示例。给定一个测试示例,使用k-NN聚类在嵌入空间中选择语义上相似的k个训练示例。具体来说,首先使用OpenAI的text-embedding-ada-002模型对候选示例进行嵌入表示以进行少样本学习。然后,对于每个测试问题x,从训练集中检索其嵌入空间中最近的k个邻居x1、x2、...、xk(根据text-embedding-ada-002的嵌入空间中的距离)。这些示例—在嵌入空间中与测试问题最相似的示例—最终被记录在提示中。

自动生成的思维链 (CoT)

思维链 (CoT) 使用自然语言语句,比如“我们一步一步地思考”,明确地鼓励模型生成一系列中间推理步骤。这种方法被发现显著提高基础模型进行复杂推理的能力。

多数投票集成

集成学习是指将多个算法的输出组合在一起,以产生比任何个别算法更好的预测性能。一种简单的技术是使用多种提示或者使用多种温度来生成单个提示,并报告集成成员中最频繁出现的答案。对于多项选择题,我们使用一种增加集成多样性的进一步技巧,称为选择打乱,即在生成每个推理路径之前打乱答案选项的相对顺序。然后选择最一致的答案,即最不受选择打乱敏感的答案,从而增加了答案的鲁棒性。

其他利器

OpenAI官方提示词教程与实战指南修正版

GPT Engineer和Reflexion—构建AI工程和prompt的利器

Awesome-Prompt-Engineering 最全的AI prompt知识库之一

一个包含了所有GPT AI代理系统提示词的资源库—chatgpt_system_prompt

可构建和定制您自己的AI城镇的热门项目—AI Town

crewAI—用于编排角色扮演的AI agent(超级智能体)

幻觉概述

LLM 中的幻觉是指生成不准确、荒谬或脱离实际的文本,这对使用这些模型的组织来说,可能带来潜在风险和挑战。

与数据库或搜索引擎不同,LLM缺乏准确引用其来源的能力,因为它们通过对提供的提示进行推断来生成文本。这种推断可能导致与训练数据不一致的幻觉输出。

幻觉的起因

数据集存在偏差

幻觉的一个重要原因源于训练数据中的源文本与参考答案之间的偏差(source-reference divergence)。这种偏差可能是由于启发式数据收集方法或某些自然语言生成 (NLG) 任务的固有属性所导致的。因此,生成的文本可能缺乏现实依据,并偏离提供的源文本。

“越狱”提示词

导致幻觉的另一个因素是 LLM 可能会被“越狱”提示词攻击,使用者通过越狱提示词操纵模型的行为或输出超出其预期能力的结果。

数据集不完整

此外,LLM 使用的庞大且多样化的数据集也引入了幻觉的可能性。这些数据集可能包含不完整、矛盾甚至错误的信息,对 LLM 的响应产生重大影响。LLM 只依赖于它们的训练数据,缺乏对外部真实世界的知识。因此,它们的输出可能包含不相关或未询问的细节,导致准确性和一致性崩溃。

训练过拟合

过拟合是机器学习中的一个常见挑战,也会导致 LLM 产生幻觉。过拟合出现在模型与训练数据过于接近时,这使得模型难以生成超出其所学习模式的原创文本。这种新颖性不足导致幻觉性反应,无法准确反映预期输出。

提示词模糊

此外,模糊或细节不足的提示词也可能导致幻觉。LLM 在面对模糊输入时可能會根据所学习的模式进行猜测。这种在缺乏提供信息的基础上生成答案的倾向,可能会导致产出捏造或毫无意义的文本。

幻觉的类型

LLM 中的幻觉可以以各种形式表现出来,每个形式都突出了生成准确可靠的文本所面临的挑战。通过对这些幻觉进行分类,我们可以了解 LLM 偏离预期输出的不同方式,并利用这些信息克服其局限性,并改善客户体验。让我们一起探索这些常见的幻觉类型。

图片

句子矛盾

LLM 有可能生成前后矛盾的句子,破坏内容的整体一致性。这些句子矛盾对于维护逻辑流程来说是重大挑战,并让用户感到困惑。近期针对 LLM 自相矛盾幻觉的研究表明,LLM 自相矛盾频率很高,其中 ChatGPT 的发生率为 14.3%,GPT-4 的发生率为 11.8%。

提示矛盾

提示矛盾指的是 LLM 生成的句子与使用的提示矛盾。提示矛盾会削弱 LLM 输出的可信度,因为它们破坏了与提供的输入所需的一致性。

事实矛盾

LLM 拥有生成虚构信息的能力,并错误地将其呈现为事实。事实矛盾发生在 LLM 生成不准确陈述并错误地将其呈现为可靠信息时。这些幻觉具有深远的影响,因为它们会导致错误信息的传播并削弱 LLM 生成内容的可信度。例如,一项针对 ChatGPT 幻觉的研究表明,ChatGPT 3.5 的总体成功率约为 61%,正确回答了 33 个提示,同时对 21 个提示词提供错误答案,导致幻觉率为 39%。类似地,ChatGPT 4 的总体成功率约为 72%,准确回答了 39 个提示,幻觉率为 28%。

无意义的输出

有时,LLM 会生成无意义的文本,无法传递任何相关或可理解的信息。

无关输出或随机输出

LLM 还可能生成无关或随机的信息,这些信息与输入或期望输出无关。这些幻觉导致生成额外的并且可能具有误导性的内容。

幻觉的应对策略

为了应对 LLM 幻觉带来的挑战,整合生成式 AI 的能力,可以采用各种策略,以尽量减少出现不准确或误导性答案的情况。

图片

通过以下方法,可以提高 LLM 输出的可靠性、准确性和可信度:

预处理和输入控制

  • 限制响应长度:通过设置生成响应的最大长度,可以最大限度地减少出现无关内容的可能性。这可以确保生成的文本保持一致,并为用户提供个性化和更好的体验。

  • 控制输入:提供特定的样式选项或结构化提示,而不是提供可自由输入的文本框,可以引导模型的生成过程。这有助于缩小可能输出的范围,并通过更明确的指导来降低出现幻觉的可能性。

模型配置和结构

  • 调整模型参数:生成的输出受到各种模型参数的影响,包括 temperature、frequency penalty、presence penalty 和 top-p。较高的 temperature 会增加随机性和创造性,而较低的值会使输出更加确定。增加 frequency penalty 会鼓励模型更加保守地使用重复的词元。类似地,较高的 presence penalty 会增加生成尚未包含在生成文本中的词元的可能性。top-p 参数通过设置词语选择的累积概率阈值来控制响应多样性。总而言之,这些参数提供了微调的灵活性,并可以在生成多样化的响应和确保准确性之间找到平衡点。

  • 使用审核层:使用审核系统(如额外的控制层)有助于过滤掉模型生成的不适当、不安全或无关的内容。

学习和改进

  • 建立反馈、监控和改进机制:为了确保 LLM 输出的可靠性,应该建立评估、反馈和改进机制。这包括根据用户反馈和互动进行提示改进和数据集调整,还可以进行严格的对抗性测试,以识别漏洞和潜在的幻觉来源。纳入人工验证和审查过程,以及持续监控模型性能并更新,是减轻幻觉和改善客户体验的关键步骤。

  • 适配特定领域:为了提高响应准确性并减少幻觉,可以向 LLM 提供特定领域的知识。用特定领域的信息增强知识库可以使模型回答查询并生成相关的响应。此外,可以使用特定领域的数据对预训练模型进行微调,将其与目标领域对齐来减少幻觉。

上下文和数据增强

  • 整合外部数据库:在预测过程中访问相关外部数据源可以丰富模型的知识。通过利用外部知识,模型可以生成更准确、更适合上下文且更难出现幻觉的响应。

  • 采用上下文提示工程: 设计包含明确指示或上下文线索的提示,可以帮助指导 LLM 生成过程,有利于模型生成更可靠、更一致的响应。

这些策略共同旨在通过控制输入、微调模型、整合用户反馈以及增强模型的上下文和知识来减少 LLM 中的幻觉。通过这些方法,可以提高生成响应的可靠性、准确性和可信度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/439829.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

mysql学习笔记8——常用5个内置方法

1count 对查询内容进行计数,并返回结果 2as as可以将查询出来结果赋予新名字 3sum sum可以查询某字段特定条件下的和值 4concat concat可以将多列数据合并成一列,只要concat()即可 5group_concat group_concat可以把多列…

SpringBoot+Ajax+redis实现隐藏重要接口地址

🏡浩泽学编程:个人主页 🔥 推荐专栏:《深入浅出SpringBoot》《java对AI的调用开发》 《RabbitMQ》《Spring》《SpringMVC》《项目实战》 🛸学无止境,不骄不躁,知行合一 文章目录 …

预付费电表的应用和预付费平台的操作方式

*、智能预付费电能表的应用分析 1应用功能的分析 这里主要讲的是与远程抄表系统的结合.如图2所示.为系统工作的程序.在远程抄表中,通信方式多种多样.主要有互联网、电话线通信、有线电视通信、光纤通信、GPRS、卫星通…

关于esp8266的一些经验汇总,新手必看

说实话,esp8266的nodemcu 已经使用了2年多了,各种问题遇到过,就尝试各种解决,而现在回头来看真的是稀里糊涂的在用,当然这个问题也同样涉及到esp32. 因为最近打算自己打一块esp8266的板,之前打的比较多的是…

Hi3516DV500+SC2210 AIISP 黑光相机

1. Hi3516DV500 Hi3516DV500是一颗面向行业市场推出的高清智能网络摄像头SoC。该芯片最高支持2路sensor输入,支持最高5M30fps的ISP图像处理能力,支持2F WDR、多级降噪、六轴防抖、多光谱融合等多种传统图像增强和处理算法,支持通过AI算法对输…

ABAP 内表排序总结

目录 ABAP 内表排序总结需求的场景二分法查找SAP 二分法查找SAP SORT排序 ABAP 内表排序总结 ABAP 内表排序SORT总结: 在创建完内表之后,最好使用sort去排序一下使用read读取内表,如果没有排序的话,可能会读取失败read内表只能读…

Fortran语法介绍(一)

个人专栏—ABAQUS专栏 Abaqus2023的用法教程——与VS2022、oneAPI 2024子程序的关联方法 Abaqus2023的用法教程——与VS2022、oneAPI 2024子程序的关联方法Abaqus有限元分析——有限元网格划分基本原则 Abaqus有限元分析——有限元网格划分基本原则各向同性线弹性材料本构模型…

创维汽车SKYHOME获德国设计奖,中国红设计闪耀世界

祝贺!创维汽车SKYHOME以卓越的国潮设计理念和突破性的设计语言强势出圈,荣获被誉为设计界“奥斯卡”德国iF设计奖! 创维汽车SYHOME是一款集完美设计理念、出色用户体验及创新实用功能为一体的优秀设计产品。SKYHOME的设计灵感来源于中式亭台楼…

【掌握数学公式的魔法】LatexEasy:让你的数学写作不再是难题!

内容摘要:在学术和研究领域,数学公式的准确表达至关重要。然而,传统的LaTeX编辑过程往往复杂且耗时。幸运的是,有了LatexEasy,一切都变得简单起来。这款工具不仅简化了数学公式的编辑流程,还大大提高了工作…

【梳理】k8s使用Operator搭建Flink集群

文章目录 架构图安装cert-manager依赖helm 安装operator运行集群实例k8s上的两种模式:Native和Standalone两种CRDemo1:Application 单任务Demo2:Session 多任务创建ingress 总结 架构图 参考:部署验证demo 安装cert-manager依赖 …

面试高频 牛群的位置排序---搜索插入位置

题目描述 农场里有一群牛,每头牛都有一个标签值,这些标签值组成一个升序排列的数组 labels。现在农场主想知道,给定一个目标标签值 target,如果在牛群中存在这个标签,返回它的位置,如果不存在,…

NSSCTF Round#13 WEB

1.flask?jwt? 在忘记密码下面有提示secretkey,那么就可以jwt伪造 自己注册个账号然后登录 点击拿flag提示你不是admin,并且cookie里面有个session,用工具解密一下 python flask_session_cookie_manager3.py decode -s th3f1askisfunny -c .eJwlzjsOAyEMANG7UK…

JavaScript实现小球移动(二)

这次采用了封装函数的方法&#xff0c;将小球向左向右移动封装在同一个函数内。 代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-wi…

高效办公-浏览器基本操作

日常我们使用电脑&#xff0c;其实很大部分是用于网络功能&#xff0c;这里面除了客户端程序剩余的就是通过我们的浏览器获取信息或者使用业务系统了&#xff0c;这里就简单学习下浏览器基本常识与操作。 一、浏览器是什么&#xff1f; 白话讲浏览器就是一个软件&#xff0c;我…

springboot3.x集成nacos踩坑,并实现多环境配置

一、nacos安装部署 springboot3.x集成Nacos首先需要将Nacos从1.x升级到2.x&#xff0c;建议直接安装2.x版本&#xff0c;手动将1.x的配置信息迁移到2.x中&#xff0c;先并行一段时间&#xff0c;待全部迁移完成稳定运行之后再停掉1.x&#xff0c;升级和安装、操作请查看官方文…

了解开源可视化表单的主要优势

为什么可视化表单深受大家喜爱&#xff1f;这就需要了解开源可视化表单的优势和特点了。在流程化办公深入人心的今天&#xff0c;提高办公协作效率早已成为大家的发展目标&#xff0c;低代码技术平台、开源可视化表单是提升办公协作效率的得力助手&#xff0c;一起来看看它的优…

2024新版微信小程序登录注册功能的实现,授权登录,退出,缓存讲解,小程序个人中心的实现,修改头像 图片上传功能的实现 新版登陆注册,头像上传,修改昵称

新版小程序授权登录注册获取头像昵称文档 一&#xff0c;无法获取用户的微信头像和昵称 最近好多同学在学习石头哥小程序课程的时候&#xff0c;遇到了下面这样的问题&#xff0c;在小程序授权获取用户头像和昵称时&#xff0c;获取到的是下面这样的。 到底是什么原因导致的…

Spring SPI介绍

1.什么是SPI (面试题) SPI全名Service Provider interface&#xff0c;翻译过来就是“服务提供接口”&#xff0c;再说简单就是提供某一个服务的接口&#xff0c; 提供给服务开发者或者服务生产商来进行实现。 Java SPI 是JDK内置的一种动态加载扩展点的实现。 这个机制在一…

docker——启动各种服务

1.Mysql 2.Redis 3.nginx 4.ES 注意&#xff1a;ES7之后环境为 -e ELASTICSEARCH_HOSTS http://ip地址:9200

VS Code引入ECharts

Charts是一个使用 JavaScript 实现的开源可视化库&#xff0c;涵盖各行业图表&#xff0c;提供了丰富的图表类型和交互能力。&#xff08;摘自菜鸟教程&#xff09; 下面我们来介绍一下VS Code引入ECharts的相关操作 检查电脑是否已经安装了Java语言的软件开发工具包 ECharts…