Skip to content

coba

16 TagsUpdated Apache-2.0by Ollaya

Ollaya's own decision model: Laya's network on Ettin encoders, distilled from pplx-decider:flash. English. Full-precision 1b and 400m, and ternary sizes small enough for a browser.

zero-shotbrowserfine-tuned1.1b75m164m421m
ollaya run coba --preset triage "I was charged twice for my subscription this month and want a refund."
NameAccuracyLatency
Most accurateHighest typed-decisions accuracy of the family.
coba:1bThe most accurate size (Ettin 1B): 0.608 on typed decisions, zero-shot.0.60821 ms
FasterFastest first; accuracy as measured on the bench.
coba:68m-ternaryThe smallest: ternary Ettin 68M, in-domain.0.48215 ms
coba:150m-ternaryTernary Ettin 150M, in-domain; the model the /try page runs in the browser (66 MB).0.53517 ms
coba:400m-ternaryThe 400m with ternary weights, in-domain: trained on the train splits of ten public benchmark tasks.0.55920 ms
coba:400mEttin 400M: 0.591 on typed decisions, zero-shot; 24 ms for five questions on an RTX 5090.0.59124 ms
cobalatestSame as coba:400m.0.59124 ms

Accuracy: typed-decisions, argmax against the majority label on 400 states (left out for a tag trained on that data). Latency: the median five-question request on an RTX 5090, Ollaya Bench. Each model carries fp16 and fp32 graphs over one weights file, and loads fp16 on a CUDA GPU and fp32 on CPU.

Readme

Coba is Ollaya's own family of English decision models: Laya's decision network on the Ettin encoders, from 75M to 1.1B parameters, distilled from pplx-decider:flash on about 350,000 permissively licensed questions. It reads a state (a message, a ticket, a JSON object, an agent's next tool call) and typed questions, and returns calibrated probabilities for every question in one forward pass. It never generates text. The ternary tags also run in a web page, on the visitor's device: try one.

Models

TagWeightsParamsTrainedBest for
coba:1bfp321.1Bzero-shotThe most accurate size, on a GPU
coba:latest, coba:400mfp32421Mzero-shotClose to the 1b at 40% of its size; fine on a CPU
coba:400m-ternaryternary421Min-domainThe most accurate browser model (147 MB)
coba:150m-ternaryternary164Min-domainThe browser default (try it): 66 MB
coba:68m-ternaryternary75Min-domainThe smallest: 35 MB in a browser

All tags read 512 tokens and English only. Each carries an fp16 and an fp32 graph over its own weights file: fp16 on a CUDA GPU, fp32 on the CPU and, through MLX, on the Apple GPU; the -fp16 and -fp32 tags pin one. A ternary tag's weights are −1, 0 or +1 times a scale per output row (as BitNet b1.58), stored as float32 for Ollaya; the 2-bit graph the browser runs is in the same Hugging Face repository.

Zero-shot tags trained without any of the public benchmark's datasets. In-domain tags also trained on the train splits of ten of its eleven datasets (never their test records), so their public-benchmark score is not a held-out measurement, and Ollaya Bench's edition score leaves those tasks out.

Usage

ollaya run coba --ask "Is the customer asking for a refund?" "I was charged twice for order A-104. Refund the duplicate today."

Or call the local API with "model": "coba" (see the API). In a web page:

import { fromHub, load } from '@ollaya/web'

const model = await load(fromHub('ollaya-dev/coba-150m-ternary'))
const { answers } = await model.decide({ state, questions })

Accuracy and speed

Measured by Ollaya on an RTX 5090: typed-decisions is the 400-row test split of LocalLLaMA/typed-decisions, which no tag trained on; the public benchmark is Bespoke Labs' 3,880 human-labeled questions (macro accuracy); speed is five questions through the HTTP API.

Tagtyped-decisionsPublic benchmarkGPUCPU
coba:1b0.6080.561 zero-shot21 ms1530 ms
coba:400m0.5910.561 zero-shot24 ms919 ms
coba:400m-ternary0.5590.654 in-domain20 ms887 ms
coba:150m-ternary0.5350.622 in-domain17 ms496 ms
coba:68m-ternary0.4820.603 in-domain15 ms323 ms

score questions are the weakest kind for every encoder of this size; read their probabilities, not only the expected level.

How it works

  • Network. The same network as laya (0.3.7): the question, a [MASK] before every option and the state go into one sequence, and a two-layer head scores each option at its [MASK], with one temperature per question type.
  • Training. Each question's gold answer where the data has one, mixed with the full probability distribution of pplx-decider:flash (Apache-2.0), computed through Ollaya. Every data source and its license is listed in each repository's DATA_SOURCES.tsv; datasets with a non-commercial or unknown license were dropped.
  • Ternary. Quantization-aware training from the fp model of the same size, distilled from it (logits, attention relations and every layer's hidden states).
  • Parity. Ollaya's runtime matches laya's own loader on each checkpoint in fp32 on 2383 questions, on the CPU, on CUDA and on the Apple GPU: identical token ids and markers, the same decision on every question, probabilities within 2e-5. The fp16 graphs agree on 99.6 % to 99.8 % of decisions; the others are near-ties.

Limits

  • English only. Other languages are not refused, but not measured.
  • State. 512 tokens including the question: messages, tickets and small JSON states, not long documents. /v1/systemone answers a longer state with STATE_TRUNCATED; /api/decide answers from its first tokens.
  • Calibration. Probabilities are calibrated on average, not per domain. Check them on your own data before acting on them automatically.

Weights and license

Apache-2.0, by Ollaya. The base encoders, Ettin by JHU CLSP, are MIT. Ollaya downloads the weights from ollaya-dev (coba-1b, coba-400m, coba-400m-ternary, coba-150m-ternary, coba-68m-ternary), each pinned to a commit and checked against sha256.

Badge

Run on Ollaya

For the model card or a README. Day-0 support for a new model

[![Run on Ollaya](https://ollaya.dev/badge/run-on-ollaya.svg)](https://ollaya.dev/library/coba)