SAVRN
Search Contact SAVRN

Open-weight model · Text classification

EventTwin

by Yiding Ma MaYiding/EventTwin

EventTwin is an open-weight model for text classification from Yiding Ma, released under Apache License 2.0. It has 4B parameters and a 40,960-token context. At 16-bit it needs about 9.7 GB of GPU memory, which fits on 1x MI300X from $1.85 an hour, at the lowest prices in the SAVRN Index. It draws 54 downloads a month.

TL;DR (EN) — EventTwin judges whether two event descriptions refer to the same real-world event (cross-document event coreference / news deduplication) with temperature-calibrated probabilities.

Parameters4B
Context40,960
Weights10.3 GB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads54

Runs On

What it takes to serve EventTwin (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 8.0 GB 9.7 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
8-bit 4.0 GB 4.8 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
4-bit 2.0 GB 2.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 8, 2026.

EventTwin on every accelerator the SAVRN Index prices, at every precision

Model Card

By Yiding Ma, published under apache-2.0, revision 686d3a9d0d7f.

EventTwin v2.3 · 中文同事件判定器

TL;DR (EN) — EventTwin judges whether two event descriptions refer to the same real-world event (cross-document event coreference / news deduplication) with temperature-calibrated probabilities. v2.3 keeps the Qwen3-Reranker-4B base and refines the recipe with sharpened labels + dual-teacher-consensus synthetic data: LLM-refined soft labels (v2.1) + four cross-granularity quadrants (v2.2) + 12k multi-register synthetic pairs (social-media / colloquial / wire / long-form, kept only when the generator's judgment agrees with a second judge's probability). Result: overall AUROC 0.985 + gray 0.982 (records), ECE 0.094, truth-based false-merge 2.8% (family's lowest) with coverage 95.4% / miss 0.0%, and escalation down from v2.2's 56.6% to 23.7% on the hard stratified benchmark. Quadrant hold-out 0.98-1.0. Prior profiles remain as tags (v2.2 / v2.1 / v2.0 / v1.x). Data: EventTwin-Data.

这个模型做什么

输入两个中文事件描述,输出"同一现实事件"的概率(0-1,已校准)。用于新闻流式 聚类的核心判定:"这两条报道说的是同一件事吗"——同一动作的不同媒体报道=同事件; 同产品两次调价/宣布与交割=不同事件。

输入协议(v2.x 必读)

v2.0 的官方推理协议:每侧文本截断到 200 字符,再套 Qwen3-Reranker 官方模板, 取序列末位 yes/no 双 logit,除温度 T=0.854 后 softmax(v2.3)。

Read the full model card (851 words)

Configuration

Architecture
Qwen3ForCausalLM
Context length (tokens)
40,960
Layers
36
Hidden size
2,560
Feed-forward size
9,728
Attention heads
32
Key/value heads
8
Head dimension
128
Vocabulary size
151,669
Model type
qwen3

Identity and Version

Repository
MaYiding/EventTwin
Publisher
Yiding Ma
Task
Text classification
Modality
Text
Library
transformers
Parameters
4B parameters
Languages
zh
Revision
686d3a9d0d7f36dbf9ce6d90a4d152acb318db44
First published
2026-10-02
Last updated
2026-10-07

Files and Weights

19 files, 10.4 GB in total. The weights are 3 files totalling 10.3 GB in safetensors.

Weights3 files · 10.3 GB
Configuration7 files · 3.6 KB
Tokenizer6 files · 45.6 MB
Documentation1 file · 11.8 KB
Other1 file · 741 B
Repository1 file · 101 B
Every file
FileTypeSizeSHA-256
ensemble/v10a/model.safetensorsWeights1.1 GB 82adbccd4588
ensemble/v8/model.safetensorsWeights1.1 GB 2098d019bd9d
model.safetensorsWeights8.0 GB 4a8b6fef120e
calibration.jsonConfiguration37 B —
config.jsonConfiguration1.6 KB —
ensemble/v10a/calibration.jsonConfiguration38 B —
ensemble/v10a/config.jsonConfiguration843 B —
ensemble/v8/calibration.jsonConfiguration37 B —
ensemble/v8/config.jsonConfiguration843 B —
generation_config.jsonConfiguration214 B —
README.mdDocumentation11.8 KB —
chat_template.jinjaOther741 B —
.gitattributesRepository101 B —
ensemble/v10a/tokenizer.jsonTokenizer17.1 MB 45885ab5cd9f
ensemble/v10a/tokenizer_config.jsonTokenizer408 B —
ensemble/v8/tokenizer.jsonTokenizer17.1 MB 45885ab5cd9f
ensemble/v8/tokenizer_config.jsonTokenizer408 B —
tokenizer.jsonTokenizer11.4 MB be75606093db
tokenizer_config.jsonTokenizer693 B —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
10.3 GB
Download from Yiding Ma

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

Built From

Memory Requirements

PrecisionWeights in memory
As published10.3 GB
16-bit8.0 GB
8-bit4.0 GB
4-bit2.0 GB

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

Built on This Model

Questions About EventTwin

How much GPU memory does EventTwin need?

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

What is the cheapest GPU to run EventTwin 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 EventTwin commercially?

Yes. EventTwin 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 EventTwin's context length?

40,960 tokens, from the maximum position embeddings in its published configuration.

Similar Models

Model · Text classification

VirbiusGuard-4B

Min Cai

VirbiusAgent 安全分类器(Prompt L1 检测),基于 Qwen3Guard-Gen-4B 微调的 LoRA 模型。 输出严格 JSON:hitrule 与 triggeredid。 同口径评测相对基座:漏检 15.4% 降到 0.8%(gold1000 / V15),jailbreak 召回 57.1% 升到 100%。 0.6B 轻量版:https://www.modelscope.cn/models/i1see1you/VirbiusGuard 基座用官方 Safety 模板(Unsafe / Controversial 视为拦截);VirbiusGuard-4B 用引擎 JSON 协议。评测集与口径相同。 评测集:data/eval/gold1000.jsonl(615 unsafe / 385 safe)。误报 = FP / 385。 基座漏掉的主要是越狱与 Agent 工具滥用。V13.3 召回拉满但误报过高;V15 起进入可用区。V17 误报最低,但召回/自伤回退。 - 架构:Qwen3ForCausalLM(4B),LoRA(rank 32 / alpha 64) - 基座:Qwen3Guard-Gen-4B - 相对基座的补强:jailbreak 与 agent-behavior - V17 数据:与 0.6B V15 同口径,良性切片再平衡,含 oasst1、COIG 中文散文、OCR 风格文本 输出 10 种 unsafe 类别(triggeredid)或 safe(hitrule 为 false)。每条输入只输出一个主要类别:…

Open weights apache-2.0 4B parameters 32,768 tokens transformers

Model · Text classification

Qwen3-Reranker-4B-W4A16-G128

Mou Geren

GPTQ Quantized Qwen/Qwen3-Reranker-4B with Ultrachat, THUIR/T2Ranking and m-a-p/COIG-CQIA for calibration set. VRAM Usage: 17430M -> 11000M (w/o FA2, according to Embedding model's result). I think <5% accuracy, further evaluation on the way... The Embedding one shows ~0.7%. pip install compressed-tensors optimum and auto-gptq / gptqmodel, then goto the official usage guide.

Open weights apache-2.0 4.1B parameters 40,960 tokens transformers

Model · Text classification

blink-4b

Govind Kamtamneni

Small, fast decisions for routing and checks at volume. Send text or JSON state with choice, noul (yes/no), or score questions. Get a probability for every offered answer, not generated text. Each batch takes one forward pass; large requests can use several batches. Use choice to route a request, noul for a yes/no check, or score for an ordered rating. The same call can ask several questions about a single state. Try it: POST /v1/systemone, GET /v1/models, and GET /healthz. Point TypeSafe's server-side Python or JavaScript SDKs at it with TYPESAFEBASEURL; text decisions use the same request and response fields as hosted Jev. Requests run one at a time by default; --batch-window-ms 5 enables…

Open weights other 4.2B parameters 262,144 tokens transformers

Model · Text classification

decider-4b-fp8

LLM Tech

Mapika/decider-4b v2.1 quantized to FP8 for vLLM: FP8 E4M3 weights with one scale per output channel and FP8 activations scaled per token at run time. 4.85 GB against 8.41 GB for the bf16 checkpoint. Quantized and measured by LLM Tech; the model, its training and its evaluation protocol are Mapika's. Read the bf16 card for what the model is and how it was trained. The base revision is eb5fbdfc9448473ec25e399882912863afbdb70e. Tokenizer, chat template, generation config and deciderconfig.json (temperatures included) are the author's files unchanged, apart from the version and quantization fields. Both models were run through vLLM 0.29.0 on the same rows: the author's regression set rebuilt…

Open weights apache-2.0 4.2B parameters 262,144 tokens

Model · Text classification

Kev-4B-MLX-Serve-8bit

Alin C Selea

Kev-4B (a LoRA on Qwen3.5-4B-Base with a pointer head) packed for mlx-serve's POST /v1/decisions. Kev answers typed questions about a piece of text (choice, noul, score) with calibrated probabilities. It never generates text. The pack folds the LoRA into the base the way kev does on MLX, quantizes the trunk to 8-bit (affine, group 64; a bf16 build comes from --q-bits 0), and stores the pointer head as kevhead.safetensors with the calibration temperature in kevconfig.json. No PyTorch or pickle file is needed to serve it. Built with tests/convertkevweights.py from the mlx-serve repo. Kev and Qwen3.5 are Apache-2.0.

Open weights apache-2.0 4.2B parameters 262,144 tokens mlx-serve

Model · Text classification

decider-4b-tr-judge

Hayri Yigit

English summary. A third LoRA round (rank 64, merged into the bf16 weights) on hayriyigit/decider-4b-tr-rag for a RAG relevance judge: does this retrieved document carry information that contributes directly to the answer, for the asked entity, institution, facet and period? Unlike the -rag model, partial evidence counts as relevant. The input is the production format: state {question, document, today} (in that order), the document rendered as [date] title + body (4000 characters), one fixed instruction. On held-out partial-evidence rows the "yes" rate goes from 0,028 to 0,952 (HotpotQA-tr) and 0,004 to 0,936 (synthetic); the cost is 2-8 points on some negatives (facet 1,000 → 0,920). Most…

Open weights other 4.2B parameters 262,144 tokens