Bring 32B card to the 14B shipped register; real weight checksums
Browse files- BENCHMARKS.md +37 -0
- MODEL_CARD.md +38 -18
- Modelfile +1 -0
- README.md +78 -23
- SPECS.md +72 -0
- checksums.sha256 +2 -10
- safety.md +42 -24
- usage.md +65 -23
BENCHMARKS.md
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Benchmarks
|
| 2 |
+
|
| 3 |
+
The honest state of this model's measurement, kept current.
|
| 4 |
+
|
| 5 |
+
## What exists today
|
| 6 |
+
|
| 7 |
+
One behavioral receipt: a **deterministic generation smoke**. Served through
|
| 8 |
+
Ollama, the model was asked to generate at temperature 0 with a fixed seed
|
| 9 |
+
(seed 7, 64 tokens), twice, and the two outputs were byte-compared. Verdict:
|
| 10 |
+
**MATCH** (generation hash prefix `403b2e8b21df9f55`). That establishes the
|
| 11 |
+
served model is deterministic and reproducible, nothing more.
|
| 12 |
+
|
| 13 |
+
## What does not exist yet
|
| 14 |
+
|
| 15 |
+
No task benchmark has been run against this model. There is no HumanEval score,
|
| 16 |
+
no hard-set score, no leaderboard number. **We claim no capability uplift over
|
| 17 |
+
the base `Qwen2.5-Coder-32B-Instruct`.** Any such comparison must come from
|
| 18 |
+
executed benchmark artifacts, and none exist for the 32B.
|
| 19 |
+
|
| 20 |
+
This is the deliberate difference from the
|
| 21 |
+
[14B](https://huggingface.co/zaindanaharper/flywheel-local-coder-14b), which
|
| 22 |
+
does carry executed benchmark evidence (with intervals, and the JSON to re-run
|
| 23 |
+
each number). The 32B ships as a verified, retraceable build; the scored
|
| 24 |
+
evidence is a separate, future measurement.
|
| 25 |
+
|
| 26 |
+
## How the numbers will arrive, when they do
|
| 27 |
+
|
| 28 |
+
The same way the 14B's did, and no other way:
|
| 29 |
+
|
| 30 |
+
- Run under a fixed harness with a published task set and a real oracle
|
| 31 |
+
(propose, run the test, accept only what passes).
|
| 32 |
+
- Every number ships with the JSON it came from and the command to re-run it.
|
| 33 |
+
- Confidence intervals attached; a difference against base whose interval
|
| 34 |
+
includes zero is reported as no uplift, not as a win.
|
| 35 |
+
|
| 36 |
+
Until an executed benchmark artifact is attached here, treat this model on its
|
| 37 |
+
provenance and its determinism receipt, not on any performance claim.
|
MODEL_CARD.md
CHANGED
|
@@ -1,44 +1,64 @@
|
|
| 1 |
# Flywheel-Local-Coder-32B Model Card
|
| 2 |
|
| 3 |
-
|
|
|
|
|
|
|
| 4 |
|
| 5 |
## Model identity
|
| 6 |
|
| 7 |
- Release name: `Flywheel-Local-Coder-32B`
|
| 8 |
-
-
|
| 9 |
- Base model: `Qwen2.5-Coder-32B-Instruct` (Alibaba Cloud / Qwen team, Apache-2.0)
|
| 10 |
-
- Adapter: `checkpoint-2019`, QLoRA continued pretraining (r 16, alpha 32,
|
|
|
|
| 11 |
- Composition: base weights merged with the adapter, then quantized
|
| 12 |
- Quantization: Q4_K_M (GGUF)
|
| 13 |
-
- Size: 19,851,336,480 bytes
|
| 14 |
-
-
|
| 15 |
-
- Merged fp16 GGUF (local build intermediate, not published): `telos-coder-32b-merged-f16.gguf`, SHA-256 `3360f7db86b8493dd444c4b03e113d61be6c06084ddb91c8557847f58036a3ee`
|
| 16 |
- Adapter (safetensors) SHA-256: `d2ff1d3042c9b015d8d01b6e195cf95acedc133bf4efe78692e4349a3608e286`
|
| 17 |
- LoRA GGUF SHA-256: `08e7d21cfde1af768c877ecc18ee6343c87711c0c38b8c5b16feb9890f94cbac`
|
| 18 |
-
- Artifact location: `E:\local-model-run\gguf-work-32b\telos-coder-32b-cpt2019-q4_k_m.gguf`
|
| 19 |
- Local serving name: Ollama `flywheel-local-coder-32b`
|
| 20 |
-
|
|
|
|
|
|
|
| 21 |
|
| 22 |
## Training data
|
| 23 |
|
| 24 |
-
Continued pretraining on
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
|
| 26 |
## Intended use
|
| 27 |
|
| 28 |
-
Local-first
|
|
|
|
|
|
|
| 29 |
|
| 30 |
## Limitations
|
| 31 |
|
| 32 |
-
- Q4_K_M quantization; quantization loss relative to the merged fp16 weights is
|
| 33 |
-
|
| 34 |
-
-
|
| 35 |
-
|
| 36 |
-
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 37 |
|
| 38 |
## License
|
| 39 |
|
| 40 |
-
Apache-2.0 derivative. Base model `Qwen2.5-Coder-32B-Instruct` is Copyright
|
|
|
|
|
|
|
|
|
|
|
|
|
| 41 |
|
| 42 |
-
##
|
| 43 |
|
| 44 |
-
|
|
|
|
|
|
| 1 |
# Flywheel-Local-Coder-32B Model Card
|
| 2 |
|
| 3 |
+
A verified, retraceable continued-pretraining build on Qwen2.5-Coder-32B-Instruct.
|
| 4 |
+
Identity and provenance are complete and re-checkable; benchmark evidence is
|
| 5 |
+
pending and no capability uplift is claimed.
|
| 6 |
|
| 7 |
## Model identity
|
| 8 |
|
| 9 |
- Release name: `Flywheel-Local-Coder-32B`
|
| 10 |
+
- Model file: `telos-coder-32b-cpt2019-q4_k_m.gguf`
|
| 11 |
- Base model: `Qwen2.5-Coder-32B-Instruct` (Alibaba Cloud / Qwen team, Apache-2.0)
|
| 12 |
+
- Adapter: `checkpoint-2019`, QLoRA continued pretraining (r 16, alpha 32,
|
| 13 |
+
dropout 0.05), 2019 steps (a quarter epoch)
|
| 14 |
- Composition: base weights merged with the adapter, then quantized
|
| 15 |
- Quantization: Q4_K_M (GGUF)
|
| 16 |
+
- Size: 18.5 GB (19,851,336,480 bytes)
|
| 17 |
+
- Model SHA-256: `65e6133fbe4d12579a776047a71bebb98ab86f9e3d343ed821b51dac0ce312f4`
|
|
|
|
| 18 |
- Adapter (safetensors) SHA-256: `d2ff1d3042c9b015d8d01b6e195cf95acedc133bf4efe78692e4349a3608e286`
|
| 19 |
- LoRA GGUF SHA-256: `08e7d21cfde1af768c877ecc18ee6343c87711c0c38b8c5b16feb9890f94cbac`
|
|
|
|
| 20 |
- Local serving name: Ollama `flywheel-local-coder-32b`
|
| 21 |
+
|
| 22 |
+
The full chain is recorded in [provenance.json](provenance.json) and tied to the
|
| 23 |
+
downloaded bytes by [checksums.sha256](checksums.sha256).
|
| 24 |
|
| 25 |
## Training data
|
| 26 |
|
| 27 |
+
Continued pretraining on a 66.2-million-token corpus of 17,997 files from a real,
|
| 28 |
+
working development ecosystem: production code, tests, documentation, and
|
| 29 |
+
research notes. This is the same packed corpus used for the 14B (Qwen2.5-Coder
|
| 30 |
+
14B and 32B share a tokenizer). Corpus content hash
|
| 31 |
+
`68345cdc6667f20d1678ac0a9139edc170348dfdebb9ae6045cde3d204f4fe62`; pack shards
|
| 32 |
+
hash `018798dfce7d4c86f5a6ea502a383553220f2e76facfe76acbe52b1c278ae543`. Corpus
|
| 33 |
+
source identifiers stay proprietary.
|
| 34 |
|
| 35 |
## Intended use
|
| 36 |
|
| 37 |
+
Local-first coding: completion, functions, refactors, test writing, and
|
| 38 |
+
tool-calling on your own hardware, served via Ollama or llama.cpp. It pairs
|
| 39 |
+
naturally with a propose-then-verify loop.
|
| 40 |
|
| 41 |
## Limitations
|
| 42 |
|
| 43 |
+
- Q4_K_M quantization; quantization loss relative to the merged fp16 weights is
|
| 44 |
+
not measured.
|
| 45 |
+
- A quarter-epoch (2019-step) continued-pretraining adaptation, a light domain
|
| 46 |
+
pass, not a full retrain.
|
| 47 |
+
- No benchmark evidence exists yet. No capability uplift over the base model is
|
| 48 |
+
claimed. A deterministic generation smoke (temp 0, seed 7, byte-identical
|
| 49 |
+
reruns, MATCH) is the only behavioral evidence recorded.
|
| 50 |
+
- Refusal behavior, bias, and content boundaries are inherited from the base
|
| 51 |
+
model and are not separately audited here.
|
| 52 |
|
| 53 |
## License
|
| 54 |
|
| 55 |
+
Apache-2.0 derivative. Base model `Qwen2.5-Coder-32B-Instruct` is Copyright
|
| 56 |
+
Alibaba Cloud, Apache-2.0. This artifact merges a locally trained QLoRA adapter
|
| 57 |
+
into those weights and retains the Apache-2.0 license with attribution. The base
|
| 58 |
+
weights are never republished on their own; only the merged quantization and the
|
| 59 |
+
adapter are released.
|
| 60 |
|
| 61 |
+
## Benchmark status
|
| 62 |
|
| 63 |
+
Pending. No benchmark result is recorded for this model. See
|
| 64 |
+
[BENCHMARKS.md](BENCHMARKS.md).
|
Modelfile
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
FROM ./telos-coder-32b-cpt2019-q4_k_m.gguf
|
README.md
CHANGED
|
@@ -11,36 +11,91 @@ pipeline_tag: text-generation
|
|
| 11 |
library_name: gguf
|
| 12 |
---
|
| 13 |
|
| 14 |
-
# Flywheel-Local-Coder-32B
|
| 15 |
|
| 16 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
|
| 18 |
-
|
|
|
|
| 19 |
|
| 20 |
-
|
| 21 |
|
| 22 |
-
|
| 23 |
-
-
|
| 24 |
-
-
|
| 25 |
-
|
| 26 |
-
- Local serving: Ollama model name `flywheel-local-coder-32b`, created from the Modelfile beside the artifact.
|
| 27 |
|
| 28 |
-
|
|
|
|
| 29 |
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
- LoRA GGUF sha256 `08e7d21cfde1af768c877ecc18ee6343c87711c0c38b8c5b16feb9890f94cbac`
|
| 35 |
-
- GGUF (Q4_K_M) sha256 `65e6133fbe4d12579a776047a71bebb98ab86f9e3d343ed821b51dac0ce312f4`
|
| 36 |
-
- Deterministic smoke: ollama `/api/generate`, temp 0, seed 7, num_predict 64, byte-identical reruns (MATCH). Output hash prefix `403b2e8b21df9f55`.
|
| 37 |
|
| 38 |
-
|
|
|
|
|
|
|
| 39 |
|
| 40 |
-
|
| 41 |
-
- Endpoint gate history (`harness.model-endpoint-gate/v1` artifacts attached to the release row).
|
| 42 |
-
- Explicit operator approval for upload. Never auto-approved.
|
| 43 |
|
| 44 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 45 |
|
| 46 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11 |
library_name: gguf
|
| 12 |
---
|
| 13 |
|
| 14 |
+
# Flywheel-Local-Coder-32B
|
| 15 |
|
| 16 |
+
A 32-billion-parameter coding model in a single Q4_K_M file that runs entirely
|
| 17 |
+
on your own machine. It takes Qwen2.5-Coder-32B-Instruct and continues its
|
| 18 |
+
pretraining on the same 66-million-token corpus behind the 14B, drawn from a
|
| 19 |
+
real working development ecosystem, then packs the merge into one GGUF just
|
| 20 |
+
under 19 GB. Your prompts and your code never leave your disk. And if you ever
|
| 21 |
+
care to look, the whole build, corpus to weights, can be retraced hash by hash.
|
| 22 |
|
| 23 |
+
This is the larger sibling of [Flywheel-Local-Coder-14B](https://huggingface.co/zaindanaharper/flywheel-local-coder-14b):
|
| 24 |
+
more capacity, the same local-first stance and the same retraceable chain.
|
| 25 |
|
| 26 |
+
## Run it in two commands
|
| 27 |
|
| 28 |
+
```
|
| 29 |
+
hf download zaindanaharper/flywheel-local-coder-32b telos-coder-32b-cpt2019-q4_k_m.gguf --local-dir .
|
| 30 |
+
llama-cli -m telos-coder-32b-cpt2019-q4_k_m.gguf -cnv
|
| 31 |
+
```
|
|
|
|
| 32 |
|
| 33 |
+
Prefer Ollama? Download the repo folder so the GGUF and the Modelfile sit
|
| 34 |
+
together, then:
|
| 35 |
|
| 36 |
+
```
|
| 37 |
+
ollama create flywheel-local-coder-32b -f Modelfile
|
| 38 |
+
ollama run flywheel-local-coder-32b
|
| 39 |
+
```
|
|
|
|
|
|
|
|
|
|
| 40 |
|
| 41 |
+
No conversion step, no shards, no Python environment. The [usage guide](usage.md)
|
| 42 |
+
covers chat, deterministic completion, an OpenAI-compatible local endpoint, and
|
| 43 |
+
how to verify your download against the published checksums.
|
| 44 |
|
| 45 |
+
## Specs at a glance
|
|
|
|
|
|
|
| 46 |
|
| 47 |
+
| | |
|
| 48 |
+
|---|---|
|
| 49 |
+
| Parameters | 32.5B (qwen2 architecture) |
|
| 50 |
+
| Context length | 32,768 tokens |
|
| 51 |
+
| Quantization | Q4_K_M, single GGUF file |
|
| 52 |
+
| File size | 18.5 GB (19,851,336,480 bytes) |
|
| 53 |
+
| Capabilities | chat, code completion, tool calling |
|
| 54 |
+
| Base model | Qwen2.5-Coder-32B-Instruct |
|
| 55 |
+
| Training | QLoRA continued pretraining, 66.2M tokens across 17,997 files |
|
| 56 |
+
| License | Apache-2.0 (with Qwen attribution) |
|
| 57 |
+
| SHA-256 | `65e6133fbe4d12579a776047a71bebb98ab86f9e3d343ed821b51dac0ce312f4` |
|
| 58 |
|
| 59 |
+
Full details in the [spec sheet](SPECS.md).
|
| 60 |
+
|
| 61 |
+
## What to expect
|
| 62 |
+
|
| 63 |
+
This is a local-first coding companion at 32B scale: completions, functions,
|
| 64 |
+
refactors, and tool-calling on your own hardware, with your code staying home.
|
| 65 |
+
It needs more room than the 14B, roughly 20 GB of memory for the weights plus
|
| 66 |
+
context, so it is happiest on a 24 GB GPU or a machine with generous RAM; see
|
| 67 |
+
the [spec sheet](SPECS.md) for hardware guidance.
|
| 68 |
+
|
| 69 |
+
We publish measurements, not adjectives, and we are precise about which we have.
|
| 70 |
+
Unlike the 14B, this model does not yet carry benchmark scores. Its only
|
| 71 |
+
recorded behavioral receipt today is a deterministic generation smoke: at
|
| 72 |
+
temperature 0 with a fixed seed, reruns are byte-identical. We make no
|
| 73 |
+
capability-uplift claim over the base model. Benchmarks are pending and will
|
| 74 |
+
ship with the JSON they came from and the method to re-run them, exactly as the
|
| 75 |
+
14B's [benchmarks page](BENCHMARKS.md) already does. Until then, the honest
|
| 76 |
+
statement is: a verified, retraceable continued-pretraining build, not a scored
|
| 77 |
+
one.
|
| 78 |
+
|
| 79 |
+
## Also in this repo
|
| 80 |
+
|
| 81 |
+
- `telos-coder-32b-cpt2019-q4_k_m.gguf`: the runnable merged model (above).
|
| 82 |
+
- `telos-coder-32b-cpt2019-lora.gguf`: the QLoRA adapter (268 MB). Apply the
|
| 83 |
+
trained delta to your own copy of the base, or requantize from it at another
|
| 84 |
+
precision. The base weights themselves are never republished here.
|
| 85 |
+
|
| 86 |
+
## The documents
|
| 87 |
+
|
| 88 |
+
- [Usage guide](usage.md): run it with Ollama, llama.cpp, or as a local API.
|
| 89 |
+
- [Benchmarks](BENCHMARKS.md): what is measured so far, and what is still pending.
|
| 90 |
+
- [Spec sheet](SPECS.md): hardware guidance, training details, formats.
|
| 91 |
+
- [Safety and claims](safety.md): what this model does and does not claim.
|
| 92 |
+
- [Model card](MODEL_CARD.md): the full technical card.
|
| 93 |
+
- [provenance.json](provenance.json) and [checksums.sha256](checksums.sha256):
|
| 94 |
+
the retraceable chain from corpus to the exact bytes you downloaded.
|
| 95 |
+
|
| 96 |
+
## License and attribution
|
| 97 |
+
|
| 98 |
+
Apache-2.0. Built on Qwen2.5-Coder-32B-Instruct by the Qwen team; see LICENSE
|
| 99 |
+
for the attribution notice. The training corpus is proprietary to the author;
|
| 100 |
+
the shipped weights carry no third-party code beyond the base model, and the
|
| 101 |
+
base model is never republished on its own.
|
SPECS.md
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Spec Sheet
|
| 2 |
+
|
| 3 |
+
## The model
|
| 4 |
+
|
| 5 |
+
| | |
|
| 6 |
+
|---|---|
|
| 7 |
+
| Name | Flywheel-Local-Coder-32B |
|
| 8 |
+
| Architecture | qwen2 (transformer, decoder-only) |
|
| 9 |
+
| Parameters | 32.5B |
|
| 10 |
+
| Context length | 32,768 tokens |
|
| 11 |
+
| Capabilities | chat, code completion, tool calling |
|
| 12 |
+
| Base model | Qwen/Qwen2.5-Coder-32B-Instruct |
|
| 13 |
+
| License | Apache-2.0 with Qwen attribution |
|
| 14 |
+
|
| 15 |
+
## The files
|
| 16 |
+
|
| 17 |
+
| | |
|
| 18 |
+
|---|---|
|
| 19 |
+
| Model | `telos-coder-32b-cpt2019-q4_k_m.gguf`, GGUF single file |
|
| 20 |
+
| Quantization | Q4_K_M |
|
| 21 |
+
| Size | 18.5 GB (19,851,336,480 bytes) |
|
| 22 |
+
| SHA-256 | `65e6133fbe4d12579a776047a71bebb98ab86f9e3d343ed821b51dac0ce312f4` |
|
| 23 |
+
| Adapter | `telos-coder-32b-cpt2019-lora.gguf`, LoRA GGUF, 268 MB |
|
| 24 |
+
| Adapter SHA-256 | `08e7d21cfde1af768c877ecc18ee6343c87711c0c38b8c5b16feb9890f94cbac` |
|
| 25 |
+
| Verify | `sha256sum telos-coder-32b-cpt2019-q4_k_m.gguf` and compare with [checksums.sha256](checksums.sha256) |
|
| 26 |
+
|
| 27 |
+
## Hardware guidance
|
| 28 |
+
|
| 29 |
+
- **GPU**: the Q4_K_M weights are ~18.5 GB. A 24 GB card holds the weights but
|
| 30 |
+
leaves little headroom for a long context; expect to offload some layers to
|
| 31 |
+
CPU as context grows. Cards below 24 GB run with partial CPU offload and lower
|
| 32 |
+
speed.
|
| 33 |
+
- **CPU only**: works, but this is a 32B model. Budget roughly 20 GB of free RAM
|
| 34 |
+
for weights plus context. Generation is noticeably slower than the 14B; usable
|
| 35 |
+
for chat and completion when you are not latency-sensitive.
|
| 36 |
+
- **Disk**: 18.5 GB for the model file, plus 268 MB if you also pull the adapter.
|
| 37 |
+
|
| 38 |
+
Runs anywhere llama.cpp or Ollama runs: Windows, Linux, macOS. If you want the
|
| 39 |
+
same behavior at lower memory and higher speed, the 14B sibling is the lighter
|
| 40 |
+
option.
|
| 41 |
+
|
| 42 |
+
## How it was trained
|
| 43 |
+
|
| 44 |
+
Continued pretraining (QLoRA) of the base model on a 66.2-million-token corpus
|
| 45 |
+
of 17,997 files from a real, working development ecosystem: production code,
|
| 46 |
+
tests, documentation, and research notes. This is the same packed corpus used
|
| 47 |
+
for the 14B; Qwen2.5-Coder 14B and 32B share a tokenizer, so one corpus trains
|
| 48 |
+
both. Training ran to adapter checkpoint 2019 (2019 steps, a quarter epoch); the
|
| 49 |
+
adapter was merged into the base weights and the merge was quantized to Q4_K_M.
|
| 50 |
+
|
| 51 |
+
Every layer of that build is hashed and recorded in
|
| 52 |
+
[provenance.json](provenance.json): the corpus content, the packed training
|
| 53 |
+
shards, the adapter checkpoint, the LoRA GGUF, and the final quantized GGUF.
|
| 54 |
+
Given the same inputs, an outside observer can re-derive and verify each link.
|
| 55 |
+
|
| 56 |
+
The training corpus is proprietary and is not distributed with the model.
|
| 57 |
+
|
| 58 |
+
## What this model is for
|
| 59 |
+
|
| 60 |
+
A local-first coding companion at 32B scale: code completion, functions,
|
| 61 |
+
refactors, test writing, and tool-calling workflows where your code must not
|
| 62 |
+
leave your machine. It pairs naturally with a verification loop (propose, test,
|
| 63 |
+
accept only what passes).
|
| 64 |
+
|
| 65 |
+
## Known boundaries
|
| 66 |
+
|
| 67 |
+
- No claimed capability uplift over the base model.
|
| 68 |
+
- No benchmark scores yet; only a deterministic generation smoke is recorded.
|
| 69 |
+
See [BENCHMARKS.md](BENCHMARKS.md).
|
| 70 |
+
- This is a quarter-epoch continued-pretraining adaptation, a light domain pass,
|
| 71 |
+
not a full retrain.
|
| 72 |
+
- Knowledge cutoff and multilingual behavior follow the base model.
|
checksums.sha256
CHANGED
|
@@ -1,10 +1,2 @@
|
|
| 1 |
-
|
| 2 |
-
|
| 3 |
-
2af5ee89816a9b703f6a2bf5cb42a0d83aee699904bb5f7ca89981e62cde72b8 LICENSE
|
| 4 |
-
d262f1975ec6283b64daabad4bfa569b5d0ea8d612db6e833a718755ab13d6bf MODEL_CARD.md
|
| 5 |
-
839096ffebdb5be2465f1d4884237491e8dfc2006a9d5ae5fef642427291b9b6 provenance.json
|
| 6 |
-
b85d746d767cc0f6e9ee90221ea38aafd78d4308ad9b37c89e46205b83ed64af README.md
|
| 7 |
-
f3ab80d408e83c9796f4f257979240aba97f5c31bbd4c4d68e997ffe8de74656 release-checklist.md
|
| 8 |
-
468ac3f403175bf43ae308e20ff9206fde468f5bd357d582cb6754b3cab0208d safety.md
|
| 9 |
-
21941a7574c639b30b775642debd373277f403fac423519723686573bad625b2 usage.md
|
| 10 |
-
1e8ee7e5c08c1e1b8f0699b44250d8c5fbdc794ad546958348a37a7586f35c9c WEIGHT-CHECKSUMS-PENDING.md
|
|
|
|
| 1 |
+
65e6133fbe4d12579a776047a71bebb98ab86f9e3d343ed821b51dac0ce312f4 telos-coder-32b-cpt2019-q4_k_m.gguf
|
| 2 |
+
08e7d21cfde1af768c877ecc18ee6343c87711c0c38b8c5b16feb9890f94cbac telos-coder-32b-cpt2019-lora.gguf
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
safety.md
CHANGED
|
@@ -1,24 +1,42 @@
|
|
| 1 |
-
#
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Safety and Claims
|
| 2 |
+
|
| 3 |
+
This page states plainly what this model does and does not claim, so you can
|
| 4 |
+
weigh it without reading between the lines.
|
| 5 |
+
|
| 6 |
+
## What we claim, and the evidence
|
| 7 |
+
|
| 8 |
+
- **The artifact is what it says it is.** The build is retraceable hash by
|
| 9 |
+
hash: corpus content, packed training shards, adapter checkpoint, the LoRA
|
| 10 |
+
GGUF, and the final quantized GGUF are each recorded in
|
| 11 |
+
[provenance.json](provenance.json), and [checksums.sha256](checksums.sha256)
|
| 12 |
+
ties the chain to the exact file you downloaded.
|
| 13 |
+
- **Reruns are reproducible.** Served at temperature 0 with a fixed seed,
|
| 14 |
+
generations are byte-identical across runs (recorded generation hash prefix
|
| 15 |
+
`403b2e8b21df9f55`).
|
| 16 |
+
|
| 17 |
+
## What we do not claim
|
| 18 |
+
|
| 19 |
+
- **No capability uplift over the base model.** We have not measured one, so we
|
| 20 |
+
do not assert one.
|
| 21 |
+
- **No benchmark standing at all, yet.** Unlike the 14B, this model carries no
|
| 22 |
+
executed benchmark artifacts. HumanEval, MBPP, hard-set, and similar suites
|
| 23 |
+
have not been run. See [BENCHMARKS.md](BENCHMARKS.md).
|
| 24 |
+
- **No safety tuning beyond the base model.** Refusal behavior, bias, and
|
| 25 |
+
content boundaries follow Qwen2.5-Coder-32B-Instruct. We have not measured or
|
| 26 |
+
modified them, so treat them as inherited and unaudited here.
|
| 27 |
+
|
| 28 |
+
## Sensible boundaries for use
|
| 29 |
+
|
| 30 |
+
- Treat generated code the way you would treat code from any assistant: run your
|
| 31 |
+
tests, review before shipping, and never execute generated code against
|
| 32 |
+
production systems unreviewed.
|
| 33 |
+
- The model runs entirely locally and sends nothing anywhere. Network behavior
|
| 34 |
+
is a property of the runtime you choose (Ollama, llama.cpp), not the weights.
|
| 35 |
+
- Keep secrets out of prompts as a habit. Nothing in this release requires
|
| 36 |
+
secrets, keys, or private files to use.
|
| 37 |
+
|
| 38 |
+
## If you find a problem
|
| 39 |
+
|
| 40 |
+
Open an issue on the model repo with the prompt, the runtime and version, and
|
| 41 |
+
the observed output. A reproducible report at temperature 0 is the fastest path
|
| 42 |
+
to a fix, because we can replay it exactly.
|
usage.md
CHANGED
|
@@ -1,42 +1,84 @@
|
|
| 1 |
-
#
|
| 2 |
|
| 3 |
-
|
|
|
|
| 4 |
|
| 5 |
-
##
|
| 6 |
-
|
| 7 |
-
The Modelfile lives next to the artifact:
|
| 8 |
|
| 9 |
-
```
|
| 10 |
-
|
| 11 |
```
|
| 12 |
|
| 13 |
-
|
|
|
|
| 14 |
|
| 15 |
-
|
| 16 |
-
|
|
|
|
|
|
|
| 17 |
ollama run flywheel-local-coder-32b
|
| 18 |
```
|
| 19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 20 |
## llama.cpp
|
| 21 |
|
| 22 |
-
|
| 23 |
|
| 24 |
-
```
|
| 25 |
-
llama-cli -m
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 26 |
```
|
| 27 |
|
| 28 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 29 |
|
| 30 |
-
|
|
|
|
|
|
|
|
|
|
| 31 |
|
| 32 |
-
|
| 33 |
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
|
| 38 |
-
##
|
| 39 |
|
| 40 |
-
-
|
| 41 |
-
|
| 42 |
-
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Usage Guide
|
| 2 |
|
| 3 |
+
Everything below assumes you downloaded this repo folder, so the GGUF and the
|
| 4 |
+
Modelfile sit together in your working directory.
|
| 5 |
|
| 6 |
+
## Verify your download (optional, 30 seconds)
|
|
|
|
|
|
|
| 7 |
|
| 8 |
+
```
|
| 9 |
+
sha256sum telos-coder-32b-cpt2019-q4_k_m.gguf
|
| 10 |
```
|
| 11 |
|
| 12 |
+
Compare against [checksums.sha256](checksums.sha256). A match means you hold the
|
| 13 |
+
exact bytes the provenance chain describes.
|
| 14 |
|
| 15 |
+
## Ollama
|
| 16 |
+
|
| 17 |
+
```
|
| 18 |
+
ollama create flywheel-local-coder-32b -f Modelfile
|
| 19 |
ollama run flywheel-local-coder-32b
|
| 20 |
```
|
| 21 |
|
| 22 |
+
That gives you interactive chat. Ollama also exposes an OpenAI-compatible API
|
| 23 |
+
the moment the model is created, so any tool that speaks the OpenAI chat format
|
| 24 |
+
can use the model locally:
|
| 25 |
+
|
| 26 |
+
```
|
| 27 |
+
curl http://127.0.0.1:11434/v1/chat/completions \
|
| 28 |
+
-H "Content-Type: application/json" \
|
| 29 |
+
-d '{"model":"flywheel-local-coder-32b","messages":[{"role":"user","content":"Write a Python function that merges overlapping intervals."}]}'
|
| 30 |
+
```
|
| 31 |
+
|
| 32 |
+
Point your editor plugin, agent framework, or script at
|
| 33 |
+
`http://127.0.0.1:11434/v1` with model name `flywheel-local-coder-32b` and you
|
| 34 |
+
have a private, zero-cost coding endpoint. On an 18.5 GB model, first-token
|
| 35 |
+
latency depends on how much of the model fits in VRAM; see the
|
| 36 |
+
[spec sheet](SPECS.md) for hardware guidance.
|
| 37 |
+
|
| 38 |
## llama.cpp
|
| 39 |
|
| 40 |
+
Interactive chat, one command:
|
| 41 |
|
| 42 |
+
```
|
| 43 |
+
llama-cli -m telos-coder-32b-cpt2019-q4_k_m.gguf -cnv
|
| 44 |
+
```
|
| 45 |
+
|
| 46 |
+
Deterministic completion (the exact configuration our receipt uses):
|
| 47 |
+
|
| 48 |
+
```
|
| 49 |
+
llama-cli -m telos-coder-32b-cpt2019-q4_k_m.gguf --temp 0 --seed 7 -n 64 -p "your prompt"
|
| 50 |
```
|
| 51 |
|
| 52 |
+
At temperature 0 with a fixed seed, reruns are byte-identical. That is not a
|
| 53 |
+
nicety: it is what lets a receipt be re-checked by someone who is not us.
|
| 54 |
+
|
| 55 |
+
## The adapter
|
| 56 |
+
|
| 57 |
+
If you would rather apply the trained delta yourself, or requantize at another
|
| 58 |
+
precision, pull the LoRA adapter and work from your own copy of the base:
|
| 59 |
+
|
| 60 |
+
```
|
| 61 |
+
hf download zaindanaharper/flywheel-local-coder-32b telos-coder-32b-cpt2019-lora.gguf --local-dir .
|
| 62 |
+
```
|
| 63 |
|
| 64 |
+
The base weights are never republished here; bring your own copy of
|
| 65 |
+
`Qwen2.5-Coder-32B-Instruct` (Apache-2.0) and apply the adapter with
|
| 66 |
+
llama.cpp's `--lora`, or merge and requantize with `llama-export-lora` +
|
| 67 |
+
`llama-quantize`.
|
| 68 |
|
| 69 |
+
## Tool calling
|
| 70 |
|
| 71 |
+
The model supports tool/function calling through Ollama's OpenAI-compatible
|
| 72 |
+
endpoint: pass a `tools` array in the request as you would with any OpenAI-style
|
| 73 |
+
API.
|
| 74 |
|
| 75 |
+
## Tips
|
| 76 |
|
| 77 |
+
- Give it the full contract. Precise asks (exact exception messages, edge cases,
|
| 78 |
+
output format) get precise answers.
|
| 79 |
+
- Pair it with your tests. Its natural habitat is a propose-then-verify loop:
|
| 80 |
+
let it write, run your tests, keep what passes.
|
| 81 |
+
- 32,768-token context: enough for a large file plus conversation, not an entire
|
| 82 |
+
repository. Feed it the relevant slice.
|
| 83 |
+
- If speed matters more than capacity, the 14B sibling runs the same way at less
|
| 84 |
+
than half the memory.
|