你的第一份程序 / Python · CPU
加一处运算, 留下你的改动。
给熟悉的 LoRA 多加一步 SiLU。用一份小脚本,运行你的新规则,保存声明,再重新加载。
首次准备需要联网下载 Python 依赖。这个练习不进行训练。
01 / 从这里开始
熟悉的公式, 加一步运算。
下载脚本,用文本编辑器打开。把顶部的 my_rule 函数替换为示例中的函数。scalar_map 将你的新规则加入两次投影之间。
下载练习脚本新建文件夹,例如 arti-first-program,将脚本以 first_program.py 保存进去。修改后保存文件,并在这个文件夹中打开终端。
base + B(Ax)
base + B(SiLU(Ax))
def my_rule(hidden):
hidden = api.scalar_map(
hidden, mode="silu")
return hidden复制时保留函数缩进。若没有加入 scalar_map,脚本会运行原来的线性计算。
02 / 在你的电脑上
准备一个, 运行它的地方。
先安装 Python 3.10 或更新版本。在练习文件夹里运行这些命令,创建独立环境并安装 CPU 依赖。已有兼容的 ARTI 环境时,也可以直接复用。
这个练习无需阅读上手包,不下载 Qwen 权重。若终端找不到 Python,请先安装它,再重新打开终端。
python -m venv .venv
.venv\Scripts\python -m pip install "torch==2.11.0" --index-url https://download.pytorch.org/whl/cpu
.venv\Scripts\python -m pip install "arti-fit==3.3.0"03 / 把改动留下
运行一次, 看见留下的东西。
在同一个文件夹运行这条命令。脚本比较原 LoRA 与你的规则,保存 program.json,再在这次运行中使用相同绑定重载它。
.venv\Scripts\python first_program.py成功运行后,终端会打印核对记录,并在 program-change/ 中保存两个文件。
program.json改写后的计算声明result.json改动前后与重载的核对记录
仍是四条指令、没有变化?
回到 my_rule,确认 SiLU 那一行在 return hidden 之前,并且已保存文件,然后再运行同一条命令。
你加入的运算
SiLU{"mode":"silu"}y[0,0,0]固定输入 · 加入 SiLU 前 / 后 · 记录值显示至六位小数
- 计算声明
- 4 → 5条指令
- 绑定的数值
- 65,536保持不变
- 数值保持不变
- same_bindings: true
- 计算产生了变化
- output_max_abs_change > 0
- 重载声明复现输出
- reload_max_abs_difference: 0
卡片展示已记录的 SiLU 练习,不是在浏览器里计算的结果。你本机生成的 result.json 才是这次运行的记录。
接下来的小想法
下一行, 由你来写。
现在可以试另一种运算:在 my_rule 中,把 mode="silu" 改为 mode="tanh",再运行同一条命令,核对新声明与记录。
这个练习使用四个固定的 1024 维输入和初始化数值,零次训练更新。它保存声明,并使用调用方提供的绑定核对同次运行中的重载;不会把这些绑定数值保存成完整模型,也不代表任务效果。