ARTI 指南
使用自己的模型与损失
定义一次原生任务,把数据、参数归属与标量目标接入共享训练会话。
选择训练入口
选择与应用现有对象匹配的入口。Task recipe 提供完整本地运行生命周期,共享会话也可以直接使用。
| 应用对象 | 入口 | 你提供什么 |
|---|---|---|
| 已挂载宿主模型 | model.arti.trainer | 配置好的 layer 与宿主损失 |
| 原生 PyTorch 模型 | arti.trainer | 模型与目标 callable |
| 完整自定义任务 | TaskRecipe | Factory、数据、目标、预测与评价 |
区分任务语义与资源位置
TaskRecipeConfig 指定已安装 factory。任务的数学选择放在 options,可移动路径放在 resources。Factory 接收配置与 mode:train 返回 TaskRecipe,predict 返回 TaskPredictor,无需构造优化器。
import arti
config = arti.TaskRecipeConfig(
task="my-task",
factory="my_package.tasks:build_task",
options={"input_shape": [32, 32, 3], "loss_profile": "original-v1"},
resources={"data": "/current/location/dataset.jsonl"},
training=arti.ARTITrainingConfig(device="cpu", steps=100),
)
recipe = arti.TaskRecipe.from_config(config)
result = recipe.fit(run=arti.ARTITrainingRunConfig(output_dir="outputs/run"))保留真实任务目标
objective(model, batch) 返回可微标量 Tensor。共享引擎负责 backward、累积与优化器更新。解码、collation、标签与指标含义仍由应用负责。
| 契约 | 应用责任 |
|---|---|
| objective_id | 为损失语义标记修订 |
| training_weight(batch) | 为不等大小批次声明归一化单位 |
| evaluation_weight | 保持原生损失评价的单位 |
| dataset_manifest.sha256 | 计算并校验真实数据身份 |
明确执行、优化与保存状态
TrainingBinding(model, parameters=..., state_module=...) 区分执行对象、选定可训练参数所有者与恢复所需张量状态。纳入重建任务需要的全部受支持 buffer 和资源。被排除的不可变宿主须由固定 factory 重建。
从安装包文件教程开始
files 模板包含模型代码、数据、配置和 workflow.py。生成和检查 task 项目不会调用训练 factory。沿 TUTORIAL.md 修改目标与 callback。
python -m arti task init my-task --name "my task" --template files
cd my-task
python -m arti task check project.json
python -m arti task status project.json
python -m arti task explain project.json本文对应 arti-fit 3.3.0 · 公开源码 dcb321d6