游戏机器学习课程文档

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

Hugging Face's logo
加入 Hugging Face 社区

并获得增强文档体验的访问权限

开始使用

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

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

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

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

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

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

远程运行模型

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

Running AI model remotely

例如,Hugging Face 提供了一个名为 推理 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 游戏中运行 Transformer 🤗 模型的 Unity 插件实用程序。

Running AI model locally

优点

  • 您无需支付使用费用,因为所有操作都在玩家的计算机上运行。
  • 玩家无需连接到互联网。

缺点

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

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

< > GitHub 更新