index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html
![]()
文章探讨了模型训练与应用的诸多方面,包括构建数据集、选择模型基底、训练模型、评估效果等,还涉及到一些实际问题及解决思路。
🎯构建数据集的方法,如获取公开数据、自行构建及借助平台功能增强数据
📌介绍模型训练的相关内容,如选择合适模型基底、注意训练次数等
💡阐述模型效果评估的标准,包括客观的loss曲线和主观的预期目标效果
🔗提及模型发布后的调用及成本问题,如调用API及考虑商业成本
?建议严格按照此流程来,不要跳步,不然可能会做无用功。 比如如果没有好好构建数据集,最后发现微调模型效果不佳是数据集的问题,就事倍功半了。 我有个问题,我现在写了一个prompt,用户可以自己输入内容,但我不想让用户看见这个prompt,只有一个输入区在那儿,要怎么实现呢? 自己想要做的到底是什么?它要达到什么效果?预期目标是什么?自己做的到底是一个广而泛之的大模型、还是一个封装好的产品(如智能体)?创新点是在于专业领域的深耕(意味着需要训练新模型)、还是已有内容的衔接(意味着调用已有模型,用到工作流),还是二者都有?
——Agent指的是基于人工智能技术,尤其是大型语言模型(LLM),能够感知和理解环境,并采取行动以完成目标的智能实体 在讯飞MaaS上,如果我们想做一个Agent,可以在大模型应用平台中实现。 ——工作流(Workflow)是指完成特定任务或一系列任务的步骤和过程。在讯飞MaaS的大模型应用平台中有对应的模块。目前已经上线的节点有:大模型、代码、决策、分支器、变量提取器、文本拼接等等。 如果你的idea需要训练新模型,那么可以继续往下。但如果你的idea只是涉及已有模型的流程拼接,则可以直接用workflow实现,不涉及以下过程。 对于新手而言,我们可以根据数据集的可获得性分为两种:公开已有的、难以获得的。 ——最简单的数据集获取方案是去相关开源平台搜索并下载,如:github、hugging face、魔搭等平台。尤其是小说等文本类数据特别多。 然而,自行构建几百上千条数据集非常麻烦,如何能够快速实现这一过程?这里介绍两个思路 借助讯飞MaaS平台的数据增强功能。可以先尝试自己手搓50条数据,然后再借助讯飞MAAS平台【数据增强】功能让数据翻倍。借助大模型快速构建数据集。手搓了几十条数据后,把数据作为示例丢给大模型,让它输出类似的内容❗一开始不要让大模型生成太多,建议第一轮先让大模型生成20条,精读这20条,找大模型经常会犯的错误。然后把这些错误作为错误示例加入到Prompt中个人经验:大模型一轮可以做到生成200条及以上的数据
参照示例,输出20个类似的“近期运气”问题给我,注意要生活化、语言不要太夸张,最好不要有场景、有类似于“在活动中”、“在比赛中”之类的定语与状语;语句不要太累赘、尤其是不要有太多定语,正常人不这样说话。示例:我这个季度顺利吗?
我这个季度会发财吗?
最近有哪些事情在等着我?
最近会发生什么事情?
近期我能否被幸运之神垂青?
原始数据集并不符合模型训练可以接受的形式,因此需要对原始数据进行清理,处理为模型可以学习的格式。 在讯飞MaaS平台中,微调数据集通常以AIpaca的形式构建。具体内容详见讯飞开放平台说明。 特点:结构简单,适用于文本生成、翻译、总结等任务,尤其是单轮的、任务导向的指令微调 instruction任务的指令,类似于用户的直接输入input任务所需的输入内容。通常情况下为空(因为若任务是开放式的,或者不需要明确输入,可以为空字符串)output在给定指令和输入的情况下,模型需要生成的期望输出,也就是对应的正确结果或参考答案。
[
{
"instruction": "人类指令(必填)",
"input": "人类输入(选填)",
"output": "模型回答(必填)",
"system": "系统提示词(选填)",
"history": [
["第一轮指令(选填)", "第一轮回答(选填)"],
["第二轮指令(选填)", "第二轮回答(选填)"]
]
}
]
简单来说,这个结构可以理解为:请大模型记住现在的角色history,当用户输入类似于instruction内容的时候,大模型需要返回类似于output的结果 在正式开始调试模型前,特别重要的是选择一个合适的模型基底。尽管讯飞MaaS平台已经对模型擅长的内容有了一些介绍,但具体到各个垂直领域,还是需要自行测试与总结。 其中,讯飞MaaS平台上提供的Llama3模型主要基于英文语料(训练语料中只有0.2%是中文)所以经常会有同学有以下问题: ——输入自己的中文数据集,然后选择全参数微调,然后再次进行lora训练。 同时,也可以在自己的中文数据集的system部分加入“请输出中文”(但目前讯飞MaaS平台好像不支持这个) 构建好数据集、选择好模型基底后,可以开始训练模型啦! ?个人的经验是,需要尤其注意其中的“训练次数”!若数据集超过10000了,训练次数最高也要低于5,不然会出现过拟合问题(下章) 对于模型效果的评估,我们可以用客观+主观的标准来衡量。尤其要注意出现过拟合问题。 ——过拟合指的是模型学习数据时,不仅记住了数据中的细节,还把偶然出现、不重要的东西(即“噪声”)同时记住了。 主观的标准:根据自己对产品的预期,确定预期目标效果的评估框架。这是最重要的 Loss曲线是用于评估模型学习状态(学习损失)的曲线。 以下内容来自Cheng Xiaojuan的笔记和机器学习术语表 表现1:loss下降的非常平缓,以至于似乎并没有下降,这说明模型根本没从数据中学到东西(欠拟合)。 表现4:loss值过低,快到0.2、0.3了(来自@August) 模型做好发布后,可以直接调用API,请求地址如下: 调用API可参考以下文档:开源大模型 Web API文档 目前得益于讯飞MaaS平台的开放性和公益性,模型的训练、发布、调用很多都不需要考虑成本问题。 然而在实际过程中,模型的每一次测试、训练等都是有成本的。如果想把模型打造成一个商业产品,则一定需要考虑成本问题。 ❓如果有两种技术实现路径,第一个路径是用一个模型、一次实现,但是Prompt超级长(差不多2000字)、另一个是用workflow,涉及到2~3个模型,整个workflow的prompt字数可能在1000以内。一般哪个路径更便宜呢? ——费用主要看模型的输入输出的token,如果都差不多的话,那价格也差不多。作者主页:https://blog.csdn.net/weixin_45092438/category_12856410.html 内容中包含的图片若涉及版权问题,请及时与我们联系删除