一、前言

前阵子写了几篇大模型开发相关的入门的文章,然后有同学私信说自己训练或者微调出来的模型效果不如预期,对于这一点,我在前面的文章里也反复强调过多次,对于大模型来说,唯一真正有价值的只有:数据。脸书扎克伯格花大价钱ScaleAI的底层逻辑也在于此。

在现在这个时代,完全可以说,大部分的技术都是没有什么价值的,因为大部分的技术都是有手就行。
真正的价值都在数据,而且最有价值的数据往往都是一个个的专业领域的数据,决定大模型微调效果的是数据,决定你整个产品成败的也是数据,这个事情一定要搞清楚。
所以呢,建议大家从现在开始,给自己好好做积累吧,把你的行业数据、专业领域的数据一点点积累好,这才是你的未来。

而数据中最重要的还是实际的业务数据,并不是让大模型帮你生成的数据,但是如果你是为了做一些项目的测试的话,让大模型来帮忙丰富一下你的数据集也是一个不错的选项。这里就用我自己的一个实际的用于语音助手的案例,来手把手教你如何利用大模型来帮你生成一些数据。

【有手就行】大模型开发入门系列

二、让大模型帮忙生成训练集

之前用的更多的是利用ChatGPT来生成数据,但是为了写这篇文章,我又专门用千问、文心、豆包、ChatGPT走了一遍完整流程。这篇文章主要有用的就是生成数据的提示词,顺便用这个实例介绍对比一下几个主流模型的表现,供大家参考。

从这一轮次的的测试生成数据集的情况来看,印象分最好的要算Qwen3-Max,而ChatGPT则垫底了。看来中文还是得选中国的大模型。另外,犹记当年第一届世界人工智能大会时,马云跟马斯克吹牛:AI就是Alibaba Intelligent,这牛吹的当年所有人都想笑,再过几年看看Alibaba到底能不能笑傲江湖,让咱们座目以待。

根据意图配置生成训练数据,意图为:

{ "agent_api_base": "https://api.oddmeta.net", "global_variants": [ { "name": "confid", "desc": "会议ID,必须是13位数字,作为会议操作的唯一标识符", "type": "string", "required": false }, { "name": "e164", "desc": "终端E.164号,作为终端语音助手时使用", "type": "string", "required": false } ], "agent_tool_list": [ { "tool_name": "INSTANT_MEETING", "name": "创建会议", "description": "立即创建会议。", "example": "输入:江苏省公安厅创建公安会议\n答:{ 'meeting_name': '公安会议', 'meeting_side': '江苏省公安厅' }", "more_instructs": [ ], "parameters": [ { "name": "meeting_name", "desc": "会议名称", "type": "string", "required": false }, { "name": "meeting_side", "desc": "会议方/所属部门", "type": "string", "required": false } ], "tool_api_url": "https://api.oddmeta.net/api/INSTANT_MEETING", "tool_api_method": "POST", "enabled": true }, { "tool_name": "SILENCE", "name": "全场静音控制", "description": "控制会议中所有麦克风的静音与取消静音。", "example": "输入:关闭全场麦克风\n答:{ 'enable': 1 }\n输入:打开全场麦克风\n答:{ 'enable': 0 }", "more_instructs": [ "关闭全场麦克风", "关闭全场全体麦克风", "关掉全场全体麦克风", "所有麦克风静音", "把全场全体的麦都关闭", "把所有麦克风都关闭", "关闭所有人的麦克风", "全场关麦", "全关麦克风", "开启全场麦克风", "打开全场全体麦克风", "把所有麦克风都打开", "打开所有人的麦克风", "把大家的麦都打开", "全场开麦", "全开麦克风" ], "parameters": [ { "name": "enable", "desc": "静音开关:1表示全场静音,0表示取消静音(开麦)", "type": "number", "required": true } ], "tool_api_url": "https://api.oddmeta.net/api/SILENCE", "tool_api_method": "POST", "enabled": true }, { "tool_name": "SPEAKER", "name": "设置发言人", "description": "将指定会场或省厅设置为当前会议发言人(主画面)。", "example": "输入:广播江苏省公安厅\n答:{ 'mt_name': '江苏省公安厅' }", "more_instructs": [ "广播江苏省公安厅", "广播江苏省厅", "广播浙江", "主看江西省厅", "把主画面切到河北省厅", "给所有人看河北省厅的画面", "选看江西", "将河北设为发言人", "把发言人设为河北", "接下来请江苏省公安厅发言" ], "parameters": [ { "name": "mt_name", "desc": "发言人会场名称", "type": "string", "required": true } ], "tool_api_url": "https://api.oddmeta.net/api/SPEAKER", "tool_api_method": "POST", "enabled": true }, { "tool_name": "POLL", "name": "会议轮询控制", "description": "控制会议轮询功能,可开启或结束会场轮询。", "example": "输入:开始轮询,间隔5秒\n答:{ 'keep_time': 5, 'enable': 1 }\n输入:结束轮询\n答:{ 'enable': 0 }", "more_instructs": [ "开始轮询,间隔时间5秒", "轮询开始,间隔设为五秒", "开始轮询,间隔5秒", "轮询一下,间隔十秒", "轮询,5秒间隔", "全场轮询,间隔十秒", "5秒间隔,开始轮询", "开始轮询,间隔5", "开始快速轮询,设个间隔十秒", "对全体参会者开始轮询,间隔5秒", "结束轮询", "停止轮询", "关闭轮询", "退出轮询模式", "轮询结束", "轮询可以关了", "轮询到此为止", "轮询完成", "轮询取消", "把轮询结束掉" ], "parameters": [ { "name": "keep_time", "desc": "轮询间隔时间(秒)", "type": "integer", "required": false }, { "name": "enable", "desc": "1 表示开始轮询,0 表示结束轮询", "type": "number", "required": true } ], "tool_api_url": "https://api.oddmeta.net/api/POLL", "tool_api_method": "POST", "enabled": true }, { "tool_name": "ONLINE_MTS_POST", "name": "呼叫会场", "description": "呼叫指定会场加入会议。", "example": "输入:呼叫江苏省厅和浙江省厅\n答:{ 'mt': [ { 'mt_name': '江苏省厅' }, { 'mt_name': '浙江省厅' } ] }", "more_instructs": [ "呼叫浙江省厅", "呼叫江苏省公安厅", "呼叫江苏、浙江省厅", "再呼一遍江苏、浙江省厅", "呼叫河北" ], "parameters": [ { "name": "mt", "desc": "呼叫的会场列表,每个元素包含 mt_name", "type": "array", "required": true, "items": { "type": "object", "properties": { "mt_name": { "type": "string" } } } } ], "tool_api_url": "https://api.oddmeta.net/api/ONLINE_MTS_POST", "tool_api_method": "POST", "enabled": true }, { "tool_name": "MTS_DELETE", "name": "挂断或移除会场", "description": "挂断指定会场或将其从会议中移除。", "example": "输入:挂断江苏和浙江省厅\n答:{ 'mt': [ { 'mt_name': '江苏省厅' }, { 'mt_name': '浙江省厅' } ] }", "more_instructs": [ "挂断江苏和浙江省公安厅", "挂掉浙江", "断开河北、江西省厅的连接", "结束与江苏、浙江的通话", "移除江西", "请离江苏和江西省厅", "清退杭州省厅", "把江苏、江西踢出去", "将江苏和浙江从会议中踢掉", "让江苏和浙江省厅下线", "江苏省厅,删除", "把江苏省厅断开", "江西卡顿了,移除一下", "终止河北公安厅的接入", "结束对江苏省厅的呼叫" ], "parameters": [ { "name": "mt", "desc": "要挂断或删除的会场列表,每个元素包含 mt_name", "type": "array", "required": true, "items": { "type": "object", "properties": { "mt_name": { "type": "string" } } } } ], "tool_api_url": "https://api.oddmeta.net/api/MTS_DELETE", "tool_api_method": "POST", "enabled": true } ] }。

单个数据格式示例为:
{ "instruct": "创建江苏省公安厅会议", "input": "", "output": { "tool_name": "INSTANT_MEETING", "parameters": { "meeting_name": "公安会议", "meeting_side": "江苏省公安厅" } }

分为instruct、input、output。
- input保持为空
- output格式为json
    - 第一个字段为tool_name即意图
    - 第二个字段为parameters及各个参数,同样是json格式,parameters的名字严格按照配置里的描述,parameters要从instruct里解析,不能随便填充,required为false的情况下可以为空。

每个意图50条数据,尽量口语化,参考more_instructs,结果保存到一个json里,让我下载。

1. 千问

使用模型:Qwen3-Max

秒级响应。刺溜一下就给生成好了。而且是一步到位,不像豆包、文心那样,先生成数据,再自己写代码把数据保存到一个json文件。千问牛逼格拉斯。
不过,生成的json文件在公司不能下载(在家里正常),可能跟公司网络DNS有关。
生成的文字多样性佳:

  • 会议名字各种各样:应急调度会,防汛协调会,全省视频调度,反诈工作会。
    数据集槽位:完美
  • 生成的数据里有的带槽位,有的不带槽位。
  • 槽位的准确率:100%。

2. 百度文心一言

使用模型:文心大模型X1.1

为每个意图生成50条数据很快,但是文心一言为了将结果保存到json文件费了老大的劲,因为它是自己写代码来实现的,而它写的代码执行的报错了好多次,然后它自己一直在改它自己的代码,结果浪费了很多时间,XD

生成的文字多样性:

  • 不错。
    数据集槽位:优秀
  • 生成的数据里有的带槽位,有的不带槽位:完美。
  • 生成的会议名和参会方名字让人看上去有点难顶:差。
  • 槽位的准确率:100%。

但是它在这个请求里自己生成的代码出问题,扣掉了我对它的印象分。

3. 豆包

使用模型:豆包上没写版本号,公有云的反正是最新的。

豆包-同文心,也是自己写代码生成json,比百度好一点,保存json的代码一次成功,没有改半天代码。
生成的文字多样性也不错。槽位的准确率100%。它相比文心好的地方就是保存json的代码一次成功,没让我等半天。

生成的文字多样性:

  • 不错。
    数据集槽位:优秀
  • 生成的数据里有的带槽位,有的不带槽位:完美。
  • 槽位的准确率:100%。

4. ChatGPT

使用模型:普通版本(非Business版本) For quick tasks & answers

速度跟豆包差不多。思考过程在生成后不能查看,所以不清楚是跟千问一样,一步到位,还是跟豆包、文心一样,先生成数据,再写代码存文件。
在这里插入图片描述
生成的文字的多样性:

  • 明显差了几个档次,会议名称从头到尾就两个:xxx视频会议, xxx工作会议。差评。
    数据集槽位:
  • 生成的数据里全是带槽位的,没有不带槽位的。差评。
  • 槽位的准确率:没测,嫌弃。

三、注意事项

如果你生成数据的目的是为了训练的话,建议的做法还是要用一些实际的数据,而不是找大模型来帮你生成数据,这一点很重要。
但是如果你是为了学习大模型训练或者大模型微调的话,可以考虑让大模型帮你生成一些数据,但仅限于学习。毕竟,大模型生成的数据都不一定是真正你的产品、业务所需要的数据。

此外,具体每个大模型生成的数据由于太大,在这里我就不列了,不过我保存到了云盘,感兴趣的可以后台私聊我:【测试集】,会自动回复下载链接,同时你也可以自行生成。

四、广而告之

新建了一个技术交流群,欢迎大家一起加入讨论。
扫码加入AI技术交流群(微信)
关注我的公众号:奥德元

让我们一起学习人工智能,一起追赶这个时代。
(若二维码过期了,可私信我)

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐