egolearner / paper-note

7 stars 2 forks source link

Automatically Tracking Metadata and Provenance of Machine Learning Experiments #14

Open egolearner opened 3 years ago

egolearner commented 3 years ago

amazon的论文 http://learningsys.org/nips17/assets/papers/paper_13.pdf

1 Introduction

问题:没有标准的方式来存储和管理机器学习实验,导致结果无法比较;不能简单存储模型产物,还需要存储血缘关系、特征变换方式等。

2 系统设计

架构

底层提供JVM和Python的rest client,上层提供针对ML库的支持自动抽取元数据的高层客户端,比如支持抽取spark中pipeline和DataFrame的结构、mxnet中的网络结构。 image

数据模型

核心问题是通用性与schema可解释性的权衡。采用折衷方案,采用强制存储血缘信息和ML特定的属性的schema,但又提供足够的灵活性让用户存储任意的应用相关注解。

image

使用声明式的方式,存储artifacts的metadata而非产出的代码(建议代码在git中,revision id作为metadata的一部分),仅存储实际输入数据或序列化模型参数的指针。

3 Automating Metadata Extraction

spark

SparkML pipeline的架构允许我们自动跟踪schema变化和pipeline operator的参数。为了跟踪pipeline中的数据变换细节,我们抽取输入数据帧的schema,重放每个pipeline stage的transformSchema,记录结果的schema变化。将数据变换的DAG建模为数据库中Transformation graph。

sk-learn

和spark类似,但sk-learn没有schema变换信息。我们得到数据变换的DAG和参数。

mxnet

和前面相比,dl框架的元数据可以深入到算子级别。可以得到op的op, name, input, attr,将其转换为Transform的DAG。