为了减轻工作量,Uber在内部开发了Manifold,这是一种与模型无关的视觉工具,它可以显示特征分布的差异(即所观察到的现象的可测量属性)。它已帮助各种产品团队分析了无数的AI模型。截止到今天,它已在GitHub上以开源形式提供。
Uber机器学习软件工程师李乐之在博客中写道:“自从今年早些时候创建Manifold以来,我们已经收到了很多关于其在通用ML模型调试场景中潜力的反馈。在开源独立版本的Manifold时,我们相信该工具将通过为ML工作流提供可解释性和可调试性,同样使ML社区受益。”
Manifold利用所谓的聚类算法(k-Means)将预测数据根据其性能相似性分成多个段。该算法通过其KL散度对特征进行排名,KL散度是两个对比分布之间差异的度量。一般而言,在歧管中,较高的发散度表示给定的特征与区分两个片段组的因子相关。
Manifold包括对多种算法类型的支持,包括常规的二进制分类和回归模型。在可视化方面,它可以提取数字和分类以及地理空间要素类型。它与Jupyter Notebook集成在一起,Jupyter Notebook是为数据科学家和ML工程师使用最广泛的数据科学平台之一,并且具有交互式数据切片和基于每个实例的预测损失和其他特征值的性能比较。
Manifold方便的性能比较视图可比较模型和数据子集的预测性能。功能归因视图通过用户定义的细分汇总了具有各种性能级别的数据子集的功能分布。两者都提供了模型性能的概述和地理空间特征的地图视图,有助于识别表现不佳的数据子集以进行进一步检查。
歧管包装为独立安装或打包安装。安装后,有两种向其中输入数据的方式:通过逗号分隔的文件或以编程方式进行的转换。
版本1发行版中的功能包括:
- 与模型无关的通用二进制分类和回归模型调试支持。用户将能够分析和比较各种算法类型的模型,从而使他们能够区分各种数据片的性能差异。
- 对表格化要素输入的可视化支持,包括数字,分类和地理空间要素类型。使用每个数据切片的特征值分布信息,用户可以更好地了解某些性能问题的潜在原因,例如,模型的预测损失与其数据点的地理位置和分布之间是否存在任何关联。
集成块的新升级包括对地理空间特征的可视化支持。
- 与Jupyter Notebook集成。通过这种集成,Manifold将数据输入作为Pandas DataFrame对象接受,并在Jupyter中呈现此数据的可视化。由于Jupyter Notebook是数据科学家和ML工程师使用最广泛的数据科学平台之一,因此该集成使用户能够在不中断正常工作流程的情况下分析其模型。
Manifold的Jupyter Notebook集成接受数据输入作为Pandas DataFrame对象,并在Jupyter Notebook UI中呈现可视化效果。
- 基于每个实例的预测损失和其他特征值的交互式数据切片和性能比较。用户将能够基于预测损失,地面真实性或其他感兴趣的特征对数据进行切片和查询。该功能将使用户能够通过通用的数据切片逻辑快速验证或拒绝其假设。
基于每个实例的预测损失和特征值的交互式数据切片使Manifold练习者可以更好地理解ML模型性能问题。