add seventh chapter
This commit is contained in:
parent
e5ce40f468
commit
9f77e585b5
Binary file not shown.
|
After Width: | Height: | Size: 1.3 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 867 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.1 MiB |
Binary file not shown.
|
Before Width: | Height: | Size: 572 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 481 KiB |
|
|
@ -276,13 +276,13 @@ tensor([ -9.5042, -10.3796, -11.3677, -11.4798, -9.7764, -12.2561])
|
|||
>
|
||||
> 假设我们有三个概率值,分别为0.2、0.1和0.05。如果我们计算这些值的乘积,结果是:
|
||||
>
|
||||
> $$ 0.2×0.1×0.05=0.001 $$
|
||||
> $$0.2×0.1×0.05=0.001$$
|
||||
>
|
||||
> 这个值非常小,尤其在深度学习或概率模型中,我们通常会有成千上万个概率需要相乘,这样会导致最终的乘积接近0甚至为0,造成数值计算的不稳定性。
|
||||
>
|
||||
> 如果我们对这些概率值取对数,然后相加,而不是直接相乘,我们可以避免这个问题。例如,对这三个值取自然对数(logarithm)后再相加:
|
||||
>
|
||||
> $$ ln(0.2)+ln(0.1)+ln(0.05)≈−1.6094+(−2.3026)+(−2.9957)=−6.9077 $$
|
||||
> $$ln(0.2)+ln(0.1)+ln(0.05)≈−1.6094+(−2.3026)+(−2.9957)=−6.9077$$
|
||||
>
|
||||
> 虽然这个和也是负数,但它不会像直接相乘的结果那样接近于0,避免了数值下溢的问题。**对数的累加性质**允许我们将原本的累乘操作转换为累加,使得计算更加稳定和高效。
|
||||
>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,40 @@
|
|||
本章涵盖以下内容:
|
||||
|
||||
+ LLM 指令微调过程概述
|
||||
+ 为监督式指令微调准备数据集
|
||||
+ 批量组织指令数据
|
||||
+ 评估 LLM 通过指令遵循生成的内容质量
|
||||
+ 评估一个经过指令微调的 LLM
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
在之前的章节中,我们实现了 LLM 架构,完成了预训练,并将外部的预训练权重导入模型。然后,在上一章中,我们专注于对 LLM 进行特定分类任务的微调,即区分出正常短信和垃圾短信短信。在本章中,我们将介绍如何微调 LLM 以遵循人类指令(见图 7.1),这是开发用于聊天机器人、个人助理和其他对话任务的 LLM 的主要技术之一。
|
||||
|
||||
<img src="../Image/chapter7/figure7.1.png" width="75%" />
|
||||
|
||||
图 7.1 展示了微调大型语言模型的两种主要方式:用于分类任务的微调(步骤 8)和用于指令遵循的微调(步骤 9)。上一章中我们已实现了步骤 8,本章将重点讲解如何使用指令数据集微调 LLM,具体过程将在下一节进一步说明。
|
||||
|
||||
|
||||
|
||||
## 7.1 指令遵循微调简介
|
||||
|
||||
在第 5 章中,我们看到,对 LLM 的预训练是一种逐词生成的学习过程。预训练后,LLM 具备根据输入片段补全文本的能力,可以完成句子或生成段落。
|
||||
|
||||
然而,预训练的 LLM 在处理特定指令时往往表现不佳,例如,“修正该文本的语法”或“将该文本转换为被动语态”。我们将在第 7.5 节中详细讨论一个具体示例,演示如何加载预训练模型并基于其进行指令微调。
|
||||
|
||||
本章将专注于提升 LLM 遵循指令并生成理想回答的能力,如图 7.2 所示。
|
||||
|
||||
<img src="../Image/chapter7/figure7.2.png" width="75%" />
|
||||
|
||||
在本章的剩余部分,我们将逐步实现指令微调过程,首先从数据集准备开始,如图 7.3 所示。
|
||||
|
||||
<img src="../Image/chapter7/figure7.3.png" width="75%" />
|
||||
|
||||
数据集准备是指令微调中的关键环节,本章的大部分内容都将围绕这一过程展开。下一节将开始实现下载和格式化数据集的代码,如图 7.3 所示,这是数据集准备过程的第一步。
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue