查看原文
其他

Lingvo:TensorFlow 序列建模框架

Google TensorFlow 2021-07-27

文 / Jonathan Shen


Lingvo 是国际性语言世界语中的一个单词,意为 “语言”。此名称寓指 Lingvo 框架的根基,即它是使用 TensorFlow 开发的一款通用深度学习框架,侧重于针对语言相关任务(例如机器翻译、语音识别和语音合成)的序列模型。


此框架在 Google 内部非常受欢迎,使用它的研究人员也越来越多。目前已发表 数十篇使用 Lingvo 获得顶尖成果的论文,未来还会有更多论文面世。Lingvo 支持多种架构,从传统的循环神经网络 (RNN) 序列模型到 Transformer 模型,再到包含变分自编码器 (VAE) 组件的模型,不一而足。为表示对研究社区的支持,同时鼓励可复现的研究工作,我们开源了此框架,并开始发布论文中使用的模型。

注:数十篇使用 Lingvo 获得顶尖成果的论文 链接

https://github.com/tensorflow/lingvo/blob/master/PUBLICATIONS.md


图 1:Lingvo 框架概览,简要展示了如何实例化和训练模型,以及如何将模型导出以进行评估和部署


在构建 Lingvo 时,我们秉持着协作研究的理念,通过在不同任务之间共享公共层的实现来提升代码复用率。此外,所有层都采用相同的公共界面,并且以相同的方式布局。这不仅可以产生更简洁易懂的代码,还能让您非常轻松地将其他开发者为其他任务所做的改进应用到您自己的任务上。执行这种一致性的确成本不菲,需要更多的规则和样板文件,但 Lingvo 会努力将成本降至最低,以确保在研究过程中更快地进行迭代。


协作的另一个方面是共享可复现的成果。Lingvo 提供一个集中的位置,用于存储检入的模型超参数配置。这不仅可以用来记录重要的实验,还能让其他研究者通过训练相同的模型,轻松复现您的成果。


虽然 Lingvo 最初的关注重点是 NLP,但它其实非常灵活,研究人员已经使用此框架成功实现了图像分割、点云分类等任务的模型。它还支持提炼、生成式对抗网络 (GAN) 和多任务模型。同时,此框架的速度并未因此而受到影响,它具有经优化的输入管道和快速分布式训练能力。最后,Lingvo 还将易于实现生产化也纳入考虑,它甚至有一条明确定义的路径,可以将模型移植到移动推理。


如要直接跳转到代码,请查看我们的 Github 页面 和 Codelab。如需详细了解 Lingvo 或其支持的某些高级功能,请参阅我们的 论文(https://arxiv.org/abs/1902.08295)。

注:Github 页面 链接

https://github.com/tensorflow/lingvo

Codelab 链接

https://colab.research.google.com/github/tensorflow/lingvo/blob/master/codelabs/introduction.ipynb



更多 AI 相关阅读:



    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存