Feature Extraction
Transformers
Safetensors
lemondecider_decision
decision-engine
typed-decision
choice
classification
Merge
qwen3.5
custom_code
Instructions to use inclusionAI/LemonDecider with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use inclusionAI/LemonDecider with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("feature-extraction", model="inclusionAI/LemonDecider", trust_remote_code=True)# pip install -U transformers accelerate # Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("inclusionAI/LemonDecider", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
Update model card (new model id) and remove provenance/notice files to match v2 export
Browse files- LEMONDECIDER_BUILD.json +0 -25
- LEMONDECIDER_REBRAND.json +0 -16
- NOTICE +0 -6
- README.md +13 -20
LEMONDECIDER_BUILD.json
DELETED
|
@@ -1,25 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"schema": "lemondecider-build-receipt/1",
|
| 3 |
-
"model_name": "lemondecider-4b-merge50-20261015-v2",
|
| 4 |
-
"display_name": "LemonDecider 4B (Qwen3.5-4B 公开数据双路线 SFT 50/50 合并)",
|
| 5 |
-
"compiled_utc": "2026-10-15T07:10:31Z",
|
| 6 |
-
"base": "Qwen/Qwen3.5-4B",
|
| 7 |
-
"training": {
|
| 8 |
-
"routes": 2,
|
| 9 |
-
"data": "public data sources",
|
| 10 |
-
"description": "two independent SFT routes from a common Qwen3.5-4B initialization, trained on public data sources"
|
| 11 |
-
},
|
| 12 |
-
"merge": {
|
| 13 |
-
"method": "exact 0.5*A + 0.5*B elementwise tensor merge, FP32 mean, one BF16 cast; FP32 readout preserved",
|
| 14 |
-
"tensors": 724,
|
| 15 |
-
"post_merge_training": false
|
| 16 |
-
},
|
| 17 |
-
"runtime": "lemonjev-qwen-decision-runtime-v2: noncausal_full_attention, pooling=last, T=1",
|
| 18 |
-
"weights": {
|
| 19 |
-
"shards": 2,
|
| 20 |
-
"note": "serialization files byte-identical to the parent merged package of the same weights (sha256 verified)"
|
| 21 |
-
},
|
| 22 |
-
"eval_policy": "No benchmark score is claimed by this package.",
|
| 23 |
-
"v2_of": "lemondecider-4b-merge50-20261015-v1",
|
| 24 |
-
"v2_change": "machine-identifier spelling normalized to the LemonDecider form (module filenames, auto_map, protocol and model_type); serialization weights byte-identical"
|
| 25 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LEMONDECIDER_REBRAND.json
DELETED
|
@@ -1,16 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"schema": "lemondecider-abi-rename-receipt/1",
|
| 3 |
-
"model_name": "lemondecider-4b-merge50-20261015-v2",
|
| 4 |
-
"rebuilt_utc": "2026-10-15T07:10:31Z",
|
| 5 |
-
"purpose": "v2 spelling-normalization export of the rebranded two-route checkpoint: internal machine identifiers corrected to the LemonDecider spelling; weights and the tokenizer BPE asset byte-identical to the v1 rebranded export; v1 kept read-only with its evaluation evidence.",
|
| 6 |
-
"weights": {
|
| 7 |
-
"shards": 2,
|
| 8 |
-
"note": "serialization files unchanged in this pass"
|
| 9 |
-
},
|
| 10 |
-
"amendments": [
|
| 11 |
-
{
|
| 12 |
-
"utc": "2026-10-15T09:05:30.492782+00:00",
|
| 13 |
-
"change": "max_input_length 8192 -> 262144 in config.json and decision_config.json, enabling the Qwen3.5-4B backbone's full 256K position window (max_position_embeddings 262144, rope_theta 1e7), per user instruction 2026-10-15. Weights, tokenizer and runtime code unchanged (INDEX revision binds LEMONDECIDER_BUILD.json, untouched)."
|
| 14 |
-
}
|
| 15 |
-
]
|
| 16 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
NOTICE
DELETED
|
@@ -1,6 +0,0 @@
|
|
| 1 |
-
LemonDecider (LemonJev typed decision engine)
|
| 2 |
-
Copyright 2026 LemonJev Project — LemonDecider
|
| 3 |
-
|
| 4 |
-
Built on Qwen/Qwen3.5-4B (Apache-2.0).
|
| 5 |
-
Runtime and server code adapted from Apache-2.0 and MIT upstream components
|
| 6 |
-
(see LICENSE and LICENSE.code for terms).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
README.md
CHANGED
|
@@ -13,9 +13,8 @@ tags:
|
|
| 13 |
|
| 14 |
# LemonDecider 4B (LemonJev typed decision engine)
|
| 15 |
|
| 16 |
-
**Model ID:** `lemondecider-4b-
|
| 17 |
**Base model:** `Qwen/Qwen3.5-4B`
|
| 18 |
-
**Release date:** 2026-10-15
|
| 19 |
|
| 20 |
LemonDecider 4B is a typed decision engine: it reads a state and a question with a
|
| 21 |
list of options, runs **one forward pass**, and returns a probability distribution
|
|
@@ -73,9 +72,6 @@ label distributions.
|
|
| 73 |
|
| 74 |
## Package artifacts
|
| 75 |
|
| 76 |
-
The release directory ships as a single self-contained package — weights,
|
| 77 |
-
tokenizer, runtime code and provenance receipts travel together.
|
| 78 |
-
|
| 79 |
### Weight files
|
| 80 |
|
| 81 |
| File | Size | SHA-256 |
|
|
@@ -85,8 +81,6 @@ tokenizer, runtime code and provenance receipts travel together.
|
|
| 85 |
| `tokenizer.json` | 19,989,492 | `6f32ce20dc35f57a7f9ad1eac03525bd7d30f9df8cea6507e958279cc3657706` |
|
| 86 |
| `model.safetensors.index.json` | 68,426 | `bda09c55c0152d7a6fb2db6898aea70e728dc528df6f9c026cefb0bd5d1d673b` |
|
| 87 |
|
| 88 |
-
Provenance receipts ship inside the package: `LEMONDECIDER_BUILD.json` (build
|
| 89 |
-
receipt) and `LEMONDECIDER_REBRAND.json` (export lineage).
|
| 90 |
|
| 91 |
## Evaluation results
|
| 92 |
|
|
@@ -228,16 +222,18 @@ Evidence: `lemondeeder-eval-20261015/jevbench/20261015-lemondecider-4b-jevbench-
|
|
| 228 |
## Usage
|
| 229 |
|
| 230 |
Dependencies: `transformers==5.17.0` (needs the Qwen3.5 hybrid classes),
|
| 231 |
-
`flash-linear-attention==0.5.2`, `pillow`, `torch` with SDPA.
|
| 232 |
-
|
| 233 |
-
|
| 234 |
|
| 235 |
```python
|
| 236 |
-
import torch
|
| 237 |
from transformers import AutoModel
|
|
|
|
|
|
|
|
|
|
| 238 |
from decision_utils import load_processor, predict_batch
|
| 239 |
|
| 240 |
-
ckpt = "lemondecider-4b-merge50-20261015-v2" # local package directory
|
| 241 |
model = AutoModel.from_pretrained(
|
| 242 |
ckpt, trust_remote_code=True, local_files_only=True,
|
| 243 |
dtype=torch.bfloat16, device_map="cuda:0", attn_implementation="sdpa",
|
|
@@ -258,9 +254,11 @@ print(answers["answers"][0]) # choice, probabilities over the 3 options, confi
|
|
| 258 |
|
| 259 |
CLI from inside the package: `python3 model.py --checkpoint . --device cuda:0 --input rows.json`.
|
| 260 |
|
| 261 |
-
Batching:
|
| 262 |
-
to the longest prompt;
|
| 263 |
-
|
|
|
|
|
|
|
| 264 |
|
| 265 |
## Intended use & limitations
|
| 266 |
|
|
@@ -280,15 +278,10 @@ limit named (HTTP 422 in server wrappers) — nothing is truncated.
|
|
| 280 |
- `LICENSE` — Apache-2.0 text as preserved from the parent checkpoint lineage
|
| 281 |
(base: Qwen/Qwen3.5-4B, inherit the base model's terms).
|
| 282 |
- `LICENSE.code` — MIT for runtime/server code components adapted from upstream.
|
| 283 |
-
- `NOTICE` — rebranded for this export; no new license grant is asserted.
|
| 284 |
- No benchmark score is claimed by this package beyond the reproducible evidence
|
| 285 |
files listed above; the Decision Index owner reserves 80% of its Full score for
|
| 286 |
private tests, so the 50.31 public index is not a board submission.
|
| 287 |
|
| 288 |
-
## Version history
|
| 289 |
-
|
| 290 |
-
- **v1** — `lemondecider-4b-merge50-20261015-v1`: rebranded export of the merged two-route checkpoint (all evaluations in this card ran on v1; weight files byte-identical to v2).
|
| 291 |
-
- **v2** — `lemondecider-4b-merge50-20261015-v2`: internal machine identifiers spelling-normalized — module files (`modeling_lemondecider.py`, `configuration_lemondecider.py`), `auto_map`, protocol `lemondeeder-v1` → `lemondecider-v1`, `model_type: lemondecider_decision`; weights and tokenizer byte-identical to v1 (sha256 unchanged).
|
| 292 |
|
| 293 |
## Acknowledgements
|
| 294 |
|
|
|
|
| 13 |
|
| 14 |
# LemonDecider 4B (LemonJev typed decision engine)
|
| 15 |
|
| 16 |
+
**Model ID:** `lemondecider-4b-20261015-v2`
|
| 17 |
**Base model:** `Qwen/Qwen3.5-4B`
|
|
|
|
| 18 |
|
| 19 |
LemonDecider 4B is a typed decision engine: it reads a state and a question with a
|
| 20 |
list of options, runs **one forward pass**, and returns a probability distribution
|
|
|
|
| 72 |
|
| 73 |
## Package artifacts
|
| 74 |
|
|
|
|
|
|
|
|
|
|
| 75 |
### Weight files
|
| 76 |
|
| 77 |
| File | Size | SHA-256 |
|
|
|
|
| 81 |
| `tokenizer.json` | 19,989,492 | `6f32ce20dc35f57a7f9ad1eac03525bd7d30f9df8cea6507e958279cc3657706` |
|
| 82 |
| `model.safetensors.index.json` | 68,426 | `bda09c55c0152d7a6fb2db6898aea70e728dc528df6f9c026cefb0bd5d1d673b` |
|
| 83 |
|
|
|
|
|
|
|
| 84 |
|
| 85 |
## Evaluation results
|
| 86 |
|
|
|
|
| 222 |
## Usage
|
| 223 |
|
| 224 |
Dependencies: `transformers==5.17.0` (needs the Qwen3.5 hybrid classes),
|
| 225 |
+
`flash-linear-attention==0.5.2`, `pillow`, `torch` with SDPA.
|
| 226 |
+
This package honours a single runtime env var: `LEMONDECIDER_CUDNN_SDPA=1`
|
| 227 |
+
(keep the cuDNN SDPA backend on CUDA; defaults are kept on CPU/ROCm).
|
| 228 |
|
| 229 |
```python
|
| 230 |
+
import sys, torch
|
| 231 |
from transformers import AutoModel
|
| 232 |
+
|
| 233 |
+
ckpt = "lemondecider-4b-20261015-v2" # local package directory
|
| 234 |
+
sys.path.insert(0, ckpt) # make the in-package runtime importable
|
| 235 |
from decision_utils import load_processor, predict_batch
|
| 236 |
|
|
|
|
| 237 |
model = AutoModel.from_pretrained(
|
| 238 |
ckpt, trust_remote_code=True, local_files_only=True,
|
| 239 |
dtype=torch.bfloat16, device_map="cuda:0", attn_implementation="sdpa",
|
|
|
|
| 254 |
|
| 255 |
CLI from inside the package: `python3 model.py --checkpoint . --device cuda:0 --input rows.json`.
|
| 256 |
|
| 257 |
+
Batching: each `predict_batch` call runs ONE forward pass over all the rows you pass
|
| 258 |
+
(inputs are left-padded to the longest prompt); the HTTP serving bridge chunks its
|
| 259 |
+
requests at 8 questions per forward pass. Requests over the 262,144-token
|
| 260 |
+
`max_input_length` limit are rejected with the limit named (HTTP 422 in server
|
| 261 |
+
wrappers) — nothing is truncated.
|
| 262 |
|
| 263 |
## Intended use & limitations
|
| 264 |
|
|
|
|
| 278 |
- `LICENSE` — Apache-2.0 text as preserved from the parent checkpoint lineage
|
| 279 |
(base: Qwen/Qwen3.5-4B, inherit the base model's terms).
|
| 280 |
- `LICENSE.code` — MIT for runtime/server code components adapted from upstream.
|
|
|
|
| 281 |
- No benchmark score is claimed by this package beyond the reproducible evidence
|
| 282 |
files listed above; the Decision Index owner reserves 80% of its Full score for
|
| 283 |
private tests, so the 50.31 public index is not a board submission.
|
| 284 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 285 |
|
| 286 |
## Acknowledgements
|
| 287 |
|