Instructions to use philipjohnbasile/wisp-coder-110m with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use philipjohnbasile/wisp-coder-110m with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="philipjohnbasile/wisp-coder-110m")# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("philipjohnbasile/wisp-coder-110m") model = AutoModelForCausalLM.from_pretrained("philipjohnbasile/wisp-coder-110m", device_map="auto") - MLX
How to use philipjohnbasile/wisp-coder-110m with MLX:
# Make sure mlx-lm is installed # pip install --upgrade mlx-lm # if on a CUDA device, also pip install mlx[cuda] # Generate text with mlx-lm from mlx_lm import load, generate model, tokenizer = load("philipjohnbasile/wisp-coder-110m") prompt = "Once upon a time in" text = generate(model, tokenizer, prompt=prompt, verbose=True) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- vLLM
How to use philipjohnbasile/wisp-coder-110m with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "philipjohnbasile/wisp-coder-110m" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "philipjohnbasile/wisp-coder-110m", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/philipjohnbasile/wisp-coder-110m
- SGLang
How to use philipjohnbasile/wisp-coder-110m with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "philipjohnbasile/wisp-coder-110m" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "philipjohnbasile/wisp-coder-110m", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "philipjohnbasile/wisp-coder-110m" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "philipjohnbasile/wisp-coder-110m", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - MLX LM
How to use philipjohnbasile/wisp-coder-110m with MLX LM:
Generate or start a chat session
# Install MLX LM uv tool install mlx-lm # Generate some text mlx_lm.generate --model "philipjohnbasile/wisp-coder-110m" --prompt "Once upon a time"
- Docker Model Runner
How to use philipjohnbasile/wisp-coder-110m with Docker Model Runner:
docker model run hf.co/philipjohnbasile/wisp-coder-110m
- Atomic Chat
Create the interactive Wisp Fieldbook
Browse filesGive the model card its own Mind the gap identity with botanical hover motion, responsive navigation and release-route cards, three interactive FIM prompt panels, six specimen notes, and native fold-out research sections. Use Hugging Face-supported CSS utilities and semantic details/summary controls. Preserve every original technical statement, code block, result, metadata field, link and section anchor. Verified hover styles, keyboard toggles, reduced-motion duration and mobile overflow in the complete card preview; corrected explicit repository file links.
|
@@ -13,24 +13,39 @@ library_name: transformers
|
|
| 13 |
pipeline_tag: text-generation
|
| 14 |
---
|
| 15 |
|
| 16 |
-
<!-- Wisp
|
| 17 |
-
<div style="background-color:#f4f1e8;background-image:radial-gradient(#d7d7c7 0.65px,transparent 0.65px);background-size:7px 7px;color:#263f32;border:1px solid #cbd0bf;padding:clamp(22px,4vw,38px);margin:8px 0 24px;">
|
|
|
|
|
|
|
|
|
|
|
|
|
| 18 |
<div style="display:flex;align-items:center;flex-wrap:wrap;gap:20px;">
|
| 19 |
<div style="flex:1 1 250px;min-width:0;">
|
| 20 |
-
<
|
| 21 |
-
<p style="font-family:Georgia,serif;font-size:clamp(
|
| 22 |
-
<p style="font-family:Georgia,serif;font-size:
|
| 23 |
-
<a href="https://huggingface.co/spaces/philipjohnbasile/wisp-coder-demo" style="display:inline-block;background:#263f32;color:#fffdf5;padding:13px
|
| 24 |
-
<p style="font-size:
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
</div>
|
| 26 |
-
<img src="./assets/wisp-wildflowers.png" alt="Loose painted wildflowers in pink, coral, cobalt and green, the original artwork from the Wisp demo." style="flex:1 1 270px;width:45%;min-width:0;max-width:100%;height:auto;object-fit:contain;margin:0;" />
|
| 27 |
</div>
|
| 28 |
-
<div style="display:flex;flex-wrap:wrap;gap:
|
| 29 |
-
<
|
|
|
|
|
|
|
| 30 |
</div>
|
| 31 |
</div>
|
| 32 |
|
| 33 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
|
| 35 |
[Explore the model guide](https://huggingface.co/spaces/philipjohnbasile/local-ai-guide) Β· [All public work](https://huggingface.co/philipjohnbasile)
|
| 36 |
|
|
@@ -43,52 +58,91 @@ pipeline_tag: text-generation
|
|
| 43 |
[Short-hole evaluation](./fim-competitive-v1/FIM_RESULTS.md) Β·
|
| 44 |
[Selected work](https://huggingface.co/collections/philipjohnbasile/start-here-selected-work-6aa309b179b2a196db52a12b)
|
| 45 |
|
| 46 |
-
<div style="background:#263f32;color:#f7f2e6;padding:24px;margin:26px 0;border:1px solid #46614a;">
|
| 47 |
-
<p style="font-size:11px;letter-spacing:1.6px;color:#e8bcd0;margin:0 0 9px;">
|
| 48 |
-
<h3 style="font-family:Georgia,serif;font-weight:400;font-size:32px;line-height:1.2;color:#f7f2e6;margin:0 0
|
| 49 |
-
<
|
| 50 |
-
<div style="
|
| 51 |
-
<
|
| 52 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 53 |
</div>
|
| 54 |
<p style="font-size:13px;line-height:1.7;color:#dae1cd;margin:18px 0 0;">Provide the code on both sides of a gap. Wisp predicts the middle. <a href="https://huggingface.co/spaces/philipjohnbasile/wisp-coder-demo" style="color:#f3b7ca;text-decoration:underline;">Explore it in the playground β</a></p>
|
| 55 |
</div>
|
| 56 |
|
| 57 |
-
<
|
| 58 |
-
<div style="
|
| 59 |
-
<
|
| 60 |
-
<
|
| 61 |
-
<
|
| 62 |
-
</
|
| 63 |
-
<
|
| 64 |
-
<p style="font-size:
|
| 65 |
-
<
|
| 66 |
-
<
|
| 67 |
-
<
|
| 68 |
-
<
|
| 69 |
-
<
|
| 70 |
-
<
|
| 71 |
-
<p style="font-size:14px;line-height:1.7;color:#354b3b;margin:0;
|
| 72 |
-
</
|
| 73 |
-
<
|
| 74 |
-
<
|
| 75 |
-
<
|
| 76 |
-
<
|
| 77 |
-
</
|
| 78 |
-
<div style="
|
| 79 |
-
<
|
| 80 |
-
<
|
| 81 |
-
<
|
| 82 |
-
</
|
| 83 |
-
<
|
| 84 |
-
<
|
| 85 |
-
<
|
| 86 |
-
<
|
| 87 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 88 |
</div>
|
| 89 |
|
| 90 |
### Quick start β ordinary completion on CPU
|
| 91 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 92 |
```bash
|
| 93 |
pip install "torch==2.13.0" "transformers==5.14.1"
|
| 94 |
```
|
|
@@ -110,6 +164,9 @@ with torch.inference_mode():
|
|
| 110 |
print(tokenizer.decode(output[0], skip_special_tokens=True))
|
| 111 |
```
|
| 112 |
|
|
|
|
|
|
|
|
|
|
| 113 |
Review generated code before using it. The demo also provides FIM prompts and displays raw suggestions without executing them. The full training, data-provenance, and evaluation disclosures follow.
|
| 114 |
|
| 115 |
### The idea
|
|
@@ -161,6 +218,16 @@ speculative drafting on Apple Silicon, or how those two interact.
|
|
| 161 |
<h2 id="architecture" style="font-family:Georgia,serif;font-size:30px;line-height:1.2;font-weight:400;letter-spacing:-0.6px;color:#263f32;margin:0;padding:0;border:0;">Architecture</h2>
|
| 162 |
</div>
|
| 163 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 164 |
| | |
|
| 165 |
|---|---|
|
| 166 |
| Parameters | 108.2M total, 100.7M trunk |
|
|
@@ -198,6 +265,10 @@ clauses remain applicable. FineWeb-Edu is ODC-By 1.0 and remains subject to
|
|
| 198 |
Common Crawl terms. Run 1 retained no row-level source manifest, so no per-file
|
| 199 |
licensing or attribution guarantee is made.
|
| 200 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 201 |
Every run 1 document received structural size, line-length, and character
|
| 202 |
distribution filters. Because the loader expected `path` instead of
|
| 203 |
StarCoderData's `max_stars_repo_path`, Python AST and JSON extension filtering
|
|
@@ -211,6 +282,9 @@ the eleven source entries, not according to the later token-budget weights.
|
|
| 211 |
Current shard bytes are fully attested after the build, but the receipt is not a
|
| 212 |
raw-row manifest and cannot prove exact original example boundaries.
|
| 213 |
|
|
|
|
|
|
|
|
|
|
| 214 |
The Apache 2.0 metadata describes the released Wisp artifact. It does not
|
| 215 |
override training-source terms or licenses applicable to generated code.
|
| 216 |
|
|
@@ -271,13 +345,17 @@ sub-100 ms claim.
|
|
| 271 |
</div>
|
| 272 |
|
| 273 |
<div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px;margin:0 0 24px;">
|
| 274 |
-
<div style="padding:18px;background:#ecefdf;border-top:3px solid #74845c;color:#263f32;"><p style="font-size:10px;letter-spacing:1px;color:#4a603d;margin:0 0 9px;">FUNCTIONAL CHECKS</p><p style="font-family:Georgia,serif;font-size:23px;line-height:1.2;color:#263f32;margin:0 0 10px;">
|
| 275 |
-
<div style="padding:18px;background:#f4f1e8;border-top:3px solid #ad3f5a;color:#263f32;"><p style="font-size:10px;letter-spacing:1px;color:#8e3049;margin:0 0 9px;">SHORT-HOLE COMPARISON</p><p style="font-family:Georgia,serif;font-size:23px;line-height:1.2;color:#263f32;margin:0 0 10px;">
|
| 276 |
-
<div style="padding:18px;background:#f6e8e8;border-top:3px solid #ad3f5a;color:#263f32;"><p style="font-size:10px;letter-spacing:1px;color:#8e3049;margin:0 0 9px;">MTP RUNTIME</p><p style="font-family:Georgia,serif;font-size:23px;line-height:1.2;color:#263f32;margin:0 0 10px;">
|
| 277 |
</div>
|
| 278 |
|
| 279 |
### Registered final results
|
| 280 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 281 |
| Measurement | Result |
|
| 282 |
|---|---|
|
| 283 |
| Final validation main NLL | 1.3873 [1.3428, 1.4335], perplexity 4.00 |
|
|
@@ -296,8 +374,15 @@ sub-100 ms claim.
|
|
| 296 |
| Branch-local greedy replay | Exact argmax for all 38400 emitted tokens across 600 scored policy-document rollouts |
|
| 297 |
| Cross-policy output identity | Identical realized output branches for all 100 calibration/test documents across compared policies |
|
| 298 |
|
|
|
|
|
|
|
|
|
|
| 299 |
Validation intervals measure Monte Carlo uncertainty from the frozen random-window sampler. Acceptance and rollout intervals resample paired target documents. They do not measure training-run or model uncertainty. Null and negative outcomes are retained rather than filtered from the release.
|
| 300 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 301 |
Rollout endpoint scope: The primary endpoint measures accepted drafts per verification. It does not establish verification-width cost or deployment latency. Draft recursions per output token is the registered drafter-work companion; issued drafts per output token is retained only as an issuance proxy. Target forwards exclude the added post-hoc branch-replay forward and independent verification pass.
|
| 302 |
|
| 303 |
Independent replay provenance scope: Unsigned local attestation bound to a pushed pre-execution receipt commit and the registered source, inputs, checkpoint, and argv; it is not a signed external or trusted-execution witness.
|
|
@@ -306,6 +391,9 @@ Format-ablation provenance limitation: This is repository-revision evidence, not
|
|
| 306 |
|
| 307 |
Format-ablation runtime limitation: Run 1 did not record source-file hashes or sampler state in its pre-fix checkpoints. A post-build receipt now hashes all 52 current shard files and binds deterministic visible-grammar normalization, but it does not prove that the bytes were unchanged since training began or recover exact original units. The step-300 process recovery reset the legacy sampler, causing 78,643,200 scheduled token positions, 1.57 percent of the training budget, to replay earlier random windows. sampler_reset_steps [300] matches that reset timing in both arms. Later checkpoints preserve exact sampler RNG state. Exact sampled-example equivalence still cannot be proven.
|
| 308 |
|
|
|
|
|
|
|
|
|
|
| 309 |
One control worth repeating here, because acceptance rate is easy to report
|
| 310 |
dishonestly: **an initialized model scored higher acceptance than a trained one
|
| 311 |
in the E0 instrument pilot** (0.482 against 0.331 for a model deliberately
|
|
@@ -356,8 +444,8 @@ without its exact initialized floor beside it is uninterpretable.
|
|
| 356 |
```
|
| 357 |
|
| 358 |
|
| 359 |
-
<div style="background:#f4f1e8;border-top:1px solid #cbd0bf;margin-top:36px;padding:24px;display:flex;align-items:center;flex-wrap:wrap;gap:18px;color:#263f32;">
|
| 360 |
-
<img src="./assets/wisp-wildflowers.png" alt="" style="flex:0 1 180px;width:180px;max-width:100%;height:auto;object-fit:contain;margin:0;" />
|
| 361 |
<div style="flex:1 1 210px;min-width:0;">
|
| 362 |
<p style="font-size:11px;letter-spacing:1.5px;color:#50614e;margin:0 0 8px;">SMALL MODEL. OPEN QUESTIONS.</p>
|
| 363 |
<p style="font-family:Georgia,serif;font-size:42px;letter-spacing:-2px;line-height:1.15;color:#263f32;margin:0 0 12px;">Stay <em style="color:#ad3f5a;">curious.</em></p>
|
|
@@ -365,4 +453,4 @@ without its exact initialized floor beside it is uninterpretable.
|
|
| 365 |
</div>
|
| 366 |
</div>
|
| 367 |
|
| 368 |
-
<sub>Original AI-generated floral artwork shared with the Wisp demo. [Artwork notes](./assets/ARTWORK.md).</sub>
|
|
|
|
| 13 |
pipeline_tag: text-generation
|
| 14 |
---
|
| 15 |
|
| 16 |
+
<!-- The Wisp Fieldbook: a native Hugging Face model card. -->
|
| 17 |
+
<div id="wisp-cover" class="group" style="background-color:#f4f1e8;background-image:radial-gradient(#d7d7c7 0.65px,transparent 0.65px);background-size:7px 7px;color:#263f32;border:1px solid #cbd0bf;padding:clamp(22px,4vw,38px);margin:8px 0 24px;">
|
| 18 |
+
<div style="display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;border-bottom:1px solid #aebaa0;padding-bottom:16px;margin-bottom:28px;">
|
| 19 |
+
<h1 id="wisp-coder-110m" style="font-family:Arial,sans-serif;font-size:13px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:#263f32;margin:0;line-height:1.6;">Wisp Coder 110M</h1>
|
| 20 |
+
<span style="font-family:Georgia,serif;font-size:13px;font-style:italic;color:#8e3049;">The Fieldbook / No. 001</span>
|
| 21 |
+
</div>
|
| 22 |
<div style="display:flex;align-items:center;flex-wrap:wrap;gap:20px;">
|
| 23 |
<div style="flex:1 1 250px;min-width:0;">
|
| 24 |
+
<p style="font-size:10px;letter-spacing:1.5px;color:#5d704f;margin:0 0 18px;">CODE Β· CONTEXT Β· CURIOSITY</p>
|
| 25 |
+
<p style="font-family:Georgia,serif;font-size:clamp(52px,6vw,72px);font-weight:400;letter-spacing:-3px;line-height:1;color:#263f32;margin:0 0 24px;">Mind<br><em style="color:#ad3f5a;">the gap.</em></p>
|
| 26 |
+
<p style="font-family:Georgia,serif;font-size:18px;line-height:1.6;color:#3b5041;margin:0 0 24px;">A fieldbook for a small code model.<br>Explore what happens between<br>the lines.</p>
|
| 27 |
+
<a class="motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] hover:scale-[1.01] hover:brightness-[102%] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500" href="https://huggingface.co/spaces/philipjohnbasile/wisp-coder-demo" style="display:inline-block;background:#263f32;color:#fffdf5;padding:13px 19px;text-decoration:none;font-size:14px;font-weight:600;border:1px solid #263f32;box-shadow:4px 4px 0 #ccd4bc;">Enter the playground <span class="motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] group-hover:translate-x-0.5" style="display:inline-block;">β</span></a>
|
| 28 |
+
<p style="font-size:11px;line-height:1.7;color:#50614e;margin:22px 0 0;">An open research experiment<br>by Philip John Basile</p>
|
| 29 |
+
</div>
|
| 30 |
+
<div style="flex:1 1 270px;min-width:0;max-width:100%;padding:12px 8px;">
|
| 31 |
+
<img class="wisp-botanical motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] group-hover:scale-105 group-hover:rotate-6" src="./assets/wisp-wildflowers.png" alt="Original painted wildflowers in pink, coral, cobalt and green. They gently turn when you hover over the cover." style="width:100%;max-width:100%;height:auto;object-fit:contain;margin:0;" />
|
| 32 |
+
<p style="font-family:Georgia,serif;font-style:italic;color:#5d704f;font-size:14px;text-align:right;margin:20px 5px 0;">Small model. Open questions.</p>
|
| 33 |
</div>
|
|
|
|
| 34 |
</div>
|
| 35 |
+
<div style="display:flex;flex-wrap:wrap;gap:14px 25px;border-top:1px solid #aebaa0;margin-top:28px;padding-top:18px;">
|
| 36 |
+
<div><span style="font-family:Georgia,serif;font-size:26px;color:#263f32;">100.7M</span><br><span style="font-size:10px;letter-spacing:1px;color:#50614e;">TRUNK PARAMETERS</span></div>
|
| 37 |
+
<div><span style="font-family:Georgia,serif;font-size:26px;color:#ad3f5a;">108.2M</span><br><span style="font-size:10px;letter-spacing:1px;color:#50614e;">INCLUDING MTP</span></div>
|
| 38 |
+
<div><span style="font-family:Georgia,serif;font-size:26px;color:#263f32;">2,048</span><br><span style="font-size:10px;letter-spacing:1px;color:#50614e;">TOKEN CONTEXT</span></div>
|
| 39 |
</div>
|
| 40 |
</div>
|
| 41 |
|
| 42 |
+
<div style="display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 24px;">
|
| 43 |
+
<a class="motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] hover:scale-[1.01] hover:brightness-[102%] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500" href="#start-here" style="display:inline-block;padding:8px 12px;border:1px solid #aebaa0;background:#f4f1e8;color:#263f32;font-size:12px;text-decoration:none;"><span style="color:#ad3f5a;">01</span> Start here</a>
|
| 44 |
+
<a class="motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] hover:scale-[1.01] hover:brightness-[102%] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500" href="#architecture" style="display:inline-block;padding:8px 12px;border:1px solid #aebaa0;background:#f4f1e8;color:#263f32;font-size:12px;text-decoration:none;"><span style="color:#ad3f5a;">02</span> Architecture</a>
|
| 45 |
+
<a class="motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] hover:scale-[1.01] hover:brightness-[102%] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500" href="#usage" style="display:inline-block;padding:8px 12px;border:1px solid #aebaa0;background:#f4f1e8;color:#263f32;font-size:12px;text-decoration:none;"><span style="color:#ad3f5a;">03</span> Usage</a>
|
| 46 |
+
<a class="motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] hover:scale-[1.01] hover:brightness-[102%] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500" href="#evaluation" style="display:inline-block;padding:8px 12px;border:1px solid #aebaa0;background:#f4f1e8;color:#263f32;font-size:12px;text-decoration:none;"><span style="color:#ad3f5a;">04</span> Evidence</a>
|
| 47 |
+
<a class="motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] hover:scale-[1.01] hover:brightness-[102%] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500" href="#limitations" style="display:inline-block;padding:8px 12px;border:1px solid #aebaa0;background:#f4f1e8;color:#263f32;font-size:12px;text-decoration:none;"><span style="color:#ad3f5a;">05</span> Limits</a>
|
| 48 |
+
</div>
|
| 49 |
|
| 50 |
[Explore the model guide](https://huggingface.co/spaces/philipjohnbasile/local-ai-guide) Β· [All public work](https://huggingface.co/philipjohnbasile)
|
| 51 |
|
|
|
|
| 58 |
[Short-hole evaluation](./fim-competitive-v1/FIM_RESULTS.md) Β·
|
| 59 |
[Selected work](https://huggingface.co/collections/philipjohnbasile/start-here-selected-work-6aa309b179b2a196db52a12b)
|
| 60 |
|
| 61 |
+
<div id="wisp-cursor" style="background:#263f32;color:#f7f2e6;padding:24px;margin:26px 0;border:1px solid #46614a;">
|
| 62 |
+
<p style="font-size:11px;letter-spacing:1.6px;color:#e8bcd0;margin:0 0 9px;">ANATOMY OF A GAP</p>
|
| 63 |
+
<h3 style="font-family:Georgia,serif;font-weight:400;font-size:32px;line-height:1.2;color:#f7f2e6;margin:0 0 12px;">A little room <em style="color:#f3a4b8;">for possibility.</em></h3>
|
| 64 |
+
<p style="font-size:13px;line-height:1.7;color:#dae1cd;margin:0 0 20px;">Open a piece of the prompt to look inside.</p>
|
| 65 |
+
<div style="display:flex;align-items:flex-start;flex-wrap:wrap;gap:10px;">
|
| 66 |
+
<details id="wisp-prefix" name="wisp-prompt" class="group motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] hover:scale-[1.01] hover:brightness-[102%]" style="flex:1 1 150px;min-width:0;border:1px solid #80917a;background:#2b4436;color:#f7f2e6;">
|
| 67 |
+
<summary class="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500" style="cursor:pointer;list-style:none;padding:16px;">
|
| 68 |
+
<span style="display:block;font-size:10px;letter-spacing:1px;color:#dae1cd;margin:0 0 10px;">YOU PROVIDE</span>
|
| 69 |
+
<span style="display:flex;align-items:center;justify-content:space-between;font-family:Georgia,serif;font-size:24px;color:#f7f2e6;margin:0 0 6px;">Prefix<span class="motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] group-open:rotate-180" style="display:inline-block;font-family:Arial,sans-serif;font-size:18px;">β</span></span>
|
| 70 |
+
<span style="display:block;font-size:13px;line-height:1.6;color:#dae1cd;">Code before the gap</span>
|
| 71 |
+
</summary>
|
| 72 |
+
<div style="border-top:1px dashed #80917a;padding:16px;"><p style="font-size:13px;line-height:1.7;color:#f7f2e6;margin:0 0 12px;">The source context before the missing span.</p><code style="display:block;overflow-wrap:anywhere;white-space:normal;background:#203328;color:#f7f2e6;font-size:11px;padding:7px;"><|fim_prefix|></code></div>
|
| 73 |
+
</details>
|
| 74 |
+
<details id="wisp-middle" name="wisp-prompt" class="group motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] hover:scale-[1.01] hover:brightness-[102%]" style="flex:1 1 150px;min-width:0;border:1px solid #ad6d80;background:#f1aec0;color:#49252e;">
|
| 75 |
+
<summary class="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500" style="cursor:pointer;list-style:none;padding:16px;">
|
| 76 |
+
<span style="display:block;font-size:10px;letter-spacing:1px;color:#592d39;margin:0 0 10px;">WISP SUGGESTS</span>
|
| 77 |
+
<span style="display:flex;align-items:center;justify-content:space-between;font-family:Georgia,serif;font-size:24px;color:#49252e;margin:0 0 6px;">Middle<span class="motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] group-open:rotate-180" style="display:inline-block;font-family:Arial,sans-serif;font-size:18px;">β</span></span>
|
| 78 |
+
<span style="display:block;font-size:13px;line-height:1.6;color:#592d39;">The missing span</span>
|
| 79 |
+
</summary>
|
| 80 |
+
<div style="border-top:1px dashed #ad6d80;padding:16px;"><p style="font-size:13px;line-height:1.7;color:#49252e;margin:0 0 12px;">The model predicts this span using both sides of the gap. Review its suggestion before use.</p><code style="display:block;overflow-wrap:anywhere;white-space:normal;background:#f8d5df;color:#49252e;font-size:11px;padding:7px;"><|fim_middle|></code></div>
|
| 81 |
+
</details>
|
| 82 |
+
<details id="wisp-suffix" name="wisp-prompt" class="group motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] hover:scale-[1.01] hover:brightness-[102%]" style="flex:1 1 150px;min-width:0;border:1px solid #80917a;background:#2b4436;color:#f7f2e6;">
|
| 83 |
+
<summary class="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500" style="cursor:pointer;list-style:none;padding:16px;">
|
| 84 |
+
<span style="display:block;font-size:10px;letter-spacing:1px;color:#dae1cd;margin:0 0 10px;">YOU PROVIDE</span>
|
| 85 |
+
<span style="display:flex;align-items:center;justify-content:space-between;font-family:Georgia,serif;font-size:24px;color:#f7f2e6;margin:0 0 6px;">Suffix<span class="motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] group-open:rotate-180" style="display:inline-block;font-family:Arial,sans-serif;font-size:18px;">β</span></span>
|
| 86 |
+
<span style="display:block;font-size:13px;line-height:1.6;color:#dae1cd;">Code after the gap</span>
|
| 87 |
+
</summary>
|
| 88 |
+
<div style="border-top:1px dashed #80917a;padding:16px;"><p style="font-size:13px;line-height:1.7;color:#f7f2e6;margin:0 0 12px;">The source context after the missing span. In PSM prompt order, this comes before the generated middle.</p><code style="display:block;overflow-wrap:anywhere;white-space:normal;background:#203328;color:#f7f2e6;font-size:11px;padding:7px;"><|fim_suffix|></code></div>
|
| 89 |
+
</details>
|
| 90 |
</div>
|
| 91 |
<p style="font-size:13px;line-height:1.7;color:#dae1cd;margin:18px 0 0;">Provide the code on both sides of a gap. Wisp predicts the middle. <a href="https://huggingface.co/spaces/philipjohnbasile/wisp-coder-demo" style="color:#f3b7ca;text-decoration:underline;">Explore it in the playground β</a></p>
|
| 92 |
</div>
|
| 93 |
|
| 94 |
+
<p style="font-size:12px;letter-spacing:1px;margin:26px 0 14px;">THE SPECIMEN NOTES / OPEN A CARD TO EXPLORE</p>
|
| 95 |
+
<div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));align-items:start;gap:14px;margin:0 0 30px;">
|
| 96 |
+
<details id="wisp-note-1" class="group motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] hover:scale-[1.01] hover:brightness-[102%]" style="background:#f4f1e8;border:1px solid #cbd0bf;color:#263f32;box-shadow:3px 3px 0 rgba(132,150,111,0.16);">
|
| 97 |
+
<summary class="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500" style="cursor:pointer;list-style:none;padding:22px;">
|
| 98 |
+
<span style="display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1.6px;color:#8e3049;margin:0 0 12px;">PURPOSE<span class="motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] group-open:rotate-180" style="font-size:17px;display:inline-block;">β</span></span>
|
| 99 |
+
<span style="display:block;font-family:Georgia,serif;font-size:24px;font-weight:400;line-height:1.2;color:#263f32;">What is it for?</span>
|
| 100 |
+
</summary>
|
| 101 |
+
<div style="padding:0 22px 22px;"><p style="font-size:14px;line-height:1.7;color:#354b3b;margin:0;border-top:1px dashed #aebaa0;padding-top:15px;">Research on code completion, fill-in-the-middle (FIM), and native multi-token prediction (MTP).</p></div>
|
| 102 |
+
</details>
|
| 103 |
+
<details id="wisp-note-2" class="group motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] hover:scale-[1.01] hover:brightness-[102%]" style="background:#ecefdf;border:1px solid #cbd0bf;color:#263f32;box-shadow:3px 3px 0 rgba(132,150,111,0.16);">
|
| 104 |
+
<summary class="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500" style="cursor:pointer;list-style:none;padding:22px;">
|
| 105 |
+
<span style="display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1.6px;color:#8e3049;margin:0 0 12px;">FROM STEP ZERO<span class="motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] group-open:rotate-180" style="font-size:17px;display:inline-block;">β</span></span>
|
| 106 |
+
<span style="display:block;font-family:Georgia,serif;font-size:24px;font-weight:400;line-height:1.2;color:#263f32;">What did I build?</span>
|
| 107 |
+
</summary>
|
| 108 |
+
<div style="padding:0 22px 22px;"><p style="font-size:14px;line-height:1.7;color:#354b3b;margin:0;border-top:1px dashed #aebaa0;padding-top:15px;">Philip John Basile's model trained from step zero: 100.7M trunk parameters, 108.2M including the MTP module.</p></div>
|
| 109 |
+
</details>
|
| 110 |
+
<details id="wisp-note-3" class="group motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] hover:scale-[1.01] hover:brightness-[102%]" style="background:#f4f1e8;border:1px solid #cbd0bf;color:#263f32;box-shadow:3px 3px 0 rgba(132,150,111,0.16);">
|
| 111 |
+
<summary class="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500" style="cursor:pointer;list-style:none;padding:22px;">
|
| 112 |
+
<span style="display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1.6px;color:#8e3049;margin:0 0 12px;">RUNTIME<span class="motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] group-open:rotate-180" style="font-size:17px;display:inline-block;">β</span></span>
|
| 113 |
+
<span style="display:block;font-family:Georgia,serif;font-size:24px;font-weight:400;line-height:1.2;color:#263f32;">What runs it?</span>
|
| 114 |
+
</summary>
|
| 115 |
+
<div style="padding:0 22px 22px;"><p style="font-size:14px;line-height:1.7;color:#354b3b;margin:0;border-top:1px dashed #aebaa0;padding-top:15px;">The trunk uses standard Transformers or MLX-LM. MTP requires the explicit packaged MLX reference runtime; generic loaders do not activate the sidecar.</p></div>
|
| 116 |
+
</details>
|
| 117 |
+
<details id="wisp-note-4" class="group motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] hover:scale-[1.01] hover:brightness-[102%]" style="background:#f4f1e8;border:1px solid #cbd0bf;color:#263f32;box-shadow:3px 3px 0 rgba(132,150,111,0.16);">
|
| 118 |
+
<summary class="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500" style="cursor:pointer;list-style:none;padding:22px;">
|
| 119 |
+
<span style="display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1.6px;color:#8e3049;margin:0 0 12px;">RECENT CHECK<span class="motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] group-open:rotate-180" style="font-size:17px;display:inline-block;">β</span></span>
|
| 120 |
+
<span style="display:block;font-family:Georgia,serif;font-size:24px;font-weight:400;line-height:1.2;color:#263f32;">What was checked recently?</span>
|
| 121 |
+
</summary>
|
| 122 |
+
<div style="padding:0 22px 22px;"><p style="font-size:14px;line-height:1.7;color:#354b3b;margin:0;border-top:1px dashed #aebaa0;padding-top:15px;">CPU float32 completions with PyTorch 2.13.0 and Transformers 5.14.1 on 2026-09-10. These are functional smokes, not a coding-quality or latency benchmark.</p></div>
|
| 123 |
+
</details>
|
| 124 |
+
<details id="wisp-note-5" class="group motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] hover:scale-[1.01] hover:brightness-[102%]" style="background:#ecefdf;border:1px solid #cbd0bf;color:#263f32;box-shadow:3px 3px 0 rgba(132,150,111,0.16);">
|
| 125 |
+
<summary class="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500" style="cursor:pointer;list-style:none;padding:22px;">
|
| 126 |
+
<span style="display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1.6px;color:#8e3049;margin:0 0 12px;">WEIGHT SIZE<span class="motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] group-open:rotate-180" style="font-size:17px;display:inline-block;">β</span></span>
|
| 127 |
+
<span style="display:block;font-family:Georgia,serif;font-size:24px;font-weight:400;line-height:1.2;color:#263f32;">How much memory?</span>
|
| 128 |
+
</summary>
|
| 129 |
+
<div style="padding:0 22px 22px;"><p style="font-size:14px;line-height:1.7;color:#354b3b;margin:0;border-top:1px dashed #aebaa0;padding-top:15px;">Trunk weight file: about 201 MB in BF16, or about 403 MB as FP32 tensors. Runtime overhead and the KV cache require additional RAM; these are weight sizes, not total-memory requirements.</p></div>
|
| 130 |
+
</details>
|
| 131 |
+
<details id="wisp-note-6" class="group motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] hover:scale-[1.01] hover:brightness-[102%]" open style="background:#f6e8e8;border:1px solid #cbd0bf;color:#263f32;box-shadow:3px 3px 0 rgba(132,150,111,0.16);">
|
| 132 |
+
<summary class="focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500" style="cursor:pointer;list-style:none;padding:22px;">
|
| 133 |
+
<span style="display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1.6px;color:#8e3049;margin:0 0 12px;">RESEARCH SCOPE<span class="motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] group-open:rotate-180" style="font-size:17px;display:inline-block;">β</span></span>
|
| 134 |
+
<span style="display:block;font-family:Georgia,serif;font-size:24px;font-weight:400;line-height:1.2;color:#263f32;">What are the limits?</span>
|
| 135 |
+
</summary>
|
| 136 |
+
<div style="padding:0 22px 22px;"><p style="font-size:14px;line-height:1.7;color:#354b3b;margin:0;border-top:1px dashed #aebaa0;padding-top:15px;">2,048-token context; limited completion quality; no chat tuning. The registered short-hole comparison established no superiority, and no production MTP speedup is claimed.</p></div>
|
| 137 |
+
</details>
|
| 138 |
</div>
|
| 139 |
|
| 140 |
### Quick start β ordinary completion on CPU
|
| 141 |
|
| 142 |
+
<details class="group" open style="border:1px solid #829471;margin:20px 0;padding:0;">
|
| 143 |
+
<summary class="motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] hover:scale-[1.01] hover:brightness-[102%] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500" style="cursor:pointer;padding:16px 20px;background:#ecefdf;color:#263f32;font-family:Georgia,serif;font-size:20px;">Run an ordinary completion on CPU</summary>
|
| 144 |
+
<div style="padding:4px 20px 16px;">
|
| 145 |
+
|
| 146 |
```bash
|
| 147 |
pip install "torch==2.13.0" "transformers==5.14.1"
|
| 148 |
```
|
|
|
|
| 164 |
print(tokenizer.decode(output[0], skip_special_tokens=True))
|
| 165 |
```
|
| 166 |
|
| 167 |
+
</div>
|
| 168 |
+
</details>
|
| 169 |
+
|
| 170 |
Review generated code before using it. The demo also provides FIM prompts and displays raw suggestions without executing them. The full training, data-provenance, and evaluation disclosures follow.
|
| 171 |
|
| 172 |
### The idea
|
|
|
|
| 218 |
<h2 id="architecture" style="font-family:Georgia,serif;font-size:30px;line-height:1.2;font-weight:400;letter-spacing:-0.6px;color:#263f32;margin:0;padding:0;border:0;">Architecture</h2>
|
| 219 |
</div>
|
| 220 |
|
| 221 |
+
<div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:14px;margin:24px 0;">
|
| 222 |
+
<a class="motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] hover:scale-[1.01] hover:brightness-[102%] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500" href="https://huggingface.co/philipjohnbasile/wisp-coder-110m/blob/main/config.json" style="display:block;background:#ecefdf;border:1px solid #aebaa0;padding:22px;color:#263f32;text-decoration:none;">
|
| 223 |
+
<span style="display:block;font-size:10px;letter-spacing:1.4px;color:#50614e;margin-bottom:12px;">ROUTE A / THE TRUNK</span><span style="display:block;font-family:Georgia,serif;font-size:27px;line-height:1.2;color:#263f32;margin-bottom:12px;">An ordinary Llama decoder.</span><span style="display:block;font-size:13px;line-height:1.7;color:#354b3b;">100.7M parameters. Standard Transformers and MLX-LM loading.</span><span style="display:block;font-size:12px;color:#8e3049;margin-top:16px;">Inspect the configuration β</span>
|
| 224 |
+
</a>
|
| 225 |
+
<a class="motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] hover:scale-[1.01] hover:brightness-[102%] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500" href="https://huggingface.co/philipjohnbasile/wisp-coder-110m/blob/main/wisp_mtp_reference.py" style="display:block;background:#f6e8e8;border:1px solid #c79eaa;padding:22px;color:#263f32;text-decoration:none;">
|
| 226 |
+
<span style="display:block;font-size:10px;letter-spacing:1.4px;color:#8e3049;margin-bottom:12px;">ROUTE B / NATIVE MTP</span><span style="display:block;font-family:Georgia,serif;font-size:27px;line-height:1.2;color:#263f32;margin-bottom:12px;">A shared drafting module.</span><span style="display:block;font-size:13px;line-height:1.7;color:#354b3b;">108.2M parameters with the sidecar. Use the explicit MLX correctness runtime.</span><span style="display:block;font-size:12px;color:#8e3049;margin-top:16px;">Read the reference runtime β</span>
|
| 227 |
+
</a>
|
| 228 |
+
</div>
|
| 229 |
+
<p style="font-size:13px;"><a href="https://huggingface.co/philipjohnbasile/wisp-coder-110m/blob/main/export_manifest.json">Export manifest β</a> Β· <a href="https://huggingface.co/philipjohnbasile/wisp-coder-110m/blob/main/mtp_config.json">MTP configuration β</a></p>
|
| 230 |
+
|
| 231 |
| | |
|
| 232 |
|---|---|
|
| 233 |
| Parameters | 108.2M total, 100.7M trunk |
|
|
|
|
| 265 |
Common Crawl terms. Run 1 retained no row-level source manifest, so no per-file
|
| 266 |
licensing or attribution guarantee is made.
|
| 267 |
|
| 268 |
+
<details class="group" style="border:1px solid #829471;margin:20px 0;padding:0;">
|
| 269 |
+
<summary class="motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] hover:scale-[1.01] hover:brightness-[102%] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500" style="cursor:pointer;padding:16px 20px;background:#ecefdf;color:#263f32;font-family:Georgia,serif;font-size:20px;">Open the training-data provenance notes</summary>
|
| 270 |
+
<div style="padding:4px 20px 16px;">
|
| 271 |
+
|
| 272 |
Every run 1 document received structural size, line-length, and character
|
| 273 |
distribution filters. Because the loader expected `path` instead of
|
| 274 |
StarCoderData's `max_stars_repo_path`, Python AST and JSON extension filtering
|
|
|
|
| 282 |
Current shard bytes are fully attested after the build, but the receipt is not a
|
| 283 |
raw-row manifest and cannot prove exact original example boundaries.
|
| 284 |
|
| 285 |
+
</div>
|
| 286 |
+
</details>
|
| 287 |
+
|
| 288 |
The Apache 2.0 metadata describes the released Wisp artifact. It does not
|
| 289 |
override training-source terms or licenses applicable to generated code.
|
| 290 |
|
|
|
|
| 345 |
</div>
|
| 346 |
|
| 347 |
<div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px;margin:0 0 24px;">
|
| 348 |
+
<div class="motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] hover:scale-[1.01] hover:brightness-[102%]" style="padding:18px;background:#ecefdf;border-top:3px solid #74845c;color:#263f32;"><p style="font-size:10px;letter-spacing:1px;color:#4a603d;margin:0 0 9px;">FUNCTIONAL CHECKS</p><p style="font-family:Georgia,serif;font-size:23px;line-height:1.2;color:#263f32;margin:0 0 10px;">CPU completions.</p><p style="font-size:13px;line-height:1.7;color:#354b3b;margin:0;">CPU completion smokes are documented above. They do not measure coding quality or latency.</p></div>
|
| 349 |
+
<div class="motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] hover:scale-[1.01] hover:brightness-[102%]" style="padding:18px;background:#f4f1e8;border-top:3px solid #ad3f5a;color:#263f32;"><p style="font-size:10px;letter-spacing:1px;color:#8e3049;margin:0 0 9px;">SHORT-HOLE COMPARISON</p><p style="font-family:Georgia,serif;font-size:23px;line-height:1.2;color:#263f32;margin:0 0 10px;">No superiority.</p><p style="font-size:13px;line-height:1.7;color:#354b3b;margin:0;">No superiority was established. <a href="https://huggingface.co/philipjohnbasile/wisp-coder-110m/blob/main/fim-competitive-v1/FIM_RESULTS.md" style="color:#8e3049;">Read the comparison β</a></p></div>
|
| 350 |
+
<div class="motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] hover:scale-[1.01] hover:brightness-[102%]" style="padding:18px;background:#f6e8e8;border-top:3px solid #ad3f5a;color:#263f32;"><p style="font-size:10px;letter-spacing:1px;color:#8e3049;margin:0 0 9px;">MTP RUNTIME</p><p style="font-family:Georgia,serif;font-size:23px;line-height:1.2;color:#263f32;margin:0 0 10px;">Speed is open.</p><p style="font-size:13px;line-height:1.7;color:#354b3b;margin:0;">No production MTP speedup is claimed. The packaged MLX runtime checks correctness.</p></div>
|
| 351 |
</div>
|
| 352 |
|
| 353 |
### Registered final results
|
| 354 |
|
| 355 |
+
<details class="group" open style="border:1px solid #829471;margin:20px 0;padding:0;">
|
| 356 |
+
<summary class="motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] hover:scale-[1.01] hover:brightness-[102%] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500" style="cursor:pointer;padding:16px 20px;background:#ecefdf;color:#263f32;font-family:Georgia,serif;font-size:20px;">Open the complete registered results</summary>
|
| 357 |
+
<div style="padding:4px 20px 16px;">
|
| 358 |
+
|
| 359 |
| Measurement | Result |
|
| 360 |
|---|---|
|
| 361 |
| Final validation main NLL | 1.3873 [1.3428, 1.4335], perplexity 4.00 |
|
|
|
|
| 374 |
| Branch-local greedy replay | Exact argmax for all 38400 emitted tokens across 600 scored policy-document rollouts |
|
| 375 |
| Cross-policy output identity | Identical realized output branches for all 100 calibration/test documents across compared policies |
|
| 376 |
|
| 377 |
+
</div>
|
| 378 |
+
</details>
|
| 379 |
+
|
| 380 |
Validation intervals measure Monte Carlo uncertainty from the frozen random-window sampler. Acceptance and rollout intervals resample paired target documents. They do not measure training-run or model uncertainty. Null and negative outcomes are retained rather than filtered from the release.
|
| 381 |
|
| 382 |
+
<details class="group" style="border:1px solid #829471;margin:20px 0;padding:0;">
|
| 383 |
+
<summary class="motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] hover:scale-[1.01] hover:brightness-[102%] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500" style="cursor:pointer;padding:16px 20px;background:#ecefdf;color:#263f32;font-family:Georgia,serif;font-size:20px;">Read the sampler, replay and provenance notes</summary>
|
| 384 |
+
<div style="padding:4px 20px 16px;">
|
| 385 |
+
|
| 386 |
Rollout endpoint scope: The primary endpoint measures accepted drafts per verification. It does not establish verification-width cost or deployment latency. Draft recursions per output token is the registered drafter-work companion; issued drafts per output token is retained only as an issuance proxy. Target forwards exclude the added post-hoc branch-replay forward and independent verification pass.
|
| 387 |
|
| 388 |
Independent replay provenance scope: Unsigned local attestation bound to a pushed pre-execution receipt commit and the registered source, inputs, checkpoint, and argv; it is not a signed external or trusted-execution witness.
|
|
|
|
| 391 |
|
| 392 |
Format-ablation runtime limitation: Run 1 did not record source-file hashes or sampler state in its pre-fix checkpoints. A post-build receipt now hashes all 52 current shard files and binds deterministic visible-grammar normalization, but it does not prove that the bytes were unchanged since training began or recover exact original units. The step-300 process recovery reset the legacy sampler, causing 78,643,200 scheduled token positions, 1.57 percent of the training budget, to replay earlier random windows. sampler_reset_steps [300] matches that reset timing in both arms. Later checkpoints preserve exact sampler RNG state. Exact sampled-example equivalence still cannot be proven.
|
| 393 |
|
| 394 |
+
</div>
|
| 395 |
+
</details>
|
| 396 |
+
|
| 397 |
One control worth repeating here, because acceptance rate is easy to report
|
| 398 |
dishonestly: **an initialized model scored higher acceptance than a trained one
|
| 399 |
in the E0 instrument pilot** (0.482 against 0.331 for a model deliberately
|
|
|
|
| 444 |
```
|
| 445 |
|
| 446 |
|
| 447 |
+
<div class="group" style="background:#f4f1e8;border-top:1px solid #cbd0bf;margin-top:36px;padding:24px;display:flex;align-items:center;flex-wrap:wrap;gap:18px;color:#263f32;">
|
| 448 |
+
<img class="motion-safe:transition-transform motion-safe:duration-[400ms] motion-safe:[transition-timing-function:ease] group-hover:scale-105 group-hover:-rotate-6" src="./assets/wisp-wildflowers.png" alt="" style="flex:0 1 180px;width:180px;max-width:100%;height:auto;object-fit:contain;margin:0;" />
|
| 449 |
<div style="flex:1 1 210px;min-width:0;">
|
| 450 |
<p style="font-size:11px;letter-spacing:1.5px;color:#50614e;margin:0 0 8px;">SMALL MODEL. OPEN QUESTIONS.</p>
|
| 451 |
<p style="font-family:Georgia,serif;font-size:42px;letter-spacing:-2px;line-height:1.15;color:#263f32;margin:0 0 12px;">Stay <em style="color:#ad3f5a;">curious.</em></p>
|
|
|
|
| 453 |
</div>
|
| 454 |
</div>
|
| 455 |
|
| 456 |
+
<sub>The Wisp Fieldbook. Original AI-generated floral artwork shared with the Wisp demo. [Artwork notes](./assets/ARTWORK.md).</sub>
|