YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

rewrite3-exp-4B

实验版存档(exp):本仓库是 rewrite3 正式版发布前的实验批次,正式版即将发布、效果有明显提升,建议优先使用正式版。本版保留原样,供对照、复现和旧项目兼容用,后续不再更新。

这是 rewrite 系列的第三代模型。它干的活儿,是把 AIGC 写出来的网文改得像人写的:原意不动,语言重新组织,把那种一眼假的八股味尽量去掉。你给它一段带标记的原文,它先逐句分析哪里不对劲、打算怎么改,然后给出改写后的整篇正文。

为什么做这个?现在网文行业里 AI 生成、AI 改写的稿子太多了,句式套路、解释性废话、排比堆砌、情绪过力,读起来就是"不像人写的"。让作者从头改一遍太累,不如让模型先过一遍,把语言掰回接近人类写作的水平,作者再花小力气微调。

和上一代最大的不同是思维链(CoT)。模型不是直接吐改写结果,而是先像编辑一样看稿:哪句是八股、这句的"烂完程度"是多少、为什么、准备怎么动刀,分析完了才动笔。CoT 是训练出来的,不是外挂提示词。

数据是怎么做的

底座是 20000 条人类优秀网文原作(sfw 和 nsfw 都有),来源是各平台口碑不错的作品。

然后我们总结了 100 多种 AI 八股——句式、节奏、语气、意象、过渡、解释癖这些层面的套路。用 deepseek v4.1 flash 1017 按这些八股风格,把好文"劣化"成对应的 AIGC 稿,这样就有了成对的(好文,劣化文)样本。

光有成对文本还不够,模型得知道每句话有多烂。于是用 jevnovel3 27B 教师模型对劣化文本逐句打分,得到每句"烂完了"的概率。

最后用 gemini 4 argon 把劣化文、具体八股类型、jevnovel 分数、好文这几样东西串起来,建立一条分析链路:为什么这句烂、烂在哪、分数说明什么、好文会怎么写。这些 CoT 和改写结果一起拿来训练。

所以模型学到的有两件事:一是记住各种八股长什么样;二是学会结合 jevnovel 的分数做判断,知道什么时候该大刀阔斧。

exp 是什么意思

这批模型叫 exp,意思是"实验版"——它是 rewrite3 正式版发布之前的实验批次,打完就定格,后续不再更新。

实验版的任务定义是"缩短档":同一个故事,人类原作普遍比 AI 劣化文本短,信息密度却高得多。AIGC 注水是常态,一句话能说清的事能写成三句。所以这一版的输出字数一定比输入少——训练目标就是把正文压到原文的 0.4 到 1.0 倍,中位数在 0.7 左右。这不是模型偷懒或截断,是任务定义如此。要保留原文长度,本版做不到。

正式的 rewrite3 版本即将发布,效果有明显提升,命名与发布形式以正式版为准。

怎么用

直接整段贴进去就行,不需要切分。 上一代 rewrite2-4b 没 CoT,长度泛化比较差,得先把原文切块再逐块喂;rewrite3-exp 有了 CoT,泛化好很多,几千字直接丢进去也能改得不错(当然特别长的稿子,分段处理效果会更稳)。

输入格式:原文照抄,在每句末尾插一个 jevnovel 分数,写成【0.04】这种形式。没有分数就写【NA】。

为什么一定要有分数?jevnovel 的定位是定点狙杀——专抓那种极致八股的句子。带分数的时候,模型看到高分就知道这句子必须狠狠改,下刀更果断;如果全是【NA】,它判断不了严重程度,往往会觉得"这句也还行",下手就轻了。所以能用 jevnovel 先把分打出来,效果明显更好。

jevnovel 用 0.8B 的版本就够:aikexue170/jev-novel-3-0.8b-fp8。它做"给这句打烂完概率"这件事已经做得很好,没必要为了极致精度上更大的模型,性价比不划算。

输出怎么解析:模型先输出分析,再输出正文,中间用 </think> 分隔。用 llama.cpp server 的话,reasoning_content 字段是分析部分,content 字段是改写后的正文。自己接 API 的话,按 </think> 切一刀即可,前面是分析,后面是正文。

推荐采样参数:temperature=0.9, top_p=0.95, repetition_penalty=1.05, max_tokens=6144。注意 CoT 经常写到三四千 token,max_tokens 给小了会只有分析没有正文。

模型基座是 Qwen3.5-4B,LoRA SFT 后合并;另外单独训练了一个 MTP 头做投机解码加速,已经内嵌在权重里(teacher-forced top1 72.8%,accept_proxy 83.7%)。低端卡上开 speculative decoding 能快不少。

本目录

本目录是 ModelOpt FP8 W8A8 量化权重,单文件。MTP 头保持 bf16、不参与量化(配置的 ignore 里已经排除了 mtp.*),所以 MTP 加速照样能用。

启动方式:

# 需要 vLLM >= 0.28(支持 Qwen3.5 的 MTP 投机解码)
vllm serve . \
  --served-model-name rewrite3-exp-4B \
  --speculative-config '{"method":"mtp","num_speculative_tokens":2}' \
  --max-model-len 32768 --gpu-memory-utilization 0.85

目录里还有 INSTRUCTION.txt(输入时要拼在最前面的任务指令)、samples_autotavern.jsonl(3 条 autotavern 真实案例的改写结果,方便看效果)、SHA256SUMS(校验和)。

权重遵循 Qwen3.5 基座的许可。

Downloads last month
55
Safetensors
Model size
5B params
Tensor type
BF16
·
F8_E4M3
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Collection including aikexue170/rewrite3-4b-exp-fp8