--- license: apache-2.0 language: - en base_model: - openai/gpt-oss-20b tags: - mlx - gpt_oss - mxfp4 - fine-tune - commit-message - code library_name: mlx pipeline_tag: text-generation --- # gpt-oss-20b-commit (MLX, MXFP4) A LoRA fine-tune of [`openai/gpt-oss-20b`](https://hf.co/openai/gpt-oss-20b) specialised for **git commit-message generation and closed-form, fully-anchored mechanical text edits**. The adapter was fused into the base and the result quantised to MLX **MXFP4** (attention and router kept at 8-bit affine). ~11 GB on disk, ~12 GB resident. This is a genuine weight-level fine-tune, not a prompt wrapper. It is the **Tier-3 "exactly this" executor** in a local trading-agent stack — handed a file, a verbatim anchor, and the exact text to produce, and nothing wider. ## What it is good at (measured) Scored on a fixed grader written before the model ran, one model resident at a time, `temperature 0.2`. | Task | Result | | --- | --- | | Anchored mechanical edit (5 edits, byte-identity) | **10/10 — byte-identical to the reference** | | Generate two modules from a spec | 8/8 | | Concurrency + backpressure implementation | 7/10 | | First-attempt Pydantic-schema validity | 8/8 | The anchored-edit 10/10 is the job it exists for: given file + exact anchor + exact replacement, it reproduces the reference edit exactly. ## What it must NOT be used for This tune traded agentic capability for its edit precision. **Do not put it on a tool-calling or numeric path.** Measured regressions vs. the base: - **Tool-deference 0/5** — it computes numbers in its head and **invents** them (e.g. a stop of `235.20` from `250 − 2×7.40`) instead of calling a tool. Never let it emit a number to a human. - **Multi-tool selection 2/8** — frequently answers in prose instead of calling any tool. - **Multi-turn policy/steps 2/4 · 1/4** — unreliable as an orchestrator. Keep it for mechanical text transforms and commit messages; route judgement, tool use, and anything that emits a number elsewhere. ### Runtime footguns - **It repeats its output** — truncate to the first occurrence. - **It hangs on a `stop` parameter** — bound generation with `max_tokens` instead. ## Use it ```bash pip install mlx-lm python -m mlx_lm generate --model dzdave/gpt-oss-20b-commit-mlx \ --prompt "Write a git commit message for: " --max-tokens 256 ``` Also loads directly in LM Studio (MLX runtime). ## Provenance & license - **Base:** `openai/gpt-oss-20b` (Apache-2.0), fused onto the `mlx-community/gpt-oss-20b-MXFP4-Q8` MLX build. - **Method:** LoRA fine-tune on commit-message data, adapters fused, then MXFP4 quantisation. - **License:** Apache-2.0, inherited from the base. Attribution to OpenAI's gpt-oss-20b required. - Architecture `GptOssForCausalLM` · `gpt_oss` · MoE 32×2.4B.