reasongraph-extractor-qwen3-1.7b

One small LLM for the three reasongraph extraction tasks -- causal cause/effect/signal spans, contradiction detection, and entity extraction -- from a single LoRA adapter over Qwen/Qwen3-1.7B, selected by a task tag and returning strict JSON. This is the conflict-capable, llama.cpp-servable variant: unlike the qwen3.5 extractor, this base runs in llama.cpp today, so it is the model behind reasongraph's self-hosted FineTunedConflictResolver.

  • Method: LoRA (r=16, alpha=32, dropout 0.05, all linear layers, 3 epochs, completion-only loss), merged to fp16.

Tasks & prompt format

Prompt with a bare task tag (no chat template) and greedily decode the JSON completion.

Tag Input Output
[causal] [causal] <sentence> `{"causal": true
[conflict] [conflict] existing: <fact A>\nnew: <fact B> `{"conflict": true
[entities] [entities] <sentence> {"entities": ["...", ...]}

Evaluation (L1)

Metric value
CNC subtask-2 dev F1 (official scorer) 0.666
Conflict F1 (40 hand pairs, fp16) 0.952 (matches gpt-oss:20b; > K2 0.77, NLI 0.78)
Synthetic multilingual C / E / S (seqeval) 0.969 / 0.957 / 0.935
Gate precision (CNC-news / synth / prose) 0.77 / 0.99 / 1.0
E2 causal reasoning eval (Chain / Answer) 84 / 75
CPU Q4_K_M causal latency (4 threads) ~2238 ms/sentence, ~1609 sentences/hour, ~2.3 GB RAM

llama.cpp serving (conflict resolver)

llama-server -m qwen3-1.7b-multitask-Q4_K_M.gguf -t 4 -c 2048

Per-pair conflict via /v1/completions (or /completion), temperature 0, cache_prompt, with a JSON grammar so the reply is strict yes/no:

root ::= "{\"conflict\": \"" ("true" | "false") "}"

(exact grammar used in production: root ::= "{" ws "\"conflict\"" ws ":" ws ("true"|"false") ws "}"). Prompt = "[conflict] existing: {existing}\nnew: {new}". Served figures: served Q4_K_M conflict F1 0.976 at 274 ms/pair (median, 4 threads), p90 358 ms -- the grammar-constrained decode beats the fp16 free-form parse (H3).

Files

  • model.safetensors -- merged fp16 model (load with transformers).
  • qwen3-1.7b-multitask-Q4_K_M.gguf -- 4-bit GGUF for llama.cpp.
  • adapter/ -- standalone LoRA adapter (apply on Qwen/Qwen3-1.7B).

License

Apache-2.0, inherited from the Qwen3 base. Causal News Corpus training text is CC0-1.0.

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

Model tree for Berk/reasongraph-extractor-1.7b

Finetuned
Qwen/Qwen3-1.7B
Adapter
(745)
this model