Datawhale 2024年12月19日
一篇AI冬令营第一期的优秀学习笔记!
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文深入探讨了大模型微调的关键技术和应用。首先介绍了大模型微调的必要性,强调了其在节省计算资源、提升模型性能和适应新领域方面的优势。文章详细讲解了微调的核心概念,包括微调的定义、目的以及微调后模型的作用。同时,还介绍了多种微调方法,如参数高效微调、提示工程等,并列举了微调的关键步骤,如数据集的收集与处理、基础模型的选择和微调方法的选择,最后还讨论了如何构建自己的微调数据集以及微调数据的来源。

🛠️ 大模型微调是在预训练模型基础上,使用特定任务的数据集进行进一步训练,以提升模型在该任务上的性能,它能有效节省计算资源并使模型更好地适应新领域。

🧮 微调的核心方法包括参数高效微调(如LoRA、Prefix-Tuning)、提示工程(通过精心设计的输入提示引导模型输出)以及指令微调(训练模型更好地遵循指令)。

📚 微调的关键步骤包括数据集的收集与处理,基础模型的选择,以及微调方法的选择。高质量的数据集对于微调至关重要,可以通过公开数据集或者自行构建。

🎯 微调后的模型可以部署到实际应用环境中,服务于特定的任务,如文本分类、图像识别等。微调的目的是得到一个调整后的模型,使其更适应新的任务或领域。

2024-12-18 22:30 浙江

知识点:大模型微调

 Datawhale冬令营 

学习:Task01,作者:Reacal_子轩

前言

大模型是指具有大规模参数和复杂计算结构的机器学习模型。它们通常拥有数百万到数十亿的参数,需要大量的数据和计算资源进行训练和推理。大模型在深度学习领域中占据重要地位,能够处理复杂的任务,如自然语言处理、计算机视觉和语音识别等。 

了解如何制作专属大模型

1、大模型制作平台

讯飞星辰 MaaS 平台,零代码低门槛领域精调,全栈工具链加速大模型效果定制。 

2、数据集制作

我们常见的微调数据集需要符合 Alpaca 格式 。数据存储形式:通常以 JSON 文件格式存储。这样方便数据的读取、处理和在不同的机器学习框架中使用。例如一个简单的 Alpaca 格式的 JSON 数据示例如下: 

[
{
"instruction": "用“梦想”、“坚持”和“成功”这三个词组成一个句子。",
"input": "",
"output": "只有坚持追逐梦想,才能最终取得成功。"
},
{
"instruction": "对《三国演义》这本书做一个简短的介绍。",
"input": "",
"output": "《三国演义》是中国古典四大名著之一,描写了从东汉末年到西晋初年之间近百年的历史风云,诉说了东汉末年的群雄割据混战和魏、蜀、吴三国之间的政治和军事斗争,塑造了一群叱咤风云的三国英雄人物。"
}
]

字段说明 : 

完整格式: 

{
"instruction": "人类指令(必填)",
"input": "人类输入(选填)",
"output": "模型回答(必填)",
"system": "系统提示词(选填)",
"history": [
["第一轮指令(选填)", "第一轮回答(选填)"],
["第二轮指令(选填)", "第二轮回答(选填)"]
]
}
]

制作方法 : 

1.手搓。整理好所需要的数据,按照对应的格式,使用代码完成数据集的构建。 

2.利用大模型完成。项目推荐:repo:https://github.com/KMnO4-zx/extract-dialogue.git

动手定制专属大模型

案例 朕的嬛嬛 

数据来源:https://github.com/datawhalechina/self-llm/blob/master/dataset/huanhuan.json 

体验嬛嬛 

prompt:嬛嬛,朕 emo 啦 output: 

思考:大模型微调基本都采用了Alpaca格式。关于这个数据集的格式特点,下列说法正确的是? 

A 数据集中 instruction 字段可以为空,因为有些任务不需要指令 

B input 字段必须包含具体的输入内容,否则数据集无效 

C output 字段是可选的,不是所有样本都需要标准答案 

D input 字段在开放式任务中可以为空字符串,这是格式允许的 

提示:"instruction":"人类指令(必填)","input":"人类输入(选填)","output":"模型回答(必填)",Alpaca 格式的数据集包含三个主要字段:instruction(任务指令)、input(输入内容)和 output(期望输出)。其中明确指出,若任务是开放式的,或者不需要明确输入,input 可以为空字符串。这正好对应选项 D 的说法。而其他选项都存在错误:A选项中 instruction 不能为空,因为它代表了模型需要完成的具体操作;B 选项错误地认为 input 必须有内容;C选项中 output 是必需的,因为它代表了模型训练所需的正确结果或参考答案。 

1、如何定制大模型?用到的技术主要是什么?

定制大模型是指针对特定任务或数据集,对预训练的大语言模型进行调整和优化,使其性能得到提升的过程。 

    微调 (Fine-tuning): 这是最常用的方法。利用预训练的大模型(如GPT-3、LLaMA等),在其基础上使用特定任务的数据集进行进一步训练。这个过程会调整模型的参数,使其更擅长处理目标任务。数据集通常包含与目标应用相关的输入-输出对。

    提示工程 (Prompt Engineering): 这是通过精心设计输入提示来引导模型产生期望输出的方法。它更侧重于控制模型输出,而非改变模型本身。技术包括少样本学习(在提示中提供少量示例)、思维链提示(引导模型进行推理过程)以及在提示中指定约束条件等。

    参数高效微调 (Parameter-Efficient Fine-Tuning, PEFT): 这类技术旨在降低微调的计算成本和内存需求。它们只更新模型参数的一个小子集,即使资源有限也能进行定制。

2、什么是微调?为什么要微调?微调得到的是什么?

什么是微调? 

微调 (Fine-tuning) 指的是在已经预训练好的模型上,使用新的数据集进行进一步训练的过程。这个预训练好的模型通常已经在大型数据集上学习到了丰富的知识和特征表示,而微调的目标是将这些通用的知识和能力适配到一个新的、更具体的任务或领域。 

为什么要微调? 

    节省计算资源: 从头开始训练一个大型模型需要海量的计算资源和时间,这对于大多数个人或机构来说都是不可行的。微调利用预训练模型作为起点,只需要在新的数据集上进行相对较少的训练,就能取得不错的效果,大大节省了计算成本和时间。

    提升模型性能: 预训练模型虽然具备一定的通用能力,但在特定任务上的表现可能并不理想。微调可以利用特定任务的数据集,调整模型的参数,使其更擅长处理该任务,从而提高模型的准确性和效率。

    适应新领域: 预训练模型通常是在通用的数据集上训练的,可能无法很好地适应特定领域的数据特征。微调可以将模型适配到新的领域,使其更好地理解和处理该领域的数据。

微调得到的是什么? 

微调得到的是一个调整后的模型。这个模型仍然基于预训练模型的架构,但是其参数已经被更新,使其更适应新的任务或领域。具体来说,微调过程会修改预训练模型的部分或全部参数,使其在新的数据集上取得更好的性能。这个调整后的模型可以用于部署,执行特定的任务。 

举例说明: 

假设有一个预训练好的图像分类模型,它能够识别各种常见的物体。如果想要让这个模型识别特定类型的花,就可以使用包含各种花朵图片及其对应标签的数据集对该模型进行微调。微调之后,模型的参数会发生变化,使其能够更准确地识别这些花朵。 

3、微调得到的模型可以用来做什么?怎么用?

微调得到的模型,本质上是一个经过特定数据集训练,使其在特定任务上表现更优的模型。它的用途非常广泛,取决于你最初预训练模型的类型和微调的数据集。 

将微调后的模型部署到实际应用环境中,例如嵌入到网站、移动应用或其他系统中。这可能需要使用模型服务器或其他部署工具。 

4、微调的关键步骤是什么?

    数据集的收集和处理。数据集的好坏也决定了微调后模型的好坏。

    基础模型的选择。不同的底座模型对于所对应的方向不同。

    微调方法的选择。lora,Q-lora,P-turning……

5、什么样的数据可以用来微调?从哪里可以找到?

用于微调的数据必须与目标任务高度相关,并且质量高。数据质量比数量更重要,因为低质量数据会导致模型性能下降甚至出现偏差。公开数据集:Hugging Face Datasets,OpenAI Dataset Search,Papers with Code,Kaggle等网站提供了大量的公开数据集 

如何构建自己的微调数据集? 


教程开源地址:

http://www.datawhale.cn/learn/summary/72

讯飞星辰 MaaS 平台:

https://training.xfyun.cn/?ch=maas-dw-mxb

一起“三连

阅读原文

跳转微信打开

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

大模型微调 参数高效微调 数据集 微调方法
相关文章