停止使用 PowerPoint 进行机器学习演示,试试这个替代方案

Gradio是一种肯定能给技术和非技术利益相关者留下深刻印象的方法——为什么不是更多的数据科学家和MLE(机器学习工程师)在使用它呢?

Image by Will Porada on Unsplash

PowerPoint演示很糟糕。

至少,糟糕的演示是如此。

糟糕的PowerPoint演示会让观众分心(他们关闭摄像头并进行多任务处理),并且使演讲者容易陷入使用过多技术术语和冗长无聊的坏习惯。

那么为什么数据科学家会如此频繁地使用PowerPoint呢?

在最近Reddit关于这个话题的讨论中,有回答者在数据科学领域工作,他们表示花费10-60%的时间制作幻灯片或进行演讲。我意识到这并不是一个非常可靠的统计数据,但无论真正的分布如何,这种观点对许多从事数据科学工作的人来说都是正确的:我们经常(大量)使用PowerPoint来展示从模型卡片到ROC曲线和Shapley值的各种内容。

无论你喜欢与否,PowerPoint是现代机器学习堆栈的重要组成部分 ,并且不会消失。

或者会消失吗?

在本文中,我将向您介绍Gradio,这是一个免费工具,它使您能够:

  1. 通过浏览器或Jupyter Notebook可视化机器学习模型
  2. 通过交互式、易于理解的可视化方式给非技术利益相关者留下深刻印象
  3. 测试您的模型并确定其弱点和特征重要性

我与Gradio没有任何关系,也不是在向您推销任何东西——我只是想向您展示一个在我作为数据科学家工作时非常好用的工具,尤其适用于使用表格数据的模型,例如XGBoost

介绍Gradio:一种免费的交互式展示和测试机器学习模型的方式

以开发者自己的话来说,

Gradio是通过友好的Web界面快速演示您的机器学习模型的方法,以便任何人都可以在任何地方使用它!

这是如何工作的?它非常简单。

你好,世界!

首先,通过pip安装Gradio。

pip install gradio

接下来,导入Gradio并定义一个可以接受输入的函数。然后,将您的模型包装在“gradio.Interface()”类中,然后——嘿,您的模型就会有一个友好的、交互式的界面,可以嵌入到笔记本或网页中。这是一个使用非常简单的“Hello {user}!”函数的示例:

import gradio as grdef greet(name):    return "Hello " + name + "!"demo = gr.Interface(fn=greet, inputs="text", outputs="text")demo.launch()   
Image by author

如果您在Jupyter Notebook中运行它,上面的演示将自动显示在一个新的单元格中。如果您在脚本中运行它,演示将出现在您的浏览器中的http://localhost:7860上。如果您愿意,还可以“自动生成一个公共链接,您可以与同事分享,让他们从自己的设备上远程与您的计算机上的模型进行交互”(文档)。

如何使用Gradio与您的机器学习模型

以稍微复杂一点的例子为例,假设我们有一个能够识别手绘图像的机器学习模型。使用Gradio,我们可以创建一个接受用户输入的草图板…

import gradio as grdef sketch_recognition(img):    pass# 在这里实现你的手绘识别模型...gr.Interface(fn=sketch_recognition, inputs="sketchpad", outputs="label").launch()

…给我们提供了一种巧妙的方法来绘制草图,将其传递给模型,并实时演示模型:

作者提供的图片

注意:为了使本文长度可控,我没有包含有关模型本身的详细信息;如果你正在寻找模型,你可能想要查看 HuggingFace,这是一个很好的预训练模型仓库,可以轻松地加载到 Jupyter 笔记本或 Python 脚本中,并与 Gradio 一起使用。

Gradio 只需几行代码,就可以轻松展示你的模型以交互的方式让任何人都能理解。想象一下在你的团队中的可能性-通过这种方式,向你的团队或利益相关者展示你的模型将变得更加容易。

如果你喜欢这个故事,如果你点击我的“关注”按钮,对我来说意义重大-只有我读者的1% 这样做!感谢阅读。

什么是XGBoost?

是的,是的,我知道-使用一些花哨的图像识别模型进行演示是很好,但在现实世界的数据科学团队中,XGBoost通常是最佳选择。

好吧,如果你是这么想的,我有个好消息告诉你:Gradio可以与各种模型一起使用,包括为表格数据设计的模型,比如XGBoost。

这是一个通过 Gradio 展示的预测人们收入的 XGBoost 模型的示例:

作者提供的图片。代码在此处可用

正如你所看到的,Gradio 使得可以通过调整开关和滑块与模型进行交互,并观察它们对预测的影响。你甚至可以使用 Shapley 值来查看不同特征在确定模型预测中的重要性!

我如何使用Gradio

Gradio 永远不会取代传统的模型测试和评估方法(例如分类报告和使用适当的样本外测试数据集),但在我的日常工作中,我发现它对两件事很有用:

  1. 向非技术利益相关者解释模型 – Gradio 帮助我回答利益相关者的即兴问题,比如“如果我们改变这个变量,模型的预测会发生什么变化?”此外,你不需要拥有人工智能的博士学位来调整开关,因此每个人都可以尝试与模型进行互动,并建立自己对其工作原理的理解,无论他们是否具有技术背景或了解如何编程。
  2. 测试我的模型 – Gradio 允许你实时查询模型,测试你的假设,并快速识别模型中的隐藏弱点(例如发现意外行为)。它是批量测试的更快替代方案,并且至关重要的是,它使测试过程民主化。使用 Gradio,你不需要依赖一个孤独的数据科学家在笔记本中运行批量测试-你只需公开托管你的模型(例如在 HuggingFace Spaces 上),分享模型的链接,你的团队中的每个人都可以参与进来,并尝试探索模型。

Gradio是预言中的PowerPoint杀手吗

不,不是-但这不是关键。

PowerPoint的多样性意味着一个狭窄的工具如Gradio无法完全替代它。此外,如果 PowerPoint 被良好地使用,它实际上可以成为展示机器学习生命周期中的模型卡片和业务案例的一种极其有效的方式。

但对于机器学习生命周期的其他部分(如展示特征重要性和模型结果),PowerPoint并不总是工作得很好,你可能会发现Gradio有助于解决其中的一些弱点,并防止你的观众在演示过程中打瞌睡。

所以,如果你是一名数据科学家或机器学习工程师,觉得PowerPoint很无聊或不够有效,为什么不试试Gradio呢?对我来说,它确实帮了很大的忙。

还有一件事 – 你能成为我的1%吗?

在小猪AI上,点击我的“关注”按钮的读者不到1%,所以当你这样做时,对我来说意义非凡,无论是在小猪AI、Twitter还是LinkedIn上。感谢你的阅读!