ML 游戏课程文档

如何运行 AI 模型:本地与远程

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

如何运行 AI 模型:本地与远程

在这个游戏中,我们想要运行一个句子相似度模型,我将使用 all-MiniLM-L6-v2

这是一个 BERT Transformer 模型。它已经过训练,因此我们可以直接使用它。

但是在这里,我有两种解决方案来运行它,我可以

  • 远程运行此 AI 模型在服务器上。我发送 API 调用并从服务器获取响应。这需要互联网连接。
  • 本地运行此 AI 模型在玩家的机器上。

两者都是有效的解决方案,但它们各有优缺点

远程运行模型

我在远程服务器上运行模型,并从游戏发送 API 调用。我可以使用 API 服务来帮助部署模型。

Running AI model remotely

例如,Hugging Face 提供了一个名为 Inference API 的 API 服务(免费用于原型设计和实验),允许您通过简单的 API 调用使用 AI 模型。我们还有一个 Unity 插件,用于从 Unity 项目内部访问和使用 Hugging Face AI 模型。

优点

  • 您无需使用玩家的 RAM/VRAM 来运行模型。
  • 您的服务器可以记录数据,因此您可以了解玩家通常输入的操作,从而改进您的 NPC。

缺点

  • 依赖互联网连接,由于潜在的 API 延迟,可能导致沉浸感中断。
  • 与 API 使用相关的潜在高成本,尤其是在玩家众多时。

通常,如果您使用玩家机器无法运行的非常大的模型,则会使用 API。例如,如果您使用像 Llama 2 这样的大型模型。

本地运行模型

我在本地运行模型:在玩家机器上。为了做到这一点,我使用了两个库。

  1. Unity Sentis:神经网路推理库,允许我们在游戏中直接运行 AI 模型。

  2. Hugging Face Sharp Transformers 库:一个 Unity 插件,包含在 Unity 游戏中运行 Transformer 🤗 模型的实用程序。

Running AI model locally

优点

  • 由于一切都在玩家的计算机上运行,因此您没有使用成本。
  • 玩家无需连接到互联网。

缺点

  • 您使用玩家的 RAM/VRAM,因此您需要指定配置建议
  • 您无法轻易了解人们如何使用游戏或模型。

由于我们将要使用的句子相似度模型很小,我们决定在本地运行它

< > 在 GitHub 上更新