WeLM微信自研NLP大规模语言模型
2022年9月份微信AI推出自研NLP大规模语言模型WeLM ,该模型是一个尺寸合理的中文模型,能够在零样本以及少样本的情境下完成包多语言任务在内的多种NLP任务。openai的chatgpt是在2022年10月底发布的。在国内以中文为核心的大规模语言模型领域,微信AI推出的百亿级别大规模语言模型WeLM,是大模型百家争鸣中的新选手。 
什么是WeLM
WeLM 是一个非常擅长理解和生成文本的通用语言模型,是微信AI团队推出的自研NLP大规模语言模型。微信AI团队提供了WeLM的体验网页和API接口,感兴趣可前往 https://welm.weixin.qq.com/docs/ 体验和申请API接口,相关技术论文已发布于论文预印本网站arXiv,点击查看 《WeLM: A Well-Read Pre-trained Language Model for Chinese》。

WeLM有什么用途
WeLM 是一个非常擅长理解和生成文本的通用语言模型。你可以通过调用 WeLM 的 API 解决多种多样涉及文本的任务。例如给猫咪取名字、一个简单的问答。你也可以将 WeLM API 用于其他任务(包括且不限于对话、文本风格转换、阅读理解、翻译等)
据介绍,WeLM是一个百亿级别的中文模型,能够在零样本以及少样本的情境下完成包括对话-采访、阅读理解、翻译、改写、续写、多语言阅读理解在内的多种NLP任务,并具备记忆能力、自我纠正和检查能力。并且,WeLM具有尺寸合理的优势,在14项中文NLP任务上,WeLM的整体表现超出了所有同大小的模型,甚至能够匹配比它大25倍的模型。
WeLM任务示例
WeLM改写示例
以被普遍认为是更困难的NLP任务的文本风格转换(改写)为例,尽管用户给出的5个例子和最后需要生成的例子并没有重合的风格转换类型,但WeLM拥有出色的举一反三能力,通过学习少量的文本转换例子即可达到对任意类型的文本转换。并且,WeLM在对话-采访、阅读理解、翻译、续写等多个中文文本生成任务中有着同样优异的表现。

WeLM翻译示例
除了具备强大的中文理解和生成能力,WeLM还拥有处理跨多语言(中英日)任务的能力。以“微信 AI 推出の WeLM 是一个 language model that いろいろなtaskをperformができる”这句混合中日英三国语言的文本为例,WeLM的翻译相对更加精准。 
而且,在进一步微调后,WeLM可以拥有更好的零样本学习能力,可以根据场景拥有更好的表现。目前,WeLM已经部署应用于微信视频号的部分场景中,未来在进一步优化后还将应用于更多微信应用场景。
同时,为进一步推动WeLM成为真正能落地且实用的工具,微信AI团队还发布了一个供用户体验的交互式网页PlayGround,并开放了用于访问WeLM的API接口。
WeLM体验地址
https://welm.weixin.qq.com/docs/playground/
WeLM API申请地址
https://docs.qq.com/form/page/DUW1YVVJNbHpzV2No#/fill
WeLM API文档
https://welm.weixin.qq.com/docs/api/
目前,用户可通过https://welm.weixin.qq.com/docs/体验WeLM的相关能力,并通过调整配置以实现更贴近的文本生成效果。对于想接入WeLM的开发者,也可通过https://welm.weixin.qq.com/docs/api/填写问卷后获得WeLM的API Token并调用相应接口,将WeLM部署在自己的应用上。
具有极强知识储备,已在14项中文NLP任务展示能力
据介绍,在纯Encoder(Bert)、纯Decoder(GPT) 以及Encoder-Decode(T5) 结构等主流NLP模型路径的选择上,WeLM和GPT3、Google PaLM一样,选择了自回归模型的路线。同时,考虑到不同的用户对于模型效果和推理延迟会有考量或者取舍(trade-off),微信AI的WeLM训练了1.3B、2.7B以及10B三个版本的模型,满足不同用户的调用需求。
同时,在训练数据上,微信AI团队希望构建一个足够丰富、足够干净、足够公平的数据集,为此研究团队从Common Crawl下载了近两年的中文网页数据,和大量的书籍、新闻。为了增强专业能力,微信AI团队还在数据集补充了知识密集的论坛数据和一些学术论文,搜集完成后的全量数据10TB,其中包含了750G的英文数据,并保留了部分日韩文。
随后,通过规则过滤和额外训练的二分类fasttext模型,以及对测评相关数据的去除,数据集最终处理完的数据量为262B tokens。为了更好的平衡各个数据源的比重,微信AI团队也对数据进行不同比重的采样,最终,整体数据集的Topic分布相比 Common Crawl更加平滑。

在与业界同级别大模型的对比测试中,WeLM表现出极强的知识储备,在14项中文NLP任务上,WeLM 的整体表现超出了所有同大小的模型,甚至能够匹配比它大25倍的模型。同时,WeLM还有出色的多语言理解能力,用户的输入可以在中日英上丝滑切换。

相关文章
参考资料
https://welm.weixin.qq.com/docs/
https://new.qq.com/rain/a/20221013A02P8400
WeLM微信自研NLP大规模语言模型的更多相关文章
- NLP之语言模型
参考: https://mp.weixin.qq.com/s/NvwB9H71JUivFyL_Or_ENA http://yangminz.coding.me/blog/post/MinkolovRN ...
- 微信自研生产级paxos类库PhxPaxos实现原理介绍
转载自: http://mp.weixin.qq.com/s?__biz=MzI4NDMyNTU2Mw==&mid=2247483695&idx=1&sn=91ea4229 ...
- 腾讯 微信春招nlp实习生一面二面(猝)
一面: 1.算法题: 1 28数组中出现次数超过一半的数字 2 手写快排:八大排序算法总结(2) 2.项目介绍: 大多都是项目中涉及到的技术. TFIDF 的原理 word2vec的原理 3.算法原理 ...
- 微信Android客户端架构演进之路
这是一个典型的Android应用在从小到大的成长过程中的“踩坑”与“填坑”的历史.互联网的变化速度如此之快,1年的时间里,可以发生翻天覆地的变化.今天在这里,重新和大家回顾微信客户端架构的演进过程,以 ...
- 转:微信Android客户端架构演进之路
转自: http://www.infoq.com/cn/articles/wechat-android-app-architecture 微信Android客户端架构演进之路 作者 赵原 发布于 20 ...
- 【腾讯bugly干货分享】微信Android热补丁实践演进之路
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://bugly.qq.com/bbs/forum.php?mod=viewthread&tid=1264& ...
- Android插件化与热修复(六)-微信Tinker原理分析
Tinker热修复原理分析 热补丁技术是在用户不需要重新安装应用的情况下实现应用更新,可快速解决一些线上问题.热补丁省去了Android应用发布版本的成本,而且用户端的更新也是无感知的. Tinker ...
- 微信Android热补丁实践演进之路
版权声明:本文由张绍文原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/81 来源:腾云阁 https://www.qclou ...
- NLP之预训练
内容是结合:https://zhuanlan.zhihu.com/p/49271699 可以直接看原文 预训练一般要从图像处理领域说起:可以先用某个训练集合比如训练集合A或者训练集合B对这个网络进行预 ...
- 2016年iOS技术圈回顾
2016年同2015年一样,在我还没有做好心理准备的时候,一晃神就到了年底.年关将近,不知诸君心情如何,年初的规划实现了多少,来年的计划又是否已有了眉目.年过三十的Peak君感觉年关是越来越难过了,越 ...
随机推荐
- MySQL面试题——隔离级别相关面试题
隔离级别相关面试题 MySQL事务隔离级别 未提交读--可以读到其他事务未提交的数据(最新的版本) 错误现象:脏读.不可重复读.幻读的现象 提交读(RC)--可以读到其他事务已提交的数据(最新已提交的 ...
- Solution -「SCOI 2016」萌萌哒
Description Link. 给定一个长度为 \(n\) 的数组让你填数,需要满足 \(m\) 个形如 \(([l_{1},r_{1}],[l_{2},r_{2}])\) 的要求,这两个区间填好 ...
- containerd镜像拉取配置
背景: 公司要求部署最一套新版的k8s系统来部署生产应用,说实话很头疼.因为k8s自1.23版本之后就用不docker作为容器的默认运行时了,而是采用的containerd,这就带来了一系列的问题.没 ...
- 6.swagger完善:界面显示注释+多版本控制
周末,写点简单的水一下. 新版本的vs创建项目的时候可以选择自带一个swagger.然而这只是基本的swagger功能. 几个接口无所谓啦,随着接口越来越多,就这么丢给你,一时间也会懵逼,所以这篇文章 ...
- 【题解】《PTA-Python程序设计》题目集分享
第1章-1 从键盘输入两个数,求它们的和并输出 (30 分) 本题目要求读入2个整数A和B,然后输出它们的和. 输入格式: 在一行中给出一个被加数在另一行中给出一个加数 输出格式: 在一行中输出和值. ...
- 【matplotlib 实战】--南丁格尔玫瑰图
南丁格尔玫瑰图是一种用极坐标下的柱状图或堆叠柱状图来展示数据的图表. 虽然南丁格尔玫瑰图外观类似饼图,但是表示数据的方式不同,它是以半径来表示数值的,而饼图是以扇形的弧度来表达数据的. 所以,南丁格尔 ...
- 原来 Lambda 这么简单
目录 前身 -- 匿名类 lambda 表达式 方法引用 类名::静态方法 类名::实例方法 对象::实例方法 总结 前身 -- 匿名类 何为匿名类? 没有类名,直接通过new关键字创建这个类的实例 ...
- codeforces div1A
A. Circular Local MiniMax 题目翻译:给我们一个数组(循环的也就是1和n是相邻的),我们可以对数组进行任意调序,对于每个数b[i]要求满足b[i] < b[i - 1] ...
- Lazyload 延迟加载效果(转)
http://www.cnblogs.com/cloudgamer/archive/2010/02/01/LazyLoad.html Lazyload是通过延迟加载来实现按需加载,达到节省资源,加快浏 ...
- t分布及t分布表
http://baike.baidu.com/view/1419652.htm 下表列出了自由度为1-30以及80.100.120等t-分布的单侧和双侧区间值.例如,当样本数量n=5时,则自由度v ...