/ Модель

Характеристики

Контекст
40 960 токенов
Параметры
3,7 млрд
Лицензия
CC BY-NC-SA 4.0
Архитектура
qwen3 · dense
Базовая модель
Qwen3-4B
Опубликована
5 мая 2026

editlens-qwen3-4b-merged-v3

Классификация текстаТекст → label

Дообученная на Qwen3-4B модель оценивает степень редактирования текста с помощью ИИ по четырёхуровневой шкале.

109скачиваний за 30 дней0лайковвеса обновлены5 мая 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

DarrenJiaImbue/editlens-qwen3-4b-merged-v3 — дообученная модель на базе Qwen3-4B для оценки того, насколько текст подвергался редактированию с помощью ИИ. Она классифицирует входной текст по четырём уровням — от почти дословного человеческого текста до значительной переработки — и преобразует результат в непрерывную оценку от 0 до 1. Модель предназначена для анализа текстов длиной примерно от 20 до 800 слов и особенно ориентирована на тексты, созданные или отредактированные Claude Sonnet 4.6, GPT-5.3 и Gemini-3-Flash.

Модель содержит около 3,7 млрд параметров, использует архитектуру Qwen3 для классификации последовательностей и принимает текст, выдавая классовую оценку. В README приведены результаты тестирования: точность 0,930 на внутреннем тесте с генераторами 2026 года и 0,874 на отдельной выборке писем Enron; показатели зависят от домена и генераторов. Для загрузки требуется вручную восстановить пользовательскую голову оценки LayerNorm + Linear, поэтому стандартная загрузка через from_pretrained может не сработать. Лицензия CC BY-NC-SA 4.0.

Сценарии применения

  • оценка степени редактирования статьи с помощью ИИ
  • различение человеческого текста, слегка отредактированного текста и переписанного ИИ текста
  • проверка текстов, созданных Claude Sonnet 4.6, GPT-5.3 или Gemini-3-Flash
  • анализ писем на признаки редактирования ИИ
  • сравнение уровня вмешательства ИИ в текст

Ограничения

Наилучшие результаты заявлены для текстов длиной 20–800 слов и генераторов, представленных в обучающих данных; точность может снижаться на других доменах и для иных генераторов. Для загрузки требуется вручную подключить пользовательскую голову оценки.

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

editlens-qwen3-4b-merged-v3

Qwen3-4B fine-tuned with QLoRA on a 2026-vintage 3-generator reproduction of the EditLens dataset, with the LoRA adapter merged into the base in bf16. Successor to editlens-qwen3-4b-merged-v2: adds Gemini-3 Flash as a third generator (alongside Claude Sonnet 4.6 and GPT-5.3) by replacing 1/3 of the existing v2 ai_edited/ai_generated rows with Gemini-generated equivalents, preserving the 1:1:1 human:edited:generated ratio.

Trained for the EditLens task (arXiv:2510.03154): classify text by how much AI editing it has received. Predicts a continuous score in [0, 1] from a 4-bucket softmax (bucket_pred ∈ {0, 1, 2, 3} mapped to score = bucket / 3).

What changed vs editlens-qwen3-4b-merged-v2

v2v3 (this model)
Generators (mix)Claude Sonnet 4.6 + GPT-5.3 (50/50)Claude Sonnet 4.6 + GPT-5.3 + Gemini-3-Flash-Preview (~33/33/33)
Source domains6 (5 + Twitter)6 (same)
Word-count window20–80020–800 (same)
Train rows75,37575,316
Val / Test rows3,200 / 7,5673,234 / 7,658
Editing prompts301 (paper Appendix K subset)301 (same)
Embedding model (cosine teacher)Linq-Embed-MistralLinq-Embed-Mistral (same)
Bucket thresholdslo=0.03, hi=0.15lo=0.03, hi=0.15 (same)

When to use which model

If you want detection on...Best choice
2026-vintage Sonnet/GPT/Gemini outputsv3
2026-vintage Sonnet/GPT (Gemini-aware not needed)v2
2025-vintage GPT-4.1 / Claude Sonnet 4 / Gemini 2.5 Flash / Llama 3.3v1 (editlens-qwen3-4b-merged)
Older 2022-2023 generators (chatgpt, gpt4, mistral-chat) on RAID-style benchmarksv1

For ensembling: v1 + v3 covers most generator vintages from 2022 → 2026.

Quick start

The score head is a custom LayerNorm + Linear (NormedLinear) module rather than a bare Linear, so it doesn't auto-load via from_pretrained. Reattach and copy weights manually:

import torch
import torch.nn as nn
from safetensors import safe_open
from transformers import AutoModelForSequenceClassification, AutoTokenizer

class NormedLinear(nn.Module):
    def __init__(self, hidden_size, num_labels, dtype=torch.bfloat16):
        super().__init__()
        self.norm = nn.LayerNorm(hidden_size, dtype=dtype)
        self.linear = nn.Linear(hidden_size, num_labels, bias=False, dtype=dtype)
    def forward(self, x):
        return self.linear(self.norm(x))

MODEL = "DarrenJiaImbue/editlens-qwen3-4b-merged-v3"
tok = AutoTokenizer.from_pretrained(MODEL)
if tok.pad_token is None:
    tok.pad_token = tok.eos_token
    tok.padding_side = "left"

model = AutoModelForSequenceClassification.from_pretrained(MODEL, dtype=torch.bfloat16).to("cuda")
n = model.config.num_labels
model.score = NormedLinear(model.config.hidden_size, n).to("cuda", dtype=torch.bfloat16)

from huggingface_hub import hf_hub_download
sf = hf_hub_download(MODEL, "model.safetensors")
with safe_open(sf, framework="pt") as f:
    model.score.norm.weight.data.copy_(f.get_tensor("score.norm.weight"))
    model.score.norm.bias.data.copy_(f.get_tensor("score.norm.bias"))
    model.score.linear.weight.data.copy_(f.get_tensor("score.linear.weight"))
model.config.pad_token_id = tok.pad_token_id
model.eval()

text = "The original text..."
enc = tok(text, return_tensors="pt", truncation=True, max_length=1024).to("cuda")
with torch.no_grad(), torch.autocast("cuda", dtype=torch.bfloat16):
    logits = model(**enc).logits
probs = logits.float().softmax(-1).cpu().numpy()[0]
bucket = int(probs.argmax())
score = float(probs @ [0, 1, 2, 3]) / 3
print(f"bucket={bucket} score={score:.3f}")

Bucket interpretation

BucketApprox cosine distance from sourceMeaning
0≤ 0.03Verbatim human
10.03–0.07Light AI touch-up
20.07–0.15Heavier AI rewrite
3≥ 0.15AI-generated

Test-set accuracy

Threshold calibrated on each model's own val.csv. Numbers are ternary accuracy (4-class output collapsed to 3-class human/edited/AI-gen).

Test setdescriptionv1v2v3
pangram/editlens_iclr test (paper)2025-vintage GPT-4.1 / Sonnet 4 / Gemini 2.5 / Llama 3.30.9120.8580.904
v3 in-domain test2026-vintage Sonnet 4.6 / GPT-5.3 / Gemini-3-Flash0.8460.9150.930
Enron holdout (OOD email domain)same generators as paper0.8600.8680.874
RAID 10K (binary)2022-2023 chatgpt / gpt4 / llama-chat / mistral-chat0.9820.9400.964

v3 binary modes (in-domain test)

ModeAccuracyMacro F1
human_vs_ai0.9980.998
human_vs_rest0.9590.954
ai_vs_rest0.9720.968

Per-generator on the paper's test set (the rebalance question)

The v2 model's notable weakness was Gemini-2.5 ai_generated detection, where it scored 0.852 vs v1's 0.951. v3's 3-way generator mix closes that gap and then some:

generatorv1v2v3
gemini-2.5-flash ai_generated0.9510.8520.957
claude-sonnet-4 ai_generated0.9760.9730.989
gpt-4.1 ai_generated0.9580.8670.937
llama-3.3-70B ai_generated1.0000.9460.973

License

CC BY-NC-SA 4.0 (matches the original EditLens release).

Citation

@misc{thai2025editlensquantifyingextentai,
  title={EditLens: Quantifying the Extent of AI Editing in Text},
  author={Katherine Thai and Bradley Emi and Elyas Masrour and Mohit Iyyer},
  year={2025},
  eprint={2510.03154},
  archivePrefix={arXiv},
  primaryClass={cs.CL},
}

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · text-classification

Можно запустить

Подбираем GPU…

Класс архитектуры
Qwen3ForSequenceClassification
Ревизия весов
33716e3

0 моделей