微信版大语言模型来了:跨时空对话李白、教你高情商说话,在线可玩

鱼羊 梦晨 发自 凹非寺

量子位 | 公众号 QbitAI

大规模语言模型,微信版,来了!

并且甫一登场,就没藏着掖着:

论文、API接口、在线试玩网站……一条龙全都齐备。

续写文本、阅读理解等常规任务就不说了,这个名叫WeLM的AI,竟然直接让我和李白跨时空聊起了杜甫:

我:现在有一首关于你的歌,其中一句歌词是「要是能重来,我要选李白」,请问你自己有什么看法?

李白:我要选杜甫。

这还不算完,WeLM甚至还治好了我不会聊天的毛病,分分钟教会我如何高情商说话。

这么一个AI,参数量不算大,目前处于百亿水平。

但值得关注的是,实验结果显示,它在18个中文语言任务里,效果堪比参数量是其25倍的模型

是不是有点手痒想上手一试了?先奉上链接,咱们再仔细说说,这波微信是怎么做到的。

体验链接:https://welm.weixin.qq.com/docs/playground/

API接口:https://welm.weixin.qq.com/docs/api/

论文地址:https://arxiv.org/abs/2209.10372

「学富五车」的大模型

微信语言大模型WeLM,全名Well-Read Language Model,也就是「学富五车的语言模型」

在翻译任务上,WeLM不光可以做到基本的,甚至三语夹杂也难不倒它。

在文本续写任务上,只需给出开头就能生成适应不同风格的文本。

这种多语言、多任务能力是怎么做到的?

其实WeLM与著名的GPT-3是同类,都是自回归解码器结构,微信团队选择这种结构就是看中其在海量数据中掌握无穷范式的能力。

在具体实现方法上,WeLM还有两项特色。

一是采用RoPE相对位置编码,与传统的固定位置编码相比能更好处理长文本,比如理解整篇文章甚至整本书。

二是使用62k个token的SentencePiece并保留其中的空格和Tab,这样更有利于下游任务。

使用这些方法,WeLM总共设计了从13亿到100亿参数的三个版本,可按需调用。

其中100亿参数的满血版WeLM在14项中文任务中整体表现超过同大小的模型,甚至在零样本任务上超过比它大25倍的模型。

这其中最大的秘诀就是精心准备的高质量训练数据上充分训练,也就是「学富五车」的含义所在。

高质量训练数据包括从Common Crawl下载的近两年中文网页、大量书籍、新闻、论坛数据和学术论文。

收集到的数据总量超过10TB,其中包含750G英文数据,中文中夹杂的英日韩语为了语义连贯也全部保留。

不过这还不算完,需要经过清洗、去重等一系列步骤才能算得上是高质量数据。

首先是去除噪声和脏数据,结合使用规则和模型检测后,超过87%的数据被过滤。

再利用SimHash算法去重,进一步过滤掉40%的数据。

接下来要去除一切和测评相关的数据,保证公平性,以 17-gram 为检测重复粒度再次过滤了0.15%的数据。

一系列处理后留下的数据量为262B tokens,最后再对这些数据进行不同比重的采样,使数据平滑分布在各个话题上。

对于预训练,团队认为当今多数大模型的训练都不够充分,WeLM 100亿参数版的训练量基本与1750亿的GPT-3相当(300B tokens),在128张A100上训练用了大概24天时间。

为了保证训练效率,WeLM在训练过程中还使用了完全可原地复现的形式,不管发生任何问题都能从最近的checkpoint恢复。

自1750亿参数的GPT-3之后,语言模型规模越来越大,到今年谷歌的PaLM已经达到5400亿,中文大模型同样有这个趋势。

可以看出微信团队选择了另一条路线,以高质量训练数据和高效训练做到「四两拨千斤」的效果。

到这一步WeLM已经有了不错的表现,不过接下来这个步骤再次将其零样本泛化能力提到新的高度。

研究团队针对76个数据集各人工撰写10-20个Prompt,将原任务中的文本关系的标签和输入信息转化成流畅通顺的自然语言形式,更符合自回归语言模型的训练形式。

使用这些Prompt对模型微调后,相当于让模型学会了面对多样的Prompt该做什么。如果遇到相似Prompt形式的全新任务,也可以有更稳定的表现。

实验证明,在全量数据上微调后的模型在新的NLP任务上具备更优秀的零样本迁移能力,同时也使得微调变为一项一劳永逸的工作。

最后,研究团队还测试了WeLM的三个额外能力。

通过提供示例,WeLM可以对自己的决策作出解释,不过这种能力不太稳定,还需要进一步探索。

通过简单提问,WeLM可以对结果进行自我纠正和检查能力,为后续提高性能提供了可能方向。

WeLM还表现出一定的记忆能力,如果输入内容完美匹配前文,即使内容很长、出现频次很低,模型依然可以准确的生成剩下的部分。

最后再来总结一下,WeLM精通中文的同时掌握英日韩等多种外语、可以通过少样本或零样本学习执行全新任务,同时以合理尺寸做到与25倍参数量的模型相媲美使用成本较低,总之就是奔着实用性大规模落地去的。

同步开放在线体验与API,也是希望有想法的开发者能方便的用起来,让WeLM大模型真正实用的工具。

WeLM怎么用

具体来说,WeLM线上Demo目前释出的功能包括:对话-采访、阅读理解、翻译、改写、续写以及自由任务。

在正式开始跟WeLM玩耍之前,记得要先给模型扔一段简单的「范文」,也就是「prompt」。

在线网站会给出一些默认的prompt,你也可以自行修改设计。需要遵循的设计原则是:

第一,描述清楚;第二,例子具备代表性(多个例子更好)。

以文本分类任务为例,prompt应该长这样:

其中的技巧包括,首先,把分类任务用自然语言清晰地表达出来,在上面这个示例中,「微博」即为输入,「类别」即为输出。

其次,在第一句的指令型描述中,需要把可能的分类结果都列出来。

最后,如果效果不佳,可以尝试加入更多例子,让WeLM更清楚你到底想要做怎样的任务。

另外,正如前文所说,WeLM拥有零样本学习能力。

所以直接把它当作问答搜索引擎来用,也不是不行(手动狗头)。

如果你还想得到更多样化的生成结果,token数量、temperature等参数均可调整。

更重要的一点是,WeLM已开放API接口 。也就是说,如果身为开发者的你想在自己的App里用上这个大模型,填写调查问卷注册即可。

One More Thing

说起来,这样的大模型要是真的落地应用了,妈妈岂不是再也不用担心我因为不会聊天而母胎solo ?

比如说……

你还有什么有趣的脑洞?大胆招呼起来~

— 完 —

量子位 QbitAI · 头条号签约

关注我们,第一时间获知前沿科技动态

原文地址:https://www.toutiao.com/article/7153850562843312640/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习编程?其实不难,不过在学习编程之前你得先了解你的目的是什么?这个很重要,因为目的决定你的发展方向、决定你的发展速度。
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面设计类、前端与移动、开发与测试、营销推广类、数据运营类、运营维护类、游戏相关类等,根据不同的分类下面有细分了不同的岗位。
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生学习Java开发,但要结合自身的情况,先了解自己适不适合去学习Java,不要盲目的选择不适合自己的Java培训班进行学习。只要肯下功夫钻研,多看、多想、多练
Can’t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock问题 1.进入mysql路径
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 sqlplus / as sysdba 2.普通用户登录
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服务器有时候会断掉,所以写个shell脚本每五分钟去判断是否连接,于是就有下面的shell脚本。
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开...
下面的 SQL 语句指定了两个别名,一个是 name 列的别名,一个是 country 列的别名。**提示:**如果列名称包含空格,要求使用双引号或方括号:
在使用H5混合开发的app打包后,需要将ipa文件上传到appstore进行发布,就需要去苹果开发者中心进行发布。​
+----+--------------+---------------------------+-------+---------+
数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 nu...
第一步:到appuploader官网下载辅助工具和iCloud驱动,使用前面创建的AppID登录。
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
前不久在制作win11pe,制作了一版,1.26GB,太大了,不满意,想再裁剪下,发现这次dism mount正常,commit或discard巨慢,以前都很快...
赛门铁克各个版本概览:https://knowledge.broadcom.com/external/article?legacyId=tech163829
实测Python 3.6.6用pip 21.3.1,再高就报错了,Python 3.10.7用pip 22.3.1是可以的
Broadcom Corporation (博通公司,股票代号AVGO)是全球领先的有线和无线通信半导体公司。其产品实现向家庭、 办公室和移动环境以及在这些环境...
发现个问题,server2016上安装了c4d这些版本,低版本的正常显示窗格,但红色圈出的高版本c4d打开后不显示窗格,
TAT:https://cloud.tencent.com/document/product/1340