Ludwig V0.2为其深度学习工具箱增加了新功能和其他改进

Ludwig V0.2为其深度学习工具箱增加了新功能和其他改进

优步发布Ludwig,我们的开源,免费的深度学习工具箱,2019年2月,将世界推出到最简单的建筑机器学习模型的方法之一。Ludwig模型定义文件的简单性和陈述性质允许机器学习初学者富有成效很快,虽然其灵活性和可扩展性使机器学习专家甚至可以使用它来使用定制模型的新任务。

在过去五个月的过程中,一个伟大的社区聚集在路德维奇周围。更广泛的开源社区的成员贡献了许多新功能,以提高Ludwig的能力。

今天,我们在Ludwig版本0.2中发布了这些新功能,包括许多新工具,引擎盖下的几种改进以及错误修复。主要的是与COMET.ML集成,文本编码器中的BERT添加,音频/语音,H3(地理空间)和日期(时间)特征的实现,可视化API的大量改进,并包含服务功能。

我们非常感谢这些贡献,并鼓励其他人回馈Ludwig以供未来的发布。

comet.ml.

comet.ml.是一种工具,可让用户跟踪他们的机器学习代码,实验和结果。Comet.ML团队,特别是Doug Blank.,贡献了一种新的COMET.ML集成,允许在Ludwig培训的模型在其平台中自动监视,以便用户再次错过实验。通过这种集成,用户可以在简单且优雅的界面中进行比较实验,捕获模型配置更改,轻松跟踪多个实验中的结果和细节,在模型正在培训时查看Live Performance图表,并分析HyperParameters以构建更好的模型。

为了使用COMET.ML集成,用户只需添加-彗星参数并配置其comet.config文件。通过这种集成,将自动跟踪实验。

除了这个新的Comet.ml集成之外,我们在Ludwig内定义了许多钩子,以便使用其他集成,这将使贡献更容易向前移动。

伯特编码器

是一种基于的语言编码模型变压器架构用于编码以自我监督方式在大型语料库上培训的文本数据。它可以用作预训练或转移学习的形式,以培训模型,以执行分类或生成的基于文本的任务。广泛的研究表明雷竞技是骗人的从巨额语料库进行预先训练的正面转移可以转化为更好的性能和更快的培训,特别是当特定任务的监督数据很小时。

我们将BERT编码器添加到Ludwig的可用文本编码器列表中,以允许监督数据很小的情况,但性能要求很高。这意味着从今天的任何人都可以获得最先进的文本分类器,而无需编写单行代码。

用它如同简单下载首选的预训练模型并在yaml模型定义文件中指定以下信息:

路径配置重量,和tokenizer_vocab.在下载的模型中提供。

音频/语音功能

我们很高兴地宣布,Ludwig现在提供音频功能。它们在预处理方面工作的方式类似于图像特征,如在两种情况下,都需要指定文件路径,以便Ludwig可以从它们加载数据,而编码类似于顺序和时间序列功能。

音频功能也像语音一样双倍。默认情况下,它们被映射到一维原始信号,但是也可以通过改变预处理参数来应用短时傅里叶变换和组延迟特征提取,并获得许多语音模型中使用的经典功能。

以下是如何将音频/语音功能添加到YAML模型定义的示例:

音频功能的添加不仅打开了更多的大门,例如扬声器识别和自动语音识别等,而且还提供了用于多模式任务的附加信号。我们迫不及待地想看看Ludwig用户如何使用它们!

H3特色

2018年由优步创建和开放,H3.是依赖于分层六边形的空间索引系统,以识别地球上不同粒度的区域。它用于将位置编码为64位整数,并在优步杠杆分析地理信息以设定动态价格,并在城市级别做出其他决定。通过H3集成,用户可以在没有任何额外操纵的情况下向Ludwig模型馈送六边形数据。

我们还提供三个新编码器,通过编码其组件(模式,基本六边形和较低分辨率单元),将H3整数编码为潜在表示。第一个编码器,嵌入,嵌入每个组件并通过求解嵌入式来聚合它们。第二,加权_sum.,做同样的事情,还要学习权重与嵌入式组合。第三,rnn.,将组件嵌入,然后使用经常性神经网络将它们组合在从更细长的六边形到最细粒度的六边形中的层次结构中的顺序依赖关系之后。

以下是如何将H3功能添加到Yaml型号定义文件:

日期特征

在我们的0.2版本中,我们添加了一种简单的方法来支持Ludwig的日期和时间戳。此功能可让用户将事件输入到特定日期或特定时间以获取关于它们的特定时间的Ludwig。日期信息通过用户指定的模式或Python的自动日期解析功能进行解析,并细分组件(年,月,日,一周中的一周,一年,小时,分钟和第二个)。我们还为日期提供两个编码器:第一个,嵌入,独立嵌入每个组件,然后连接所获得的表示,而第二个,,用周期性函数对每个组件进行编码并连接结果。

以下是如何将日期要素添加到yaml型号定义文件的示例:

服务器

有几种方法可以部署Ludwig模型,部分原因是Ludwig列车Tensorflow模型,但使用此版本,我们添加了一个功能,允许用户直接在核心Ludwig库中服务培训的模型。我们通过了Fastapi.介绍可以查询的REST服务器才能获得预测。

要直接进入Ludwig的训练型,用户只需运行:

然后他们将能够查询模型以获得预测,如:

(在这种情况下,输入包含文本功能和图像功能)。

可视化API.

Ludwig的可视化选项非常广泛,但到目前为止已经结束了。主要原因是默认情况下,默认情况下,此设置不适合许多用户,特别是在远程计算机或笔记本中工作的人。

我们通过首先提供一个选项来指定要保存绘图的输出路径而不是在新窗口中显示它们的选项来解决了此问题。可以通过这种方式使用此功能:

虽然此代码段显示如何保存“Learning_curves”可视化,但这种新功能适用于所有其他可视化。

我们解决了可视化问题的第二种方式是通过在API中提供可以从笔记本内以编程方式调用的API中的函数。现在,通过命令行可用的每个功能也可通过API获得。这是一个例子:

为要添加此功能,我们重构了所有可视化代码,使其更加清洁,更好的封装,更可测试。

Spacy预处理

超越规则的空白和标点符号标记标记,第一个释放Ludwig仅支持英语语言文本标记。在这个新版本中,我们添加了意大利语,西班牙语,德语,法语,葡萄牙语,荷兰语,希腊语和多语言,感谢伟大版本的型号隐星NLP库。

基于用户反馈的更小的改进

随着我们在过去几个月的Ludwig添加了新功能,世界各地的用户要求清楚地了解如何实现他们的任务。为了帮助新用户开始Ludwig,我们将大大增加了Github中的示例数量,从少数几于20多。

我们还通过添加预处理和预测的许多参数来大大改进了图像和数字特征。

在引擎盖下也有许多改进,包括更快的进口速度(达到〜50%),API中的更多可选参数,并改善了测试覆盖范围和速度。

我们添加了一个新的测试命令以避免周围的混乱预测命令:现在他们都预测了看不见的数据,但是测试命令还计算预测质量的测量,只要数据中的地面真理输出可用,而且预测只计算预测,并且不需要这些输出。

我们重新组织了预处理代码以使其更可测试和可扩展,允许支持在TSV,JSON和TSV,JSON等未来中的更多输入数据类型阿帕奇菌落

我们解决了超过50个错误,这使得CodeBase更稳定和可靠。这也可能感谢我们的朋友deepsource.io.,因为他们的工具允许我们识别Codebase的改进区域。

向前进

在过去五个月的过程中,Ludwig已经长大了很多,但仍有很多事情要做,以使其完全齐全。

当前版本的图书馆的一个特定弱点是数据预处理:因为Ludwig需要提取元数据,因此框架要求用户在批处理提供完整数据并将其加载到内存中(图像特征除外)。这是一个限制,因为它可以训练数据Ludwig模型的大小可以接受到硬盘驱动器的大小,但模型本身没有此限制。出于这个原因,在接下来的几个月里,我们计划大修预处理管道以支持pet,Uber的开源数据访问库进行深度学习,允许Ludwig在存储在HDFS或Amazon S3中的Petabytes上培训。

我们还在探索为Ludwig添加了一个封立的多参数优化功能,以便获得更优化的型号,这些模型更好地执行更好的任务,较少的努力。由于贡献者,我们已经有了一项工作的贝叶斯方法迈克尔珍珠,但它需要更多的抛光才能为黄金时间准备好,因此我们可能会将其包含在V0.3中。

我们计划为所有功能添加更多最先进的编码器,特别是添加了加载佩带模型的能力vgg.reset.用于图像,和xlnet.和别的变形金刚文字。我们认为,促进这些编码器将是社会帮助的好方法,因此我们鼓励开发人员向我们联系,我们可以为如何做到这一点 - 它真的很容易和学习所有关于Ludwig的机会!

更多特征类型也在雷达上,特别是多变量时间序列,向量和点云 - 所有三个都会在下一个版本中添加。我们还计划旋转缺失的解码器。

最后,我们很高兴地宣布我们正在使用克里斯托弗教授斯坦福大学的H雷竞技是骗人的azyresearch集团融入了Ludwig浮潜,他们的系统,用于以编程方式建设和管理训练数据集以快速和灵活的燃料机学习模型。它们的弱监管方法与多任务学习和Ludwig的快速迭代和声明模型定义的结合非常有希望,因为它们的互补性是有希望的。我们希望很快能看到这一合作的成果!

有兴趣学习更多关于Ludwig的信息吗?查看我们的官方网站,阅读我们的公告和观看我们的新视频教程!!

致谢

我们要感谢我们所有的惊人的开源贡献者!

Doug Blank.comet.ml.团队贡献了彗星集成。音频/语音功能最初是贡献的帕特里克冯·格莱滕约翰沃瓦贡献了Ludwig的新服务器功能。Ivaylo Stefanov.重构可视化代码并贡献可视化API。感谢隐星团队在Ludwig中启用更多语言标记。

评论

没有帖子展示