2025 AI基础设施风向标,不看必后悔!#AI基础设施峰会 了解详情
写点什么

LinkedIn 开源 Avro2TF: TensorFlow 的开源特性转换引擎

  • 2019-04-29
  • 本文字数:1688 字

    阅读完需:约 6 分钟

LinkedIn开源Avro2TF: TensorFlow的开源特性转换引擎

2019 年 4 月 4 日,我们宣布开源一个新的项目Avro2TF。该项目提供了一种可伸缩的基于spark的机制,可以有效地将数据转换为供TensorFlow使用的格式。使用这种技术,开发人员可以更专注于构建模型而不是转换数据,从而提高生产率。

LinkedIn 的深度学习数据管道

在 LinkedIn,深度学习已成功应用于多个与推荐和搜索相关的人工智能系统。我们从这个项目中学到的重要经验之一是深深地感受到提供良好的深度学习平台的重要性,这有助于我们的建模工程师变得更加高效和多产。Avro2TF 是为了降低数据处理复杂性和提高高级建模速度这个目标做出的努力。除了推进深度学习技术,LinkedIn 多年来一直在分享很多领域关于机器学习(ML)方面的创新(例如,推荐系统、可伸缩的机器学习系统等)。因为效率和准确性至上,所以我们有许多不同的 ML 方法来处理每天产生的大量的数据。


为了有效地支持深度学习和推进机器学习民主化的愿景(通过Pro-ML这样的项目),我们必须首先解决数据处理步骤的问题。我们的 ML 算法(例如 LinkedIn 的大规模个性化引擎Photon-ML)使用的大部分数据集都是 Avro 格式的。Avro 数据集中的每个记录本质上都是一个稀疏向量,并且可以被大多数现代分类器轻松使用。然而,领先的深度学习库 TensorFlow 无法直接使用 Avro 这种格式。主要的阻碍因素是稀疏向量的格式与 TensorFlow 所期望的格式不同。我们相信这不是 LinkedIn 独有的问题。许多公司拥有大量类似稀疏向量格式的 ML 数据,而 Tensor(张量)格式对许多公司来说仍然相对较新。


LinkedIn 的数据通常很大,格式也与传统的深度学习库不同。这就带来了重大的挑战,因为许多管道都包含混合的数据处理逻辑和建模逻辑。它影响了构建新的深度学习模型的灵活性。根据用户对 LinkedIn ML 垂直团队的反馈,我们需要一个可伸缩的解决方案,专注于可伸缩的数据转换。更具体地说,我们需要一个将 LinkedIn 数据类型(例如稀疏向量、密集向量等)转换为深度学习格式(即张量)的机制。



Avro2TF 弥补了这一差距,为 ML 工程师提供了一个不错的解决方案,让他们可以专注于不同的深度学习算法。它为建模者提供了一个简单的配置,以便从现有的训练数据中获取张量。张量数据本身不是自包含的。为了加载到 TensorFlow,张量数据需要携带元数据。为了弥补这一差距,Avro2TF 还提供分布式元数据收集工作。在 LinkedIn 内部,Avro2TF 是一个名为 TensorFlowIn 的系统的组成部分,该系统可以帮助用户轻松地将数据输入到 TensorFlow 建模过程中。



TensorFlowIn 是一个与TonY、TensorFlow 和 Spark 兼容的深度学习训练库。它包含端到端训练相关的实用程序和框架。上面的图给出了 TensorFlowIn 的高级概览。由于大规模的数据处理是一个重要的步骤,这不仅对许多 LinkedIn 应用程序至关重要,而且对更大的人工智能社区也很有用,所以我们在收到积极的内部反馈后决定开放这个引擎的源代码。

Avro2TF 项目细节

下面简要介绍 Avro2TF 的一些实现特性。


  • 输入数据要求:我们支持 Spark 可以读取的所有数据格式,包括 LinkedIn、Avro 和 ORC 中最流行的格式。对于分类或稀疏特性,我们要求它们以 NTV (name-term-value)格式表示。

  • 输出张量支持的数据类型:在 Avro2TF 中,输出张量支持的数据类型(dtype)为:int、long、float、double、string、boolean 和 bytes。我们还提供了一个特殊的数据类型 sparseVector 来表示分类/稀疏特性。一个 sparseVector 的张量类型有两个字段:索引和值。

  • Avro2TF 配置:在顶层,配置文件包含关于张量的信息,这些张量将提供给深度学习训练框架使用。对于每个指定的张量,它包含两种信息:

  • 输入特征信息,判断应该使用哪些现有特征来构造张量。

  • 输出张量信息,包括期望输出张量的名称、类型和形状。


Avro2TF 数据管道:它处理特征提取、特征转换(在 LinkedIn,这仅在 Pro-ML 不涉及的有限用例中)、张量元数据和特征映射生成、将字符串转换为数值索引和张量序列化。

Avro2TF 现在是开源的

在 LinkedIn 成功使用 Avro2TF 之后,我们已经将该技术作为开源软件发布。你可以在这里找到 Avro2TF 的官方 GitHub 页面。


我们还发布了 Avro2TF 的官方教程,可以在项目wiki页面上找到。



2019-04-29 08:086546
用户头像

发布了 124 篇内容, 共 46.9 次阅读, 收获喜欢 177 次。

关注

评论 1 条评论

发布
用户头像
开源,让全世界的工程师抛弃文化等因素,去协作完成一个项目。
2019-08-02 10:42
回复
没有更多了
发现更多内容

使用CLion进行ROS开发

芯动大师

CLion 2023

iShowU Studio for mac(强大的屏幕录像编辑工具)v2.3.15激活版

Rose

CleanMyMac X for mac(Mac清理优化工具) v5beta中文激活版

Rose

截图和屏幕录制工具 CleanShot X for mac v4.7.3激活版

Rose

Redis集群slot迁移改造实践

vivo互联网技术

redis集群 slot迁移 水平扩缩容

Cisco ACI Simulator 6.0(7e)M 发布下载,新增功能简介

sysin

Cisco sdn 思科 ACI

flowjo for mac安装教程 Mac流式细胞分析软件 支持M1/M2

Rose

鸿蒙NEXT生态应用核心技术理念:可分可合,自由流转

芯盾时代

鸿蒙 终端

前端 Vuer,为自己的项目搭建一个 Playwright 测试环境吧,给自己多一点安全感!

OpenTiny社区

Vue 前端 OpenTiny

Kotlin函数竟然如此简洁

Silently9527

Java kotlin

Microsoft Office LTSC 2024 For Mac永久许可证

Rose

功能强大且灵活的虚拟插件Blue Cat Audio Blue Cat PatchWork mac蓝猫桥接插件

Rose

中文汉化版Navicat数据库 Navicat Premium 15直装版 mac/win

Rose

如何用 Scrapy 爬取网站数据并在 Easysearch 中进行存储检索分析

极限实验室

爬虫 Scrapy easysearch

百度梁志祥:樱桃好吃树好栽 智能体让营销更简单

极客天地

黑神话云端开放!ToDesk 云电脑、青椒云、网易云,不用高配电脑也能畅玩!

阿Q说代码

青椒云云桌面 ToDesk云电脑 黑神话悟空 网易云游戏电脑

一个故事理解限流熔断降级

老张

系统架构 服务治理 基础架构 流量治理

mac苹果电脑风扇控制软件:Macs Fan Control Pro for mac 激活版

你的猪会飞吗

mac软件下载 Mac软件下载站 mac破解软件下载

落地数仓数据模型自动、可持续长效治理之策

Aloudata

数据仓库 数据治理 数据模型 数据血缘 主动元数据

Nova for Mac 代码编辑器 v11.10中文版

Rose

百度智能云向量数据库创新和应用实践分享

百度Geek说

数据库 百度云 数据 大模型 知识库

移动医疗|基于音视频SDK和即时通讯IM技术实现线上问诊技术

ZEGO即构

直播技术 音视频sdk 互联网医疗 在线问诊 直播SDK

为什么说Scrum是有效的?(Why does Scrum work)

ShineScrum

LinkedIn开源Avro2TF: TensorFlow的开源特性转换引擎_AI&大模型_Xuhong Zhang_InfoQ精选文章