Hugging Face + PyCharm

发布于 2024 年 11 月 5 日
在 GitHub 上更新

那是一个星期二的早晨。作为 Transformers 的维护者,我正在做我大多数工作日早晨都会做的事情:打开 PyCharm,加载 Transformers 代码库,深情地凝视着 聊天模板文档,同时忽略了当天被提及的 50 个用户问题。但这一次,感觉有些不同。

screenshot 0

有些东西……等等!电脑!增强! screenshot 1
那是……?
screenshot 2
那些用户问题今天肯定不会得到回复了。我们来谈谈 PyCharm 中的 Hugging Face 集成。

Hugging Face 就在你家

我可以只列出功能来介绍这个集成,但这很无聊,而且有文档可以查阅。相反,让我们通过实践来了解如何使用它。假设我正在编写一个 Python 应用程序,并且我决定应用程序能够与用户聊天。不仅仅是文本聊天,我们还希望用户能够粘贴图片,并且应用程序也能自然地讨论这些图片。

如果您对机器学习的当前最新技术不太熟悉,这可能看起来是一个可怕的需求,但不要害怕。只需在您的代码中右键单击,然后选择“插入 HF 模型”。您将看到一个对话框:dialog_box_screenshot
与图像和文本同时聊天被称为“图像-文本-文本”:用户可以提供图像和文本,模型输出文本。在左侧向下滚动直到找到它。默认情况下,模型列表将按点赞数排序——但请记住,旧模型即使不再是最新技术,也通常会积累大量点赞。我们可以通过查看模型名称下方最后更新的日期来检查模型的旧程度。让我们选择一个既新近又受欢迎的模型:microsoft/Phi-3.5-vision-instruct

您可以为某些模型类别选择“使用模型”以自动将一些基本代码粘贴到您的笔记本中,但通常更好的方法是滚动右侧的模型卡并获取任何示例代码。您可以在对话框右侧看到完整的模型卡,与 Hugging Face Hub 上显示的一模一样。我们来做这个,然后把它粘贴到我们的代码中!

code_snippet_screenshot 您的办公室网络安全人员可能会抱怨您从互联网上复制了一大段随机文本,甚至没有阅读就运行了它,但如果发生这种情况,就称他们为书呆子,然后继续操作。瞧:我们现在有了一个可以愉快地讨论图像的工作模型——在这种情况下,它读取并评论 Microsoft 幻灯片截图。请随意玩转这个示例。尝试您自己的聊天或您自己的图像。一旦它运行起来,只需将此代码封装到一个类中,它就可以在您的应用程序中使用了。我们刚刚在十分钟内就获得了最先进的开源机器学习,甚至没有打开网页浏览器。

这些模型可能很大!如果您遇到内存错误,请尝试使用内存更大的 GPU,或者尝试减小示例代码中的 20。您还可以删除 device_map="cuda" 将模型放入 CPU 内存中,但会牺牲速度。

即时模型卡片

接下来,让我们在我们的这个小场景中改变视角。现在假设您不是这段代码的作者——您是一位需要审查它的同事。也许您就是之前那位“书呆子”评论的网络安全人员,仍然对那个评论感到不满。您看着这段代码片段,完全不知道自己在看什么。别慌——只需将鼠标悬停在模型名称上,整个模型卡就会立即出现。您可以快速验证这个模型的来源,以及它的预期用途。

(如果您在做其他事情,完全忘记了两周前编写的代码,这也会非常有用)

model_card_screenshot

本地模型缓存

您可能会注意到,第一次运行此代码时,模型必须下载,但之后加载速度会快得多。模型已存储在您的本地缓存中。还记得前面那个神秘的 🤗 图标吗?只需单击它,您就会看到缓存中的所有内容:model_cache_screenshot

这是一种查找您当前正在使用的模型的好方法,并且一旦您不再需要它们,也可以清除它们并节省一些磁盘空间。对于两周失忆症的情况也很有帮助——如果您不记得当时使用的模型,它可能就在这里。请记住,2024 年大多数有用的、生产就绪的模型都会大于 1GB,因此您的缓存可能会很快填满!

人工智能时代的 Python

在 Hugging Face,我们倾向于将开源 AI 视为开源理念的自然延伸:开放软件为开发人员和用户解决问题,为他们创造新的能力以集成到其代码中,开放模型也如此。人们往往会被复杂性蒙蔽,过分关注实现细节,因为它们都是如此新颖和令人兴奋,但模型存在的目的是**为您做事。**如果您抽象掉架构和训练的细节,它们本质上是**函数**——您代码中的工具,将某种输入转换为某种输出。

因此,这些功能是天作之合。就像 IDE 已经为您调出函数签名和文档字符串一样,它们也可以为训练好的模型调出示例代码和模型卡。像这样的集成使得轻松地引入聊天或图像识别模型变得非常方便,就像您引入任何其他库一样。我们认为这显然是未来代码的样子,我们希望您会觉得这些功能很有用!

下载 PyCharm 即可试用 Hugging Face 集成。
[HF 集成是 Pycharm Professional 的一项功能。]

点击此处,使用 PyCharm4HF 代码免费获得 3 个月的 PyCharm 订阅。

社区

让 JetBrains IntelliJ 再度辉煌!非常棒的集成。

注册登录 以评论