How to use from
Pi
Start the MLX server
# Install MLX LM:
uv tool install mlx-lm
# Start a local OpenAI-compatible server:
mlx_lm.server --model "aisamdasu/Algocean-Qwen3.6-35B-A3B-mlx"
Configure the model in Pi
# Install Pi:
npm install -g @mariozechner/pi-coding-agent
# Add to ~/.pi/agent/models.json:
{
  "providers": {
    "mlx-lm": {
      "baseUrl": "http://localhost:8080/v1",
      "api": "openai-completions",
      "apiKey": "none",
      "models": [
        {
          "id": "aisamdasu/Algocean-Qwen3.6-35B-A3B-mlx"
        }
      ]
    }
  }
}
Run Pi
# Start Pi in your project directory:
pi
Quick Links

Algocean-Qwen3.6-35B-A3B-mlx

Merged MLX release of Qwen/Qwen3.6-35B-A3B fine-tuned with a LoRA SFT run on the aisamdasu/algocean-fable5-traces trace mix.

This MLX artifact is text-generation focused. The upstream model card describes the base as a language model with a vision encoder, but the current mlx-lm Qwen3.5-MoE conversion stores the language-model weights and omits model.visual.

Use

pip install mlx-lm
from mlx_lm import load, generate

model, tokenizer = load("aisamdasu/Algocean-Qwen3.6-35B-A3B-mlx")

messages = [{"role": "user", "content": "Create a concise LangGraph plan for a repo refactor."}]
prompt = tokenizer.apply_chat_template(messages, add_generation_prompt=True)
response = generate(model, tokenizer, prompt=prompt, max_tokens=512, verbose=True)

Artifact

item value
Format MLX safetensors
Shards 14
Weight size 69,321,221,376 bytes
Parameters in MLX index 34,660,608,768
Visual weights omitted
Integrity file SHA256SUMS

Training

key value
Base model Qwen/Qwen3.6-35B-A3B
Dataset aisamdasu/algocean-fable5-traces
Train / eval rows 30,265 / 512
Selected source rows Crownelius 26,938 + kelexine 3,839
Dedup skipped 1,721
Fine-tune method LoRA SFT
LoRA target modules q_proj, v_proj
LoRA rank / alpha / dropout 16 / 32 / 0.0
Max sequence length 16,384
Optimizer / schedule AdamW fused / cosine
Learning rate / warmup 1e-5 / 0.03
Batch / grad accumulation 1 / 1
Max steps 4,000
Eval / save interval 200 / 200
GPU Modal B200 x1
Runtime 7,934.71 sec

Checkpoint Selection

The published weights use checkpoint 3600, not the final step 4000.

step eval loss eval PPL note
200 1.300712 3.671911 first eval
3200 1.067631 2.908480 near plateau
3400 1.067996 2.909543 regression
3600 1.066911 2.906388 selected best
3800 1.067495 2.908084 worse than best
4000 1.067005 2.906661 final, slightly worse

Best checkpoint rationale:

  • 3600 has the lowest validation loss: 1.066911.
  • Final step 4000 is very close but still higher: +0.000094 eval loss.
  • The curve flattened after 3200, so selecting 3600 keeps the best validation point without chasing extra train loss.

Eval loss vs step

Train vs eval loss

Learning rate vs step

Metrics

metric value
Best eval loss 1.066911
Best eval perplexity 2.906388
Final eval loss 1.067005
Final eval perplexity 2.906661
Trainer average train loss 0.494604
Last logged train loss 0.996137
Train samples/sec 0.504
Train steps/sec 0.504
Eval samples/sec at final eval 2.088

Comparison Notes

This release is the best checkpoint from the completed Algocean LoRA run. It is not claiming a public benchmark win over the base model or the upstream OptiQ model; those require the same held-out evaluation harness on all models. The selection here is based on the run's validation loss, where checkpoint 3600 is the lowest-loss point among all saved checkpoints.

Intended Use

This model is intended for local MLX inference experiments around agentic coding, tool-use traces, and LangGraph-style planning. It is not a general safety-tuned assistant release.

Downloads last month
244
Safetensors
Model size
35B params
Tensor type
BF16
·
MLX
Hardware compatibility
Log In to add your hardware

Quantized

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for aisamdasu/Algocean-Qwen3.6-35B-A3B-mlx

Finetuned
(163)
this model

Dataset used to train aisamdasu/Algocean-Qwen3.6-35B-A3B-mlx