Google 最新 NLP 模型开源

2020 年,注定是 NLP 技术爆发的一年。

近日,Google 又推出了 Transformer 的『升级版』 —— ReformerTransformer 可谓是近年自然语言处理领域关注度颇高的模型之一。

  • 2017 年,Google 发表题为『Attention Is All You Need』的论文,提出了完全基于注意力机制(Attention Mechanism)的网络框架 Transformer
  • 2018 年,Google 开源了基于 Transformer 的 BERT 模型,在 NLP 领域大火。
  • 2019 年,机器学习领域最大的趋势之一,便是基于 Transformer 的自然语言模型的持续增长和扩散。
  • 2020 年,根据自然语言处理领域数据集 GLUE(General Language Understanding Evaluation)的排行榜,一些表现最佳的模型 —— 包括:Nvidia 的 Megatron、Google 的 XLNet、微软的 MT-DNN 和 Facebook 的 Roberta,都基于 Transformer。

对人工智能和机器学习模型来说,不管是语言、音乐、语音还是视频,序列数据都不好理解 —— 尤其是在广泛的环境中。例如,如果一个人或一个物体从视频中消失很久后才重新出现,许多算法就会忘记它的样子。

因此,Google 开发了机器翻译模型 Transformer,希望解决这一问题。Transformer 是一个扩展到数千个单词的架构,极大地提升了在完成作曲、图像合成、逐句文本翻译和文档摘要等任务时的性能。

与所有深度神经网络一样,Transformer 包含连接层中的神经元(数学函数),可传输来自输入数据的信号,并缓慢调整每个连接的突触强度(权重),这是所有人工智能模型提取特征和学习预测的方式,但是 Transformer 能独特地注意到每个输出元素都与每个输入元素相关联,它们之间的权重实际上是动态计算的。

不过,Transformer 并不是完美的——将其扩展到更大的环境中就能明显看出局限性。大窗口应用程序的内存从千兆字节到兆兆字节不等,也就是说模型只能吸收几段文本或生成一小段音乐。

基于此,Google 推出 Reformer 作为 Transformer 的演进,Reformer 能够处理多达 100 万字的环境,仅用 16GB 的存储器就能在单个 AI 加速器芯片上运行。

hugging face 发布词语切分工具:Tokenizers

专注 NLP 的初创团队抱抱脸(hugging face)发布帮助自然语言处理过程中,更快的词语切分(tokenization)工具:Tokenizers —— 只要 20 秒就能编码 1GB 文本。

  • 功能多样:适用于 BPE / byte-level-BPE / WordPiece / SentencePiece 各种 NLP 处理模型
  • 可以完成所有的预处理:截断(Truncate)、填补(Pad)、添加模型需要的特殊标记。
  • 速度超级快:只需要 20 秒就可以在 CPU 上标记 1GB 的文本。
  • 目前适用三种编程语言:Rust / Python / Node.js

GitHub地址项目 GitHub 地址

自动语音识别包 wav2letter 升级

生物识别技术,包括:指纹,虹膜,人脸,静脉以及声纹等,利用人体固有的生理特性(如指纹、脸象、虹膜等)和行为特征(如笔迹、声音、步态等)来进行个人身份的鉴定。另一方面 —— 机器要听懂人类说话,就离不开语音识别技术(ASR)。因此,语音识别成为计算机识别技术以外应用最为广泛的新一代人工智能技术 ——

  • 苹果的用户肯定都体验过 Siri ,就是典型的语音识别;
  • 微信里有一个功能是『文字语音转文字』,也利用了语音识别;
  • 最近流行的智能音箱就是以语音识别为核心的产品;
  • 比较新款的汽车基本都有语音控制的功能,这也是语音识别;

自动语音识别(ASR)涉及自动将录制的语音转录为文本的模型、算法和系统。这是一个很难解决的问题,因为录制的语音可能变化很大——我们不一定是说话者是谁,录制语音的地方,或者信号中是否有其他声源(如噪音或竞争性说话者)。解决语音识别问题需要对机器学习、信号处理和声学语音学有所了解。此前,跨象乘云™ 介绍了 Facebook AI 研究院开源的端到端语音识别系统 wav2letter,一套简单高效的自动语音识别系统(ASR)。

日前,Facebook 发布了新一代在线自动语音识别系统 —— wav2letter@anywhere,wav2letter@anywhere 是由 wav2letterwav2letter++ 这两个基于神经网络的语言模型构建的,在 2018 年 12 月发布时,Facebook 人工智能研究院认为这两款语言模型是目前可用的最快的开源语音识别系统。自动语音识别(ASR)可将语音转换为文本,然后推断出说话者的意图从而执行任务。wav2letter++ 存储库在 GitHub 上提供的 API 支持并发音频流和广泛使用的深度学习语音识别模型,如卷积神经网络(CNN)或递归神经网络(RNN),可以满足在线 ASR 所需的规模。

GitHub地址项目 GitHub 地址

AWS 开源高性能模型生成器:AutoGluon

作为自动化机器学习平台的其中一员,基于 MXNet 深度学习框架(支持 Pytorch)的 AWS AutoGluon 于 1 月 9 日正式发布,在这之前,AutoGluon 已经在 Github 上悄悄上线一个月了 —— 新一代人工智能实验室的科研人员,以及 AI 开发者们,均可以通过它构建包含图像、文本或表格数据集的机器学习应用程序,并且不需要进行任何手动测试。

AutoGluon 为开发人员自动化了许多决策。通常,像超参数调优这样的任务是需要手动执行的,这要求科学家预测超参数 —— 表示在构建 AI 模型时所做的选择 —— 将如何影响模型训练。另一个通常被称为神经架构搜索,这是一个需要人工监督的复杂工程,在某种程度上,开发人员必须为他们各自的模型确定最佳设计。AutoGluon 可以开箱即用地识别用于表格预测、图像和文本分类以及对象检测的模型,它还提供了一个 API,更有经验的开发人员可以利用该 API 进一步改进模型的预测性能。

Amazon’s AutoGluon helps developers deploy deep learning models with just a few lines of code
Amazon’s AutoGluon helps developers deploy deep learning models with just a few lines of code

开发人员无需在设计深度学习模型时手动尝试必须做出的数百种选择,只需简单地指定让训练好的模型就绪的时间即可。作为响应,AutoGluon 可以利用可用的计算资源在其分配的运行时间内找到最强大的模型。AutoGluon 可以通过自动调整默认范围内的选择来生成仅需三行代码的模型,而这些默认范围在已知范围内可以很好地完成给定任务。开发人员只需指定他们何时准备好训练后的模型,AutoGluon 就会利用可用的计算资源来在分配的 runtime 中找到最强大的模型。

同时,AutoGluon 官方网站为开发人员提供了许多工程案例教程,可利用它们对表格,文本和图像数据进行深度学习(诸如涵盖分类 / 回归等基本任务以及对象检测等更高级的任务)。无疑对本科、研究生人工智能专业建设,提供了重要的项目案例教育资源补充。

GitHub地址项目 GitHub 地址

CNN 101:卷积神经网络的交互式视觉学习

为了应对深度学习模型中的复杂性挑战,日前,佐治亚理工学院研究人员开发了 CNN 101,这是另一个交互式的可视化卷积神经网络系统,可以帮助深度学习、人工智能实验室的科研人员以及学生更好地了解和学习卷积神经网络,它是基础的深度学习模型体系结构。

交互式可视化卷积神经网络系统
CNN 101 :交互式可视化卷积神经网络系统

使用现代 Web 技术构建的 CNN 101 无需专用硬件即可在用户的 Web 浏览器中本地运行。通过紧密集成的交互式视图,CNN 101 通过解释单神经元级别以及层级别的卷积,激活和池化操作,提供了模型工作方式的概述和详细说明。CNN 101 进一步扩大了公众对深度学习技术的教育途径。它应用了交互式可视化技术,为用户提供了一种更简单的方法来学习深度学习机制并建立神经网络直觉。并且,对于现有的通过交互式可视化来解释复杂机器学习算法的研究工作,CNN 101 可以与他们结合在一起。

同时,作者为 CNN 101 录制了演示视频,为了方便观看,跨象乘云™ 提供了源视频下载 ——

Uber 开源 AI 模型可视化分析工具:Manifold

可解释人工智能分析,在新一代人工智能科研平台,以及人工智能实验室建设中,具有越来越重要的地位 —— 调试机器学习模型是最痛苦的,因为算法本身不透明,就算运行结果不好,有时你也很难知道问题出在哪里。了解 ML 模型的性能和行为是一个不容易的过程。性能摘要统计信息(输出的数据,比如 AUC、均方误差等等,对指导我们如何改进模型是远远不够的。最近,Uber 也推出了一款 ML 可视化调试工具Manifold(流形),可以帮助开发者发现让模型不能准确预测的数据子集,通过不同子集之间的特征分布差异来解释模型性能不佳的可能原因。

GitHub地址项目 GitHub 地址

Google 发布联邦学习漫画

2017 年,谷歌在官方博客中发文,提出了联邦学习(Federated Learning)。该技术实际上是一种加密的分布式机器学习技术,各个参与方可在不披露底层数据和其加密形态的前提下共建模型。

Federated Learning in Gboard on Android
Federated Learning in Gboard on Android

为了帮助大家更好地理解这个技术,贴心的谷歌还特意出版了一期漫画解析,网上已经有中文翻译版本。这里发布原始链接,供高校新一代人工智能科研实验室、专业教学等师生参考。

北大全新开源中文分词工具包

2020 年,自然语言处理NLP)科研方向被赋予了极大的期待。

最近,北大开源了一个中文分词工具包,它在多个分词数据集上都有非常高的分词准确率。其中广泛使用的结巴分词误差率高达 18.55% 和 20.42,而北大的 pkuseg 只有 3.25% 与 4.32%。pkuseg 是由北京大学语言计算与机器学习研究组研制推出的一套全新的中文分词工具包。它简单易用,支持多领域分词,在不同领域的数据上都大幅提高了分词的准确率。pkuseg 具有如下几个特点:

  • 多领域分词。不同于以往的通用中文分词工具,此工具包同时致力于为不同领域的数据提供个性化的预训练模型。根据待分词文本的领域特点,用户可以自由地选择不同的模型。 我们目前支持了新闻领域,网络领域,医药领域,旅游领域,以及混合领域的分词预训练模型。在使用中,如果用户明确待分词的领域,可加载对应的模型进行分词。如果用户无法确定具体领域,推荐使用在混合领域上训练的通用模型。各领域分词样例可参考 example.txt
  • 更高的分词准确率。相比于其他的分词工具包,当使用相同的训练数据和测试数据,pkuseg可以取得更高的分词准确率。
  • 支持用户自训练模型。支持用户使用全新的标注数据进行训练。
  • 支持词性标注。

此外,作者们还选择 THULAC结巴分词等国内代表分词工具包与 pkuseg 做性能比较。他们选择 Linux 作为测试环境,在新闻数据(MSRA)和混合型文本(CTB8)数据上对不同工具包进行了准确率测试。最广泛使用的结巴分词准确率最低,清华构建的 THULAC 分词准确率也没有它高。当然,pkuseg 是在这些数据集上训练的,因此它在这些任务上的准确率也会更高一些。

GitHub地址项目 GitHub 地址

最佳 Pytorch 科研项目架构模板实践

此前,跨象乘云™ 发布了《最佳TensorFlow科研项目架构模板实践》,TensorFlow 是帮助深度学习新方法走向实现的强大工具。它为大多数深度学习领域中使用的常用语言提供了大量应用程序接口。对于开发者和研究人员来说,在开启新的项目前首先面临的问题是:如何构建一个简单明了的结构。所以,经过大量的实践和对 Tensorflow 项目贡献,整理了一个结合简洁,具备文件夹结构化组织,并且面向对象设计的 Tensorflow 项目模板最佳实践 —— 为高校深度学习与新一代人工智能科研实验室建设以及科研教学平台提供良好的基础支撑。

另一方面,自从 PyTorch 1.0 发布之后,越来越多的人选择使用 PyTorch,今天给大家介绍一个 Github 项目,作者通过自己使用 PyTorch 的实际工程经验,总结出了一套非常有用的使用 PyTorch 的最佳实践,涉及到使用 PyTorch 的方方面面。

本文总结了使用 PyTorch 框架进行深度学习的一年多经验中的最佳实践。请注意,我们分享的经验大多来自研究和创业的视角。这是一个开放的项目,欢迎其他合作者编辑和改进文档。该文档有三个主要部分。首先,简要回顾一下 Python 中的最佳实践,然后介绍一些使用 PyTorch 的技巧和建议。最后,我们分享了一些使用其他框架的见解和经验,这些框架通常对我们改进工作流有帮助。

GitHub地址项目 GitHub 地址

《机器学习实用指南》第二版发布

Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow》(《机器学习实用指南》),这本书最大的特色从理论上讲就是言简意赅,全书基本上没有太多复杂的数学公式推导。这一点正是国内很多高校教材所欠缺的。这本超赞的机器学习实用指南终于正式出版了第二版:《Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems 2nd Edition》,并且在美国亚马逊上开售(包括 Kindle 版本)。

Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow Concepts, Tools, and Techniques to Build Intelligent Systems 2nd Edition
Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow Concepts, Tools, and Techniques to Build Intelligent Systems 2nd Edition

本教材作者是 Aurélien Géron,法国人,毕业于AgroParisTech,曾任 Google Youtube 视频分类项目组负责人,创建过多家公司并担任 CTO,也曾在 AgroParisTech 担任讲师。现在是一名机器学习的顾问。第二版相比第一版增加了许多新的内容,最直白的就是第一版使用了 Scikit-LearnTensorFlow,而第二版增加了 Keras 深度学习框架。从内容上来说,第二版增加了更多的机器学习前沿知识,包括:无监督学习,训练深度网络,计算机视觉自然语言处理等等。作者将本书所有章节的详细代码都开源了并发布在 GitHub 上,目前已经收获了 5.5k star。

GitHub地址项目 GitHub 地址