发布日期:2024-12-19 22:16 点击次数:124
Datawhale共享 露出
作家:August
大模子微调的过程
💡提议严格按照此进程来,不要跳步,否则可能会作念毋庸功。
比如若是莫得好好构建数据集,终末发现微调模子成果欠安是数据集的问题,就事倍功半了。
决议的构想与落地:几种可能的遴荐
我有个问题,我当今写了一个prompt,用户不错我方输入内容,但我不想让用户看见这个prompt,唯有一个输入区在那边,要如何杀青呢?
我如何大致调用两个模子,让他们互联贯接呢?
……
伸开剩余93%在肃肃开动之前,需要先想好以下问题:
我方想要作念的到底是什么?它要达到什么成果?预期主义是什么?
我方作念的到底是一个广而泛之的大模子、照旧一个封装好的家具(如智能体)?
翻新点是在于专科限制的深耕(意味着需要考研新模子)、照旧已有内容的联络(意味着调用已有模子,用到职责流),照旧二者王人有?
我方想要作念的到底是什么?它要达到什么成果?预期主义是什么?
我方作念的到底是一个广而泛之的大模子、照旧一个封装好的家具(如智能体)?
翻新点是在于专科限制的深耕(意味着需要考研新模子)、照旧已有内容的联络(意味着调用已有模子,用到职责流),照旧二者王人有?
Hongkongdoll sex❓什么是 Agent?
——Agent指的是基于东谈主工智能工夫,尤其是大型话语模子(LLM),大致感知和集结环境,并采纳行为以完成主义 的智能实体
在讯飞MaaS上,若是咱们想作念一个Agent,不错在 大模子哄骗平台中杀青。
❓什么是 workflow?
——职责流(Workflow)是指完成特定任务或一系列任务的圭表和过程。在讯飞MaaS的 大模子哄骗平台中有对应的模块。咫尺依然上线的节点有:大模子、代码、决策、分支器、变量索取器、文本拼接等等。
若是你的idea需要考研新模子,那么不错络续往下。但若是你的idea仅仅触及已有模子的进程拼接,则不错径直用 workflow杀青,不触及以下过程。
数据集的获取与构建数据集的获取
炼就数据集,微调就告捷了一泰半。
——不要葱姜蒜憨厚
关于生手而言,咱们不错凭证数据集的可取得性分为两种:公开已有的、难以取得的。
❓如何取得公开已有的数据?
——最浅近的数据集获取决议是去揣度开源平台搜索并下载,如: github、 hugging face、 魔搭等平台。尤其是演义等文本类数据止境多。
也不错尝试从网站上爬取,但需要一定工夫撑握。
❓若是我需要的数据全网莫得/难以取得如何办?
——自行构建数据集。
但是,自行构建几百上千条数据集相配防止,如何大致快速杀青这一过程?这里先容两个想路
借助讯飞MaaS平台的数据增强功能。不错先尝试我方手搓50条数据,然后再借助讯飞MAAS平台【数据增强】功能让数据翻倍。
借助大模子快速构建数据集。手搓了几十条数据后,把数据动作示例丢给大模子,让它输出肖似的内容
❗一开动不要让大模子生成太多,提议第一轮先让大模子生成20条,精读这20条,找大模子经常会犯的伪善。然后把这些伪善动作伪善示例加入到Prompt中
个东谈主训戒:大模子一轮不错作念到生成200条及以上的数据
借助讯飞MaaS平台的数据增强功能。不错先尝试我方手搓50条数据,然后再借助讯飞MAAS平台【数据增强】功能让数据翻倍。
借助大模子快速构建数据集。手搓了几十条数据后,把数据动作示例丢给大模子,让它输出肖似的内容
❗一开动不要让大模子生成太多,提议第一轮先让大模子生成20条,精读这20条,找大模子经常会犯的伪善。然后把这些伪善动作伪善示例加入到Prompt中
个东谈主训戒:大模子一轮不错作念到生成200条及以上的数据
❗一开动不要让大模子生成太多,提议第一轮先让大模子生成20条,精读这20条,找大模子经常会犯的伪善。然后把这些伪善动作伪善示例加入到Prompt中
个东谈主训戒:大模子一轮不错作念到生成200条及以上的数据
一个浅近的Prompt示例(来自@August)
数据的清洗
原始数据集并不合适模子考研不错接管的形态,因此需要对原始数据进行清算,惩办为模子不错学习的神气。
在讯飞MaaS平台中,微调数据集庸俗以 AIpaca的形态构建。具体内容详见 讯飞绽开平台讲解。
AIpaca
特色:结构浅近,适用于文本生成、翻译、回来等任务,尤其是单轮的、任务导向的教导微调
instruction任务的教导,肖似于用户的径直输入
input任务所需的输入内容。庸俗情况下为空(因为若任务是绽开式的,或者不需要明确输入,不错为空字符串)
output在给定教导和输入的情况下,模子需要生成的祈望输出,也便是对应的正确扫尾或参考谜底。
system不错集结成模子的事前Prompt
instruction任务的教导,肖似于用户的径直输入
input任务所需的输入内容。庸俗情况下为空(因为若任务是绽开式的,或者不需要明确输入,不错为空字符串)
output在给定教导和输入的情况下,模子需要生成的祈望输出,也便是对应的正确扫尾或参考谜底。
system不错集结成模子的事前Prompt
浅近来说,这个结构不错集结为:请大模子记取当今的脚色history,当用户输入肖似于instruction内容的时分,大模子需要复返肖似于output的扫尾
格外于匡助大模子设立了问题-回报之间的映射关系。
不错把数据集集结为给模子的锻练题
instruction+input = 问题
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,肯求地址如下:
调用API可参考以下文档: 开源大模子 Web API文档
还有更多需要斟酌……
咫尺收获于讯飞MaaS平台的绽开性和公益性,模子的考研、发布、调用许多王人不需要斟酌资本问题。
但是在履行过程中,模子的每一次测试、考研等王人是有资本的。若是想把模子打酿成一个买卖家具,则一定需要斟酌资本问题。
你的模子买卖资本是几许?依然最低了吗?
比如:
❓若是有两种工夫杀青旅途,第一个旅途是用一个模子、一次杀青,但是Prompt超等长(差未几2000字)、另一个是用workflow,触及到2~3个模子,扫数workflow的prompt字数可能在1000以内。一般哪个旅途更低廉呢?
——用度主要看模子的输入输出的token,若是王人差未几的话,那价钱也差未几。
沿路“露出
发布于:浙江省