使用Arize Phoenix进行模型推理分析与可视化快速入门

使用Arize Phoenix进行模型推理分析与可视化快速入门

phoenix AI Observability & Evaluation phoenix 项目地址: https://gitcode.com/gh_mirrors/phoenix13/phoenix

概述

Arize Phoenix是一个强大的模型可观测性工具,能够帮助开发者可视化分析各种类型模型(包括LLM、NLP、CV和表格数据模型)的推理结果。通过UMAP投影技术,Phoenix可以将模型的所有推理结果呈现在一个交互式视图中,使开发者能够:

  • 在EDA阶段理解模型漂移
  • 发现低性能聚类
  • 识别检索问题
  • 导出数据进行模型再训练或微调

环境准备

安装依赖

首先需要安装Phoenix的核心包及其依赖项:

%pip install -Uq 'arize-phoenix[embeddings]'

安装完成后,导入必要的Python库:

import pandas as pd
import phoenix as px

数据准备

加载示例数据集

本教程以计算机视觉(CV)模型为例,我们将使用一个包含人类动作识别训练数据的Parquet文件:

train_df = pd.read_parquet(
    "http://storage.googleapis.com/arize-assets/phoenix/datasets/unstructured/cv/human-actions/human_actions_training.parquet"
)

数据集中的每一行代表一个推理样本,包含图像特征向量、预测动作、实际动作、时间戳等信息。

数据预览

使用head()方法可以快速查看数据结构和内容:

train_df.head()

定义数据模式(Schema)

Phoenix需要了解数据中各列的含义,这通过Schema对象来定义:

train_schema = px.Schema(
    timestamp_column_name="prediction_ts",
    prediction_label_column_name="predicted_action",
    actual_label_column_name="actual_action",
    embedding_feature_column_names={
        "image_embedding": px.EmbeddingColumnNames(
            vector_column_name="image_vector",
            link_to_data_column_name="url",
        ),
    },
)

Schema定义中需要注意:

  • timestamp_column_name:指定时间戳列
  • prediction_label_column_name:指定预测标签列
  • actual_label_column_name:指定真实标签列
  • embedding_feature_column_names:定义嵌入特征,包括向量列和原始数据链接

创建推理数据集对象

将DataFrame和Schema包装成Phoenix的Inferences对象:

train_ds = px.Inferences(dataframe=train_df, schema=train_schema, name="training")

启动Phoenix可视化

现在可以启动Phoenix应用来可视化训练数据:

session = px.launch_app(primary=train_ds)

执行后会生成一个本地Web应用,可以通过浏览器访问交互式可视化界面。

添加生产数据对比

为了分析模型漂移,我们可以添加生产环境数据进行对比分析。

加载生产数据

prod_df = pd.read_parquet(
    "http://storage.googleapis.com/arize-assets/phoenix/datasets/unstructured/cv/human-actions/human_actions_training.parquet"
)

定义生产数据Schema

生产数据可能缺少真实标签,Schema定义会有所不同:

prod_schema = px.Schema(
    timestamp_column_name="prediction_ts",
    prediction_label_column_name="predicted_action",
    embedding_feature_column_names={
        "image_embedding": px.EmbeddingColumnNames(
            vector_column_name="image_vector",
            link_to_data_column_name="url",
        ),
    },
)

创建生产数据推理对象

prod_ds = px.Inferences(dataframe=prod_df, schema=prod_schema, name="production")

启动对比分析

将训练数据作为参考基准(reference),生产数据作为主要分析对象(primary):

session = px.launch_app(primary=prod_ds, reference=train_ds)

分析技巧与最佳实践

在Phoenix可视化界面中,可以:

  1. 进入UMAP投影视图分析嵌入空间分布
  2. 按不同维度(如正确率、数据集来源)着色数据点
  3. 使用套索工具选择特定聚类进行分析
  4. 对比训练和生产数据的分布差异
  5. 识别高漂移时间段的数据特征
  6. 导出感兴趣的数据点用于模型优化

进阶应用

当模型进入生产环境后,可以结合Arize平台获得更强大的功能:

  • 实时推理监控
  • 大规模数据处理能力
  • 监控告警设置
  • 企业级权限管理
  • 与Phoenix的无缝集成

总结

通过本教程,我们学习了如何使用Phoenix进行模型推理分析的基本流程。Phoenix提供了强大的可视化工具,帮助开发者:

  1. 理解模型在不同数据集上的表现
  2. 识别潜在问题和漂移
  3. 支持数据驱动的模型优化决策

对于更复杂的应用场景,如LLM分析、信息检索系统评估等,Phoenix也提供了相应的工具和接口。

phoenix AI Observability & Evaluation phoenix 项目地址: https://gitcode.com/gh_mirrors/phoenix13/phoenix

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

计煦能Leanne

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值