Guides / 视频转图文攻略

CUA-S1-Forms:706K 参数的 Jev 型表单填写模型,CPU 就能跑

逐帧拆解 Fahd Mirza 的 8:52 实操:加载字节级 2.8MB 打分器,看它以 1.000 置信度选对电话号码,nvitop 全程 9MiB 纯 CPU 运行,最后经 CUA driver 写入真实的 Firefox 患者登记表单。

速览结论

CUA-S1-Forms 只做一件事:拿到表单元素和从文档里抽出的候选值,单次前向选出 fill、check、click 或 skip——它是填表管道的决策层,不是逐字段推理的 LLM。Hugging Face 卡片上的数字:706,000 参数、2.8MB,真实表单填写决策准确率 99.7%,对照 GPT API 约 83.6%。内部是一个微型字节级 transformer——两层、128 宽、4 个注意力头,直接读原始字节、不用 tokenizer——这正是它又小又快的原因。Fahd Mirza 在 Ubuntu 上的实跑把「小」验证得很诚实:机器上有 CUDA,这个在 Qwen 2.5 0.5B 基座上训练的打分器全程没碰 GPU,nvitop 停在 9MiB、利用率 0%。Demo 里最精彩的是语义消歧:同一份患者表单里同时有普通电话和故意长得像的紧急联系人电话,它以 1.000 的置信度填了紧急联系人——因为它读的是字段名,不是值的形状。后半段接上真实 GUI:开源的 CUA driver 实时读 accessibility tree,按 PID 和窗口 ID 列出窗口,把电话号码打进活着的 Firefox 患者登记表单——一个决策模型、一个 driver,全程没有视觉模型。

视频来源

Fahd Mirza

8:52Rzgd-y3mCPs

分步图文攻略

  1. 1

    先认识模型:字节级选项打分器,不是填表 LLM

    Hugging Face 卡片把 CUA-S1-Forms 描述为「small, byte-level System One one-pass option scorer for GUI form filling」。它不让 LLM 逐字段推理,而是把表单元素加文档候选值一次性送入,返回一个动作——fill、check、click 或 skip——每个选项带概率。卡片自述的测试:真实表单填写决策准确率 99.7%,对照 GPT API 约 83.6%,而它只有 706K 参数、2.8MB。

    Hugging Face 模型卡 cua-s1-forms:自述为字节级 System One 单次前向 GUI 表单填写打分器
    一件事,一次前向:元素加候选值,回来一个类型化动作。跳转至 0:15
  2. 2

    加载 checkpoint,从配置读规格书

    安装就是普通 Python:从克隆的仓库里 load_checkpoint("cua-s1-forms", device),配置会打印你在跑的到底是什么——一个两层的微型字节级 transformer,128 宽、4 个注意力头,直接读原始字节、不用 tokenizer,这正是它这么小这么快的原因。它的训练基座是 Qwen 2.5 0.5B,但真正做决策的是那个 706K 参数的打分头。

    终端加载 cua-s1-forms checkpoint 并打印两层 128 宽 4 头的字节级 transformer 配置
    两层、128 宽、4 头、无 tokenizer——天生的小。跳转至 2:30
  3. 3

    第一个决策:电话号码以 100% 置信度被填入

    第一个测试给模型一个表单字段和从文档抽出的候选值:一个电话号码、一个出生日期,外加 check、click、skip 选项。输出给每个选项打分:fill 电话号码 1.000,其余全 0.000——出生日期被正确无视。这就是全部产品形态:一次前向、一个真实决策、一个可以设阈值的概率,整个链路里没有任何 LLM 犹豫。

    cua-s1-forms 测试输出:电话字段 fill 概率 1.000,出生日期、check、click、skip 全部 0.000
    每个选项都有分——管道只读赢家。跳转至 4:00
  4. 4

    看 GPU 表:它压根没离开 CPU

    测试中途,nvitop 讲出了硬件真相:RTX 4060 利用率 0%、显存 9MiB,模型照常工作——CUDA 就在那里,但这个 2.8MB 的打分器根本不需要它。这是这个量级决策模型安静的优势:不用规划显存、不占 GPU 队列,部署目标可以低到一台笔记本,甚至树莓派级别的小盒子。

    nvitop 监控显示 NVIDIA RTX 4060 利用率 0%、显存 9MiB,cua-s1-forms 正在 CPU 上运行
    4060 上只有 9MiB——模型在另一个世界:CPU。跳转至 4:18
  5. 5

    消歧测试:紧急联系人 vs 普通电话

    第二个测试才值得记住。表单里同时有普通电话和紧急联系人电话——值故意长得几乎一样。模型给紧急联系人字段的紧急号码打出 1.000,给形似值普通电话打出 0.000,因为它读的是真实的字段名和文档上下文,而不是匹配长得像的数字串。字段级语义消歧正是生成式猜测和正则管道最容易翻车的地方。

    字段消歧测试:cua-s1-forms 以 1.000 选中紧急联系人号码,以 0.000 拒绝形似的普通电话号码
    它读的是字段名,不是数字的形状。跳转至 5:18
  6. 6

    经 CUA driver 接上真实 GUI

    模型负责决策,总得有东西去碰屏幕。CUA 是控制真实电脑的 agent 开源框架,它的 driver 实时读 web accessibility tree。Demo 启动 driver 后调用 list_windows:JSON 返回屏幕上每个窗口——包括 Firefox 患者登记表单——每个都带进程 ID 和窗口 ID,代码可以直接指定目标。

    cua-driver list windows 输出:返回 Firefox 患者登记窗口的进程 ID 21959 与窗口 ID 48234557
    PID 和窗口 ID 进,表单字段出——不截图,不上视觉模型。跳转至 8:15
  7. 7

    写入真实 Firefox 表单,回到屏幕上验证

    最后一步把整条链收口:带着 PID、窗口 ID 和 accessibility element token 调 set_value,把电话号码打进活着的患者登记表单,响应会报告发生了什么、可不可验证——delivery 状态和 affected 字段写得明明白白。回到浏览器,鼠标停在字段里,号码已经进去。2.8MB 的打分器选值,accessibility tree 打字,全程没人截图。

    cua-driver set value 调用:经 accessibility element token 把电话号码写入真实 Firefox 患者表单
    打分器决策,driver 落笔——从头到尾都是 accessibility tree。跳转至 8:06

常见问题(FAQ)

一句话说清 CUA-S1-Forms 是什么?

一个 706K 参数、2.8MB 的字节级「System One」打分器:把表单元素和文档候选值交给它,它单次前向返回一个动作——fill、check、click 或 skip——每个选项带概率。它是填表管道的决策层,和 Jev 型类型化决策同一品类;卡片自报真实表单填写决策准确率 99.7%,对照 GPT API 约 83.6%。

它真的只靠 CPU 运行吗?

视频里是的,而且证据就挂在表上。测试机有一张支持 CUDA 的 RTX 4060,但 nvitop 显示模型工作期间 GPU 利用率 0%、显存 9MiB——两层的字节级 transformer 只有 2.8MB,没有理由去碰 GPU。这就是这个量级的打分器和 LLM 管道的实际区别:不用规划显存,一台普通办公电脑就能跑。

它和 Jev、computer-use agent 有什么区别?

CUA-S1-Forms 是只干一件事的决策模型——表单动作;Jev 是托管的通用类型化决策 API。和解析原始截图的 computer-use agent 相比,这套栈读的是 accessibility tree:CUA driver 按 PID 和窗口 ID 列窗口、暴露表单字段、直接写入,比视觉方案更快、更便宜也更可靠。本站的 computer-use 指南讲的是 OS 级屏幕解析路线;这个模型展示的是同一套「先决策、后行动」形状在表单场景的特化。

它为什么能选对紧急联系人号码?

因为它读语义,不读形状。测试把普通电话和紧急联系人电话放进同一份文档——数字串几乎一样——然后让它填紧急联系人字段。它给紧急号码打 1.000、给普通电话打 0.000,因为字节级上下文里包含真实的字段名。换成正则或值相似度匹配,这就是一道五五开的猜题;字段名才是消歧器。

能用到自己的表单和文档上吗?

这正是它的设计形态:用你现有的解析器从文档抽候选值,让打分器判断哪个值填哪个字段,再用 CUA driver(或你自己的 UI 自动化)执行。模型在 Hugging Face 上开源,信任之前可以先读它的卡片、测试和训练说明。保持视频里展示的那份诚实:在概率上设阈值,低置信度的字段送去人工复核,而不是硬填。

谁做的?和 TypeSafe 有关系吗?

CUA-S1-Forms 是第三方开源项目——它上了收录 Jev 生态的 madewithjev 展示区,但不是 TypeSafe AI 官方产品。「System One」的命名表明的是品类:非生成、单次前向、概率背书的决策。视频是 Fahd Mirza 在 Ubuntu 上从公开 Hugging Face 仓库安装的独立实操。

相关推荐

更多视频攻略