Technical paper · Zenodo preprint · 2026

Elysium X 150 FR: A Small LoRA Adapter for Sparse, Per-Speaker Emotion and Appraisal Labeling over a 150-Coordinate Schema

Pratham Prateek Mohanty · Masters' Union · OpenNHE Technologies

0.7251micro-F1 against a reviewed synthetic teacher, 78 rows
49 / 78exact label-set match (62.82%)
78 / 78strictly valid JSON
73.9 MBLoRA adapter on Qwen2.5-1.5B-Instruct

Abstract

We describe Elysium X 150 FR, a LoRA adapter (about 37M trainable parameters, 73.9 MB) on Qwen2.5-1.5B-Instruct that reads a dialogue up to a target turn and returns a sparse JSON list of emotion and appraisal labels for one named speaker, drawn from a 150-coordinate schema (10 families of 15). The adapter was trained on a free Kaggle Tesla T4 in under an hour on 1,012 filtered rows drawn from 1,000 AI-written English dialogues (4,000 target-turn rows) whose labels were generated through the author's ChatGPT workflow and personally reviewed by him. On a frozen internal 78-row synthetic test set the adapter reaches micro-F1 0.7251, exact label-set match 49/78 (62.82%) and 78/78 valid JSON; a Q8_0 GGUF export measured on CPU scores 0.6506 and 47/78. These numbers measure agreement with a reviewed synthetic teacher, not general emotion recognition. There is no external benchmark, only 117 of 150 coordinates have training examples, and the model is English only. We release weights, data and code, and state the limits plainly. We make no state-of-the-art claim.

Key results

Frozen internal test set: 78 synthetic English rows. Scores are agreement with the reviewed teacher labels, not accuracy on real people.

MetricUntouched baseStep-125 adapterFinal adapterFinal, Q8_0 GGUF (CPU)
Micro-F10.00000.65900.72510.6506
Exact label-set match0/7847/7849/78 (62.82%)47/78
Strictly valid JSON0/7878/7878/78n/a

Final adapter label counts: TP 62, FP 19, FN 28, macro-F1 0.7083.

Method in brief

Base and adapter

Qwen2.5-1.5B-Instruct with a rank-16 LoRA adapter trained with QLoRA. Learning rate 1e-4, gradient accumulation 8, seed 150.

Training run

Two stages of 125 and 127 optimizer steps (the second a continuation, not a perfect resume), 48 min 44 s on a free Kaggle Tesla T4.

Data

1,000 AI-written English dialogues, 4,000 target-turn rows. After 160 quarantined and 1,149 duplicates removed: 1,012 train, 35 dev, 78 test.

Coverage and provenance

117 of 150 coordinates appear in training, 44 in the test set. Labels were generated through the author's ChatGPT workflow and personally reviewed by him (owner-reported review, not an independent annotation study).

The model reads the conversation up to a target turn and answers only for that speaker, as sparse JSON: {"dimensions":[{"id":1,"strength":0.5}]}. An omitted ID means unknown, not a checked negative. Strength is expressed intensity, not confidence.

Live demo, running in your browser

This runs the released Q8_0 GGUF of Elysium X 150 FR locally in your browser through WebAssembly llama.cpp, with the exact training system prompt. Nothing you type is sent to a server. The first run downloads about 1.65 GB from the GGUF repo and keeps it in your browser cache. It is slow without a WebGPU-capable browser. Use fictional or generic text only.

Model not loaded yet.

The 150 coordinates

Ten families of fifteen, in release order. Full operational definitions are on the model card.

Limits

Cite

Mohanty, P. P. (2026). Elysium X 150 FR: A Small LoRA Adapter for Sparse, Per-Speaker Emotion and Appraisal
Labeling over a 150-Coordinate Schema. Zenodo. https://doi.org/10.5281/zenodo.23155240