Uber开源AI Ludwig不用写程序就能达到训练深度学习模型

Uber AI实验室开源释出训练和测试深度学习模型的AI工具箱Ludwig,该工具箱建立于深度学习框架TensorFlow上,标榜不需要写程序就能完成模型的训练和测试工作,提供一系列的AI模型开发工具,像是透过可视化的方式,呈现评估模型、比较模型效能和预测结果,目前于GitHub平台以Apache License 2.0授权释出。Uber表示,目前市面上有许多深度学习相关的函式库,像是TensorFlow、PyTorch、CNTK、MXNET,以及Chainer,Uber决定避免重复开发性质类似的工具,因而在这些开源函式库的根基上,打造AI开发工具箱Ludwig。Uber曾开源释出在PyTorch上建立的深度机率程序语言Pyro,以及允许在多个GPU和计算机分散训练深度学习模型的框架Horovod。

近几年来,深度学习模型已被证实能够高效执行多种不同机器学习任务,包含计算机视觉、语音识别、自然语言处理等,而在Uber内部,深度模型也被用在多种任务中,像是客户服务、物体辨识、优化地图、串流聊天沟通服务、预测和防范诈骗等,为了简化深度学习模型的测试和训练工作,AI工具箱Ludwig已经在Uber内部开发超过2年,主要用于Uber的多项项目,像是从驾驶人驾照萃取资料、从对话撷取客户兴趣、预测餐点送达时间等。Uber指出,Ludwig特别的地方是能够让非AI专家更容易理解深度学习模型,对于经验丰富的AI开发和研究人员而言,也能透过Ludwig缩短模型的开发周期,简化开发原型过程和处理串流数据的工作。Uber将Ludwig设计为一种通用型的工具箱,主要用于处理新的机器学习问题时,能够简化模型开发和比较模型架构过程,设计的核心原则包含免写程序、具有通用、灵活性和扩展性,并能够透过可视化的方式,让开发者更能理解模型。在通用性的部分,Ludwig允许开发者使用CSV的表格文件和数据序列格式YAML配置文件,来训练深度学习模型,YAML配置文件能够加快模型原型设计的速度,将编码的时间从数小时缩短至数分钟,若有超过一个输出目标变量,Ludwig会执行多任务学习,也就是同时预测所有的输出。

而针对灵活和扩展性的部分,在模型定义中通常会包含额外的信息,特别是对每个特征属性预先处理信息的时候,每个特征属性都需要个别的编码器、译码器和训练参数,而编码和译码器也都需要个别的架构参数,在预先处理和训练的部分,Uber透过经验和现有的学术文献,为多种模型架构参数建立默认值,让新手也能训练复杂的模型,同时,能够个别设定模型配置文件的功能,提供AI专家在训练模型时有更多弹性。此外,每个在Ludwig训练的模型都能够保存,若开发者要用新数据执行模型得到预测结果时,就能重载模型。其中,Ludwig一项主要的新概念是为特定的数据类型提供独立的编码和译码器,也就是说,每种数据类型都有特定的预先处理函式,像是文字、图像和类别(category),如此一来,Ludwig就能够提供高效率的模块化和可扩展架构,藉由不同数据种类组件的组合,开发者可以用Ludwig训练多种类的任务,举例来说,文字编码器和类别译码器的组合,就能得到文字分类器,而链接图像编码器和文字译码器就能得到生成图像标题模型。(图片来源:Uber)

除此之外,每个数据种类可以有超过一个的编码器和译码器,例如,文字类型的数据可以用卷积神经网络、递归神经网络或是其他编码器来编码,接着,开发者可以选定要用哪个编码器并设置超参数,过程中不需要写任何一行程序,目前Ludwig提供开发者训练模型,包含文字分类、物体分类、图像标题生成、时间预测、序列标注、回归、语言模型、机器翻译、问题回答等,对于没有经验的开发新手而言,该工具为他们提供开发用于多种应用案例模型的机会,而有经验的开发者,也能藉由该工具箱研究更多新领域。AI工具箱Ludwig目前的编码器和译码器支持二进制值、浮点数、类别、离散序列、集合、文字、图像和时间序列等数据种类,还有提供一些预先训练的模型,像是词向量模型,未来,Uber还预计支持更多数据种类。提供来源:乐彩爱心 pctchp.org.tw/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值