Skip to page content
SAVRN
Search Plan a project

Open-weight model · Text classification

jev-novel-3-27b-bf16

by Aikexue170 aikexue170/jev-novel-3-27b-bf16

jev-novel-3-27b-bf16 is an open-weight model for text classification from Aikexue170, released under Apache License 2.0. It has 27.4B parameters and a 262,144-token context. At 16-bit it needs about 65.7 GB of GPU memory, which fits on 1x MI300X from $1.85 an hour, at the lowest prices in the SAVRN Index.

JEVnovel 的做法是:用人类偏好数据训练判别模型,并把输出做成分类头——一次前向传播直接给出判断和置信度,不做自回归生成。 - JEVnovel 2 解决「识别」:判断一句话需不需要修改; - JEVnovel 2.5 尝试把粒度细化到逗号级小片,加了「短句头」做三分类(拖后腿 / 中性 / 有价值)。实测效果不好:它分不清「可以删掉的纯装饰」和「必须保留的信息」,给不出改稿动作,3 代将其取消; - JEVnovel 3 换成两个能直接指导改稿的头: 教师由 Qwen3.8-27B…

Parameters27.4B
Context262,144
Weights62.7 GB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads—

Runs On

What it takes to serve jev-novel-3-27b-bf16 (27.4B parameters): the memory its weights need at each precision, and the cheapest way to rent enough data-center GPUs to hold them.

PrecisionWeightsMemory neededCheapest setupPer hourAlso fits
16-bit 54.7 GB 65.7 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
8-bit 27.4 GB 32.8 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
4-bit 13.7 GB 16.4 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00

Memory is the weights at that precision plus 20% for the runtime and a short context; a long context needs more. Prices are the lowest on-demand hourly rates in the SAVRN Index, read Oct 18, 2026.

jev-novel-3-27b-bf16 on every accelerator the SAVRN Index prices, at every precision

Model Card

By Aikexue170, published under apache-2.0, revision 03d690c90615.

JEVnovel 的做法是:用人类偏好数据训练判别模型,并把输出做成分类头——一次前向传播直接给出判断和置信度,不做自回归生成。 - JEVnovel 2 解决「识别」:判断一句话需不需要修改; - JEVnovel 2.5 尝试把粒度细化到逗号级小片,加了「短句头」做三分类(拖后腿 / 中性 / 有价值)。实测效果不好:它分不清「可以删掉的纯装饰」和「必须保留的信息」,给不出改稿动作,3 代将其取消; - JEVnovel 3 换成两个能直接指导改稿的头: 教师由 Qwen3.8-27B 微调而来,对整句打分,一次前向输出两组结果: 2. 信息密度 ← StartLux-Decision-27B 裁判。质量和信息是两回事:有的片段「写得烂但没有信息量」(纯装饰,该删),有的「写得烂但承载着情节」(该改)。教师只管质量;信息维度交给裁判模型——它对每一小片回答一个问题:「编辑要把这句话改简洁时,这个片段能不能删掉?」答案直接作为片级密度标签。 3. 学生(0.8B / 4B,LoRA,双头)用这两套标注训练。 完整的方法、数据规模与评测细节见仓库内的《JEVnovel3技术报告.md》。 协议与系列一致:主指标取人类标注人数最多、共识最高的 538 句(main-bench),统计 Macro-F1、bad 召回、bad 精确和正常句误报;判定阈值先在验证集上确定并冻结,再应用到测试集。 - 相比上一代 27B:主指标提升 5.6 个点,bad 召回提升约 12.6 个点,抓得更全;代价是正常句误报从 7.1% 升到 9.4%,精确率基本持平。 - 出厂冻结阈值(0.31)下…

Read Aikexue170's full model card

JEVnovel 3 是面向 AIGC 小说改稿的句子检查模型系列:不只回答「这句行不行」,还指出「哪一小片写得差、这片该删还是该改」。 本仓库是系列中的 27B 教师模型(BF16 原始精度)。它对整句打分,学生模型(0.8B / 4B,另行发布)从它的打分中蒸馏出逐片定位能力。显存有限时可用同系列 FP8 量化版。

为什么需要它

AI 写小说容易写成「八股文」:高频形容词、套路化修辞、机械的分句节奏……这些写法原本是人类的正常表达,被 AI 高频滥用之后成了套路。它们是概率上的最优,不是可读性上的最优。

八股很难用规则抓:它形式多样,不同 AI 各有各的八股;直接封杀词句又会误伤——「湖中投入石子」是八股,但封杀「石子」会伤及大量正常描写。

JEVnovel 的做法是:用人类偏好数据训练判别模型,并把输出做成分类头——一次前向传播直接给出判断和置信度,不做自回归生成。

系列的演进:

  • JEVnovel 2 解决「识别」:判断一句话需不需要修改;
  • JEVnovel 2.5 尝试把粒度细化到逗号级小片,加了「短句头」做三分类(拖后腿 / 中性 / 有价值)。实测效果不好:它分不清「可以删掉的纯装饰」和「必须保留的信息」,给不出改稿动作,3 代将其取消;
  • JEVnovel 3 换成两个能直接指导改稿的头:
  • 观感曲线头:逐片输出「读到这里为止写得有多差」——曲线从哪一片抬升,问题就出在哪一片;
  • 信息密度头:给每片一个 0~1 的密度分——回答「这片该删还是该改」。

两个头合起来,把「哪里有问题」变成可执行的改稿动作:判烂 + 密度低 → 删;判烂 + 密度高 → 改。

这个模型做什么

教师由 Qwen3.8-27B 微调而来,对整句打分,一次前向输出两组结果:

  • 二分类:可以保留 / 需要修改(平庸及以下算需要修改;章节号、结构化标记等不需要文学润色的内容算可以保留);
  • 五档评分:烂完了 / 小改 / 平庸 / 还可以 / 优秀。

注意:教师本身不带观感曲线头和信息密度头——那两个头装在学生模型上,教师只负责提供蒸馏用的打分信号。它也可以单独当作通用的文学质量 / 八股打分器使用(见下方用法)。

学生是怎么蒸馏出来的

3 代学生模型的能力来自两条独立的标注链路:

  1. 观感曲线 ← 本教师逐前缀打分。把句子按标点切成逗号级小片,对「前 1 片」「前 2 片」……每个前缀都让教师按整句打一次五档分。这样得到的不再是一个「整句结论」,而是一条曲线的形状。学生学这条曲线,所以不止知道「这句烂」,还知道「从哪一片开始烂」。
  2. 信息密度 ← StartLux-Decision-27B 裁判。质量和信息是两回事:有的片段「写得烂但没有信息量」(纯装饰,该删),有的「写得烂但承载着情节」(该改)。教师只管质量;信息维度交给裁判模型——它对每一小片回答一个问题:「编辑要把这句话改简洁时,这个片段能不能删掉?」答案直接作为片级密度标签。
  3. 学生(0.8B / 4B,LoRA,双头)用这两套标注训练。

完整的方法、数据规模与评测细节见仓库内的《JEVnovel3技术报告.md》。

评测

协议与系列一致:主指标取人类标注人数最多、共识最高的 538 句(main-bench),统计 Macro-F1、bad 召回、bad 精确和正常句误报;判定阈值先在验证集上确定并冻结,再应用到测试集。

模型 主集 Macro-F1 bad 召回 bad 精确 正常句误报
jev-novel-2-27b-bf16(上一代) 0.7661 0.6162 0.8978 0.0712
本模型(最优工作点) 0.8223 0.7417 0.8894 0.0936
  • 相比上一代 27B:主指标提升 5.6 个点,bad 召回提升约 12.6 个点,抓得更全;代价是正常句误报从 7.1% 升到 9.4%,精确率基本持平。
  • 出厂冻结阈值(0.31)下 Macro-F1 为 0.8185;表中 0.8223 是最优工作点(阈值 ≈0.30)下的数字。
  • FP8 版与本版同阈值对照:Macro-F1 0.8185 → 0.8151(Δ −0.003),逐句 p_bad 平均偏差 0.011、p95 偏差 0.046,判定翻转 10/538(1.9%)——量化损失可以忽略,显存有限时优先用 FP8 版。

模型规格

项 值
参数量 27.48B(含 0.13B 打分头)
文本骨干 qwen3_5,hidden 5120,64 层
打分头 JointSchemaHead(width 1024 / 4 层 / 16 头,fp32)
判定阈值 p_bad >= 0.31(可用 --threshold 调整)
最长输入 4096 token(含固定提示)
本版权重 BF16,12 个分片 + adapter_head.safetensors(适配器与打分头,未合并;infer.py 自动加载),约 59 GiB
FP8 权重 8 个分片 + head.safetensors(适配器已合并),约 29 GiB;见同系列 FP8 仓库
显存建议 BF16 建议 80 GB 级别;FP8 版显著更低

用法

自定义架构,不能直接用 AutoModel 加载,请使用本仓库的 infer.py。

安装

需要 Linux、Python 3.12、支持 BF16 的 NVIDIA GPU(建议 80 GB 显存)、至少 32 GB 内存。CUDA 13.2 工具链与驱动需与所装的 PyTorch 版本兼容。

python3.12 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip setuptools wheel packaging ninja
python -m pip install torch==2.13.0 --index-url https://download.pytorch.org/whl/cu132
python -m pip install --no-build-isolation -r requirements.txt

推理

在本目录运行即可,模型文件已包含,推理无需联网:

# 单句
python infer.py --text "雨停了,他推开窗,看见树梢还在滴水。"

# 批量(JSONL)
python infer.py --input input.jsonl --output output.jsonl --batch-size 1

输入:JSONL 每行形如 {"sentence":"待判断的句子"},可附带 id。

输出:

  • p_bad:「需要修改」的概率;label:判定结果。p_bad >= 0.31 判为 bad(需要修改),否则 not_bad(可以保留);
  • 加 --ordinal 可额外输出五档概率和 1–5 期望分数;
  • 模型判断的是表达质量,不判断作者身份。

供程序调用:

from infer import Predictor
model = Predictor()
result = model.predict(["待判断的句子"], include_ordinal=True)

其他说明:

  • 句子连同固定提示总计最多 4096 token,超限报错、不自动截断;
  • 下载后可用 sha256sum -c SHA256SUMS 校验文件完整性;第三方许可见 LICENSE 和 NOTICE。

未来计划

  • 在「哪里有问题」之上继续细分「有什么问题」,让学生直接给出语义化的修改方向;
  • 持续扩展数据集的文体广度,覆盖更多不同 AI 的八股形态。

许可

以 Apache-2.0 发布,承继基座模型(Qwen3.8)的许可证,见 LICENSE 与 NOTICE。

Configuration

Architecture
Qwen3_5ForConditionalGeneration
Context length (tokens)
262,144
Layers
64
Hidden size
5,120
Feed-forward size
17,408
Attention heads
24
Key/value heads
4
Head dimension
256
Vocabulary size
248,320
Model type
qwen3_5

Identity and Version

Repository
aikexue170/jev-novel-3-27b-bf16
Publisher
Aikexue170
Task
Text classification
Modality
Text
Library
pytorch
Parameters
27.4B parameters
Languages
zh
Revision
03d690c90615464c47f25d4610e0ac16a7718b9a
First published
2026-10-11
Last updated
2026-10-11

Files and Weights

28 files, 62.7 GB in total. The weights are 13 files totalling 62.7 GB in safetensors.

Weights13 files · 62.7 GB
Configuration5 files · 140.8 KB
Tokenizer2 files · 20.0 MB
Documentation4 files · 31.0 KB
Other2 files · 2.4 KB
Repository2 files · 5.6 KB
Every file
FileTypeSizeSHA-256
adapter_head.safetensorsWeights8.0 GB 2960af4e7711
model-00001-of-00012.safetensorsWeights2.5 GB 54d83c1d3663
model-00002-of-00012.safetensorsWeights4.8 GB 464086af08be
model-00003-of-00012.safetensorsWeights5.0 GB 092212d3a02f
model-00004-of-00012.safetensorsWeights4.9 GB d06ff197668c
model-00005-of-00012.safetensorsWeights5.0 GB cc693b882961
model-00006-of-00012.safetensorsWeights4.9 GB e7cce15da244
model-00007-of-00012.safetensorsWeights4.9 GB 75fc7e76b57d
model-00008-of-00012.safetensorsWeights5.0 GB 189b15cb6b1a
model-00009-of-00012.safetensorsWeights5.0 GB 8101e2664bb1
model-00010-of-00012.safetensorsWeights4.9 GB a8e69016a1a8
model-00011-of-00012.safetensorsWeights5.0 GB b328d21c36ab
model-00012-of-00012.safetensorsWeights2.8 GB 7505eed910a8
config.jsonConfiguration3.7 KB —
infer.pyConfiguration8.2 KB —
inference_config.jsonConfiguration1.8 KB —
model.pyConfiguration16.0 KB —
model.safetensors.index.jsonConfiguration111.1 KB —
JEVnovel3技术报告.mdDocumentation11.6 KB —
LICENSEDocumentation11.5 KB —
NOTICEDocumentation147 B —
README.mdDocumentation7.6 KB —
SHA256SUMSOther2.3 KB —
requirements.txtOther155 B —
.gitattributesRepository1.6 KB —
.ms_upload_cacheRepository4.0 KB —
tokenizer.jsonTokenizer20.0 MB 06b9509352d2
tokenizer_config.jsonTokenizer1.1 KB —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
62.7 GB
Download from Aikexue170

Released by Aikexue170 through its official repository on Hugging Face. Read the license.

Built From

Memory Requirements

PrecisionWeights in memory
As published62.7 GB
16-bit54.7 GB
8-bit27.4 GB
4-bit13.7 GB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About jev-novel-3-27b-bf16

How much GPU memory does jev-novel-3-27b-bf16 need?

About 65.7 GB at 16-bit and 16.4 GB at 4-bit: the weights (27.4B parameters) plus a working margin. A long context needs more.

What is the cheapest GPU to run jev-novel-3-27b-bf16 on?

At 16-bit, 1x MI300X from $1.85 an hour; at 4-bit, 1x MI300X from $1.85 an hour, at the lowest on-demand prices the SAVRN Index lists.

Can I use jev-novel-3-27b-bf16 commercially?

Yes. jev-novel-3-27b-bf16 is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

What is jev-novel-3-27b-bf16's context length?

262,144 tokens, from the maximum position embeddings in its published configuration.

Similar Models

Model · Text classification

clefsift

Stephen Murray

ClefSift is an experimental English text classifier fine-tuned from Cloudflare/Clef. It returns scores for four document-level labels in one forward pass: These are provisional, process-based labels. The model sees writing style, not the author's actual workflow. Its output does not prove authorship. Do not use it as the sole basis for academic, employment, or moderation decisions. This release uses the selected v2 step-128 checkpoint. The additional rank-64 LoRA weights are merged into the BF16 backbone. The trained joint decision head is stored separately in FP32. This is a decision model, not a chat model. The retained config and loader use the Qwen3.5 architecture identifiers above. Pin…

Open weights apache-2.0 27.4B parameters 262,144 tokens transformers

Model · Text classification

blink-27b

Govind Kamtamneni

The most accurate blink model for hard typed decisions. It also performed best of the three in local browser-agent runs that passed page elements as text, not screenshots; see browser-agent setup. These local pages are not a benchmark. Send text or JSON state with choice, noul (yes/no), or score questions. Get a probability for each offered answer without generated text. Each batch uses one forward pass; large requests can use several batches. For browser agents, send the page and candidate elements as JSON state; make operations and click targets choice questions. The probability map lets an agent pick among its proposed actions. This is a text-element workflow, not autonomous web…

Open weights other 26.9B parameters 262,144 tokens transformers

Model · Text classification

GEV-26B-Decide

AutoTrust AI Lab

The benchmark. ERQA (Embodied Reasoning Question Answering) is the benchmark Google DeepMind released with Gemini Robotics (March 2025) to measure whether a vision-language model understands the physical world a robot acts in. It has 400 multiple-choice questions about real robot and everyday scenes, with 1–16 images per question (287 questions have one image). 382 questions have 4 options and the rest 2–3, so chance is about 26%. ERQA is one of the standard embodied-reasoning benchmarks; Gemini Robotics-ER, PhysBrain and Hy-Embodied report it. With 400 questions the 95% interval of a score is about ±5 points. How we test. Each question is one choice decision through POST /v1/decide: the…

Open weights apache-2.0 25.8B parameters 262,144 tokens transformers

Model · Text classification

Bev-Pro-C

Sathiskumar Jothi

A System One decision model with open weights. Give it a document (text, email, ticket, log or JSON) and typed questions; it returns typed answers (yes/no, a choice between options you describe, or a score on levels you define) with a calibrated probability for every option, in one pass. It never generates text, so there is nothing to parse and nothing to hallucinate. It runs on your own machines: your documents never leave them. About 26B parameters, built on Google Gemma 4 26B-A4B (mixture of experts, about 4B active per token). Everything it needs is in this repository, so nothing else is downloaded. English text, up to 4,096 input tokens; needs one GPU with about 60 GB of memory (bf16).…

Open weights apache-2.0 25.8B parameters 262,144 tokens bev-decisions

Model · Text classification

Darwin-27B-ZTC-v2

FINAL_Bench

A zero-token decision engine from the Darwin family, second version. Darwin-27B-ZTC-v2 reads a piece of state and a typed question (noul yes or no, choice one of N labels, score an ordered rubric) and returns a probability for every option. It uses one forward pass per question and generates no tokens. v2 adds control and workflow decisions (games, drones, retrieval control, entity alignment, customer and incident workflows) on top of FINAL-Bench/Darwin-27B-ZTC. 1 on the S1MB leaderboard under both of its rankings: the default Borda score and Task Avg. All 137 benchmarks complete, measured with the S1MB evaluator and its autojev adapter at revision a8f283a, then validated and merged by the…

Open weights apache-2.0 25.6B parameters 262,144 tokens transformers

Model · Text classification

JEV-35B-NVFP4

AutoTrust AI Lab

This repository is autotrust/JEV-35B with its 10,240 routed expert MLPs (40 layers × 256 experts) quantized to NVFP4. Everything else is the bf16 model unchanged: attention, linear attention, the shared expert, the routers, the vision tower, the MTP layer, the lmhead, the System 1 adapter, the decision head and the temperatures. Below the NVFP4 comparison, the rest of this card is the JEV-35B card; its tables are the bf16 results unless marked otherwise. Retrieval 0.706, Tools 0.753, Arts 0.413); the largest per-benchmark changes are Home appliance simulator −5.7, CRUXEval −4.7 and GPQA +5.4. CharXiv charts (−5.3). test p = 0.63); every grasped cube still reached the tray (13/13). Games…

Open weights apache-2.0 19.8B parameters 262,144 tokens transformers