Smaug-Decisions: Calibrated On-Device Decisions over Audio, Images and Text

State-of-the-art audio decisions at 4B, with images and text, offline on a phone.

Abstract

We describe Smaug-Decisions, a 4B-parameter model that answers a typed question about a sound, an image or a piece of text with a calibrated probability for every option, and Smaug-Audio-Decisions-0.7B, a 744M audio model built to sit in front of it. Both read the decision from one forward pass instead of generating text. Smaug-Decisions scores 60.1 audio skill on Earshot, our 6,671-item audio decision benchmark, against 59.4 for Gemini 4 Argon and 50.5 for Gemini 3.8 Flash, with lower calibration error (0.069 against 0.123 and 0.204). As a cascade that escalates to Smaug-Decisions only when the audio model's confidence is below 0.9, the pair keeps Smaug-Decisions' 60.1 at 130 ms per decision instead of 210 ms on a server GPU. A compressed 3.45 GB build, Smaug-Decisions-LiteRT, runs on the phone GPU and keeps 59.4 audio skill. On an iPhone 14 Pro Max both models run offline in one app: the audio model answers in 0.27–0.37 s, Smaug-Decisions in about 1.6 s for audio, with 1.35 GB peak memory.

1Introduction

Many uses of a language model are decisions rather than conversations: has the speaker finished their turn, which instrument is playing, should this request be escalated, what does this warning sign say. Each is a question with a fixed set of options, and what an application needs back is not a sentence but a probability per option that it can compare against a threshold. We call these typed decisions.

Two properties matter for such a model. It should be calibrated, so that a probability of 0.8 is right about 80% of the time and a threshold means what it says. And it should be cheap enough to run on every event, ideally on the device where the audio or image is captured, without a network round trip.

This report covers three released models and the apps that run them:

All models are released under Apache 2.0, the license of their base models.

2Models

2.1Reading a decision instead of generating it

A decision is rendered as a prompt containing the input, the question and the options labelled A, B, C and so on (up to 20). Smaug-Decisions reads the language-model logits of the option letters at the answer position, applies a tanh soft cap of 30, and takes a softmax for one-answer questions or a per-option sigmoid with one learned threshold for select-all questions. Smaug-Audio-Decisions-0.7B places a marker token before each option and scores the hidden state at each marker with a linear head. Either way a decision costs one prefill and no decoding.

2.2The three models

Smaug-Decisions is a full fine-tune of Gemma 4 E4B-it on a broad mix of typed decision tasks over audio, images and text, with calibration as an explicit objective and options shuffled so that the model learns the options, not their positions. It accepts up to 30 s of 16 kHz audio, one image at 560 image tokens, or text. Smaug-Audio-Decisions-0.7B is fine-tuned from EmbeddingGemma 2 with a linear marker head for the same audio inputs, and ships as int8 Core ML for iPhone. Smaug-Decisions-LiteRT is Smaug-Decisions for Google's on-device runtime LiteRT-LM: an int4 decoder, int2 embedding tables, an int8 audio encoder and an output head that holds only the 20 option letters, with a 2,048-token context. Table 1 summarises them.

ModelBaseSizeInputsEarshotECEDIX textDIX vision
Smaug-Audio-Decisions-0.7BEmbeddingGemma 2744Maudio53.00.0866.9–
Smaug-DecisionsGemma 4 E4B-it4Baaudio, image, text60.10.06956.657.9
Smaug-Decisions-LiteRTSmaug-Decisions3.45 GBaudio, image, text59.40.07453.955.1b

Table 1: The released models. Earshot: audio skill (higher is better) and expected calibration error of the top probability (ECE, lower is better). DIX: skill on the public Jev Decision Index, our runs of the official kit (Appendix A). a4B effective parameters, 8.6B stored; 3.5B of the stored weights are embedding tables that are looked up, not computed. Smaug-Audio-Decisions-0.7B is built for audio; its text score is close to chance. b10 of the 11 public vision sets (Winoground left out); Smaug-Decisions scores 57.2 on the same 10. Smaug-Decisions-LiteRT scores come from a PyTorch replica of the file's quantized weights, on the same items with the same harness. –: not measured.

3The cascade

Smaug-Audio-Decisions-0.7B is fast but less accurate than Smaug-Decisions; Smaug-Decisions is accurate but about twenty times slower per decision on a server GPU. Because both are calibrated, the audio model's own probability tells us when its answer can be trusted. Every audio question goes to the audio model first. Let c be its confidence: the top probability for a one-answer question, and the probability of the least certain option for a select-all question. If c ≥ τ, the audio model's answer stands; otherwise the question is escalated to Smaug-Decisions. Text and image questions go straight to Smaug-Decisions (Figure 1). The default threshold is τ = 0.9.

Audio question Text or image Smaug-Audio-Decisions-0.7B744M, audio Smaug-Decisions4B, audio / image / text Answer p(·) Answer p(·) c ≥ τ c < τ (escalate) Audio question Text or image Smaug-Audio-Decisions-0.7B744M, audio Smaug-Decisions4B, all inputs Answer p(·) Answer p(·) c ≥ τ c < τ
Figure 1: Routing. Audio questions are answered by Smaug-Audio-Decisions-0.7B when its confidence c reaches the threshold τ and escalated to Smaug-Decisions otherwise; text and image questions are routed to Smaug-Decisions directly. Every answer is a probability per option.

Routing text past the audio model costs nothing in practice: at τ = 0.9 the audio model escalates 98% of text questions on its own, so a cascade answers text at Smaug-Decisions' level either way.

4Results

4.1Audio decisions

Earshot has 6,671 items and 17.2 hours of audio in four tracks: conversation dynamics (turn completion, next speaker, speaker count and speech activity), external turn completion, sound and music (genre, instrument, tempo, scene and sound events), and a small pilot track. Every model was scored on the same items with the same harness; the APIs received the audio and returned probabilities as JSON. Smaug-Decisions has the highest audio skill and the lowest calibration error of the models we tested (Figure 2, Table 2). Smaug-Audio-Decisions-0.7B, at about a fifth of the size, is ahead of Gemini 3.8 Flash on skill and much better calibrated.

Smaug-Decisions Smaug-Decisions: 60.1 60.1 Gemini 4 Argon Gemini 4 Argon: 59.4 59.4 Smaug-Decisions-LiteRT Smaug-Decisions-LiteRT: 59.4 59.4 Smaug-Audio-Decisions-0.7B Smaug-Audio-Decisions-0.7B: 53.0 53.0 Gemini 3.8 Flash Gemini 3.8 Flash: 50.5 50.5 0 20 40 60
(a) Audio skill ↑
Smaug-Decisions Smaug-Decisions: 0.069 0.069 Gemini 4 Argon Gemini 4 Argon: 0.123 0.123 Smaug-Decisions-LiteRT Smaug-Decisions-LiteRT: 0.074 0.074 Smaug-Audio-Decisions-0.7B Smaug-Audio-Decisions-0.7B: 0.086 0.086 Gemini 3.8 Flash Gemini 3.8 Flash: 0.204 0.204 0 0.1 0.2
(b) Calibration error (ECE) ↓
Figure 2: Earshot results. (a) Audio skill, 0 is guessing and 100 is perfect. (b) Expected calibration error of the top probability. Our models in black, API models in gray. Smaug-Decisions-LiteRT is the 3.45 GB phone build; its ECE was not measured.
ModelSkillECEConv. dynamicsExt. turnSound & musicPilot
Smaug-Decisions (4B)60.10.06948.280.866.145.2
Gemini 4 Argon159.40.12349.676.564.747.0
Smaug-Audio-Decisions-0.7B (744M)53.00.08642.465.858.045.8
Gemini 3.8 Flash150.50.20448.581.842.429.1
AudioJev (Qwen2.5-Omni-3B)43.60.19126.762.057.628.2
Gemma 4 E4B-it, zero-shot5.00.4643.611.25.20.1
Cascade, τ = 0.960.10.07148.280.866.145.2

Table 2: Earshot audio skill per track (items: 3,000 / 1,000 / 1,115 / 80). The headline skill averages the four tracks. Bold: best in the column. The zero-shot row is the base model of Smaug-Decisions with the same prompt.

4.2Cascade operating points

Figure 3 sweeps the threshold. At τ = 0.9 the cascade escalates 60% of audio questions, matches Smaug-Decisions alone on skill (60.1) and calibration (0.071 against 0.069), and needs 130 ms per decision on average instead of 210 ms, 38% less. Raising the threshold to 0.95 buys 0.1 points for another 23 ms; lowering it to 0.8 saves 29 ms and costs 0.9 points.

53 55 57 59 61 0 50 100 150 200 Mean latency per decision (ms, H100) Earshot audio skill −80 ms Smaug-Audio-Decisions-0.7B alone: skill 53.0, 9.7 ms, 0% escalated Cascade, tau 0.80: skill 59.2, 101 ms, 46% escalated Cascade, tau 0.85: skill 59.4, 114 ms, 52% escalated Cascade, tau 0.90: skill 60.1, 130 ms, 60% escalated Cascade, tau 0.95: skill 60.2, 153 ms, 72% escalated Smaug-Decisions alone: skill 60.1, 210 ms, 100% escalated Smaug-Audio-Decisions-0.7B alone (53.0, 9.7 ms) Smaug-Decisions alone (60.1, 210 ms) τ = 0.90 (60.1, 130 ms) 0.80 0.85 0.95 53 55 57 59 61 0 100 200 Mean latency per decision (ms, H100) Earshot audio skill −80 ms Smaug-Audio-Decisions-0.7B alone: skill 53.0, 9.7 ms, 0% escalated Cascade, tau 0.80: skill 59.2, 101 ms, 46% escalated Cascade, tau 0.85: skill 59.4, 114 ms, 52% escalated Cascade, tau 0.90: skill 60.1, 130 ms, 60% escalated Cascade, tau 0.95: skill 60.2, 153 ms, 72% escalated Smaug-Decisions alone: skill 60.1, 210 ms, 100% escalated The audio model alone (53.0) Smaug-Decisions alone τ = 0.90: 60.1, 130 ms
Figure 3: Earshot audio skill against mean latency per decision for the cascade at τ ∈ {0.80, 0.85, 0.90, 0.95}, with Smaug-Audio-Decisions-0.7B alone (square) and Smaug-Decisions alone (triangle) as end points. Latency is measured on an H100 in bfloat16 and includes escalations. Escalation rates: 46%, 52%, 60% and 72%.

4.3Text and images

On the public Jev Decision Index, Smaug-Decisions scores 56.6 on text and 57.9 on images, the best results for a Gemma 4 E4B model on both. The phone build, at about a fifth of the size, loses 0.7 points of Earshot skill, 0.005 of calibration error, 2.7 points of Decision Index text and 2.1 points on images (Table 1).

5On-device

5.1Runtime

The iOS app runs Smaug-Audio-Decisions-0.7B on Core ML and Smaug-Decisions-LiteRT on LiteRT-LM with the GPU backend (Metal). The Android app is one Kotlin app with the audio model on ONNX Runtime and the same Smaug-Decisions-LiteRT file on LiteRT-LM, sharing the core logic of the iOS app. Smaug-Decisions is downloaded inside the app; its first load writes a cache of about 2.4 GB that makes later loads fast, and the vision encoder is attached only when an image arrives.

5.2Measurements

Table 3 lists measurements on an iPhone 14 Pro Max with 6 GB of memory, offline, with both models resident. Figure 4 shows the app.

MeasurementiPhone 14 Pro Max
Smaug-Audio-Decisions-0.7B, audio decision0.27–0.37 s
Smaug-Decisions, text decision0.6–0.9 s
Smaug-Decisions, audio decision~1.6 s
Smaug-Decisions, image decision (280 image tokens)5.6–7.4 s
Smaug-Decisions load, first (writes the cache) / later13–21 s / 0.48 s
Peak app memory, both models1.35 GB
App download with Smaug-Audio-Decisions-0.7B (iOS / Android)602 MB / ~582 MB
Smaug-Decisions-LiteRT file / cache3.45 GB / ~2.4 GB

Table 3: On-device measurements, phone GPU, warm. Ranges span separate runs. An escalated audio decision costs the audio model pass plus the Smaug-Decisions pass (for example 0.35 s + 1.58 s).

The Ask screen of the app: audio, text, photo or a built-in example, with both models ready.
(a)Ask screen with both models ready.
A text question answered by Smaug-Decisions: Yes 0.939 in 0.67 seconds.
(b)Text, routed to Smaug-Decisions: Yes, 0.939, 0.67 s.
An image question answered by Smaug-Decisions: wet floor 0.999 in 7.13 seconds.
(c)Image, routed to Smaug-Decisions: wet floor, 0.999, 7.13 s.
The Models sheet: what to install, the escalation threshold, and this device's memory.
(d)Models sheet: what to install and τ.
Figure 4: The Cascade app on an iPhone 14 Pro Max, offline. Each result shows which model answered, the probability per option and the time; audio results also show the audio model's confidence against τ.

5.3Device classes

The app chooses a mode from the phone's memory (Table 4). A phone that cannot run Smaug-Decisions never downloads it and still answers audio questions with the audio model.

MemoryiPhoneAndroid
12 GB and upBoth models, images at 560 tokens
15 Pro and later, 16, 17
Both models, image encoder kept loaded (42.0%)
8 GBBoth models, image encoder on demand (40.0%)
6 GBBoth models, images at 280 tokens
12 Pro, 13 Pro, 14, 14 Pro, 15
Both models when memory is free (9.5%)
4 GBSmaug-Audio-Decisions-0.7B only
12, 13 and older
Smaug-Audio-Decisions-0.7B only (7.6%)

Table 4: Mode by device memory. Android shares of devices in parentheses.2 Only the iPhone 14 Pro Max (6 GB) has been measured.

6Limitations

7Resources

AEvaluation details

Skill. For each task, skill = (accuracy − chance) / (1 − chance) × 100, so 0 is guessing and 100 is perfect. Earshot's headline audio skill is the mean task skill within each track, averaged over the four tracks. No Earshot recording or item is in the training data.

Calibration. ECE is the expected calibration error of the top probability.

Decision Index. Smaug-Decisions' text and vision scores are our runs of the official Jev Decision Index kit: text on a 3,000-row sample of the public suite, compared on the same 35 benchmarks as the public board; vision at 560 image tokens. They are self-reported, not board submissions.

Latency. Server latency is the mean time per decision on one H100 in bfloat16, including escalations. Phone latency is wall-clock time in the app after the models are loaded.

Citation

@misc{abacusai2026smaugdecisions,
  title  = {Smaug-Decisions: calibrated typed decisions over audio, images and text},
  author = {Abacus.AI},
  year   = {2026},
  url    = {https://huggingface.co/abacusai/Smaug-Decisions}
}