---
title: KnowLine-2B-Gen1
canonical_url: "https://www.modelscope.ai/models/EMLab/KnowLine-2B-Gen1"
md_url: "https://www.modelscope.ai/models/EMLab/KnowLine-2B-Gen1.md"
repository: EMLab/KnowLine-2B-Gen1
last_updated: 2026-11-13
license: apache-2.0
pipeline_tag: image-text-to-text
tasks:
  - image-text-to-text
model_type:
  - qwen3_5
architectures:
  - Qwen3_5ForConditionalGeneration
base_model:
  - Qwen/Qwen3.5-2B
base_model_relation: finetune
parameters: 2.2B
tensor_type:
  - BF16
  - F32
library_name:
  - safetensors
  - pytorch
frameworks:
  - pytorch
language:
  - en
  - zh
downloads: 15
stars: 0
tags:
  - qwen3.5
  - decision-model
  - structured-prediction
  - text-classification
  - image-text-to-text
---

# KnowLine-2B-Gen1

> KnowLine-2B-Gen1 - An open-source model by EMLab on ModelScope. Inference notes · 中文 · weights Apache-2.0 · released together with KnowLine-0.8B-Gen1 · also: KnowLine-9B-Gen1, KnowLine-4B-Gen5.5

EMLab/KnowLine-2B-Gen1 is a 2.2B-parameter image-text-to-text model on ModelScope. licensed under apache-2.0. derived from Qwen/Qwen3.5-2B.

- **Repository**: EMLab/KnowLine-2B-Gen1
- **License**: apache-2.0
- **Tasks**: image-text-to-text
- **Parameters**: 2.2B
- **Base model**: Qwen/Qwen3.5-2B
- **Tags**: qwen3.5, decision-model, structured-prediction, text-classification, image-text-to-text
- **Downloads**: 15
- **Stars**: 0
- **Last updated**: 2026-11-13

Source: https://www.modelscope.ai/models/EMLab/KnowLine-2B-Gen1

---

# KnowLine-2B-Gen1

[Inference notes](INFERENCE.md) · [中文](README.zh.md) · weights Apache-2.0 · released together with [KnowLine-0.8B-Gen1](https://huggingface.co/PelaAI/KnowLine-0.8B-Gen1) · also: [KnowLine-9B-Gen1](https://huggingface.co/PelaAI/KnowLine-9B-Gen1), [KnowLine-4B-Gen5.5](https://huggingface.co/PelaAI/KnowLine-4B-Gen5.5)

KnowLine-2B-Gen1 is a 2B decision model based on Qwen3.5-2B. It maps a structured state and one or more typed
questions to probabilities over the supplied options: choice, yes/no and ordered score questions. It reads the probability
of each option label directly and does not generate free-form text when it answers. KnowLine is developed by PelaAI, a
Japan-based team.

Highlights:

- **Decision Index 0.3 public suite: 52.23** (self-run, fresh full run with the files in this repository, read twice;
  140,178 of 140,178 scoreable requests answered, no errors). The board's full score comes from the maintainers' private
  run and is not yet available for this model.
- **Small and fast:** one request at a time on one H20, 30.0 ms median and 60.6 ms mean.
- **Other public benchmarks:** C-Eval 67.0, JevBench / JevBench-hard 77.5 / 55.9; see [Evaluation](#evaluation).
- **Calibrated probabilities:** a readout temperature T = 1.32, fitted on held-out data, is folded into the weights.
  Computed with the board's method on the public suite, ECE is 0.016-0.025.
- **S1MB (English v1, local run):** Task Avg 44.85 over 137 benchmarks (26,269 decisions, none failed or abstained).

## What it does

- choice questions with named options;
- yes/no questions;
- ordered score questions;
- a readout temperature folded into the language-model norm, so the front end reads at temperature 1;
- read twice for short text-only requests (up to 3,000 tokens read once).

## Quickstart

Install PyTorch with CUDA, `transformers` and SGLang 0.5.21, then start the included front end:

```bash
bash serve_knowline.sh /path/to/KnowLine-2B-Gen1 0 8080
```

The front end serves `/v1/systemone`:

```bash
curl -s http://127.0.0.1:8080/v1/systemone \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "m",
    "state": "The parcel arrived damaged.",
    "questions": {
      "refund": {"type": "noul", "instructions": "Should the customer receive a refund?"},
      "route": {"type": "choice", "instructions": "Which team should handle this case?", "criteria": {"billing": "Payments and refunds", "support": "Technical troubleshooting"}}
    }
  }'
```

- **Front end:** `knowline_server.py`, `knowline_engine.py` and `knowline_layout.py` implement the scoring front end used
  for every result below; `temperatures.json` must sit next to `serve_knowline.sh`.
- **Thinking off:** the front end renders prompts with thinking turned off (`enable_thinking=False`). The Qwen3.5-2B
  chat template in this repository turns thinking on by default, so pass `enable_thinking=False` if you build prompts
  yourself.
- **Full settings:** see [INFERENCE.md](INFERENCE.md).

## How Gen1 was made

- **Base model:** [Qwen/Qwen3.5-2B](https://huggingface.co/Qwen/Qwen3.5-2B).
- **Training:** one epoch of LoRA SFT (rank 32, alpha 64, language-model linear layers only), merged into bf16 weights,
  at most 12,288 tokens per row. The released checkpoint is the end of training. Training examples include decision
  tasks written and labelled by LLM teachers.
- **Readout temperature:** T = 1.32, fitted on held-out data and folded into `model.language_model.norm.weight`
  (see `CALIBRATION.json`). `temperatures.json` divides score-question logits by 0.7576 (= 1/1.32), so score questions
  are read at an effective temperature of 1.0.
- **Images:** no image training; the vision tower is the base model's.

The training data is not included in this repository.

## Comparison

Board entries of a similar size, from the Decision Index board snapshot multimodalart/jev-decision-index @ c130faf6 (data generated 2026-10-29 14:04 UTC). The board's DI 0.4.1 full
score comes from the maintainers' private run.

| model | size | DI 0.3 public | DI 0.4.1 full | source |
|---|---|---:|---:|---|
| **KnowLine-2B-Gen1** | 2B | **52.23** | not yet scored | self-run, official kit |
| StartLux-Decision v1.1 2B | 2.3B | 59.23 | 40.11 | board |
| baselabs joey-1 (2B) | 2.7B | 63.30 | 35.91 | board |
| Jev-Style 2B v4 | 2.2B | 44.37 | 34.53 | board |
| Sieve 2B v3 | 2.3B | 53.51 | 34.45 | board |

## Evaluation

### Full public Decision Index 0.3

Measured on 2026-10-29 with the files in this repository (bf16, read twice):

| measurement | result |
|---|---:|
| Public Decision Index | **52.23** |
| Public raw index | 64.24 |
| Requests / scoreable requests | 140,620 / 140,178 |
| Scoreable answers / errors / unsupported | 140,178 / 0 / 0 |
| One request at a time: median / mean / 95th percentile | 30.0 / 60.6 / 214.9 ms |

- **How the run was made:** a fresh run of the 0.3 public suite with the official kit (commit `62d2f51`), sent to
  four identical H20 servers started with `serve_knowline.sh`, 32 client shards. No request needed a retry and no input
  was truncated.
- **Hardware:** H20 measurements, not the board's reference hardware.

### Other public benchmarks

Both models of this release, on the same files and serving:

| suite | 2B-Gen1 | 0.8B-Gen1 |
|---|---:|---:|
| C-Eval (4 categories, macro) | 67.0 | 56.3 |
| JevBench / JevBench-hard | 77.5 / 55.9 | 71.9 / 49.5 |

### S1MB (English v1)

A local run of the S1MB English v1 category (evaluator `9ad06fea`, dataset `10bcb8c6`) against
this repository at commit `9f3cde88`, run ID `knowline-2b-gen1-en-20261029-001`: 137 benchmarks, 18,701 cases, 26,269 decisions, none
failed or abstained. Task Avg 44.85 (choice 57.4, yes/no 48.4, score 28.7). This is the evaluator's task average, not a Borda rank or a leaderboard position.

### Calibration

Computed on the 0.3 public suite with the method described by the Decision Index board (benchmarks weighted equally,
confidence = probability of the chosen option, 10 equal-width bins); ranges cover the plausible benchmark sets, because
the board does not publish which ones it uses.

| metric | KnowLine-2B-Gen1 |
|---|---:|
| ECE (lower is better) | 0.016-0.025 |
| Brier score (lower is better) | 0.36-0.38 |
| Confidence ≥ 95% but wrong | 0.6-0.7% |
| Mean confidence / accuracy | 0.73-0.74 / 0.70-0.72 |

- **Recommendation:** check calibration on your own data if your use depends on probability thresholds.

## Disclosures

- **Decontamination:** the complete training file was screened with standard and strict decontamination against the
  Decision Index public suite and the public benchmarks we report before training. This does not exclude exposure
  during the base model's pretraining.
- **Public suite:** the Decision Index public suite is public; the board's private tests may show a lower score.

## Limitations

- **Small model:** a 2B model is well below our larger models on knowledge and reasoning-heavy questions (for example
  C-Eval 67.0 and JevBench-hard 55.9).
- **Planted instructions:** put untrusted content in data fields of the state, not in the instructions, and keep it
  clearly delimited; the model can be steered by instructions planted in the input.
- **Calibration:** probabilities are calibrated on average, not for every domain; check calibration on your own data.
- **Images:** no image training; image use is zero-shot.
- **Thinking:** use the included front end or pass `enable_thinking=False`; with the chat template's default the model
  would be prompted in thinking mode, which was not used in training.
- **Long requests:** limited by the model and serving context; the front end does not truncate a request.
- **Not a chat assistant:** it is a structured decision readout model.

## Files and license

The weights and code are released under Apache 2.0. `SHA256SUMS` covers every file in this repository. The Qwen3.5-2B
base model remains subject to its own license and terms.

## Citation

```bibtex
@misc{knowline2bgen1,
  title        = {KnowLine-2B-Gen1},
  author       = {PelaAI},
  year         = {2026},
  howpublished = {Hugging Face model repository}
}
```
