Instructions to use launchables/myles-g-31b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use launchables/myles-g-31b with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("google/gemma-4-31B-it") model = PeftModel.from_pretrained(base_model, "launchables/myles-g-31b") - Notebooks
- Google Colab
- Kaggle
Request access to Myles-G 31B
Myles-G 31B is available to approved testers for internal evaluation under the Myles Evaluation Licence. Tell us who you are and what you want to evaluate; every request is reviewed and approved by hand.
Log in or Sign Up to review the conditions and access this model content.
Myles-G 31B
Myles-G 31B is the most accurate Myles: give it a situation and typed questions (yes or no, one choice of several, a level on a scale) and it reads every option in one forward pass and returns a calibrated probability for each, with no generated text. It runs on your own data-centre GPUs, so no data leaves your premises. Built by Launchables in the UK.
Status: preview evaluation build for approved testers; not for production; provenance review in progress. This is our current best Myles-G 31B build (14 October 2026), chosen by a selection rule fixed before its results were read. Work on its calibration continues, so it may be superseded by a later build; the figures below are our own measurements.
At a glance
| JevBench public decision set | 211 of 231 (91.3%), hard tier 91 of 111 |
| Output | A probability for every option; a decision and a confidence you can set a threshold on |
| Time per decision | about 94 ms median on two NVIDIA L40 GPUs (bf16, vLLM) |
| Runs | Entirely on your own hardware; no data leaves your premises |
| Weights | a Launchables adapter (rank 16, 490 MB), merged into its base model by the runtime at first start (see Lineage and licence) |
| Build | 14 October 2026 (preview) |
| Access | Gated; requests are approved manually |
Our own measurement on the 231 public JevBench items, 14 October 2026, using the benchmark's published scoring code, bf16 on two NVIDIA L40 GPUs, with the readout settings in runtime.json: easy 48 of 48, original 72 of 72, hard 91 of 111. Not an official placement. JevBench's official ranking also weighs sealed items, calibration, speed and cost.
Access
This repository is gated. Request access above; every request is reviewed and approved by hand. Approved access covers downloading and running Myles-G 31B on hardware you control for internal evaluation (see LICENSE). Production or commercial use needs a separate agreement: email info[at]launchables[dot]ai.
What is in this repository
| File | What it is |
|---|---|
adapter_model.safetensors, adapter_config.json |
the Myles-G 31B adapter (LoRA, rank 16) for google/gemma-4-31B-it at the commit pinned in runtime.json |
runtime.json |
the readout settings: base model and adapter at exact commits, layout compact, one temperature per question type (yes/no 0.8487, choice 0.9044, score 0.4369), 32,768-token context, states over 20,000 characters cut to their beginning |
runtime/ |
the Myles decision runtime (Python): downloads the base, merges the adapter, starts vLLM and serves the decision API on top |
LICENSE, THIRD_PARTY_NOTICES.md, LICENSE-GEMMA-APACHE-2.0.txt |
the Myles Evaluation Licence and the third-party terms |
Hardware
- GPU, as measured: two 48 GB GPUs (for example two NVIDIA L40 or L40S) with
--tensor-parallel-size 2, bf16; or one 80 GB GPU (for example an NVIDIA H100) in bf16. - One 48 GB GPU: add
--quantization fp8. The temperatures were fitted in bf16, so fp8 is a slightly different model. - First start: the runtime merges the adapter into the base on the CPU, which needs about 70 GB of free RAM and about 130 GB of disk (the 62 GB base plus the 62 GB merged model). Later starts reuse the merged model.
- Linux with a recent NVIDIA driver (CUDA 13), Python 3.12.
Run it
You need a Hugging Face access token from the account that was granted access. The Gemma 4 31B base is downloaded from Google's repository on Hugging Face.
export HF_TOKEN=hf_... # read token of the approved account
pip install -U huggingface_hub # provides the `hf` command
hf download launchables/myles-g-31b --include "runtime/*" runtime.json --local-dir myles-g-31b
cd myles-g-31b
uv venv -p 3.12 .venv # or python3.12 -m venv .venv
uv pip install -p .venv/bin/python "./runtime[serve]"
export MYLES_RUNTIME_API_KEY=choose-a-secret # requests must carry it as a bearer token
export VLLM_USE_FLASHINFER_SAMPLER=0 # not needed when the CUDA toolkit (nvcc) is installed
.venv/bin/myles-runtime --config runtime.json --host 127.0.0.1 --port 8010 --tensor-parallel-size 2
# one 80 GB card: drop --tensor-parallel-size 2; one 48 GB card: use --quantization fp8 instead
On first start myles-runtime downloads the base and the adapter pinned in runtime.json into ./models, merges them (this takes a while on the CPU), starts vLLM on a local port and serves the decision API on port 8010. It is ready when curl http://127.0.0.1:8010/health answers.
curl -s http://127.0.0.1:8010/v1/systemone -H "Authorization: Bearer $MYLES_RUNTIME_API_KEY" -H "Content-Type: application/json" -d '{
"state": "The customer says they were charged twice for order 4471 and wants the extra payment back.",
"questions": {
"intent": {"type": "choice", "instructions": "What does the customer want?", "criteria": {"refund": "Money back", "track_order": "Where is my order"}},
"duplicate": {"type": "noul", "instructions": "Is the customer reporting a duplicate charge?"},
"urgency": {"type": "score", "instructions": "How urgent is this?", "criteria": ["Not urgent", "Soon", "Today"]}
}}'
Each question comes back with a probability for every option: noul returns the probability of yes, choice the chosen label and every option's probability, score the expected level, the most likely level and every level's probability. usage reports input tokens; nothing is generated. Up to 16 questions per request; POST /v1/decide is the same handler.
How it decides
Each question becomes one prompt: the situation, the question and the options as a lettered list. The answer is read in one pass at the first generated position, restricted to the option letters, renormalised over the options shown, and divided by a temperature for the question's type, fitted on Launchables' own held-out rows (never on benchmark items). One forward pass per question; no generated text.
Training data
Launchables adapted Gemma 4 31B with low-rank training on decisions drawn from public, human-labelled datasets and code-generated decisions with computed answers, each with its licence recorded (see THIRD_PARTY_NOTICES.md). The training targets blend each row's own label with the untrained Gemma 4 31B's tempered probabilities for it, so the model learns calibrated confidence from its own base (30% label, 70% base model). No model other than Gemma 4 labelled training rows. JevBench items are never used for training or for fitting the readout, and the training data is checked for overlap with them (no overlap with the 231 public items).
Provenance, stated plainly. This build's training data includes the following, which are under review before any wider or commercial release:
- About 68,000 of its 160,000 rows are code-generated from phrasing templates written with the help of a hosted AI assistant (Launchables' curriculum and skills data, including an answer-judging set). The labels are computed by code or come from the base model; the templates are being replaced with human-written ones. 600 rows of the same curriculum are also among the held-out rows the readout temperatures were fitted on.
- Rows from a public decision-model dataset released under CC0 1.0 whose generator lineage we have not yet confirmed.
- FaithDial, whose evidence text is Wikipedia under CC BY-SA (share-alike).
- QASC, GoEmotions and Measuring Hate Speech, where a model helped select the examples or the answer options (the labels are human).
Limitations
- Benchmark scores are on public items; results on sealed items and on your own decisions may be lower. Measure on your own held-out cases before relying on it.
- Confidence is calibrated on held-out data, not guaranteed; set thresholds per decision and keep a person in the loop for the rest.
- English only in this build.
- At most 26 options per question (one letter each).
- This is a preview: a later build may replace it, and its settings may change.
Lineage and licence
Myles-G 31B is a Launchables adapter for Google's Gemma 4 31B (google/gemma-4-31B-it, Apache License 2.0). The Myles Evaluation Licence (see LICENSE) covers the release: internal evaluation by approved testers. Gemma 4 remains under the Apache License 2.0 (see THIRD_PARTY_NOTICES.md and LICENSE-GEMMA-APACHE-2.0.txt). Gemma is a trademark of Google LLC.
More
Benchmarks: launchables.ai/benchmarks. Contact: launchables.ai/contact.
- Downloads last month
- 8