Jev-like逆向工程模型
摘要
本文介绍了'jevlike',一个用于在一次传递中从文本选项中选择的逆向工程AI模型,有演示如Doom和国际象棋游戏,托管在GitHub上。
查看缓存全文
缓存时间: 2026/09/16 21:08
vinnylarouge/jevlike
来源:https://github.com/vinnylarouge/jevlike
Jevlike
训练一个小型模型,用于从动态变化的文本选项列表中进行选择。
Jev-like 模型接收一段文本和包含 N 个选项的列表,并为每个选项返回一个概率值。该过程通过一次前向传播完成,而非逐词生成答案。
Jev(https://typesafe.ai/blog/introducing-system-one-models-and-jev)是 TypeSafe 公司针对此类任务的商业模型,但其设计尚未公开。
本仓库提供了一个独立的基础模型,具备相同的输入输出结构。
演示
同一选项注意力头可对图像片段中的控制器按钮进行评分。
这段10秒影片 连接了两个选定的5秒片段:在七按钮Doom控制器上进行实时 deadly_corridor 战斗,随后是一个国际象棋控制器通过五个按键实现走位和行棋。
图表展示了每次决策使用的张量。
Doom片段来自提供的联合检查点,该检查点在录制的十局游戏中平均获得0.60次击杀和-97.50奖励。
国际象棋片段来自更强的专用象棋检查点,该检查点在50场采样对局中(对阵随机移动者)取得4胜46平0负,但对阵Stockfish等级0时为0胜2平48负。
片段选择基于活跃度,不代表常规表现或能力水平。
安装游戏扩展组件,并使用已发布的联合检查点录制新的640×480分辨率Doom运行轨迹:
uv pip install -e '.[games]'
python examples/doom/play.py examples/checkpoints/joint-imitation.pt --episodes 10 --game-seconds 35.3 --device cpu --capture-resolution 640x480 --output runs/doom.mp4 --trace runs/doom-trace.json
使用相同视觉布局渲染轨迹(生成静音影片,因作者拥有的音轨未包含在仓库中):
(cd examples/film && npm install && npx playwright install chromium)
examples/film/make-film.sh runs/doom-trace.json runs/doom-film.mp4 10
发布内容包括Doom示例、国际象棋示例、单游戏检查点以及共享的12选项检查点。
两款游戏均使用 jevlike.vision 中的视觉评分器,示例中未重复部署模型副本。
架构
每个选项生成一个查询向量(表示文本的数字序列),该向量为上下文令牌分配注意力权重,形成对应选项的上下文向量。
共享点积运算将每个选项与上下文向量组合为单一评分,Softmax函数跨选项层将评分转换为概率总和。
默认编码器从零开始学习字节嵌入(编码器负责将文本转换为向量)。
可选路径使用冻结的预训练编码器,其权重在小型评分器学习过程中保持不变。
数据格式
每行一个JSON对象:
{"context":"客户需要退款。","options":["退款","销售","技术支持"],"label":0}
label 为正确选项的从零起始索引。
每行可包含不同数量的选项(最少两个)。
快速开始
在仓库根目录执行以下命令(生成本地合成数据、训练模型、评估并预测):
uv venv
source .venv/bin/activate
uv pip install -e '.[dev]'
jevlike-data synthetic --output data/synthetic
jevlike-train data/synthetic/train.jsonl --validation data/synthetic/validation.jsonl --output runs/synthetic.pt
jevlike-eval runs/synthetic.pt data/synthetic/test.jsonl
jevlike-predict runs/synthetic.pt --context "选择精确徽章琥珀獾。徽章:琥珀獾" --option "青灰鹤" --option "琥珀獾" --option "金鹭"
评估结果包括:
- Top-1准确率(首选正确答案的比例)
- Top-3准确率(正确答案位于前三名的比例)
- 校准误差(置信度与观测准确率的差异)
- 打乱上下文对照组(将选项与错误上下文配对)
模型性能应显著优于对照组。
使用自定义数据
- 导出训练集、验证集和测试集JSONL文件(格式如上)
- 每行应包含模型预测时可能遇到的所有选项
- 相关联记录应保持同分布(如客户/页面)
- 使用
jevlike-train训练 - 使用
jevlike-eval评估保留测试集
默认编码器截断上下文至192字节、选项至32字节,可通过 --context-tokens / --option-tokens 调整。
训练支持CPU、Apple MPS(Mac GPU)及NVIDIA CUDA。
使用冻结预训练编码器
安装可选依赖后指定兼容的Hugging Face编码器:
uv pip install -e '.[transformers]'
jevlike-train data/synthetic/train.jsonl --validation data/synthetic/validation.jsonl --output runs/qwen-head.pt --encoder hf --hf-model Qwen/Qwen2.5-0.5B --rank 256 --batch-size 8
检查点仅保存评分器头和编码器名称(不复制冻结权重),加载时需访问相同模型。
--rank 参数控制评分器头宽度(影响可训练参数量和内存占用)。
Wikispeedia示例
scripts/get_wikispeedia.sh 下载SNAP公开数据集并构建下一次点击JSONL文件:
scripts/get_wikispeedia.sh
jevlike-train data/wikispeedia/jsonl/train.jsonl --validation data/wikispeedia/jsonl/validation.jsonl --output runs/wikispeedia.pt
引用:Robert West, Jure Leskovec. Human Wayfinding in Information Networks, WWW 2012。
数据集条款详见SNAP页面(https://snap.stanford.edu/data/wikispeedia.html)。
预期表现
- 合成菜单实验:一次评分达到约98%准确率
- Wikispeedia数据(目标分离):冻结Qwen2.5-0.5B编码器+评分器达26%(对照组约8%)
- 从零训练小模型(40,000次点击):达29%
- 八选项时,单次前向传播速度约为强制生成400标记的小型解码器的100倍
注:以上为实验数据,未声称达到Jev同等质量或复现TypeSafe私有方法。
局限性
- 本项目为研究基础框架,非Jev副本
- 性能依赖数据质量、数据划分及编码器选择
- 字节编码器成本低但语义理解能力有限
- 预训练路径需下载大模型,内存需求较高
- 单次评分需预先获取完整选项列表
- 速度对比基于本地小型解码器,非商业模型
许可证
代码遵循MIT许可证。下载数据集和预训练模型需遵守各自条款。
相似文章
Jev / TypesafeAI 在 LLM 领域堪称革命性
Jev 是一种新型 AI 模型,它输出评分、选择或二元决策,因其在创意查询时的速度、经济性和准确性而备受赞誉,不同于传统的前沿模型。
@0xMovez 的推文:https://x.com/0xMovez/status/2101007482919227841
本文提供了一个十步指南,教你如何使用TypeSafe AI的System One模型Jev来构建最快的AI代理大脑,与LLMs相比,它能提供更快且更便宜的决策。
@NathanFlurry:无炒作的JEV解释:JEV并不取代GPT/Claude,JEV只是一个*非常*智能的switch语句,比如如果2…
Diogo Almeida发布了JEV,这是一个新的AI模型,它作为智能switch语句处理分类和路由等任务,声称在速度和效率上显著优于现有模型。
TypeSafe AI发布AI模型Jev。与生成文本不同,该模型专注于决策。与传统大语言模型相比,其幻觉率显著降低,且输出成本极低。
TypeSafe AI推出了Jev,这是一款专为机器原生交互设计的AI模型,能够返回类型化的概率决策而非文本,相较于传统大语言模型具有更低的幻觉率和更快的响应速度。
一位ChatGPT发明者推出的新型AI模型令开发者兴奋不已
一款名为Jev的新型AI模型,由TypeSafe AI的ChatGPT发明者开发,输出概率而非文本,为软件自动化任务提供快速、廉价且无幻觉的替代方案。