大模型微调(概念)

1 微调在训练过程中真正的位置

        微调是预训练后的一个步骤,大模型在预训练之前是完全没有没有任何功能的,他的学习目标是预测下一个token,简而言之就是预测下一个单词。预训练使用的数据通常是大量的从网上抓取的无标签数据,预训练过程是一个自我监督学习,因为模型本质上是通过预测下一个token来进行自我监督的。经过预训练后的模型会学习到很多知识,这些知识可以帮助他们更好地预测下一个token。但是基础的大模型可能没有回答问题的能力,他只是拥有这些知识,那么他如何成为一个聊天机器人呢?微调是一个可以帮助实现这一目标的工具。

1.1 预训练后的微调

        微调和预训练最大的不同是微调需要的数据要更少,但是质量更高。一般来说微调时提供给模型的都是一些结构化的数据,经过人工标记后得到的有标签的数据,当然也会有互联网抓取的无标签数据。

        生成任务的微调没有明确定义,实际上是在更新整个模型的权重,而不是像其他模型一样只更新了部分权重。在微调时,我们的目标和预训练时相同,都是预测下一个词。我们需要做的就是调整数据,使其结构更加明确,从而使模型的输出更加一致。同时我们已经有很多方法可以减少更新的部分。

1.2 微调的意义

(1)改变了模型的行为,使模型变得更加的稳定和集中。

(2)学习到更多的知识,可以学习在基础训练中没有学习过的特定领域的知识,纠正和覆盖过时的信息和知识。

1.3 微调需要做的工作

(1)输入文本,输出文本。这里可以分为两类,一类是提炼文本信息,给一个很长的输入要求一个简短的输出,通常用在文本阅读提炼,句子摘要上。另一类是扩展文本,通常用在写作上。

(2)明确区分两个或者多个任务,这种明确性是衡量微调成功与否的关键指标。

(3)清晰地知道自己的任务意味着知道是好的输出。这会帮助我们更好地去进行微调。

2 指令微调

2.1 什么是指令微调

        指令微调值微调的一个类型,通过这种方式模型学会了如何像聊天机器人一样遵守指令,为用户提供了更好的交互界面和模型模型互动。GPT3通过这种方式变成了chatgpt。

        指令微调的数据集通常是一种对话型的是数据集,或者说是指令应答数据集,例如公司客服的对话。有一种来自斯坦福的技术叫做Alpaca,使用chatgpt将数据集变为指令应答数据集。

2.2 指令微调的泛化

        可以教给模型新的行为,即使只用了很少的数据去训练,但是也会使模型对没有微调过的数据进行问答,前提是在预训练过程中已经学习到了很多知识。

2.3 微调的主要步骤

        微调的主要步骤包括数据准备、训练、评估。评估模型后需要再次准备数据进行优化,这是一个迭代优化的过程。特别是对于指令微调来说,数据集的准备是尤为关键的,需要根据特定的微调任务和类型来更新和定制数据。而训练和评估大抵都是相同的。

2.3.1 准备数据

        微调中最重要的是要有高质量的数据,最好也要覆盖各种场景具有多样性,有助于训练模型的对多样性,数据最好是真实的而不是其他模型生成的,数据量也是一个很重要的指标。

        首先收集指令-响应对的数据并连接,加入提示词模版。然后对数据进行分词,添加填充(padding)截断(truncation)数据以确保数据大小符合模型要求,最后一步就是将数据集分成训练集和测试集。

        那么分词到底是什么意思呢?分词数据就是将文本数据转化为数字,这些数字分别代表了文本的一部分,分词并不都是按照词来划分的,更多地是基于常见字符出现的频率,例如“ing”这个token。当用相同的解码器解码时就会从数字转化成原文。现在有很多种分词器,每个分词器实际上都与它训练的特定模型相关联,如果给了模型错误的分词器,此时模型就会出错。

2.3.2 训练过程

        事实上,大模型的训练和其他神经网络的训练过程相似,首先在框架中添加训练数据,然后计算损失值,更新权重利用模型的反向传播来更新模型进行迭代优化,最终使模型更加符合预期。

2.3.3 评估和迭代

        评估模型是非常非常困难的,通常情况下人工评估是最准确真实的。现在一种流行的评估方式叫做ELO,它通常是多个模型之间的AB测试。普遍采用的一个开放LLM基准测试利用了多种评估方法,集合了各种评估方法并将它们平均,一种是ARC测试主要是小学问题,HellaSwag测试常识MMLU覆盖众多小学学科,TruthfulQA则是评估模型在复制常见的错误信息上的表现。另一种用于分析和评估模型的框架叫做“错误和分析”,其目的是分类错误以便能够识别常见的错误并优先解决这些常见和重大的错误,通常在进行微调之前就可以做错误和分析这个测试,这有助于理解基础模型的表现确定哪种数据在微调中会有最好的效果.

  • 19
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值