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还有出色的多语言理解能力,用户的输入可以在中日英上丝滑切换。

相关文章

ChatGPT API

参考资料

https://welm.weixin.qq.com/docs/

https://new.qq.com/rain/a/20221013A02P8400

WeLM微信自研NLP大规模语言模型的更多相关文章

  1. NLP之语言模型

    参考: https://mp.weixin.qq.com/s/NvwB9H71JUivFyL_Or_ENA http://yangminz.coding.me/blog/post/MinkolovRN ...

  2. 微信自研生产级paxos类库PhxPaxos实现原理介绍

    转载自:   http://mp.weixin.qq.com/s?__biz=MzI4NDMyNTU2Mw==&mid=2247483695&idx=1&sn=91ea4229 ...

  3. 腾讯 微信春招nlp实习生一面二面(猝)

    一面: 1.算法题: 1 28数组中出现次数超过一半的数字 2 手写快排:八大排序算法总结(2) 2.项目介绍: 大多都是项目中涉及到的技术. TFIDF 的原理 word2vec的原理 3.算法原理 ...

  4. 微信Android客户端架构演进之路

    这是一个典型的Android应用在从小到大的成长过程中的“踩坑”与“填坑”的历史.互联网的变化速度如此之快,1年的时间里,可以发生翻天覆地的变化.今天在这里,重新和大家回顾微信客户端架构的演进过程,以 ...

  5. 转:微信Android客户端架构演进之路

    转自: http://www.infoq.com/cn/articles/wechat-android-app-architecture 微信Android客户端架构演进之路 作者 赵原 发布于 20 ...

  6. 【腾讯bugly干货分享】微信Android热补丁实践演进之路

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://bugly.qq.com/bbs/forum.php?mod=viewthread&tid=1264& ...

  7. Android插件化与热修复(六)-微信Tinker原理分析

    Tinker热修复原理分析 热补丁技术是在用户不需要重新安装应用的情况下实现应用更新,可快速解决一些线上问题.热补丁省去了Android应用发布版本的成本,而且用户端的更新也是无感知的. Tinker ...

  8. 微信Android热补丁实践演进之路

    版权声明:本文由张绍文原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/81 来源:腾云阁 https://www.qclou ...

  9. NLP之预训练

    内容是结合:https://zhuanlan.zhihu.com/p/49271699 可以直接看原文 预训练一般要从图像处理领域说起:可以先用某个训练集合比如训练集合A或者训练集合B对这个网络进行预 ...

  10. 2016年iOS技术圈回顾

    2016年同2015年一样,在我还没有做好心理准备的时候,一晃神就到了年底.年关将近,不知诸君心情如何,年初的规划实现了多少,来年的计划又是否已有了眉目.年过三十的Peak君感觉年关是越来越难过了,越 ...

随机推荐

  1. 分库表数据倾斜的处理让我联想到了AKF模型

    1 背景 最近在做需求的时候需要在一张表中增加一个字段. 这张表情况如下: 1.拆分了多个库多张表 2.库表拆分按表中商户编码字段hash之后取模进行拆分 由于库表拆分按照商户编码,有些大商家的单子数 ...

  2. angular + express 实现websocket通信

    最近需要实现一个功能,后端通过TCP协议连接雷达硬件的控制器,前端通过websocket连接后端,当控制器触发消息的时候,把信息通知给所以前端: 第一个思路是单独写一个后端服务用来实现websocke ...

  3. Modbus转profinet网关连接1200PLC在博图组态与英威腾驱动器通讯程序案例

    Modbus 转 profinet 网关连接 1200PLC 在博图组态与英威腾驱动器通讯程序案例 本案例给大家介绍由兴达易控 modbus 转 profinet 网关连接 1200PLC 在博图软件 ...

  4. oracle:修改表空间

    近来新建了一张表,发现放错表空间,且表中已有数据,故想到修改已有表的表空间 1.查看表所在的表空间select table_name,tablespace_name from dba_tables w ...

  5. Strimzi Kafka Bridge(桥接)实战之二:生产和发送消息

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是<Strimzi Kafka B ...

  6. 在 Rust 中实现 Repository 仓储模式

    前言 单位上有个 Rust 项目,orm 选型很长时间都没定下来,故先设计了抽象的仓储层方便写业务逻辑. 设计抽象接口 抽象只读接口,仅读取使用,目前需求仅用查询 id.查询全部和按名称搜索,当然理应 ...

  7. 11. 用Rust手把手编写一个wmproxy(代理,内网穿透等), 实现健康检查

    11. 用Rust手把手编写一个wmproxy(代理,内网穿透等), 实现健康检查 项目 ++wmproxy++ gite: https://gitee.com/tickbh/wmproxy gith ...

  8. Python:利用math和random模块实现RSA加密算法

    实验五报告: 利用math和random模块实现RSA加密算法 实验目标 本实验的主要目标是熟悉RSA(Rivest-Shamir-Adleman)密码算法的编写,其中包括求最大公因子.模逆的扩展欧几 ...

  9. 通过Lambda函数的方式获取属性名称

    前言: 最近在使用mybatis-plus框架, 常常会使用lambda的方法引用获取实体属性, 避免出现大量的魔法值. public List<User> listBySex() { L ...

  10. Go 函数的健壮性、panic异常处理、defer 机制

    Go 函数的健壮性.panic异常处理.defer 机制 目录 Go 函数的健壮性.panic异常处理.defer 机制 一.函数健壮性的"三不要"原则 1.1 原则一:不要相信任 ...