GENERATIVE AI
课程介绍:本门课程为台大李宏毅老师于2024年开设的《生成式人工智慧导论》。
学习内容为:很多同學以為這是一門教大家怎麼用 ChatGPT 的課程,其實 ChatGPT 只是大型語言模型中的一個,而大型語言模型只是生成式人工智慧的一部分。在這門課中,我們不會特別專注於特定軟體或平台的操作,而是要深入探索其背後的魔法——也就是原理。就好像,當你理解了魔術師是如何讓兔子從帽子中跳出來的原理後,你不僅能欣賞魔術的精彩,還能有機會在未來創造出自己的魔術。今天,使用 ChatGPT 等平台已經變得非常簡單,任何人都可以輕鬆上手,網路上也充斥著各式各樣的學習資源,但這門課的目標是帶你更進一步,讓你不僅只是使用工具,而是理解其背後的原理,修完這門課,當你再次使用 ChatGPT 或其他類似工具時,你將能夠更深入地理解它們的運作方式,利用它們的潛力和了解他們可能的極限。(摘自李宏毅老师课程简介)
Prompt Engineering
现在人工智能已经从“工具”变为了“工具人”。为了提高人工智能的表现有两个方法:1.改变人对人工智能沟通的方式但不改变模型的参数(Prompt Engineering
);2.训练新的人工智能模型or改变模型的参数。
在不訓練模型的情況下強化語言模型的方法:
1.Chain of Thought(CoT)
在于人工智能“沟通”的时候,加上“神奇的咒语”(神奇咒语并不一定对所有模型都有用)。a.让人工智能给出详细步骤eg.(
Step by step
);b.让人工智能先解释再回答、c.“情绪勒索”eg.(This is important to my career
)可以利用
Reinforcement Learning(RL)
来寻找“神奇咒语”。
另设计新的模型来生成“咒语”输入人工智能模型,利用一定标准来对人工智能模型给出的回答进行“评分”并反馈至设计的模型进行训练。
- 提供额外资料
这里模型的并没有被训练,参数没有改变。模型并没有真正学习到什么是正面的例子什么是负面的例子。
- 把任务分多步骤来解
模型分步骤拆解任务可以将任务分为多个更容易的子任务。如上图,一个数学问题,模型可以拆解为:列式子
+求式子答案
。
可以让模型自己反省
,有些问题求解较难,模型可能会“乱”给(接龙)一个答案出来,而证伪较为简单。例如上图中的鸡兔同笼,可以由答案很容易地进行证伪。
生成式模型的输入是由用户输入
+某一特定分布(正态分布)的输入
共同构成,所以即使每次输入相同的用户输入
也会得到不一样的结果(详情见生成式模型:影片1、影片2、影片3、影片4),可以简单地理解为:【掷骰子】。我们可以让相同输入得到次数最多的回答作为最终回答,此策略为Self-Consistency
。
- 使用工具
如上图,当让模型进行数学计算,会发现答案错误,甚至是简单的乘法运算。发现人工智能也有不擅长的事,可以借助工具让其实现画图、网页搜索、写程序等功能。
大语言模型的核心是Transformer
,其中的解码器Decoder
输出过程其实是一个“文字接龙”(是将Decoder
前面的输出做新的输入进Decoder
当输出为表示【End】的特殊符号
的时候停止)。
LLM会自行判断什么时候要使用工具,此时会生成一个特殊符号
,呼叫工具使用。