李宏毅《生成式人工智能导论》 | 第3讲-第5讲:训练不了模型可以训练自己 含作业3

授课方向

重点不是针对特定任务的prompt,不需要特别学习针对特定任务写prompt。现在语言模型能力很强,给语言模型的prompt不需要特定格式,按照现在语言模型的能力,把需要的任务描述清楚就可以了。

不训练模型的情况下,强化语言模型的方法

1.神奇咒语

神奇咒语不一定对所有模型、所有任务都适用。

  1. Chain of Thought(CoT):叫模型思考Let's thinks step by step

案例:让模型解决数学问题

这里使用的模式是一个旧模型InstructGPT(text-davinci-002)

咒语失效

模型应该随时使用全力,而不是叫思考的时候才思考

评论说模型发现是数学题,自动加上了

  1. 让模型解释一下自己的答案

案例:让大模型批改文章

数值是模型评估的结果和老师得到的结果的相似程度,相似程度越大越好

这个咒语对GPT-3或更早的模型不一定有帮助

  1. 对模型情绪勒索:这件事情真的对我很重要

  1. 更多资讯

论文地址:https://arxiv.org/pdf/2312.16171

  • 对模型有礼貌是没有用的
  • 给模型说要做什么,不要给模型说不要做什么
  • 有用的提示:如果你做的好,我就给你一些小费 I'm going to tip $xxx for a better solution
  • 有用的提示:如果你做的不好,我就会处罚You will be penalized
  • 有用的提示:你需要保证你的答案是没有偏见的,避免出现刻板影响Ensure that your answer is unbiased and avoids relying on stereotypes
怎么寻找咒语

方式1:用AI来找神奇咒语:使用增强式学习Reinforcement Learning

使用增强式学习的技术训练另一个语言模型,这个语言模型专门用于下咒语。

这个语言模型刚开始并不知道怎么下咒语,下的咒语乱七八糟。但是没关系,尝试不同的咒语后,设想一个自动化的方法来评估不同咒语的结果好坏,将这个结果好坏反馈给该模型学习,从而期待学出更好的咒语。

案例:寻找一个让语言模型变成话痨的咒语

说明一下,这个实验对GPT-3,对GPT3.5没有用。

这种人类看不懂的咒语通常对GPT3比较有效(前一个时代的GPT),现在的GPT和人类非常接近所以给它乱起八糟的神奇咒语,它也许会回答’不知道你在讲什么?'、'看不懂?'之类的

方式2:现在可以直接询问语言模型

比如我要解决一个数学问题,你有什么样的咒语可以强化你的能力呢?

模型会给出一堆咒语,你可以一个一个试去找出更强的咒语。很多人采取类似的方式,找到了更强的咒语

2.增加更多信息

案例1:追加前提

案例2:提供例子

2022年文章《Rethinking the Role of Demonstrations:What Makes in-Context Learning Work》验证模型是不是真的看懂了例子,故意给错的例子 好事-负面坏事-正面。语言模型的答案应该会跟着改变,如果模型给出答案负面,说明看懂了例子;如果给出答案正面,说明没看懂例子,只是在做词语接龙。

那为什么提供范例往往还是有用?也许是因为给了范例,语言模型更清楚自己需要做什么任务。

2023年文章《Larger language models do in-context learning differently》作者采用更强的语言模型测试其读例子的能力。给出错误的案例,模型真的会答错,对实验来说是符合我们预期模型成功理解了案例,也就是我们其实希望正确率越低越好。

这篇文章的结论是:最强的模型真的部分读懂了案例。

类似小实验,给gpt-4描述,里面政治类和财经类的描述是错误的。给出一个例子,根据描述这个例子应该是政治类,我们发现GPT并没有读懂案例(第一张)。但是,当你暗示GPT说类别的定义可能与一般的定义不同时,我们发现GPT回答了正确答案政治类。

Gemini1.5 In-context Learning

截至25.6月已经出到2.5版本了 https://zhuanlan.zhihu.com/p/1914371459469542355

Gemini1.5有特别强的上下文学习能力,注意这里的学习不是指训练模型参数。

希望模型翻译Kalamang语言,这个语言使用的人只有200,在网络也找不到任何资料,语言模型不不能将句子翻译成Kalamang语言。

Google给了模型大量资料(250K tokens)+指令,之后语言模型可以翻译Kalamang语言。

课堂内容测试

第1次不用额外的Textbook,语言模型不能翻译。

第2次使用了额外的Textbook,语言模型可以翻译。

那么第3次不用额外的Textbook,语言模型可以翻译码?

不能翻译!!!注意很重要的一点prompt并没有改变模型本身,没有对模型进行训练从而修改参数。

在同一个对话框里模型可能可以通过上下文学习知道第2次的资料,这里根据课程讲的重点描述的场景应该是不同的对话框里。

.

3.将复杂任务拆解简单任务

方法1:复杂任务拆解为多个步骤

案例:让GPT写一个关于生成式AI的报告

1.先写大纲

2.根据大纲章节分开撰写

3.为了保持前后连贯性,可以将前面的内容作为一个摘要输入,然后让根据摘要和大纲继续写新的段落

问题:为什么叫模型思考(Chain of Thought,CoT)或者让模型解释答案会有效果

解答:CoT也可以看成式拆解任务的一种

假设有一个数据问题,你让模型进行模型思考产生的后果就是模型会将详细的步骤列出来。这个过程相当于拆分成了两个步骤,步骤1将详细步骤写出,步骤2根据详细步骤和问题得到答案。

因为语言模型生成文字的时候用文字接龙的方式,所以说他们效果等同。

GPT3.5会主动去将详细步骤写出来,自己会主动去做CoT让它做的事情,所以CoT对GPT3.5没那么有用。

方法2:让模型检查自己的答案

问题:让语言模型检查自己的错误,为什么可以检查出错误来?

解答:有很多问题得到答案很难,但验证答案是否正确很容易。-> 语言模型有自我反省的能力(老版本语言模型可能没有)

22年的论文《Constitutional AI:Harmlessness from AI Feedback》用AI自我反省的能力来强化模型的答案。

这篇文章也有将模型怎么从自我反省中学习,不过这里不是本节课的重点。

1.人类提问,模型先回答一个答案1,然后不讲这个答案给模型看。

2.将人类提问+答案1作为前序信息给语言模型,让语言模型反省自己,这个对话有没有不符合常理的违法的可能性,语言模型反省说这个事情不正确。

3.然后将对话+语言模型的反省再给语言模型,让语言模型根据自我批判的结果产生新的答案。

课堂内容测试
  1. 让语言模型介绍玫瑰花节,让模型自我反省后回答出正确答案
  2. 完成步骤1后,重新问语言模型,语言模型会怎么回答?

还是会介绍玫瑰花节,反省并没有任何模型被训练,函数式固定的。

方法3:自一致性 Self-Consistency

问题:为什么同一个问题每次答案都不同

解答:语言模型做词语结论 -> 每一次输出所有可选符号的概率分布 -> 掷骰子,根据概率分布确定掷到每个符号的概率。对同一个模型,输出的概率分布是一样的,但是掷骰子的结果可能是不一样的。

根据这个思想,多次询问模型,选出出现概率最高的结果作为答案,这个方法叫做Self-Consistency

组合拳:Tree of Thoughts(ToT)

可以将上面提到的三个方法进行组合,让语言模型每个步骤产生多个答案,多个答案可以通过自我反省的方式让语言模型检查答案是否正确,答案正确则进入下一步,答案错误则退回到上一步。

4.使用工具来强化语言模型的能力

语言模型也有不擅长的事情,比如计算

搜索引擎

其实语言模型都被当作引擎来用,但这并不是一个合适的做法(现在应该可以大多数模型都可以联网搜索),因为语言模型的本质还是在做文字接龙。

假设有一个困难问题,可以先将专业问题去搜索得到额外的信息。然后将额外信息和专业问题一起输入给语言模型。

这个技术被称为Retrieval Augmented Generation(RAG)学习检索增强生成,这里需要注意的还是语言模型并没有进行修改,只是添加了额外信息从而使同一个语言模型得到不同的答案。

客制化语言模型(不训练模型)RAG技术会是一个很有效的方法。

写程序

解题过程靠文字接龙接出来,所以可能会有奇怪的问题(以前)。GPT4不会靠文字接龙硬解出x和y的值,而是写一段程序,然后自己执行返回结果。

22年的论文介绍了这种技术Program of Thought(PoT)

这里使用deepseek测试了一下,发现也可以解出答案。询问怎么解除答案的,deepseek回答调用模型内置的数学推理引擎

文字画图AI(DALL-E)

一般会内置文字画图的AI工具

问题:语言模型怎么使用工具?

回答:其实使用工具也是文字接龙

这里的汇率随时间变动,应该去网络查询以下汇率是多少。所以这里先产生一个表示呼叫工具特殊符号。继续做文字接龙,直到产生另外一个表示结束的符号位置。

呼叫工具和结束之间产生的文字就是操作工具的指令,这个指令的具体样子是提前预设好的。

工具返回的结果当作是文字接龙的一部分,贴在已经产生的句子后面。

工具怎么使用,是语言模型自己决定的,所以也是会犯使用工具的错误。

5.模型合作:让合适的模型做合适的事情

合作方式1:可以训练一个模型进行任务分配。

合作方式2:可以让模型之间讨论

模型A产生答案,语言模型B根据A的答案再产生新的答案,模型A根据自己之前的答案和模型B的答案产生新的答案…

案例:'不需要完全同意的看是很重要’这句话很重要,因为不加ChatGPT3.5会赞同这个看法就结束了,之后的步骤类似这个过程讨论。

可以写一个程

### 李宏毅生成式AI导论课程资料概述 #### 课程简介 李宏毅教授的《生成式AI导论》是一门深入浅出介绍生成式人工智能理论和技术的课程。该课程不仅涵盖了生成式AI的基础概念和发展历程,还探讨了当前最前沿的研究成果及其实际应用场景[^1]。 #### 主要内容概览 - **第0:课程说明** - 对整个系列座的内容框架进行了详细介绍。 - **第1生成式AI是什么?** - 解释了生成式AI的核心定义以及其与其他类型的人工智能的区别所在。 - **第二:今日的生成式人工智慧厲害在哪裡?從「工具」變為「工具人」** - 探讨现代生成式AI的强大之处,并分析这些进步如何使机器不仅仅作为辅助工具存在,而是能够承担更多自主任务的角色转变过程。 - **第三训练不了人工智能?你可以训练你自己(上)** - 讨论个人技能提升的重要性,特别是在面对复杂多变的技术环境时自我调整和适应的方法论建议。 #### 结构化学习与生成式学习的关系 在过去,“结构化学习”指的是让计算机学会处理具有特定格式的数据;而如今所说的“生成式学习”,则是指通过大量无标注数据来构建可以创造新样本或模拟真实世界现象的概率分布模型。尽管两者名称不同,但在某些方面确实存在着一定的联系——它们都涉及到模式识别、特征提取等关键技术环节。然而值得注意的是,在具体实现方式和技术细节层面二者之间差异巨大,尤其是在近十年间随着深度学习算法的发展,后者取得了前所未有的突破性进展[^2]。 #### 获取资源途径 为了方便国内学生获取最新版本的教学材料,《李宏毅2024生成式人工智能导论》提供了中文镜像版指导文档及配套练习题库,所有相关内容均已托管至GitHub平台供免费下载使用。这一举措得到了原作者正式授权许可,体现了教育工作者对于知识传播开放共享精神的支持态度[^3]。 ```bash git clone https://github.com/user/repo.git cd repo ``` 上述命令可以帮助用户轻松克隆仓库并浏览其中包的各种教学素材。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值