0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于领域大模型-训练Trick&落地的一点思考

深度学习自然语言处理 来源:NLP工作站 2023-08-09 11:43 次阅读

一、领域技术标准文档或领域相关数据是领域模型Continue PreTrain的关键。

现有大模型在预训练过程中都会加入书籍、论文等数据,那么在领域预训练时这两种数据其实也是必不可少的,主要是因为这些数据的数据质量较高、领域强相关、知识覆盖率(密度)大,可以让模型更适应考试。当然不是说其他数据不是关键,比如领域相关网站内容、新闻内容都是重要数据,只不过个人看来,在领域上的重要性或者知识密度不如书籍和技术标准。

二、领域数据训练后,往往通用能力会有所下降,需要混合通用数据以缓解模型遗忘通用能力。

如果仅用领域数据进行模型训练,模型很容易出现灾难性遗忘现象,通常在领域训练过程中加入通用数据。那么这个比例多少比较合适呢?目前还没有一个准确的答案,BloombergGPT(从头预训练)预训练金融和通用数据比例基本上为1:1,ChatHome(继续预训练)发现领域:通用数据比例为1:5时最优。个人感觉应该跟领域数据量有关,当数据量没有那多时,一般数据比例在1:5到1:10之间是比较合适的。ea223e0a-3661-11ee-9e74-dac502259ad0.png

三、领域模型Continue PreTrain时可以同步加入SFT数据,即MIP,Multi-Task Instruction PreTraining。

预训练过程中,可以加下游SFT的数据,可以让模型在预训练过程中就学习到更多的知识。例如:T5、ExT5、Glm-130b等多任务学习在预训练阶段可能比微调更有帮助。并且ChatHome发现MIP效果在领域上评测集上绝群。

ea3951da-3661-11ee-9e74-dac502259ad0.png

四、 仅用SFT做领域模型时,资源有限就用在Chat模型基础上训练,资源充足就在Base模型上训练。(资源=数据+显卡)

跟很多人讨论过一个问题,就是我们在SFT的时候是在Base模型上训练还是在Chat模型上训练。

其实很简单,如果你只有5k数据,建议你在Chat模型上进行微调;如果你有10w数据,建议你在Base模型上进行微调。因为你不知Chat模型在SFT时的数据质量如何,当自己有能力时,靠人不如靠己。

五、在Chat模型上进行SFT时,请一定遵循Chat模型原有的系统指令&数据输入格式。

如果你在Chat模型上进行SFT的时候,请跟Chat模型的输入格式一致,否则当你数据量不足时,可能会导致训练效果不明显。并且建议不采用全量参数训练,否则模型原始能力会遗忘较多。

六、领域评测集时必要内容,建议有两份,一份选择题形式自动评测、一份开放形式人工评测。

一定要有自己的领域数据集来验证模型效果,来选择最好的checkpoint。选择题形式可以自动评测,方便模型进行初筛;开放形式人工评测比较浪费时间,可以用作精筛,并且任务形式更贴近真实场景。

七、领域模型词表扩增是不是有必要的。

个人感觉,领域词表扩增真实解决的问题是解码效率的问题,给模型效果带来的提升可能不会有很大。(这里领域词表扩充是指在同语言模型上扩充词表,而不是英文模型的中文汉化)

八、所谓的领域大模型会更新的越来越快,越来越多。

由于很多人&公司并没有资源搞底座,因此需要在现有底座模型上进行增量预训练、微调等。而以目前各厂(ChatGLM、BaiChuan、Qwen、Llama)抢占开源社区占比的架势,感觉会有很多7B、13B级别模型开源。

请等待一言、ChatGPT开源小模型的一天,说不定GPT5出来的时候,Openai会开源个GPT3.5的小版本模型。

领域大模型落地的想法

一、常说通用模型的领域化可能是伪命题,那么领域大模型的通用化是否也是伪命题。

自训练模型开始,就一直再跟Leader Battle这个问题,领域大模型需不需要有通用化能力。就好比华为盘古大模型“只做事不作诗”的slogan,是不是训练的领域大模型可以解决固定的几个任务就可以了。

个人的一些拙见是,如果想快速的将领域大模型落地,最简单的是将系统中原有能力进行升级,即大模型在固定的某一个或某几个任务上的效果超过原有模型。

Text2SQL任务举例,之前很多系统中的方法是通过抽取关键要素&拼接方式来解决,端到端解决的并不是很理想,那么现在完全可以用大模型SQL生成的能力来解决。在已有产品上做升级,是代价最小的落地方式。就拿我司做的“云中问道”来说,在解决某领域SQL任务上效果可以达到90%+,同比现有开源模型&开放API高了不少。

当然还有很多其他任务可以升级,例如:D2QA、D2SPO、Searh2Sum等等等。

二、领域大模型落地,任务场景要比模型能力更重要。

虽说在有产品上做升级,是代价最小的落地方式,但GPT4、AutoGPT已经把人们胃口调的很高,所有人都希望直接提出一个诉求,大模型直接解决。但这对现有领域模型是十分困难的,所以在哪些场景上来用大模型是很关键的,并且如何将模型进行包装,及时在模型能力不足的情况下,也可以让用户有一个很好的体验。

现在很多人的疑惑是,先不说有没有大模型,就算有了大模型都不知道在哪里使用,在私有领域都找不到一个Special场景。

所以最终大模型的落地,拼的不是模型效果本身,而是一整套行业解决方案,“Know How”成为了关键要素。

三、大多数企业最终落地的模型规格限制在了13B。

由于国情,大多数企业最终落地的方案应该是本地化部署,那么就会涉及硬件设备的问题。我并不绝的很有很多企业可以部署的起100B级别的模型,感觉真实部署限制在了10B级别。即使现在很多方法(例如:llama.cpp)可以对大模型进行加速,但100B级别的模型就算加速了,也是庞大资源消耗。

我之前说过“没有体验过33B模型的人,只会觉得13B就够”,更大的模型一定要搞,但不影响最后落地的是10B级别。

做大模型的心路历程

一开始ChatGPT刚刚爆火的时候,根本没想过我们也配做大模型。但当国内涌现出了许多中文大模型,并Alpaca模型证明70亿参数量的模型也有不错效果的时候,给了我很大的信心,当然也给很多人和很多企业更多的信心。

在中小企业做大模型,经常被质问的是“没有100张卡也可以做大模型”,我只想说需要看对“大”的定义,175B的模型确实没有资格触碰,但33B的模型还是可以玩耍的。真正追赶OpenAI是需要一批人,但模型落地还是需要另外一批人的。

赶上大模型是我们的幸运,可以在领域大模型上发声是我幸运。

总结

最后共勉:BERT时代况且还在用TextCNN,难道13B的模型就不叫大模型吗?






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • MIP
    MIP
    +关注

    关注

    0

    文章

    33

    浏览量

    13970
  • SQL
    SQL
    +关注

    关注

    1

    文章

    738

    浏览量

    43462
  • SFT
    SFT
    +关注

    关注

    0

    文章

    9

    浏览量

    6747
  • OpenAI
    +关注

    关注

    8

    文章

    760

    浏览量

    5914
  • ChatGPT
    +关注

    关注

    27

    文章

    1409

    浏览量

    4747

原文标题:领域大模型-训练Trick&落地思考

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    IGBT的物理结构模型—BJT&MOS模型(1)

    在前面关于PIN&MOS模型分析中,特别强调了这个模型所存在的一个短板,即所有电流都通过MOS沟道,实际上只有电子电流通过MOS沟道,而空穴电流则通过p-base。
    的头像 发表于 12-01 10:17 570次阅读
    IGBT的物理结构<b class='flag-5'>模型</b>—BJT&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;MOS<b class='flag-5'>模型</b>(1)

    局域网一点通之组网、管网、用网1000问

    &amp;nbsp;&amp;nbsp;&amp;nbsp; 局域网一点通之组网、管网、用网1000问&amp;nbsp;&
    发表于 06-06 12:12

    关于通信原理的一点总结

    关于通信原理的一点总结
    发表于 08-20 10:00

    AMP01 SPICE宏模型

    AMP01 SPICE宏模型
    发表于 04-14 08:52 0次下载
    <b class='flag-5'>AMP</b>01 SPICE宏<b class='flag-5'>模型</b>

    AMP02 SPICE宏模型

    AMP02 SPICE宏模型
    发表于 04-14 08:55 0次下载
    <b class='flag-5'>AMP</b>02 SPICE宏<b class='flag-5'>模型</b>

    AMP01 SPICE宏模型

    AMP01 SPICE宏模型
    发表于 06-17 15:53 0次下载
    <b class='flag-5'>AMP</b>01 SPICE宏<b class='flag-5'>模型</b>

    AMP02 SPICE宏模型

    AMP02 SPICE宏模型
    发表于 06-17 15:55 2次下载
    <b class='flag-5'>AMP</b>02 SPICE宏<b class='flag-5'>模型</b>

    存储类&amp;作用域&amp;生命周期&amp;链接属性

    目录前言一、存储类&amp;amp;作用域&amp;amp;生命周期&amp;amp;链接属性的
    发表于 12-09 15:51 5次下载
    存储类&<b class='flag-5'>amp</b>;作用域&<b class='flag-5'>amp</b>;生命周期&<b class='flag-5'>amp</b>;链接属性

    关于连接的问答:欧盟 Wi-Fi 6 &amp;amp; 6E 的未来发展

    关于连接的问答:欧盟 Wi-Fi 6 &amp; 6E 的未来发展
    的头像 发表于 12-26 10:16 713次阅读

    如何区分Java中的&amp;amp;和&amp;amp;&amp;amp;

    首先给i赋值为0,如果i大于10,并且i++等于1,则输出“错误”和i的值。否则输出“正确”和i的值。分别用&amp;和&amp;&amp;运行,观察运行结果的不同。
    的头像 发表于 02-24 10:46 1224次阅读
    如何区分Java中的&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;和&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;

    if(a==1 &amp;amp;&amp;amp; a==2 &amp;amp;&amp;amp; a==3),为true,你敢信?

    接下来咱们来尝试解决这个问题。假设 if(a==1&amp;&amp;a==12)是等于 true的,那么a肯定不可能是一个“普通的变量”。它势必要有能力在执行的时候能够动态改动值。
    的头像 发表于 05-08 11:01 754次阅读
    if(a==1 &<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>; a==2 &<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>; a==3),为true,你敢信?

    HarmonyOS &amp;amp;amp;amp;润和HiSpark 实战开发,“码”上评选活动,邀您来赛!!!

    出色的系统 助力优秀的设备 为应用开发者带来丰富的体验与想象空间 正如当HarmonyOS遇见润和HiSpark 这万物互联的时代 将由你的&amp;lt; 代码 &amp;gt;来定义
    的头像 发表于 04-11 15:33 829次阅读
    HarmonyOS &<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;润和HiSpark 实战开发,“码”上评选活动,邀您来赛!!!

    你使用shell脚本中的2&amp;gt;&amp;amp;1了吗?

    run_cmax > ./starrc_cmax.logs 2>&amp;1中的 2>&amp;1是啥意思?
    的头像 发表于 07-30 14:44 1069次阅读

    摄像机&amp;amp;amp;雷达对车辆驾驶的辅助

    摄像机&amp;amp;雷达担负着可辅助驾驶员安全驾驶的、高级驾驶辅助系统的传感功能。尼得科正在进一步推进摄像机&amp;amp;雷达的高性能化进程。
    的头像 发表于 11-26 10:02 520次阅读
    摄像机&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;雷达对车辆驾驶的辅助

    如何让网络模型加速训练

    的博文,对 Pytorch的AMP ( autocast与Gradscaler 进行对比) 自动混合精度对模型训练加速 。 注意Pytorch1.6+,已经内置torch.cuda.amp
    的头像 发表于 11-03 10:00 1114次阅读
    如何让网络<b class='flag-5'>模型</b>加速<b class='flag-5'>训练</b>