中
Back to notes

Fine-tuning tiny models as the decision brain: the candidate list and where the training data comes from

Part 5 of the quant series: which 0.5B–7B models suit fine-tuning into decision models — a candidate list, the QLoRA cost math, and why the training data is the decision memory itself. A research direction, not a tutorial.

Since [part one](/blog/quant-not-a-gambling-machine) the "self-hosted decision model" has been the protagonist without ever answering the basic question: where does this model come from? This post closes that loop: take tiny open-weight models, fine-tune them on data your own system produces, and grow a decision brain. To be clear about what this is — a research direction, not a tutorial. The list will age; the method will not.

Why tiny models are enough

Because deciding is a narrow task. The input is structured market state — an indicator array plus a few lines of Market Context; the output is signal JSON with confidence. Not open chat, no human knowledge to memorize — just stable judgment in an extremely narrow domain. On narrow tasks, a small model fed on proprietary data beats a general model that knows a bit of everything — doubly true in markets. Two practical accounts: 0.5B–4B models deploy on free ModelScope or Colab tiers, and a quantized 7B runs on a consumer GPU; inference is sub-second, and the data never leaves the box.

The candidate list (0.5B–7B, all of it perishable, today's prices)

Qwen3-0.6B / 1.7B / 4B — strong in Chinese and English, Apache 2.0, the fullest tool-calling ecosystem: default base and best value. DeepSeek-R1-Distill-Qwen-1.5B / 7B, R1-Distill-Llama-8B — reasoning distilled in, suited to decision paths that need a chain of thought, at the cost of more reasoning tokens. Llama-3.2-1B / 3B — the safe English base. Phi-4-mini — Microsoft; per-parameter reasoning that punches above its weight. Gemma-3-1B / 4B — the Google line, clean multilingual. SmolLM3-1.7B — HuggingFace's genuinely tiny model, good for testing ideas. Worth dissecting (not deploying): FinGPT, InvestLM, DISC-FinLLM, XuanYuan — financial fine-tunes whose value is in how they define the task, not how they score.

Where the training data comes from — the most elegant loop in this design

From the decision memory itself. The daily rows — [market state | AI call | actual outcome | correct?] — are a labeled dataset waiting to happen: verified-correct calls become SFT input-output pairs; a right call and a wrong call in the same scenario become a DPO chosen/rejected pair. The longer the system runs, the thicker the training set — the system manufactures its own upgrade material. This is the hypothesis I most want to test in this whole research direction: whether a one-person company can raise its own decision model on its own operating data.

the system manufactures its own upgrade material System running daily calls logged Decision Memory right / wrong labels SFT pairs + DPO pairs QLoRA fine-tune free T4 overnight accumulate pair right / wrong QLoRA swap in
The loop: decision memory becomes the training set; the fine-tuned brain returns to the system.

Method sketch

Formalize the task: input = indicator array + Market Context text; output = JSON `{signal, confidence, sizing, rationale}`. Train with QLoRA: a 1.7B runs overnight on a free Colab T4; a 0.6B takes an afternoon. Serve with vLLM constrained decoding (JSON-schema guided) to weld the output format shut — small models hallucinate little in narrow domains, but the schema must be ironclad. Evaluation ignores perplexity; it reads out-of-sample decision accuracy and backtest Sharpe — the same iron law as Phase 4 in the [roadmap](/blog/quant-roadmap-and-console).

Three pitfalls, written down in advance

One: regime overfitting — train on a bull-market-only memory and the model learns "always long." Decision memory must accumulate across market states; slower is fine. Two: do not fine-tune early — before the memory base has a few hundred outcome-labeled calls, fine-tuning is a castle in the air. Run Phase 2 first. Three: the small model does not take the fall — fine-tuning buys narrow-domain stability, not regime awareness. That is Strategy Health's and version control's job, not the model's.

The series pauses here. Five posts, one through-line: run it first, bank your own data, then raise your own brain. Between here and that sentence being proven stands one Phase 1 dashboard.

Comments

Comments are powered by GitHub Discussions. Sign in with GitHub to leave one.

More in this category

EngineeringOct 12, 20266 min

Built for my own use first: the quant system I am building

EngineeringOct 12, 20267 min

Starting at zero cost: free market data and free model quotas

← PreviousMulti-agent quant: separation of powers for a company of oneNext →Root theory: SEO is a root system, not a list of pages