从零开始构建一个大语言模型-第六章第一节

第六章目录

6.1 不同类型的微调
6.2 准备数据集
6.3 创建数据加载器
6.4 用预训练权重初始化模型
6.5 添加分类头
6.6 计算分类损失和准确率
6.7 在有监督数据上微 调模型
6.8 将大语言模型用作垃圾邮件分类器

本章内容涵盖

介绍不同的大语言模型微调方法 为文本分类 准备数据集 修改预训练大语言模型以进行微调 使用微调后的大语言模 型对新数据进行分类

到目前为止,我们已经编写了大语言模型(LLM)的架构,对其进行了预训练,并 学习了如何将来自外部来源(如OpenAI)的预训练权重导入我们的模型。现在,我 们将通过在特定的目标任务(如文本分类)上对大语言模型进行微调来收获努力的 成果。我们研究的具体示例是将短信分类为 “垃圾短信” 或 “非垃圾短信”。图6 .1突出了微调大语言模型的两种主要方式:用于分类的微调(步骤8)和用于遵循指 令的微调(步骤9)。

![[Pasted image 20250202203553.png]]
图6.1 编写大语言模型(LLM)的三个主要阶段。本章重点关注阶段3(步骤8):将预训练的大语言模型微调 为分类器。

6.1 不同类别的微调

微调语言模型最常见的方法是instruction fine-tuning和classification fine-tuning。指令微 调是指使用特定指令在一组任务上训练语言模型,以提高其理解和执行自然语言提示 中描述任务的能力,如图6.2所示。
从零开始构建一个大语言模型-第六章第一节_第1张图片

图6.2 两种不同的指令微调场景。上图中,模型的任务是判断给定文本是否为垃圾信息。下图中,模型得到一条关 于如何将英语句子翻译成德语的指令。

在分类微调中(如果你有机器学习背景,可能已经熟悉这个概念),模型被训练以识 别特定的一组类别标签,如“垃圾邮件”和“非垃圾邮件”。分类任务的示例不仅限于大语言 模型和电子邮件过滤:还包括从图像中识别不同种类的植物;将新闻文章分类为体育 、政治和科技等主题;以及在医学影像中区分良性和恶性肿瘤 。

关键在于,经过分类微调的模型只能预测其在训练过程中遇到过的类别。例如,如 图6.3所示,它可以判断某事物是“垃圾信息”还是“非垃圾信息”,但对于输入文本 无法给出其他任何判断。
从零开始构建一个大语言模型-第六章第一节_第2张图片

图6.3 使用大语言模型的文本分类场景。针对垃圾邮件分类进行微调的模型在输入时不 需要额外的指令。与经过指令微调的模型不同,它只能回复“垃圾邮件”或“非垃圾 邮件”。

与图6.3中所示的分类微调模型不同,指令微调模型通常可以承担更广泛的任务。我们 可以将分类微调模型视为高度专业化的模型,一般来说,开发一个专业化模型比开发 一个能在各种任务中都表现出色的通用模型更容易。

选择正确的方法

指令微调可提高模型基于特定用户指令理解和生成回复的能力。指令微调最适用于 那些需要根据复杂用户指令处理各种任务的模型,能提升灵活性和交互质量。分类 微调则适用于需要将数据精确分类到预定义类别的项目,如情感分析或垃圾邮件检 测。

虽然指令微调的通用性更强,但它需要更大的数据集和更多的计算资源来开发精通 各种任务的模型。相比之下,分类微调所需的数据和计算能力较少,但其应用仅限 于模型所训练的特定类别。

你可能感兴趣的:(从零开始构建一个大语言模型,语言模型,人工智能,自然语言处理,机器学习,python)