ARTI 指南
接入你的模型
在合适的张量边界加入配置好的程序,同时保留应用目标与输入语义。
从宿主边界开始
选择需要程序参与的模块输出位置。先配置程序,再执行挂载,并确保终端张量满足宿主边界声明的 shape。Discovery 与 preview 可以在修改宿主之前检查所选路径。
import arti
# program is a configured FederatedProgram.
layer = arti.ARTILayer(program)
model = arti.ARTI.attach(model, layer, layers="model.layers.*")
print(model.arti.summary())- 保留宿主预处理、mask 与原生损失行为。
- 明确选择参数归属,包括骨干是否保持冻结。
- 程序内部 shape 与挂载边界要求的 shape 分别管理。
用 TrainingBinding 表达归属
有些应用执行一个对象,优化另一个对象拥有的参数,并保存不同的受支持状态闭包。TrainingBinding 在共享会话内表达这些关系。TaskRecipe 默认使用标准 arti.st checkpoint 路径。显式 binding save/load hook 有自己的支持范围;任务不会自动采用任意外部或 provider checkpoint codec。
恢复同一配置程序
适配资产保存受支持的程序状态与来源,冻结基础权重保持独立。加载挂载资产需要兼容程序和重建代码,仅凭相同 shape 或 Python 类名不能恢复任意实现。
也可以直接构建模型
独立应用可以直接组合 Formula 程序与普通模块,无需挂载外壳。将目标和数据交给相同任务工作流。原生 JAX 与可选 Flax 使用各自声明的原生接入路径。
保存与重载配置好的挂载
挂载产物保存其拥有的张量状态。重建固定宿主,再次提供配置好的 layer,由 ARTI 在加载权重之前校验 Federal 契约。骨干权重保持为独立依赖。
model.arti.save("assistant.arti.st")
fresh_model = load_base_model()
fresh_model = arti.ARTI.load(
fresh_model, "assistant.arti.st",
layer=layer, map_location="cpu",
)本文对应 arti-fit 3.3.0 · 公开源码 dcb321d6