注意:以下翻译的准确性尚未经过验证。这是使用 AIP ↗ 从原始英文文本进行的机器翻译。
模型适配器是一个通用框架,使Foundry能够与任意模型互操作。模型适配器是构建模型的两个组件之一:
模型适配器可以使Foundry与以下内容互操作:
Palantir通过与该模型版本的模型适配器类进行接口交互,以相同的方式与所有模型进行交互。
由于模型可以创建一次,并在平台内的多个地方使用,适配器需要知道如何从权重或底层容器初始化模型实例。
对于在平台内训练的权重,用户应使用@auto_serialize注解以利用内置的序列化器,这些序列化器应适用于大多数模型类型。在需要显式指定序列化/反序列化逻辑的高级情况下,请参阅:load()和_save()方法。
对于容器和外部模型,适配器使用init_container()
或init_external()
方法进行初始化,以便可以用于推理。对于这两种类型的模型,在模型初始化时也会调用load()
方法,但它会在后台调用init_container()
或init_external()
,以便仅将与这些类型模型相关的上下文(例如,ContainerizedApplicationContext或ExternalModelContext)提供给模型实例。作为使用init_container()
或init_external()
的替代方法,用户可以重写load()
方法以定义如何初始化这些模型。
每个适配器都需要声明一个API描述。平台依赖于此描述,包括预期的输入、输出、列名和类型,以支持与其他应用程序的多种模型消费模式的集成。
有关支持的类型和API定义示例,请查看API参考。
一旦初始化,适配器可以用于批量或交互式工作负载的推理。推理逻辑必须作为predict()
方法的一部分进行定义。
平台使用提供的API定义,以定义的名称和类型调用predict()
方法,以便进行推理。
有关创建模型适配器的更多信息,请参考创建模型适配器的文档。您还可以在模型适配器参考页面上查阅完整的Python API。