ARTI
示例SQuAD 1.1

在自己的电脑上读材料

读英文材料, 回答你的问题。

先在 CPU 上加载保存的程序,回答自己的材料。需要改变可学习组件时,再进入完整训练案例与实测比较。

Qwen3-0.6B · 第一次问答 / CPU · 重新训练 / GPU

阅读问答示例Qwen3-0.6B + ARTI
你提供的材料
Orders placed before 2 pm ship the same day. Standard shipping takes 3 business days. Returns are accepted within 30 days of delivery.
你的问题

How many days after delivery can an item be returned?

模型生成的答案30

使用上手包中的已训练程序。示例展示实际输出,回答自己的材料时请与原文核对。

先拿到答案的短路径

加载已保存的程序, 先问你的问题。

上手包包含已训练中英文 Formula 推理程序、分词器和 CPU 脚本。先运行它,无须下载训练数据或创建 GPU 环境。

ZIP 为 5.2 MB。第一次运行另需下载固定的约 1.2 GB Qwen 基座与 Python 依赖。后续运行复用已经下载的模型文件。

CPU 示例使用自编材料,与 benchmark 评分分别记录。这个小模型可能误读材料,需要将答案与原文核对。

01 / 要做什么

读一段材料, 回答一个问题。

从一个文档助手的基本任务开始:给模型一段英文材料和一个问题,让它直接返回材料里的简短答案。

输入
完整材料与一个问题。
输出
模型实际生成的简短答案。
训练
只监督最终答案和原生结束标记。材料、问题和补齐部分不计入损失。
程序
在最后两层 MLP 后挂载 rank-32 非线性残差程序。训练 131,072 个值,固定基座。
Qwen3固定基座
down → SiLU → up可学习 Formula 程序
残差相同隐藏维度

这个案例使用 ARTI 公开的 Formula adapter 配置;评测范围未覆盖架构搜索或前向可塑性。

02 / 可选:重新训练配置

改变可学习组件, 再检查效果。

下面的 GPU 步骤复现训练配置和比较,与上方 CPU 上手分别进行。

1

建一个自己的工作目录。

将上面的 Python 文件和依赖文件下载到同一目录。训练需要 CUDA GPU 和兼容的 PyTorch 安装。依赖文件固定了复现脚本使用的软件版本。

终端 / 安装到独立环境
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install torch==2.11.0 --index-url https://download.pytorch.org/whl/cu128
.\.venv\Scripts\python.exe -m pip install -r reading-requirements.txt

后面的训练与预测命令,会自动使用所选环境的解释器路径,不需要激活环境。

2

准备问题,再开始训练。

脚本下载固定的公开模型和作者托管数据,保留原始 ID,并构建这里使用的 512 / 128 / 256 训练、验证、留出切片。不静默截断材料或答案。

终端 / 运行这个案例
.\.venv\Scripts\python.exe reading_qa.py prepare --work reading-qa-work
.\.venv\Scripts\python.exe reading_qa.py run --work reading-qa-work --language squad --method arti --seed 17

第一次准备会下载约 1.2 GB 模型权重,以及分词器和数据。它们保存在 reading-qa-work,后续复用。训练 200 次更新,批量 8;不使用留出集选择检查点。

3

看懂留下来的文件。

native-run/model/
推理资产、Formula 声明和分词器。固定基座作为单独的版本化依赖。
native-run/checkpoints/
用于继续训练的参数、优化器、随机状态和数据游标。
predictions.json
每个留出 ID、实际生成答案、参考答案、EM 与 F1。
result.json
实测效果、参数数量、资源测量范围与来源身份。

可下载脚本内部使用原生 recipe。如果你已有 chat JSONL 数据,可以直接从它的配置开始。

Python / CausalLMRecipe
from pathlib import Path
from huggingface_hub import snapshot_download
from transformers import AutoTokenizer
from arti.language_recipe import CausalLMRecipe
from reading_qa import BASE, REVISION, config, load_base

work = Path("reading-qa-work").resolve()
base = snapshot_download(BASE, revision=REVISION,
    cache_dir=work / "hub-cache", local_files_only=True)
settings = config(work, "squad", 17, work / "my-native-run")
recipe = CausalLMRecipe(settings, model=load_base(base),
    tokenizer=AutoTokenizer.from_pretrained(base))
print(recipe.plan())
result = recipe.fit()
print(result["model"])

了解训练配置 →

03 / 真实回答

看答案, 也留下依据。

固定相同基座和参数预算。结果来自实际贪心生成答案,使用对应数据集的官方评分规则。

EM 按任务规则完全匹配的答案比例。 F1 预测与参考答案的词语 / 字符重合得分。

SQuAD 1.1 · 256 个固定问题

固定基座

可学习值 · 0

EM ↑
55.08
F1 ↑
62.56
SiLU 残差 · PyTorch

可学习值 · 131,072

EM ↑
55.60 ± 0.81
F1 ↑
62.43 ± 0.54
LoRA · PEFT

可学习值 · 131,072

EM ↑
56.77 ± 1.85
F1 ↑
64.22 ± 1.50
SiLU 残差 · ARTI

可学习值 · 131,072

EM ↑
55.60 ± 0.81
F1 ↑
62.43 ± 0.54
SQuAD 1.1 · 256 个固定留出问题
公式 / 实现参数EM ↑F1 ↑
固定基座单次固定基座055.08—62.56—
SiLU 残差 · PyTorch3 个随机种子131,07255.60± 0.8162.43± 0.54
LoRA · PEFT3 个随机种子131,07256.77± 1.8564.22± 1.50
SiLU 残差 · ARTI3 个随机种子131,07255.60± 0.8162.43± 0.54

EM / F1 为百分数;适配方案报告种子 17、29、43 的均值和样本标准差,固定基座测量一次。这是固定公开 dev 切片,不是官方隐藏测试榜成绩。

看清分数对应的计算。

这个案例选择最后两层 MLP 后的 SiLU 残差程序。PEFT 行使用 value projection 上的标准 LoRA。两者公式和挂载位置不同;分数比较的是所选配置,不是框架的表达能力。

LoRA 本身就可以是 Formula。要比较实现,必须对齐公式、A/B 权重、挂载、缩放和精度。同公式核对先完成这一步,再讨论更广的程序组合。

本案例保存的非线性程序保留声明与数值。两种语言的独立重载共复现 512 个留出答案;三次更新的续训对照保留相同参数与数据游标。

阅读第一个留出问题与全部答案
Kenya has proven deposits of oil in Turkana and the commercial viability was just discovered. Tullow Oil estimates Kenya's oil reserves to be around 10 billion barrels. Exploration is still continuing to determine if there are more reserves. Kenya currently imports all crude petroleum requirements. Kenya, east Africa's largest economy, has no strategic reserves and relies solely on oil marketers' 21-day oil reserves required under industry regulations. Petroleum accounts for 20% to 25% of the national import bill.

How many barrels of oil is it estimated Kenya has?

固定基座 / seed 17

10 billion

SiLU 残差 · PyTorch / seed 17

10 billion

LoRA · PEFT / seed 17

10 billion

SiLU 残差 · ARTI / seed 17

10 billion

固定顺序的第一个问题,种子 17;没有按效果选取例子。 SQuAD 1.1 · CC BY-SA 4.0 · 57291f153f37b31900478044

04 / 你的材料

换成你的材料, 问下一次的问题。

在 CPU 上手包中运行交互命令,粘贴一段短材料。继续提问,不必再次加载模型。

打开对应平台的完整交互命令 →
GPU 训练以后:用新资产预测

创建 questions.jsonl,每行一个完整 ID、材料和问题对象。这条路径使用可选 GPU 步骤生成的资产。

questions.jsonl
{"id":"my-question-001","context":"The library opens at 9 am on weekdays. On Saturday it opens at 10 am. It is closed on Sunday.","question":"When does the library open on Saturday?"}

终端 / 已训练 GPU 资产
.\.venv\Scripts\python.exe reading_predict.py --work reading-qa-work --asset reading-qa-work/squad/arti-17/native-run/model --language en --input questions.jsonl --output answers.jsonl

需要改变程序时,再训练。

换入自己的训练、验证切分,检查答错的问题,用未参与选择的问题评价。固定 benchmark 提供可复现协议,分数限定于相应切片。

继续已保存的训练 →