monica / README.md
datumsteve's picture
card: public weights note + setup with hf download
04bf2e0 verified
|
Raw History Blame Contribute Delete
2.51 kB
---
license: apache-2.0
base_model: google/gemma-4-E2B-it
tags:
- audio
- emotion
- sentiment
- mps
- apple-silicon
pipeline_tag: audio-classification
---
# monica — System One audio-sentiment heads
Trained decision heads for **monica**, a local non-generative audio-sentiment
service. Frozen [Gemma 4 E2B](https://huggingface.co/google/gemma-4-E2B-it)
audio tower + these compact heads produce calibrated probabilities for typed
questions (noul / choice / score) over one shared audio encoding. No
transcription, no generated tokens.
Code/server live in a GitHub repository (private for now; code released alongside this card later). The base model is separate: `hf download google/gemma-4-E2B-it --local-dir data/models/gemma-4-E2B-it` (~10 GB, Apache-2.0). This repo provides only the trained heads and artifacts:
## Contents
| file | what |
|---|---|
| `models/head-cremad.pt` | question encoder + window-attention decision heads (80 MB), trained on CREMA-D, speaker-independent splits |
| `models/calibration.json` | per-question-type temperature scaling |
| `data/selected_layers.json` | audio-tower layer selection `(3, 4, 9, 10)` |
| `bench/eval_results.json` | full evaluation (acc, AUC, ECE, Brier, RPS, robustness, latency) |
| `bench/bench_results.json` | latency / cold-start / memory benchmark |
| `bench/options_comparison.json` | compact question encoder vs Gemma text trunk |
| `EVALUATION.md`, `LICENSES.md` | evaluation protocol and data/model licenses |
## Key numbers (CREMA-D, speaker-independent)
- noul seen words: acc 0.873, AUC 0.850, ECE 0.069; unseen words 0.839 / 0.803 / 0.037
- 6-way emotion choice: acc 0.591 (chance 0.167), macro-F1 0.584, ECE 0.101
- score level-MAE 0.50–0.62 (trained scales)
- latency (M3 Ultra, warm): ~150–200 ms per request incl. encode; RTF 0.006 at 30 s audio
- warm encode: 30 s audio in ~120 ms, once per request regardless of question count (0–64)
## Usage
See the GitHub repo README for the `/v1/systemone` request format. Quick start:
```bash
git clone https://github.com/nunez/monica && cd monica
uv pip install -e ".[dev]" # or pip install -r requirements.txt
# point MONICA_BASE_MODEL at a local Gemma 4 E2B checkout
MONICA_BASE_MODEL=/path/to/gemma-4-E2B-it \
python -m uvicorn monica.server:app --host 0.0.0.0 --port 8910
```
## License
Code Apache-2.0. Base model Google Gemma Terms of Use (Apache-2.0). CREMA-D:
ODbL/attribution. RAVDESS: research-only (CC BY-NC-SA 4.0) — benchmark only,
never trained on.