Skip to page content
SAVRN
Search Plan a project

Open-weight model · Text classification

MiDM-9B-q35-e1-bx

by Yeohoon yunicro/MiDM-9B-q35-e1-bx

MiDM-9B-q35-e1-bx is an open-weight model for text classification from Yeohoon, released under Apache License 2.0. Its published files total 161.6 MB. It draws 18 downloads a month.

Documentation only; weights remain v0.2.0. No improved financial checkpoint is released. ScenarioView report · Validation notes. MiDM baseline action accuracy was 54.37%; tested residual variants did not justify replacement.

Parameters—
Context—
Weights160.5 MB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads18

Model Card

By Yeohoon, published under apache-2.0, revision 5e7e9254c1d2.

Documentation only; weights remain v0.2.0. No improved financial checkpoint is released. ScenarioView report · Validation notes. MiDM baseline action accuracy was 54.37%; tested residual variants did not justify replacement. These are reused retrospective KOSPI decisions, not live signals or general benchmark gains. Documentation update; this repository's existing weights and inference code are unchanged. atlas separates matched measurements from historical/published/API comparisons. JevBench public accuracy is not its official composite. Missing MiDM DeepSWE and local Terminal-Bench measurements remain explicit; their candidate pools were not found. Unknown proprietary parameter counts are…

Read Yeohoon's full model card

v0.2.2 financial validation and report update

Documentation only; weights remain v0.2.0. No improved financial checkpoint is released. ScenarioView report · Validation notes. MiDM baseline action accuracy was 54.37%; tested residual variants did not justify replacement. These are reused retrospective KOSPI decisions, not live signals or general benchmark gains.

v0.2.1 benchmark and architecture analysis

Documentation update; this repository's existing weights and inference code are unchanged. Full benchmark atlas · GitHub release · Version DOI.

The atlas separates matched measurements from historical/published/API comparisons. JevBench public accuracy is not its official composite. Missing MiDM DeepSWE and local Terminal-Bench measurements remain explicit; their candidate pools were not found. Unknown proprietary parameter counts are not guessed. SQL/Python regressions remain documented.

Version v0.2.0. This repository contains the LoRA adapter, a linear pointer head and a self-contained Python loader. It scores the provided options jointly in one forward pass; it does not generate SQL, Python or explanations. The API accepts choice, yes/no noul, and ordinal score questions. Outputs are option probabilities, not guaranteed calibrated confidence.

Use

Install requirements.txt, download this repository at revision v0.2.0, and run from that directory:

from midm import MiDM
model = MiDM.from_pretrained(".")  # downloads the base separately; NF4 by default
result = model.predict(
    state="A receipt is required for a refund. The customer has no receipt.",
    questions={"action": {"type": "choice", "instructions": "Choose the next action.",
        "criteria": {"approve": "Approve the refund.", "review": "Request a receipt or review."}}},
)
print(result)

A compatible NVIDIA GPU and the listed dependencies are required. The configured maximum input is 4096 tokens; individual options are capped at 192 tokens. Long states are truncated while retaining the head and tail. All inference can run offline once the package and base are cached. Apache-2.0 applies to this adapter and code; base model and training data retain their own terms. This repository includes no training data.

MiDM v0.2.0 — 9B checkpoint and completed evaluation results

Adds the Qwen3.5-9B-Base LoRA adapter and learned pointer head, self-contained loader and verified 4096-token inference configuration. The original 4B release remains available. This model scores supplied options; it does not generate SQL, Python or report prose. The report writer remains Qwen3 8B.

Matched primary evaluation

NF4/BF16 on RTX 3090, max input 4096, batch token budget 4096, TTA=1; same items and ordering.

Suite N 4B 9B
Typed Decisions test 2000 78.85% 79.30%
Kev transfer test 764 79.84% 82.59%
JevBench original 72 91.67% 97.22%
JevBench easy 48 100.00% 100.00%
JevBench hard 111 45.95% 54.05%

These are retrospective hard-label accuracies, not official JevBench full/sealed composite scores. The separate 600-question Typed Decisions holdout is a development/model-selection split; it is not the public 2000-question test. Earlier development results used their recorded configurations and must not be mixed into this matched table.

Additional completed tests and limitations

  • CLM released DeepSWE verifier replay: 31/38 (81.58%) reproduced. The 13 mixed-outcome tasks give exact one-sided p=0.062 against random selection. Numerical reproduction succeeded; significance at 5% was not established.
  • MiDM DeepSWE and local Terminal-Bench remain unmeasured: matching raw candidate traces/evaluation artifacts were not found. No official benchmark score is substituted.
  • SQL/Python best-of-N: 4B → 9B Spider 78.34% → 77.27%, SQL holdout 81.66% → 81.77%, Python hard80 28.75% → 25.00%. Stored pools, dev-selected blend weights; no consistent gain.
  • Learned routing: JevBench public 231 accuracy 77.06% MiDM, 79.65% router, 81.82% local Qwen3-4B reasoning alone. Router not promoted; no non-inferiority or latency-saving claim.
  • Concurrency: two short-input 4B processes nearly doubled throughput; 2048-token 4B and 4096-token 9B lost throughput. Small synthetic single-trial pilots, not endurance or minimum-memory certification.
  • Same-date report integration: 4B/9B candidate-order agreement 1/4 versus 3/4, 19/19 schema-valid sections each, one unknown fact ID each. No semantic-quality or financial-outcome superiority established; only aggregate diagnostics are released.

Training: QLoRA NF4, rank16/alpha32, one epoch, seed0, learning rate2e-4, training context1024; td_train, kev_train, breadth_v1, pp6_new. Inference context4096 matches evaluation. The earlier 1024-token release candidate was not published; package verification uses the final loader. Base weights are separate and retain their own license, as do training datasets. No raw questions, answers, financial data, reports or credentials are included.

Model: https://huggingface.co/yunicro/MiDM-9B-q35-e1-bx/tree/v0.2.0

Code and full evidence: https://github.com/YeoHoonYun/midm-decision-models/releases/tag/v0.2.0

Zenodo versioning retains concept DOI https://doi.org/10.5281/zenodo.23084583 . The v0.1.0 version DOI does not archive this new release.

Version DOI: https://doi.org/10.5281/zenodo.23162744

Packaged-model verification

The final package reproduces the original development evaluation exactly: 513/600 (85.50%), identical choices on 600/600 questions and maximum absolute probability difference 0.0. The original protocol uses NF4/BF16, 4096-token context, 4096 padded tokens per batch, attention masks and TTA=1. Adapter weights, pointer head and encoded inputs match the source exactly. This is package reproducibility, not a new independent test.

A separate single-question, unmasked check gave 509/600 (84.83%) and failed its original tolerance gate. It is retained rather than hidden. That verification bypassed the public API batching/mask path. The matched check changes batching and mask together, so their individual effects were not isolated. Do not assume identical predictions across serving configurations.

Identity and Version

Repository
yunicro/MiDM-9B-q35-e1-bx
Publisher
Yeohoon
Task
Text classification
Modality
Text
Library
peft
Parameters
Not stated by the source
Languages
Not stated by the source
Revision
5e7e9254c1d28948dd6dd55f75af5503f0251ca9
First published
2026-10-05
Last updated
2026-10-07

Files and Weights

31 files, 161.6 MB in total. The weights are 2 files totalling 160.5 MB in safetensors.

Weights2 files · 160.5 MB
Configuration11 files · 52.0 KB
Documentation6 files · 40.0 KB
Other11 files · 1.0 MB
Repository1 file · 1.9 KB
Every file
FileTypeSizeSHA-256
adapter_model.safetensorsWeights160.5 MB 7231ef52a482
pointer_head.safetensorsWeights16.5 KB f534d840c1b5
adapter_config.jsonConfiguration1.3 KB —
benchmark_manifest_v0.2.1.jsonConfiguration2.1 KB —
benchmarks/v0.2.1/atlas.jsonConfiguration16.1 KB —
benchmarks/v0.2.1/plot_atlas.pyConfiguration9.4 KB —
benchmarks/v0.2.1/upstream_inventory.jsonConfiguration2.4 KB —
evaluation.jsonConfiguration3.8 KB —
financial_validation/v0.2.2/evaluation.jsonConfiguration4.0 KB —
manifest.jsonConfiguration2.8 KB —
midm.pyConfiguration9.0 KB —
midm_config.jsonConfiguration408 B —
package_validation.jsonConfiguration604 B —
LICENSEDocumentation11.4 KB —
NOTICEDocumentation878 B —
README.mdDocumentation7.0 KB —
VERIFICATION.mdDocumentation9.1 KB —
benchmarks/v0.2.1/README.mdDocumentation10.3 KB —
financial_validation/v0.2.2/README.mdDocumentation1.4 KB —
benchmarks/v0.2.1/architecture.pngOther185.7 KB cc5bfb7fc225
benchmarks/v0.2.1/architecture.svgOther15.4 KB —
benchmarks/v0.2.1/architecture_control.pngOther123.5 KB 18e6afac826b
benchmarks/v0.2.1/architecture_control.svgOther11.7 KB —
benchmarks/v0.2.1/context_size_performance.pngOther208.7 KB 62364f4bdfd3
benchmarks/v0.2.1/context_size_performance.svgOther30.8 KB —
benchmarks/v0.2.1/matched_size_performance.pngOther183.6 KB 6e5b233ccfca
benchmarks/v0.2.1/matched_size_performance.svgOther33.3 KB —
benchmarks/v0.2.1/public_comparison.pngOther211.2 KB 2ce2d9502232
benchmarks/v0.2.1/public_comparison.svgOther30.3 KB —
requirements.txtOther106 B —
.gitattributesRepository1.9 KB —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
160.5 MB
Download from Yeohoon

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

Built From

  • Adapter of Qwen/Qwen3.5-9B-Base
  • Derived from Qwen/Qwen3.5-9B-Base

Memory Requirements

PrecisionWeights in memory
As published160.5 MB

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

Questions About MiDM-9B-q35-e1-bx

Can I use MiDM-9B-q35-e1-bx commercially?

Yes. MiDM-9B-q35-e1-bx 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.

Similar Models

Model · Text classification

twitter-roberta-base-sentiment-latest

Cardiff NLP

This is a RoBERTa-base model trained on ~124M tweets from January 2018 to December 2021, and finetuned for sentiment analysis with the TweetEval benchmark. The original Twitter-based RoBERTa model can be found here and the original reference paper is TweetEval. This model is suitable for English. 0 -> Negative; 1 -> Neutral; 2 -> Positive This sentiment analysis model has been integrated into TweetNLP. You can access the demo here.

Open weights cc-by-4.0 514 tokens transformers

Model · Text classification

finbert-tone

Yi

FinBERT is a BERT model pre-trained on financial communication text. The purpose is to enhance financial NLP research and practice. It is trained on the following three financial communication corpus. The total corpora size is 4.9B tokens. More technical details on FinBERT: Click Link This released finbert-tone model is the FinBERT model fine-tuned on 10,000 manually annotated (positive, negative, neutral) sentences from analyst reports. This model achieves superior performance on financial tone analysis task. If you are simply interested in using FinBERT for financial tone analysis, give it a try. If you use the model in your academic work, please cite the following paper: Huang, Allen H.…

Open weights 512 tokens transformers

Model · Text classification

ms-marco-MiniLM-L-6-v2

Joshua

https://huggingface.co/cross-encoder/ms-marco-MiniLM-L-6-v2 with ONNX weights to be compatible with Transformers.js. If you haven't already, you can install the Transformers.js JavaScript library from NPM using: Note: Having a separate repo for ONNX weights is intended to be a temporary solution until WebML gains more traction. If you would like to make your models web-ready, we recommend converting to ONNX using Optimum and structuring your repo like this one (with ONNX weights located in a subfolder named onnx).

Open weights 512 tokens transformers.js

Model · Text classification

twitter-xlm-roberta-base-sentiment

Cardiff NLP

This is a multilingual XLM-roBERTa-base model trained on ~198M tweets and finetuned for sentiment analysis. The sentiment fine-tuning was done on 8 languages (Ar, En, Fr, De, Hi, It, Sp, Pt) but it can be used for more languages (see paper for details). This model has been integrated into the TweetNLP library.

Open weights 514 tokens transformers

Model · Text classification

unbiased-toxic-roberta

Unitary

The huggingface models currently give different results to the detoxify library (see issue here). For the most up to date models we recommend using the models from https://github.com/unitaryai/detoxify Trained models & code to predict toxic comments on 3 Jigsaw challenges: Toxic comment classification, Unintended Bias in Toxic comments, Multilingual toxic comment classification. Built by Laura Hanu at Unitary, where we are working to stop harmful content online by interpreting visual content in context. Score not directly comparable since it is obtained on the validation set provided and not on the test set. To update when the test labels are made available. It is also noteworthy to mention…

Open weights apache-2.0 514 tokens transformers

Model · Text classification

emotion-english-distilroberta-base

Hartmann

With this model, you can classify emotions in English text data. The model was trained on 6 diverse datasets (see Appendix below) and predicts Ekman's 6 basic emotions, plus a neutral class: 1) anger 2) disgust 3) fear 4) joy 5) neutral 6) sadness 7) surprise The model is a fine-tuned checkpoint of DistilRoBERTa-base. For a 'non-distilled' emotion model, please refer to the model card of the RoBERTa-large version. a) Run emotion model with 3 lines of code on single text example using Hugging Face's pipeline command on Google Colab: b) Run emotion model on multiple examples and full datasets (e.g.,.csv files) on Google Colab: Please reach out to [email protected] if you have any…

Open weights 514 tokens transformers