AI基本概念

暗香疏影 创作者

AI基础概念

大模型是什么?

2021年,斯坦福大学的研究员团队发表了一篇论文,提出了Foundational Models(基础模型,即大模型)的概念。简单来说,它是一类具有大量参数(通常在十亿以上),能在极为广泛的数据上进行训练,并适用于多种任务和应用的预训练深度学习模型。

训练步骤

大模型的训练整体上分为三个阶段:预训练、SFT(监督微调)以及RLHF(基于人类反馈的强化学习)。

预训练(Pre-training): 预训练的过程类似于从婴儿成长为中学生的阶段,在这个阶段我们会学习各种各样的知识,我们的语言习惯、知识体系等重要部分都会形成;对于大模型来说,在这个阶段它会学习各种不同种类的语料,学习到语言的统计规律和一般知识。但是大模型在这个阶段只是学会了补全句子,却没有学会怎么样去领会人类的意图,假设我们向预训练的模型提问:“埃菲尔铁塔在哪个国家?”模型有可能不会回答“法国”,而是根据它看到过的语料进行输出:“东方明珠在哪个城市?”这显然不是一个好的答案,因此我们需要让它能够去遵循人类的指示进行回答,这个步骤就是SFT(监督微调)。

监督微调(SFT,Supervised Fine Tuning): SFT的过程类似于从中学生成长为大学生的阶段,在这个阶段我们会学习到专业知识,比如金融、法律等领域,我们的头脑会更专注于特定领域。对于大模型来说,在这个阶段它可以学习各种人类的对话语料,甚至是非常专业的垂直领域知识,在监督微调过程之后,它可以按照人类的意图去回答专业领域的问题。这时候我们向经过SFT的模型提问:“埃菲尔铁塔在哪个国家?”模型大概率会回答“法国”,而不是去补全后边的句子。这时候的模型已经可以按照人类的意图去完成基本的对话功能了,但是模型的回答有时候可能并不符合人类的偏好,它可能会输出一些涉黄、涉政、涉暴或者种族歧视等言论,这时候我们就需要对模型进行RLHF(基于人类反馈的强化学习)。

基于人类反馈的强化学习(RLHF,Reinforcement Learning from Human Feedback): RLHF的过程类似于从大学生步入职场的阶段,在这个阶段我们会开始进行工作,但是我们的工作可能会受到领导和客户的表扬,也有可能会受到批评,我们会根据反馈调整自己的工作方法,争取在职场获得更多的正面反馈。对于大模型来说,在这个阶段它会针对同一问题进行多次回答,人类会对这些回答打分,大模型会在此阶段学习到如何输出分数最高的回答,使得回答更符合人类的偏好。

分词化(Tokenization)与词表映射

分词化(Tokenization)是自然语言处理(NLP)中的重要概念,它是将段落和句子分割成更小的分词(token)的过程。举一个实际的例子,以下是一个英文句子:
I want to study ACA.
为了让机器理解这个句子,对字符串执行分词化,将其分解为独立的单元。使用分词化,我们会得到这样的结果:
[‘I’ ,’want’ ,’to’ ,’study’ ,’AI’ ,’.’]
将一个句子分解成更小的、独立的部分可以帮助计算机理解句子的各个部分,以及它们在上下文中的作用,这对于进行大量上下文的分析尤其重要。分词化有不同的粒度分类:
‒ 词粒度(Word-Level Tokenization)分词化,如上文中例子所示,适用于大多数西方语言,如英语。
‒ 字符粒度(Character-Level)分词化是中文最直接的分词方法,它是以单个汉字为单位进行分词化。
‒ 子词粒度(Subword-Level)分词化,它将单词分解成更小的单位,比如词根、词缀等。这种方法对于处理新词(比如专有名词、网络用语等)特别有效,因为即使是新词,它的组成部分(子词)很可能已经存在于词表中了。

每一个token都会通过预先设置好的词表,映射为一个 token id,这是token 的“身份证”,一句话最终会被表示为一个元素为token id的列表,供计算机进行下一步处理。

1. Prompt ⼯程简介

Prompt (提示词) 是⼀个指令、问题或者语句,能被⽤来引导或指示⼀个语⾔模型⽣成特定的⽂本输出。Prompt 是⽤户与语⾔模型交互的起始点,它告诉模型⽤户的意图,并且期望模型能以有意义且相关的⽅式回应。通过精⼼设计的prompt,我们可以引导⼤语⾔模型(LLM)更好地理解⽤户的意图,并⽣成更准确、有⽤的回答。
Prompt⼯程涉及开发、优化和测试迭代prompt,以帮助⽤户有效地与语⾔模型进⾏交互。

2. Prompt 设计

2.1. 准备阶段:确定⽬的

在设计prompt之前,⾸先要明确你的⽬的是什么。你是在寻找特定的信息、⽣成创造性的内容,还是尝试解决⼀个复杂的问题?例如,如果你想要了解特定主题的深度信息,你可能需要构建⼀个开放式的提问,⽽不是预设⼀个简单的是或否问题。

2.2 Prompt 编写

2.2.1. Prompt 主要构成要素
LLM的prompt主要包含以下要素:

  1. 引导语或指示语:告诉模型你希望它执⾏哪种类型的任务,⽐如回答问题、提出建议、创作⽂本等。
  2. 上下⽂信息:提供⾜够的背景信息,以便模型能够更好地理解和处理请求。上下⽂信息可能包括具体情景、相关数据、历史对话信息等内容。
  3. 任务描述:明确地描述你期望模型执⾏的任务。它可以是⼀个问题、⼀个命令性语句或者是⼀个场景描述。
  4. 输出格式指示:如果你对输出结果有特定的格式要求,应在prompt中说明。⽐如,你可以指定输出应该是列表形式、⼀段连贯的⽂本还是⼀系列步骤等。
  5. 限制条件:设置⼀些约束条件,指导模型避免某些类型的回答或者引导模型产⽣特定⻛格的内容。例如,可以限制回答的字数、要求避免使⽤专业术语等。
  6. 样例输出:提供⼀个或多个例⼦可以帮助LLM理解所期望的输出类型和质量。
  7. 结束语:如果有必要,可以使⽤结束语来表示prompt的结束,尤其是在连续的对话或者交互中。
    这些要素并不是每个prompt都必须包含的,但根据特定的需求和上下⽂,合适地结合这些要素可以提⾼LLM⽣成的⽂本质量和相关性。
    图1 展示了⼀个包含上下⽂信息,任务描述,输出格式指示,限制条件,样例输出这⼏个要素的prompt例⼦。
    ai-1

2.2.2. Prompt 设计⽅法

明确的任务指示

  1. Promt应该清晰地定义你希望LLM完成的任务, 内容要尽可能清晰、具体,避免出现歧义。
任务指示不明确的prompt 指示明确的prompt
我想了解关于⽓候变化的影响。 列出五个由于⽓候变化⽽导致的全球性环境问题,并简要解释每个问题的具体影响。
帮我写点关于健康的东⻄。 请列出五种健康⽣活⽅式,并解释每种⽅式如何改善个⼈健康。
  1. 指定完成任务的步骤:如果有明确的步骤,通过指定完成任务需要的步骤,可以帮助LLM遵循正确的操作流程,从⽽更
    精确地⽣成回应
⽆任务完成步骤的prompt 有任务完成步骤的prompt
写⼀篇关于⽓候变化的⽂章。 为了写⼀篇关于⽓候变化的⽂章,请遵循以下步骤:1. 定义⽓候变化并解释其原因。2. 描述⽓候变化对环境的影响。3. 讨论社会和经济对⽓候变化的反应。4. 提出解决⽓候变化问题的策略。
我需要计划⼀场家庭聚会,你能提供⼀些建议吗? 为了计划⼀场家庭聚会,请按照以下步骤提供帮助:1. 确定聚会的⽇期和时间。2. 列出可能的聚会地点选项。3. 建议⼀份适合各年龄段的娱乐活动清单。4. 提供⼀份简单的餐饮菜单建议。5. 给出⼀个预算计划,包括场地、⻝物和娱乐的预估费⽤。请根据这些步骤提供详细的计划指南。

提供充分的上下⽂信息

  1. 提供背景信息或具体情境,帮助LLM更好地理解任务

在⾼年级物理课程中,学⽣们正在探索微观世界的⾏为规律。现在,请详细解释⼀下量⼦物理这⼀理论是如何描述和理解原⼦、分⼦等微观粒⼦的运动状态以及相互作⽤,并给出⼀个或两个著名的量⼦⼒学现象作为例⼦来帮助他们深⼊理解这⼀概念。

⼀家科技公司正在开发新的智能助⼿软件,他们想要让⾃⼰的员⼯了解⼈⼯智能的基础知识。请解释⼈⼯智能是什么,包括它的主要组成部分是什么,以及这些组成部分如何协同⼯作来完成复杂任务。

  1. ⻆⾊指定: 指定模型应扮演的⻆⾊,这有助于设定LLM回答的特定的语⽓和⻛格。

作为⽣物教师,向初中⽣详细解释植物进⾏光合作⽤的步骤和其重要性。

扮演⼀个历史学家,讲述第⼆次世界⼤战的起因、过程和结果,并说明其对现代世界的影响。

  1. 提供⼀些参考信息:对于⼀些涉及到专业知识的问题,在prompt⾥提供相关的专业参考资料能够增强模型对于该问题背景和上下⽂的理解,有助于减少错误或不准确信息(即“幻觉”)的⽣成,提⾼回答的质量和准确性。这种参考内容可能包括专业术语解析、⾏业标准、理论依据、实际案例或研究数据等。

请根据《中华⼈⺠共和国⺠法典》中关于合同法的相关规定,解释合同解除的条件。
参考内容如下:
法律条⽂:[提供《中华⼈⺠共和国⺠法典》中关于
合同解除的具体法律条⽂]

请根据ISO 9001质量管理体系标准,描述企业如何建⽴和维护⼀个有效的质量控制流程。
参考标准⽂档中的关键章节如下:ISO 9001关键章节:[提供ISO 9001标准中关于建⽴
和维护质量控制流程的关键章节内容]

利⽤分隔符

分隔符的应⽤能有效地划分输⼊prompt的多个段落,这样做可以显著提升LLM对每⼀部分的识别和理解能⼒。

例如使用”```”作为分割符:

1
2
3
4
5
6
~~~ # 实际上是这个按键但是不按Shift 也就是```
请分析以下评论的情感倾向:
~~~
~~~
评论内容:
"我对这个新的AI助⼿感到⾮常失望。它的响应速度慢,⽽且经常⽆法理解我的问题。"
1
2
3
4
5
请对提供的⽂本内容进⾏以下分析:- ⽂本摘要:提供该段落的简短摘要。
- 情感分析:确定⽂本的情感倾向,是积极的、消极的还是中性的。
- 关键信息提取:列出⽂本中提到的所有重要事实和数据。
⽂本内容:
“亿航智能(EH.US)涨超11% - 英为财情报道,亿航智能(EH.US)的股价在今⽇交易中涨幅超过11%。这⼀涨幅可能与该公司在全球⾸台国产“空中的⼠”项⽬中的进展有关,显示出市场对于⽆⼈机技术和空中交通解决⽅案的积极反应。”

使⽤固定格式
如果你需要LLM⽣成或处理⼀系列相似的信息,提供⼀个明确的格式可以增加效率和⼀致性。例如:

1
2
"针对以下三个国家:美国,中国,印度,提供各自在可再生能源上的最新投资情况。格式如下:国家 - 投资额 - 主
要领域。"

提供示例

  1. 给出输出示例:给出⼀个示例将有助于LLM理解期望的结果。特别是在有特定的输出格式要求时,给出示例有助于LLM遵循输出要求。
  2. 给出任务相关样例:
    该⽅法也称为⼩样本学习(few-shot learning),是指在训练模型时仅使⽤极少量的样本数据进⾏学习和推理的任务。给出任务相关样例可以带来如下优势:
    a. 直观展示:样例提供了⼀个直观的输出模板,帮助模型理解任务的具体要求。
    b. 减少误解:通过样例,模型可以更准确地把握⽤户的意图,减少对指令的误解。
    c. 提⾼⼀致性:样例确保了输出的⼀致性,使得模型⽣成的回答遵循相同的格式和⻛格。d. 简化指令:有时候,⼀个简单的样例⽐复杂的指令更容易被模型理解和执⾏。

让模型进⾏思考再回答
⼜名思维链(Chain-of-thought)prompting, ⽬的是引导LLM逐步展示其解决问题或推理的逻辑步骤,⽽不仅仅是直接给出最终答案。通常的⽅法是:在提出问题后,在prompt 的最开始或者结尾部分加上类似“让我们⼀步⼀步思考”或“逐步分析” (“Let’s think step by step.”)的语句来引导模型先给出思考过程,再给出答案。
以解决数学题为例: ⼀个正⽅形和⼀个等边三⻆形的周⻓相等。如果正⽅形的边⻓是4厘⽶,求等边三⻆形的边⻓。

3 ⾼阶Prompting技巧

Few-shot Prompting
Few-shot prompting 是⼀种技术,它允许⼤型语⾔模型(LLMs)在只有少量示例(few-shot)的情况下执⾏特定任务。这种⽅法的核⼼在于通过精⼼设计的提示(prompts)来引导模型,使其能够在有限的数据基础上进⾏有效的推理和学习。

1
2
3
4
5
uggest three names for an animal that is a superhero.
Animal: Cat
Names: Captain Sharpclaw, Agent Fluffball, The Incredible FelineAnimal: Dog
Names: Ruff the Protector, Wonder Canine, Sir Barks-a-LotAnimal: Horse
Names:

Zero-shot COT Prompting
这个技巧使⽤起来⾮常简单,只需要在问题的结尾⾥放⼀句 Let‘s think step by step (让我们⼀步步地思考),模型输出的答案会更加准确。

Few-shot COT Prompting
通过向⼤语⾔模型展示⼀些少量的样例,并在样例中解释推理过程,⼤语⾔模型在回答提示时也会显示推理过程。这种推理的解释往往会引导出更准确的结果。

ai-2

Adaptive few-shot Prompt

ai-3
指令部分描述任务,样例库是该任务的具体实例。
根据输⼊的问题的不同,动态地调整填⼊样例部分的内容。
可以结合RAG实现。

ReAct Prompting
核⼼思想是通过交替⽣成推理轨迹和特定任务的⾏动,从⽽在两者之间实现更⼤的协同效应。具体来说,推理轨迹帮助模型引导、跟踪和更新⾏动计划,处理异常情况;⽽⾏动则使模型能够与外部资源(如知识库或环境)进⾏交互,以获取额外信息。
常⻅应⽤场景:适⽤于任何需要结合推理和⾏动的任务, 例如⼯具调⽤,func call, 交互式决策制定, 智能助⼿等ReAct prompting的结构通常包括以下⼏个部分:

● 思考(Thought):这些是⼈类书写的⽂本,⽤于表达解决问题的思考过程,例如分解任务⽬标、提取重要信息、进⾏常识推理等。
● ⾏动(Action):这些是模型根据当前上下⽂和思考结果采取的⾏动,例如搜索、选择、购买等。观察(Observation):这是环境对⾏动的反馈,例如搜索结果、产品选项等。
● 观察(Observation):这是环境对⾏动的反馈,例如搜索结果、产品选项等。

ai-4

具体步骤:
Step 1: LLM generate Thought + Act
Step 2: 环境执⾏Act, 并返回observation
Step 3: 将 step 2 observation 拼⼊prompt
Step 4: repeat step 1-3 till LLM output the stop sign (i.e., the Act is Finish)

Self-consistency
参考: SELF-CONSISTENCY IMPROVES CHAIN OF THOUGHT REASONING IN LANGUAGE MODELS
常⽤场景:常⻅于推理场景,
核⼼想法:通过少样本 CoT 采样多个不同的推理路径,并使⽤⽣成结果选择最⼀致的答案。这有助于提⾼ CoT 提示在涉及算术和常识推理的任务中的性能。

ai-5

  • 标题: AI基本概念
  • 作者: 暗香疏影
  • 创建于 : 2025-03-06 18:00:00
  • 更新于 : 2025-03-19 00:00:00
  • 链接: https://blog.23ikr.com/2025/03/06/2025-03-06-ai-basic-study/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论