Instructions to use logic65/whittle-dev with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use logic65/whittle-dev with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf logic65/whittle-dev:Q8_0 # Run inference directly in the terminal: llama cli -hf logic65/whittle-dev:Q8_0
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf logic65/whittle-dev:Q8_0 # Run inference directly in the terminal: llama cli -hf logic65/whittle-dev:Q8_0
Build from source code
git clone https://github.com/ggml-org/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-app # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama serve -hf logic65/whittle-dev:Q8_0 # Run inference directly in the terminal: ./build/bin/llama cli -hf logic65/whittle-dev:Q8_0
Use Docker
docker model run hf.co/logic65/whittle-dev:Q8_0
- Llama new
- LM Studio
- Jan
- Ollama
How to use logic65/whittle-dev with Ollama:
ollama run hf.co/logic65/whittle-dev:Q8_0
- Unsloth Desktop
- Pi
How to use logic65/whittle-dev with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf logic65/whittle-dev:Q8_0
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "logic65/whittle-dev:Q8_0" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use logic65/whittle-dev with Docker Model Runner:
docker model run hf.co/logic65/whittle-dev:Q8_0
- Lemonade
How to use logic65/whittle-dev with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull logic65/whittle-dev:Q8_0
Run and chat with the model
lemonade run user.whittle-dev-Q8_0
List all available models
lemonade list
- Hermes Agent
How to use logic65/whittle-dev with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf logic65/whittle-dev:Q8_0
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default logic65/whittle-dev:Q8_0
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use logic65/whittle-dev with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf logic65/whittle-dev:Q8_0
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "logic65/whittle-dev:Q8_0" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
colab2 final (c2s2200): CE curve + teacher parity logs
Browse files
colab2/eval/colab2_ce_curve.txt
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[10:39:32 + 15.5m] held-out CE @ 200: SFT 1.2103 (start 1.2332) | OOD 2.1123 (start 2.1218)
|
| 2 |
+
[10:53:00 + 29.0m] held-out CE @ 400: SFT 1.2084 (start 1.2332) | OOD 2.1153 (start 2.1218)
|
| 3 |
+
[11:06:36 + 42.6m] held-out CE @ 600: SFT 1.2074 (start 1.2332) | OOD 2.1141 (start 2.1218)
|
| 4 |
+
[11:18:25 + 54.4m] held-out CE @ 800: SFT 1.2017 (start 1.2332) | OOD 2.1103 (start 2.1218)
|
| 5 |
+
[11:31:08 + 67.2m] held-out CE @ 1000: SFT 1.2015 (start 1.2332) | OOD 2.1052 (start 2.1218)
|
| 6 |
+
[11:44:01 + 80.0m] held-out CE @ 1200: SFT 1.2005 (start 1.2332) | OOD 2.1059 (start 2.1218)
|
| 7 |
+
[11:57:07 + 93.1m] held-out CE @ 1400: SFT 1.1987 (start 1.2332) | OOD 2.1061 (start 2.1218)
|
| 8 |
+
[12:09:22 +105.4m] held-out CE @ 1600: SFT 1.1939 (start 1.2332) | OOD 2.1030 (start 2.1218)
|
| 9 |
+
[12:22:28 +118.5m] held-out CE @ 1800: SFT 1.1941 (start 1.2332) | OOD 2.1071 (start 2.1218)
|
| 10 |
+
[12:35:30 +131.5m] held-out CE @ 2000: SFT 1.1978 (start 1.2332) | OOD 2.1104 (start 2.1218)
|
| 11 |
+
[12:48:54 +144.9m] held-out CE @ 2200: SFT 1.2008 (start 1.2332) | OOD 2.1082 (start 2.1218)
|
| 12 |
+
[12:49:55 +145.9m] TIME BUDGET: stopping at step 2201
|
colab2/eval/export_c2s2200.log
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
merged LoRA/shared into 330 tensors
|
| 2 |
+
carried 612 tensors from /content/work/train/base-sigmoid, folded 81 norms into HC
|
| 3 |
+
TBL_SNAP: 7,025 of 5,859,840 non-zero rows (|row| < 0.01) exported as exact zeros
|
| 4 |
+
PLE: 8 heads x ~976,640 rows x 256 = 2.00B params in 2 shards, width 2048 into hidden 2048, injected at layer 2
|
| 5 |
+
EXPORT_DONE /content/work/export_c2s2200 tensors=976 shards=13 gate=sigmoid ple_layer=2
|
| 6 |
+
/content/work/kit/code/wt/export_next36.py:93: UserWarning: The given NumPy array is not writable, and PyTorch does not support non-writable tensors. This means writing to this tensor will result in undefined behavior. You may want to copy the array to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /pytorch/torch/csrc/utils/tensor_numpy.cpp:213.)
|
| 7 |
+
t = torch.from_numpy(np.ascontiguousarray(a))
|
colab2/eval/lw_c2s2200_held.log
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[ 0s] batch (8, 512) from teacher_L59_L63_n400.npz rows 0..8 | pairs [(35, 59), (39, 63)]
|
| 2 |
+
[ 0s] indexer budget 262,144 -> 512 for this 512-token probe (same visible tokens)
|
| 3 |
+
[ 0s] c2s2200_held: 40 layers, hidden 2048, hc_count 4, attention at [3, 7, 11, 15, 19, 23, 27, 31, 35, 39]
|
| 4 |
+
[ 9s] streams (8, 512, 8192) | masks + rope built
|
| 5 |
+
[ 13s] .. layer 0 done
|
| 6 |
+
[ 14s] layer 1: n-gram memory streamed 7,813,120 rows into (7813760, 256) on cuda
|
| 7 |
+
[ 41s] .. layer 8 done
|
| 8 |
+
[ 62s] .. layer 16 done
|
| 9 |
+
[ 90s] .. layer 24 done
|
| 10 |
+
[ 111s] .. layer 32 done
|
| 11 |
+
[ 116s] c2s2200_held S35 <- T59: top-1 agree 20.2% | dprob 0.330 | teacher-mass 48.7% | student-mass 52.3% (3,840 positions)
|
| 12 |
+
[ 121s] c2s2200_held S39 <- T63: top-1 agree 87.3% | dprob 0.082 | teacher-mass 97.2% | student-mass 97.6% (3,840 positions)
|
| 13 |
+
[ 121s] LW_EVAL DONE c2s2200_held: S35<-T59 agree 20.2% mass 48.7% | S39<-T63 agree 87.3% mass 97.2%
|
colab2/eval/lw_c2s2200_train.log
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[ 0s] batch (8, 512) from teacher_L59_L63.npz rows 0..8 | pairs [(35, 59), (39, 63)]
|
| 2 |
+
[ 0s] indexer budget 262,144 -> 512 for this 512-token probe (same visible tokens)
|
| 3 |
+
[ 0s] c2s2200_train: 40 layers, hidden 2048, hc_count 4, attention at [3, 7, 11, 15, 19, 23, 27, 31, 35, 39]
|
| 4 |
+
[ 1s] streams (8, 512, 8192) | masks + rope built
|
| 5 |
+
[ 1s] .. layer 0 done
|
| 6 |
+
[ 2s] layer 1: n-gram memory streamed 7,813,120 rows into (7813760, 256) on cuda
|
| 7 |
+
[ 5s] .. layer 8 done
|
| 8 |
+
[ 8s] .. layer 16 done
|
| 9 |
+
[ 11s] .. layer 24 done
|
| 10 |
+
[ 14s] .. layer 32 done
|
| 11 |
+
[ 19s] c2s2200_train S35 <- T59: top-1 agree 19.4% | dprob 0.376 | teacher-mass 50.6% | student-mass 54.0% (3,840 positions)
|
| 12 |
+
[ 23s] c2s2200_train S39 <- T63: top-1 agree 82.9% | dprob 0.102 | teacher-mass 97.0% | student-mass 97.2% (3,840 positions)
|
| 13 |
+
[ 23s] LW_EVAL DONE c2s2200_train: S35<-T59 agree 19.4% mass 50.6% | S39<-T63 agree 82.9% mass 97.0%
|
colab2/eval/lw_eval_c2s2200_held.json
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"tag": "c2s2200_held",
|
| 3 |
+
"pairs": [
|
| 4 |
+
[
|
| 5 |
+
35,
|
| 6 |
+
59
|
| 7 |
+
],
|
| 8 |
+
[
|
| 9 |
+
39,
|
| 10 |
+
63
|
| 11 |
+
]
|
| 12 |
+
],
|
| 13 |
+
"cache": "/content/work/probe/teacher_L59_L63_n400.npz",
|
| 14 |
+
"row0": 0,
|
| 15 |
+
"nseq": 8,
|
| 16 |
+
"seqlen": 512,
|
| 17 |
+
"topk": 32,
|
| 18 |
+
"positions": 480,
|
| 19 |
+
"model_dir": "/content/work/export_c2s2200",
|
| 20 |
+
"results": [
|
| 21 |
+
{
|
| 22 |
+
"student": 35,
|
| 23 |
+
"teacher": 59,
|
| 24 |
+
"agree": 0.20234375,
|
| 25 |
+
"dprob": 0.33010420203208923,
|
| 26 |
+
"teacher_mass": 0.48682305216789246,
|
| 27 |
+
"student_mass": 0.5229164958000183
|
| 28 |
+
},
|
| 29 |
+
{
|
| 30 |
+
"student": 39,
|
| 31 |
+
"teacher": 63,
|
| 32 |
+
"agree": 0.87265625,
|
| 33 |
+
"dprob": 0.08171550184488297,
|
| 34 |
+
"teacher_mass": 0.9717335104942322,
|
| 35 |
+
"student_mass": 0.9761016368865967
|
| 36 |
+
}
|
| 37 |
+
]
|
| 38 |
+
}
|
colab2/eval/lw_eval_c2s2200_train.json
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"tag": "c2s2200_train",
|
| 3 |
+
"pairs": [
|
| 4 |
+
[
|
| 5 |
+
35,
|
| 6 |
+
59
|
| 7 |
+
],
|
| 8 |
+
[
|
| 9 |
+
39,
|
| 10 |
+
63
|
| 11 |
+
]
|
| 12 |
+
],
|
| 13 |
+
"cache": "/content/work/probe/teacher_L59_L63.npz",
|
| 14 |
+
"row0": 0,
|
| 15 |
+
"nseq": 8,
|
| 16 |
+
"seqlen": 512,
|
| 17 |
+
"topk": 32,
|
| 18 |
+
"positions": 480,
|
| 19 |
+
"model_dir": "/content/work/export_c2s2200",
|
| 20 |
+
"results": [
|
| 21 |
+
{
|
| 22 |
+
"student": 35,
|
| 23 |
+
"teacher": 59,
|
| 24 |
+
"agree": 0.19375,
|
| 25 |
+
"dprob": 0.3762657344341278,
|
| 26 |
+
"teacher_mass": 0.505649745464325,
|
| 27 |
+
"student_mass": 0.5401917695999146
|
| 28 |
+
},
|
| 29 |
+
{
|
| 30 |
+
"student": 39,
|
| 31 |
+
"teacher": 63,
|
| 32 |
+
"agree": 0.82890625,
|
| 33 |
+
"dprob": 0.1018216460943222,
|
| 34 |
+
"teacher_mass": 0.969525158405304,
|
| 35 |
+
"student_mass": 0.9718742966651917
|
| 36 |
+
}
|
| 37 |
+
]
|
| 38 |
+
}
|