人工智能AI

SFT调优快速手册

2024-02-10  本文已影响0人  梅西爱骑车

一、目录:

  1. SFT概述

  2. 数据准备

  3. 选择SFT的参数

二、SFT概述

2.1 什么是SFT

监督微调(SFT)是指采用预先训练好的神经网络模型,并针对你自己的专门任务在少量的监督数据上对其进行重新训练的技术。在千帆平台上已经预置了ERNIE-Bot系列大模型和BLOOM系列大模型。

2.2 SFT在大语言模型中的应用的作用

三、数据准备

3.1 LLM大语言模型所需SFT数据

为每个示例准备文本输入和标签,以问答形式呈现,如下所示:

问答格式可以处理成多种文件格式, 例如JSONL, Excel File, CSV; 核心是要保持两个独立的字段, 即问题和答案。

可以从公开网络下载指令数据模板, 并尝试替换内容: https://huggingface.co/datasets/BAAI/COIG

3.2 Prompt优化

数据规模、数据多样性

在SFT上数据规模的重要性低于数据质量, 通常1万条左右的精标数据即可发挥良好的效果。
在扩充数据规模时需要注意数据多样性,多样性的数据可以提高模型性能
多样性除了从原始数据中获取,也可以通过prompt_template方式构建,对prompt指令进行数据增强,比如中文翻译英文的指令可以拓展为,中译英,翻译中文为英文等相同语义的指令。
在不扩大提示多样性的情况下扩大数据量时,收益会大大减少,而在优化数据质量时,收益会显著增加。

数据质量

挑选质量较高的数据,可以有效提高模型的性能。

数据质量用户需尽量自己把控,避免出现一些错误,或者无意义的内容。虽然平台也可以提供数据质量筛选的能力,但不可避免出现错筛的情况。

数据质量可以通过ppl、reward model,文本质量分类模型等方式进行初步评估。经过人工进行后续筛选。

选择SFT的超参数

附:大语言模型的P-Tuning是一种高效的微调技术,它旨在通过调整模型的一小部分参数来实现与全量微调近似的效果。这种技术的全称是Parameter-Efficient Fine-Tuning,简称为PEFT。其核心思想是在保持预训练模型大部分参数不变的情况下,只对一小部分参数进行更新和优化。
P-Tuning是一种在大规模预训练语言模型上进行微调的技术,它通过引入可学习的提示(prompts)来调整模型参数,从而让模型更好地理解和生成特定领域的文本。以下是P-Tuning的主要实现方式和步骤:

准备领域特定的少量样本数据和领域信息。这些数据将被用来训练模型,使其适应新的领域。

选择合适的预训练模型,如GPT-2作为基础模型。这个模型将作为起点,在此基础上进行微调。

创建可学习的提示(Prompt Embeddings)。这些提示被转化为嵌入向量,并加入到模型的输入层。提示的位置可以是输入序列的开始、结束或中间,这取决于任务的需求。

设计微调网络结构。P-Tuning通常采用多层感知机(MLP)和长短期记忆网络(LSTM)的组合结构,对提示嵌入进行处理。

进行有监督的微调。这意味着你需要为模型提供带标签的训练数据,以便模型能够学习到如何在新领域中生成正确的文本。

训练模型。在训练过程中,只有提示嵌入和相关联的模型参数会被更新,而大部分预训练模型参数保持固定。

评估和部署模型。一旦模型训练完成,就可以用它来生成新的文本或在特定任务上做出预测。

通过这种方式,P-Tuning不仅保持了预训练模型的大部分知识,而且通过少量的训练数据就能使模型适应新的领域,这在处理零样本和小样本学习任务时尤其有效。此外,由于只更新了模型的一小部分参数,P-Tuning在训练速度和显存占用方面都有优势,尽管它在某些任务上的性能可能会略逊于传统的全量微调(Fine-Tuning)方法。

上一篇下一篇

猜你喜欢

热点阅读