参考:
https://www.youtube.com/watch?v=eC6Hd1hFvos
目录:
- 什么是 Fine-tune
- 为什么需要Fine-tuning
- 如何进行Fine-tune
- Fine-tuning- Supervised Fine-tuning 流程
- Fine-tuning参数训练的常用方案
- LORA 简介
- 示例代码
一 什么是 Fine-tune
Fine-tune 常用于小样本学习,适用于特定的任务,比如原始的GPT-3跟矿石一样,通过
Fine-tuning 技术可以加工成钻石。
1.1 Fine-tuning的概念
Fine-tuning,或称微调,是现代机器学习,尤其是深度学习领域中的一个重要且有用的技术方法。它涉及在一个已经预训练的模型基础上进行进一步的训练,使得这个模型更好地适应特定的任务需求。预训练模型通常是在大规模数据集上经过长时间训练的,这使得它学会了丰富的特征表示。通过Fine-tuning,研究者可以在预训练模型的基础上使用一个较小的数据集进行短时间训练,从而适应特定任务。这样做的主要好处是,可以利用预训练模型已经学到的知识,加快新任务的训练速度并提高模型的性能。
1.2 、Fine-tuning的核心思想
Fine-tuning的基本思想是分阶段训练神经网络。第一阶段,模型在一个大型通用数据集上进行训练,比如图像识别模型可以在ImageNet数据集上训练,而自然语言处理模型(如GPT)可以在海量文本上进行训练。在第二阶段,该模型被重新利用,并在更小的特定数据集上继续训练。通常来说,这样的特定数据集与目标任务更为相关,因此模型需要对其进行微调,以在特定任务上实现最佳性能。
具体来说,对于深度学习中的大多数任务,Fine-tuning通常会冻结某些早期层的权重,以保持它们学到的底层特征表示,然后只对后续几层进行更新,以让模型对特定任务更为适应。这种方法不仅减少了需要训练的参数数量,也降低了训练的计算资源需求。
1.3、Fine-tuning的应用
Fine-tuning之所以有效,是因为现代深度学习模型,尤其是卷积神经网络(CNN)和变换器(Transformer)等结构,通常在底层层次上学习到的特征具有很高的通用性。在NLP任务中,比如GPT模型,底层层次学到的词汇表示和基本语法往往可以广泛应用于各种下游任务。因此,通过Fine-tuning,可以将这些知识快速适应于如情感分析、机器翻译等具体任务。
Fine-tuning技术广泛应用于自然语言处理、计算机视觉等领域。以自然语言处理为例,预训练的语言模型(如BERT、GPT等)可以通过微调适应不同的下游任务,如文本分类、命名实体识别、情感分析等。通过微调,这些模型可以学习到特定任务的语言模式和特征,从而提升在任务上的性能。
二 为什么需要Fine-tuning
需要Fine-tuning的原因主要基于以下几个方面
2.1&