TensorFlow发布数据验证函数库,谷歌每天PB级数据都在用!

TensorFlow现在发布TensorFlow数据验证(TensorFlow Data Validation,TFDV)工具,来帮助开发人员大规模理解、验证以及监控机器学习的数据。

TensorFlow发布数据验证函数库,谷歌每天PB级数据都在用!

TensorFlow产品经理Clemens Mewald表示,学术界和业界都非常关注机器学习的算法和性能,但是数据是其中最根本的要素,一旦数据错误,计算相关的最佳化工作都将前功尽弃,因此数据整理是一件重要的工作,以数据理解以及验证来确保数据的正确性以及可用性。少量的数据可用人工的方式进行整理,但是在实际业务上,以人工进行数据验证,就有点不切实际,因为数据通常以连续且大量形式出现,所以有必要使用自动化和可扩展的数据分析、验证以及监控方法。

而TensorFlow发布的数据验证TFDV是TFX(TensorFlow Extended)平台的一部分,是Google每天用来分析和验证PB级数据的技术,在快速读取中就能有效发现错误数据,将能帮助TFX使用者维护机器学习工作的健康运行。TFDV可以用在笔记本电脑以及产品环境的数据验证,Clemens Mewald表示,在设计TFDV初期,他们就决定让TFDV也能在笔记本计算机环境中运行,因为让数据科学家和工程师,越早可以在工作流程使用TFDV越好,即便他们仅使用一小部分的数据进行研究,仍然要确保他们可以检查并验证使用的数据,除了避免错误发生外,也让后续迁移至大规模部署的工作变得简单。

TFDV基础建立在一个强大的函数库之上,能用来计算机器学习数据的描述性统计数据,这些统计数据将有助于开发人员了解他们的数据。而TFDV API目的在让连接器可以使用不同的数据格式,并提供足够的灵活性与扩展性。TFDV使用Apache Beam来定义和处理其数据工作管道,所以现有的Beam IO连接器以及使用者定义的PTransforms,可被用来处理不同的格式和数据表示法。

TFDV API除了提供由TFDV计算的标准统计数据外,只要该计算可以表示为Apache Beam转换形式,TFDV API就能进行自定义统计数据计算,这些自定义统计数据在同样的statistics.proto序列化,还可供下游函数库使用。在笔记本计算机上,TFDV创建的Apache Beam工作管道,使用DirectRunner执行,而同样的工作管道也可与其他Runner,如GCP上的DataflowRunner一并发布。

Google还提到,Apache Flink和Apache Beam社区也将完成Flink Runner,未来也可以用来执行TFDV创建的Apache Beam工作管道。

在正式的产品环境中使用TFDV,也是使用和笔记本电脑相同的函式库,进行大规模数据分析和验证,只是有其特殊的使用案例,包括验证连续到达的数据以及检测训练与服务间的偏差。现在官方已经在GitHub上开源TFDV,其中包括了笔记本电脑环境的范例程序码。另外,官方也提供了端到端范例,展示了TFDV与TensorFlow Transform、TensorFlow Estimators、TensorFlow Model Analysis和TensorFlow Serving一起使用的方法。

相关推荐