入门大模型后,如何优化其输出结果?丨“悟道之巅”公开课实录(2)

入门大模型后,如何优化其输出结果?丨“悟道之巅”公开课实录(2)
扫描图上二维码或点击原文文末”阅读原文 “即可参赛!

如果你错过了上一波深度学习引发的NLP范式转换,不要再错过这一波超大预训练模型的崛起。

近日,”悟道”核心团队推出 首档公开课,公开课已全部上线,手把手帮助中国开发者理解并应用”悟道”,从而进一步挖掘”悟道”的潜力,开发自己的智能应用。

通过”悟道”公开课,开发者们将与预训练模型这一人工智能领域最重要的趋势保持同步,更有 125万+“悟道之巅”比赛奖金可以拿(比赛官网)。

第一讲视频点此观看
第二讲视频点此观看
第三讲视频点此观看
第四讲视频点此观看
第五讲视频点此观看

本次课程可以看做是面向所有人的大规模预训练模型(下文简称”大模型”)科普课,从大模型与传统机器学习模型的区别、机器学习范式的变化和 GPT-3 讲起,进一步介绍悟道模型及主要技术、悟道之巅大赛参与方式以及悟道 API 使用说明等等。

本文为系列公开课第二讲干货整理,主讲人为智谱AI 模型平台负责人杜冀中。

第一讲干货见:一文入门大规模预训练语言模型丨”悟道之巅”公开课干货(1)。

入门大模型后,如何优化其输出结果?丨“悟道之巅”公开课实录(2)

本期内容更多的是对解决方案的概述,后期会对任务参照代码,讲解解决方案的执行过程,具体提纲如下:

入门大模型后,如何优化其输出结果?丨“悟道之巅”公开课实录(2)

; 一、大规模预训练模型回顾

首先回顾上期内容。

目前,我们处在第三代人工智能的发展过程当中。

张钹院士在 2016 年提出第三代智人工智能。随着 Open AI 在 2019 年时发布了 GPT-3,让人们看到了通用人工智能实现的可能,也直接带来了全球范围内在工智能的研究和创业领域的爆发式增长。

入门大模型后,如何优化其输出结果?丨“悟道之巅”公开课实录(2)

大模型无论是文本生成的能力(GPT-3),还是图文的能力(DALL·E),都表现出了非常好的效果。

入门大模型后,如何优化其输出结果?丨“悟道之巅”公开课实录(2)

由于 AI 的模型越来越大,伴随着模型的能力也越来越强。所以模型有非常显著的三个特点:分别是,超大数据,超大算力和超大模型。

这意味着现在的大模型已经无法部署到自己的设备当中。比如无法在手机上,甚至电脑上运行。

所以它未来的发展模式应该类似于发电厂或电力系统。由大的资源提供商来提供算力以及模型的支持,用户只需要能使用这个模型就可以了。就像是发电厂在发电,所有的设备只是在用电。

入门大模型后,如何优化其输出结果?丨“悟道之巅”公开课实录(2)

在 9 月,发布了悟道2.0,参数规模已经超过了百亿。

两个月过去后,悟道在大模型,包括模型本身和应用上都有了很多新的进展,这些进展很快都会发布。

悟道的各个团队都处在飞速发展的阶段。

入门大模型后,如何优化其输出结果?丨“悟道之巅”公开课实录(2)

目前架构已经实现,而且在对外提供服务,包括 SaaS 和 PaaS 的服务。悟道之巅竞赛本身也是建立在这样的平台之上。

入门大模型后,如何优化其输出结果?丨“悟道之巅”公开课实录(2)

例如,输入”今天早上会下雨吗?”模型输出的结果却与想要的结果不一致。希望模型回答会或不会,但模型的回答有点不知所云。

大模型会遇到三类问题:

第一类问题是无法控制输出。

如果模型无法真正的理解输入的意图,模型就没有办法为提供准确的答案。

第二类问题是无法控制回答的风格。

如果需要模型生成带有特定的情感或风格的文本,比如需要偏科普的风格,模型可能很难做到。

第三类问题是产出的文字有可能会有语法事实或标点符号的错误。

模型的输出不是非常的稳定,但是很多类似的错误,可以通过规则或方法去规避。敏感信息等内容审核方面的问题,都可以借助现有的工具解决。

入门大模型后,如何优化其输出结果?丨“悟道之巅”公开课实录(2)

二、悟道模型介绍、主要技术及解决方案

从悟道的经验来看,首先需要知道如何设置规则。设置规则就是让模型理解输入的意图,得到想要的输出。

入门大模型后,如何优化其输出结果?丨“悟道之巅”公开课实录(2)

由于生成的文本过长,可能出现部分不想要的结果,也可以通过主动的截断完成。

如下图第一个例子所示,结尾是逗号,这种情况可以把最后一个出现的句号做截断,就能得到想要的结果。

入门大模型后,如何优化其输出结果?丨“悟道之巅”公开课实录(2)

可能出现重复请求的语句,或者可能会出现过长、过短的句子等。这类问题都可以通过规则处理。

比如过长的句子可以根据终止符截断;过短的句子可以通过多次的生成得到想要的输出的。

敏感词或者内容审核方面,可以用第三方的 API 或者工具解决。比如百度的内容审核,可以提供较好的敏感词过滤方法。

入门大模型后,如何优化其输出结果?丨“悟道之巅”公开课实录(2)

第一类是对于出现重复请求的语句。比如输入或输出重复的出现在输出结果当中。这种问题只需要去重就可以了。

第二类是 beam search。它本质上是对贪心搜索算法的优化。贪心算法相当于每一次得到输出后,都取最优值,然后进行下一次输入再次得到输出。beam search相当于每次取到最优值的前几位。

比如有个参数叫 number beams。可以认为 number beams 是每次取系列输出里最优的前两个值,然后让这些值同时作为输入生成下一次的输出。往复这个过程,保证在一个相对较长的输出中得到较好的结果。

也可以利用模型的并行处理能力。模型会开放一个接口,可以支持模型的 20 或 30 并行的输出。此时对输出做筛选和搜索,都会显著的提升任务的质量。

入门大模型后,如何优化其输出结果?丨“悟道之巅”公开课实录(2)

比如在做翻译的任务时,直接输入英文的话,模型大概率会续写那段英文。但是如果输入的是一段英文,同时引导模型翻译为中文。模型可能会理解意图,输出中文对照的翻译。这也是令下游任务适应模型的方法。

入门大模型后,如何优化其输出结果?丨“悟道之巅”公开课实录(2)

例如输入 JDK is developed by ____,将后面留给输出的位置,小朋友回答 Oracle。

将输入和输出按特定的模板组织起来,再提供给模型,模型会理解想得到的输出是什么,这个过程就称之为模板。

入门大模型后,如何优化其输出结果?丨“悟道之巅”公开课实录(2)

模板通常为一段自然语言,内含有两个空位置,这两个空位置一个用来放输入,另一个是位置是希望模型输出答案。

入门大模型后,如何优化其输出结果?丨“悟道之巅”公开课实录(2)
入门大模型后,如何优化其输出结果?丨“悟道之巅”公开课实录(2)

它主要的步骤是通过提示文本作为模型的输入,获得输出后再拿输出反向预测输入。根据预测输入内容的概率,相同的概率越高,输出内容与输入内容的相关度就越高。

通过这种方式可以显著的提升输出文本和输入文本之间的关联性或叫相关性,这是有效控制文本质量的方法。

线上提供的包括问答、写诗等,很多 API 都使用了 Inverse Prompt 方法,但是也有弊端。

比如生成任务的效率会显著下降。所以目前 API 虽然有很好的生成质量,但是需要相对较长的时间,这个也是有待解决的问题。

入门大模型后,如何优化其输出结果?丨“悟道之巅”公开课实录(2)

在不做任何对输出的操作的情况下,得到了并不符合预期的输出结果,模型的回答与问题没有太大关系。

但是使用了 Inverse Prompt 后,输出了”瞬间想到高二的时候,那天下午在操场晒了一中午太阳和同学一起在楼下打球”,这个结果就符合预期了。

入门大模型后,如何优化其输出结果?丨“悟道之巅”公开课实录(2)

Prompt 模板的构建方式,是需要考虑如何生成效果理想的模板,而这本身也是一个难题。

当做新的任务时,往往会由于不知道模板该如何构建,所以会做大量的探索工作,P-tuning 在一定程度上解决了这样的问题。

P-tuning 为解决自动生成 Prompt,解决思路是抛弃了必须要用自然语言来作为模板的传统方式。

P-tuning 是使用非自然语言组织的模板,把模板的构建变成连续的参数优化过程,基本上可以在 GPT 上实现非常优秀的效果,而且还是在有限的算力下调用大模型的方案,通过使用模板模型中抽取知识。

入门大模型后,如何优化其输出结果?丨“悟道之巅”公开课实录(2)

比如在使用问答语料对模型进行训练时,新的模型在输出问答相关时,表现出格外优异的效果。

现阶段希望用户可以通过提供的服务,方便的实现微调。

因为就目前来看,大部分用户没有相应的硬件或软件的环境跑起来模型的。之前悟道的发布会上也有发布,后面很快会把微调推出来,让大家可以获得更多使用模型的方式方法。

; 附:Q&A

Q1: 代码如何更快的实现?
A1: 下一讲中会提供 qa 任务的实现,里面包括今天讲到的 Inverse Prompt、快速生成接口的使用,这些都会开放出来,大家就可以在直接在代码上做修改了。如果是用模型的话,目前所用的模型都有开源,找到源码对模型修改部署。

Q2: P-tuning 数据质量上有什么要求?
A2: 测试只需要提供 Prompt 和 test 就可以了。Prompt 就是模型的输入,text 作为训练的输出的数据。

Q3: 微调和Prompt的应用中哪个更为常见?
A3: 取决于所做这件事情的环境。有些时候微调,本质上需要大量的计算资源,对宣传数据和有计算资源的团队或者个人比较理想,而且在某个特定场景或者特定任务下能获得相对稳定的输出。

但是例如开放的 API,都是经过在微调的模型上,也使用了各种模板方法。这两个方法其实是相互结合,完全开源的。

Q4: 如何训练一个特定领域的大模型,有什么技巧?
A4: 其实我理解你所说的特定领域的大模型,其实就是直接用模型微调就可以获得在某个特定领域效果非常好的大模型。

比如可以理解为目前线上提供的 API,包括写诗、写词、问答、新闻的生成等,都是使用特定的训练数据,对传统方法查询的模型做微调。

Q5: 悟道和其他类型的中文语言模型有什么样的优势
A5: 一方面,目前模型的规模应该算是最大的。另外是悟道使用的模型,结合了知识图谱的能力在里面,希望模型未来更加的具有常识和一定的认知能力,这个是悟道模型的发展方向。

目前能力是完全开放的,包括模型也是完全开放的,这个是也是它的巨大的优势之一。

后面会陆续的开放很多能力,希望提供基础设施也好,或是提供公共的资源也好,能让更多的开发者和更多的团队加入到大模型的开发和探讨中来。

“悟道之巅”比赛报名和交流

入门大模型后,如何优化其输出结果?丨“悟道之巅”公开课实录(2)

微信交流群: 添加小助手微信biendata02备注”悟道之巅”加入讨论群。

入门大模型后,如何优化其输出结果?丨“悟道之巅”公开课实录(2)

Original: https://blog.csdn.net/shujushizhanpai/article/details/121658430
Author: 数据实战派
Title: 入门大模型后,如何优化其输出结果?丨“悟道之巅”公开课实录(2)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/531648/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球