模型集成集成模型Model adapters模型适配器概述

注意:以下翻译的准确性尚未经过验证。这是使用 AIP ↗ 从原始英文文本进行的机器翻译。

模型适配器概述

模型适配器是一个通用框架,使Foundry能够与任意模型互操作。模型适配器是构建模型的两个组件之一:

  • 模型工件: 保存训练模型的模型文件、参数、权重、容器或凭据。
  • 模型适配器: Foundry与模型工件交互以加载、初始化并对模型进行推理所需的逻辑和环境依赖项。

模型适配器可以使Foundry与以下内容互操作:

  1. 在Foundry中训练的模型
  2. 在Foundry之外训练的模型文件
  3. 在Foundry之外容器化并推送到Foundry Docker注册表中的模型
  4. 在Foundry之外训练和托管的模型

适配器组件

Palantir通过与该模型版本的模型适配器类进行接口交互,以相同的方式与所有模型进行交互。

初始化

由于模型可以创建一次,并在平台内的多个地方使用,适配器需要知道如何从权重或底层容器初始化模型实例。

对于在平台内训练的权重,用户应使用@auto_serialize注解以利用内置的序列化器,这些序列化器应适用于大多数模型类型。在需要显式指定序列化/反序列化逻辑的高级情况下,请参阅:load()和_save()方法

对于容器和外部模型,适配器使用init_container()init_external()方法进行初始化,以便可以用于推理。对于这两种类型的模型,在模型初始化时也会调用load()方法,但它会在后台调用init_container()init_external(),以便仅将与这些类型模型相关的上下文(例如,ContainerizedApplicationContextExternalModelContext)提供给模型实例。作为使用init_container()init_external()的替代方法,用户可以重写load()方法以定义如何初始化这些模型。

API

每个适配器都需要声明一个API描述。平台依赖于此描述,包括预期的输入、输出、列名和类型,以支持与其他应用程序的多种模型消费模式的集成。

有关支持的类型和API定义示例,请查看API参考

推理

一旦初始化,适配器可以用于批量或交互式工作负载的推理。推理逻辑必须作为predict()方法的一部分进行定义。

平台使用提供的API定义,以定义的名称和类型调用predict()方法,以便进行推理。

模型适配器生命周期

有关创建模型适配器的更多信息,请参考创建模型适配器的文档。您还可以在模型适配器参考页面上查阅完整的Python API。