dzdave's picture
Add gpt-oss-20b-commit fine-tune (MXFP4 MLX) + model card
e6abf74 verified
|
Raw
History Blame Contribute Delete
2.83 kB
---
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: <diff>" --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.