Instructions to use caiotheodoro/plumb-handseeded with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use caiotheodoro/plumb-handseeded 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("caiotheodoro/plumb-handseeded") prompt = "Once upon a time in" text = generate(model, tokenizer, prompt=prompt, verbose=True) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- MLX LM
How to use caiotheodoro/plumb-handseeded with MLX LM:
Generate or start a chat session
# Install MLX LM uv tool install mlx-lm # Generate some text mlx_lm.generate --model "caiotheodoro/plumb-handseeded" --prompt "Once upon a time"
- Atomic Chat
Upload folder using huggingface_hub
Browse files- README.md +46 -0
- adapter_config.json +41 -0
- adapters.safetensors +3 -0
- train_summary.json +10 -0
README.md
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: apache-2.0
|
| 3 |
+
base_model: mlx-community/Qwen3-1.7B-4bit
|
| 4 |
+
base_model_relation: adapter
|
| 5 |
+
library_name: mlx
|
| 6 |
+
pipeline_tag: text-generation
|
| 7 |
+
datasets:
|
| 8 |
+
- caiotheodoro/plumb
|
| 9 |
+
tags:
|
| 10 |
+
- mlx
|
| 11 |
+
- lora
|
| 12 |
+
- construction
|
| 13 |
+
- pay-application
|
| 14 |
+
- curriculum
|
| 15 |
+
---
|
| 16 |
+
|
| 17 |
+
# plumb-handseeded
|
| 18 |
+
|
| 19 |
+
1.7B MLX LoRA trained on the **hand-seeded** Path A curriculum (223 tasks, distribution-matched). Same oracle and seed-777 eval as the Ornith and blend adapters. Only the training mix changes.
|
| 20 |
+
|
| 21 |
+
| | |
|
| 22 |
+
|---|---|
|
| 23 |
+
| Base | [`mlx-community/Qwen3-1.7B-4bit`](https://huggingface.co/mlx-community/Qwen3-1.7B-4bit) |
|
| 24 |
+
| Train | 190 / 8 epochs / val loss 0.486 / ~3.3GB on an M5 |
|
| 25 |
+
| Gold | [`caiotheodoro/plumb`](https://huggingface.co/datasets/caiotheodoro/plumb) `train_handseeded` |
|
| 26 |
+
| Code | [caiotheodoro/plumb](https://github.com/caiotheodoro/plumb) |
|
| 27 |
+
|
| 28 |
+
## Result (n=1000, seed-777)
|
| 29 |
+
|
| 30 |
+
| | sw-recall | precision | exact | parse |
|
| 31 |
+
|---|---|---|---|---|
|
| 32 |
+
| **this adapter** | **0.318 [0.290, 0.347]** | 0.308 [0.279, 0.337] | 0.178 | 1.000 |
|
| 33 |
+
| Ornith-only | 0.241 [0.214, 0.268] | 0.111 [0.098, 0.124] | 0.084 | 0.997 |
|
| 34 |
+
| blend | 0.334 [0.306, 0.363] | 0.374 [0.342, 0.406] | 0.228 | 1.000 |
|
| 35 |
+
|
| 36 |
+
Ornith-only sits below this row with no overlap on recall. Blend overlaps this row on recall; precision is the interval that survives.
|
| 37 |
+
|
| 38 |
+
Text policy, not 27B VL. Synthetic G702. N=18 mix/error runs are a null and are not these weights.
|
| 39 |
+
|
| 40 |
+
```python
|
| 41 |
+
from huggingface_hub import snapshot_download
|
| 42 |
+
from mlx_lm.lora import load
|
| 43 |
+
|
| 44 |
+
path = snapshot_download("caiotheodoro/plumb-handseeded")
|
| 45 |
+
model, tokenizer = load("mlx-community/Qwen3-1.7B-4bit", adapter_path=path)
|
| 46 |
+
```
|
adapter_config.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"adapter_path": "adapters/text-handseeded",
|
| 3 |
+
"batch_size": 1,
|
| 4 |
+
"clear_cache_threshold": 1000000000,
|
| 5 |
+
"data": "data/text-handseeded",
|
| 6 |
+
"fine_tune_type": "lora",
|
| 7 |
+
"grad_accumulation_steps": 1,
|
| 8 |
+
"grad_checkpoint": true,
|
| 9 |
+
"iters": 1520,
|
| 10 |
+
"learning_rate": 1e-05,
|
| 11 |
+
"lora_parameters": {
|
| 12 |
+
"rank": 16,
|
| 13 |
+
"dropout": 0.05,
|
| 14 |
+
"scale": 2.0
|
| 15 |
+
},
|
| 16 |
+
"lr_schedule": null,
|
| 17 |
+
"mask_prompt": false,
|
| 18 |
+
"max_seq_length": 2048,
|
| 19 |
+
"model": "mlx-community/Qwen3-1.7B-4bit",
|
| 20 |
+
"num_layers": 16,
|
| 21 |
+
"optimizer": "adamw",
|
| 22 |
+
"optimizer_config": {
|
| 23 |
+
"adam": {},
|
| 24 |
+
"adamw": {},
|
| 25 |
+
"muon": {},
|
| 26 |
+
"sgd": {},
|
| 27 |
+
"adafactor": {}
|
| 28 |
+
},
|
| 29 |
+
"project_name": null,
|
| 30 |
+
"quantization": null,
|
| 31 |
+
"quantization_config": null,
|
| 32 |
+
"report_to": null,
|
| 33 |
+
"resume_adapter_file": null,
|
| 34 |
+
"save_every": 50,
|
| 35 |
+
"seed": 7,
|
| 36 |
+
"steps_per_eval": 50,
|
| 37 |
+
"steps_per_report": 10,
|
| 38 |
+
"test": false,
|
| 39 |
+
"train": true,
|
| 40 |
+
"val_batches": -1
|
| 41 |
+
}
|
adapters.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:8f0c765947efb88966f9a9b73033452a5825f7f44f7254c493f86121b4e9357a
|
| 3 |
+
size 39870300
|
train_summary.json
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"base": "mlx-community/Qwen3-1.7B-4bit",
|
| 3 |
+
"adapter_path": "adapters/text-handseeded",
|
| 4 |
+
"iters": 1520,
|
| 5 |
+
"epochs": 8,
|
| 6 |
+
"n_train": 190,
|
| 7 |
+
"final_val_loss": 0.4860517680644989,
|
| 8 |
+
"wall_seconds": 5209.0,
|
| 9 |
+
"peak_memory_gb": 3.34
|
| 10 |
+
}
|