大模型微调(Fine-Tuning)教程,大模型微调零基础入门到精通,看这一篇就够了!

大模型微调的过程

💡建议严格按照此流程来,不要跳步,不然可能会做无用功。

比如如果没有好好构建数据集,最后发现微调模型效果不佳是数据集的问题,就事倍功半了。

方案的构思与落地:几种可能的选择

我有个问题,我现在写了一个prompt,用户可以自己输入内容,但我不想让用户看见这个prompt,只有一个输入区在那儿,要怎么实现呢?

我怎么能够调用两个模型,让他们相互衔接呢?

……

在正式开始之前,需要先想好以下问题:

  • 自己想要做的到底是什么?它要达到什么效果?预期目标是什么?

  • 自己做的到底是一个广而泛之的大模型、还是一个封装好的产品(如智能体)?

  • 创新点是在于专业领域的深耕(意味着需要训练新模型)、还是已有内容的衔接(意味着调用已有模型,用到工作流),还是二者都有?

❓什么是Agent?

——Agent指的是基于人工智能技术,尤其是大型语言模型(LLM),能够感知和理解环境,并采取行动以完成目标的智能实体

在讯飞MaaS上,如果我们想做一个Agent,可以在大模型应用平台中实现。

❓什么是workflow?

——工作流(Workflow)是指完成特定任务或一系列任务的步骤和过程。在讯飞MaaS的大模型应用平台中有对应的模块。目前已经上线的节点有:大模型、代码、决策、分支器、变量提取器、文本拼接等等。

如果你的idea需要训练新模型,那么可以继续往下。但如果你的idea只是涉及已有模型的流程拼接,则可以直接用workflow实现,不涉及以下过程。

数据集的获取与构建

数据集的获取

练成数据集,微调就成功了一大半。

——不要葱姜蒜老师

对于新手而言,我们可以根据数据集的可获得性分为两种:公开已有的、难以获得的。

❓如何获得公开已有的数据?

——最简单的数据集获取方案是去相关开源平台搜索并下载,如:github、hugging face、魔搭等平台。尤其是小说等文本类数据特别多。

也可以尝试从网站上爬取,但需要一定技术支持。

❓如果我需要的数据全网没有/难以获得怎么办?

——自行构建数据集。

然而,自行构建几百上千条数据集非常麻烦,如何能够快速实现这一过程?这里介绍两个思路

  • 借助讯飞MaaS平台的数据增强功能。可以先尝试自己手搓50条数据,然后再借助讯飞MAAS平台【数据增强】功能让数据翻倍。

  • 借助大模型快速构建数据集。手搓了几十条数据后,把数据作为示例丢给大模型,让它输出类似的内容

  • ❗一开始不要让大模型生成太多,建议第一轮先让大模型生成20条,精读这20条,找大模型经常会犯的错误。然后把这些错误作为错误示例加入到Prompt中

  • 个人经验:大模型一轮可以做到生成200条及以上的数据

一个简单的Prompt示例(来自@August)

参照示例,输出20个类似的“近期运气”问题给我,注意要生活化、语言不要太夸张,最好不要有场景、有类似于“在活动中”、“在比赛中”之类的定语与状语;语句不要太累赘、尤其是不要有太多定语,正常人不这样说话。示例:我这个季度顺利吗?``我这个季度会发财吗?``最近有哪些事情在等着我?``最近会发生什么事情?``近期我能否被幸运之神垂青?

数据的清洗

原始数据集并不符合模型训练可以接受的形式,因此需要对原始数据进行清理,处理为模型可以学习的格式。

在讯飞MaaS平台中,微调数据集通常以AIpaca的形式构建。具体内容详见讯飞开放平台说明。

AIpaca

特点:结构简单,适用于文本生成、翻译、总结等任务,尤其是单轮的、任务导向的指令微调

  • instruction任务的指令,类似于用户的直接输入

  • input任务所需的输入内容。通常情况下为空(因为若任务是开放式的,或者不需要明确输入,可以为空字符串)

  • output在给定指令和输入的情况下,模型需要生成的期望输出,也就是对应的正确结果或参考答案。

  • system可以理解成模型的预先Prompt

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

简单来说,这个结构可以理解为:请大模型记住现在的角色history,当用户输入类似于instruction内容的时候,大模型需要返回类似于output的结果

相当于帮助大模型建立了问题-回答之间的映射关系。

  • 可以把数据集理解为给模型的练习题

  • instruction+input = 问题

  • output = 答案

模型基底的比较

在正式开始调试模型前,特别重要的是选择一个合适的模型基底。尽管讯飞MaaS平台已经对模型擅长的内容有了一些介绍,但具体到各个垂直领域,还是需要自行测试与总结。

其中,讯飞MaaS平台上提供的Llama3模型主要基于英文语料(训练语料中只有0.2%是中文)所以经常会有同学有以下问题:

❓如何实现Llama3的输出是中文?

——输入自己的中文数据集,然后选择全参数微调,然后再次进行lora训练。

同时,也可以在自己的中文数据集的system部分加入“请输出中文”(但目前讯飞MaaS平台好像不支持这个)

模型训练

构建好数据集、选择好模型基底后,可以开始训练模型啦!

参数的选择

在训练模型的过程中,有很多参数可以选择。

💡个人的经验是,需要尤其注意其中的“训练次数”!若数据集超过10000了,训练次数最高也要低于5,不然会出现过拟合问题(下章)

效果的评估

大家都说效果不好,那你的预期目标效果是什么呢?

——葱姜蒜煎蛋老师

对于模型效果的评估,我们可以用客观+主观的标准来衡量。尤其要注意出现过拟合问题。

❓什么是过拟合?

——过拟合指的是模型学习数据时,不仅记住了数据中的细节,还把偶然出现、不重要的东西(即“噪声”)同时记住了。

当出现过拟合问题的时候,可以考虑

  • 数据集问题:提升数据集质量/数据集过多

  • 微调问题:学习轮次与数据条数不匹配,学习轮次过多

主观的标准:根据自己对产品的预期,确定预期目标效果的评估框架。这是最重要的

客观的标准:查看loss曲线。

Loss曲线是用于评估模型学习状态(学习损失)的曲线。

你的loss曲线调到0.1、0.2了,肯定不行呀

——葱姜蒜煎蛋老师

理想的拟合状态

有待提升的拟合状态

以下内容来自Cheng Xiaojuan的笔记和机器学习术语表

表现1:loss下降的非常平缓,以至于似乎并没有下降,这说明模型根本没从数据中学到东西(欠拟合)。

表现2:曲线振荡

表现3:模型急剧跳跃

表现4:loss值过低,快到0.2、0.3了(来自@August)

模型的发布

模型做好发布后,可以直接调用API,请求地址如下:

wss://xingchen-api.cn-huabei-1.xf-yun.com/v1.1/chat

调用API可参考以下文档:开源大模型 Web API文档

还有更多需要考虑……

目前得益于讯飞MaaS平台的开放性和公益性,模型的训练、发布、调用很多都不需要考虑成本问题。

然而在实际过程中,模型的每一次测试、训练等都是有成本的。如果想把模型打造成一个商业产品,则一定需要考虑成本问题。

你的模型商业成本是多少?已经最低了吗?

比如:

❓如果有两种技术实现路径,第一个路径是用一个模型、一次实现,但是Prompt超级长(差不多2000字)、另一个是用workflow,涉及到2~3个模型,整个workflow的prompt字数可能在1000以内。一般哪个路径更便宜呢?

——费用主要看模型的输入输出的token,如果都差不多的话,那价格也差不多。

如何学习AI大模型 ?

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。【保证100%免费】🆓

优快云粉丝独家福利

这份完整版的 AI 大模型学习资料已经上传优快云,朋友们如果需要可以扫描下方二维码&点击下方优快云官方认证链接免费领取 【保证100%免费】

读者福利: 👉👉优快云大礼包:《最新AI大模型学习资源包》免费分享 👈👈

(👆👆👆安全链接,放心点击)

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

👉1.大模型入门学习思维导图👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过AI大模型的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。(全套教程文末领取哈)
在这里插入图片描述

👉2.AGI大模型配套视频👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,每个章节都是当前板块的精华浓缩。

在这里插入图片描述
在这里插入图片描述

👉3.大模型实际应用报告合集👈

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(全套教程文末领取哈)

在这里插入图片描述

👉4.大模型落地应用案例PPT👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(全套教程文末领取哈)

在这里插入图片描述

👉5.大模型经典学习电子书👈

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。(全套教程文末领取哈)
img

在这里插入图片描述

👉6.大模型面试题&答案👈

截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。(全套教程文末领取哈)

在这里插入图片描述
👉学会后的收获:👈
基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习

优快云粉丝独家福利

这份完整版的 AI 大模型学习资料已经上传优快云,朋友们如果需要可以扫描下方二维码&点击下方优快云官方认证链接免费领取 【保证100%免费】

读者福利: 👉👉优快云大礼包:《最新AI大模型学习资源包》免费分享 👈👈

(👆👆👆安全链接,放心点击)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值