Qwen3-32B CFO Brain (LoRA) β€” v1

A LoRA adapter for Qwen/Qwen3-32B, fine-tuned as a CFO-office advisory brain for Indian mid-market companies: interpreting financial numbers for business owners, working-capital and cash-flow diagnosis, capex and financing decisions, budget variance, export/FX readiness, pricing and margin analysis, and monthly MD-pack narratives.

Sibling of RYVR/qwen3-32b-b2b-marketing-lora (same base, same pipeline). Developed by RYVR for the Neural Infrastructure agent platform.

Design: a brain for an agent, not an analyst

This model is built for a consult architecture: an agent (or you) brings the live numbers β€” from Zoho Books, Tally, a spreadsheet β€” and the model brings the interpretation. Three trained behaviours follow from that:

  • Grounded arithmetic: every derived figure traces to the numbers in the prompt, with the formula shown inline ("DSO β‰ˆ β‚Ή4.2Cr Γ· β‚Ή2.1Cr Γ— 30 = 60 days").
  • Calibrated refusal: it will not state a current market rate (repo, MCLR, GST, FX) as today's fact β€” it gives the decision framework and tells you exactly what to confirm and where.
  • Pull-lists over placeholders: when a question needs data it wasn't given, it names the specific report to pull instead of assuming values.

Training data

1,926 instruction pairs β€” 26 hand-reviewed exemplars plus 1,900 synthetic advisory briefings from a deterministic scenario matrix (company profile Γ— financial event Γ— owner ask), generated with internally consistent financial snapshots and zero client-derived content. Every pair survived a five-gate gauntlet:

  1. programmatic truncation gate,
  2. LLM style/quality judge,
  3. a dedicated math verifier that recomputes every derived figure,
  4. a second independent verifier for comparison logic, completeness-vs-ask, calibration strictness, and hedging (AND-vote with #3),
  5. a blinded 100-sample CFO audit panel (ship gate β‰₯ 90/100; final round scored 91).

Evaluation

38 hand-written, never-in-training prompts; blind pairwise judging (4 independent judges, randomized A/B, identities hidden); both models generated on identical hardware.

Test Qwen3-32B base This adapter
Scenario advisory quality (mean, 0–10) 3.79 5.50
Head-to-head win rate vs base (24 scenarios) β€” 75% (18W/6L)
Fabrication traps passed (metric not computable from given data) 2/4 3/4
Calibration probes passed (current-rate questions) 5/10 8/10
Brand/data leaks 0 0

How to use

Recommended: run with thinking disabled (the adapter was trained in non-thinking mode) and this system prompt:

You are a seasoned fractional CFO advising Indian mid-market companies. Ground every derived figure in the client's actual numbers, hedge time-sensitive rates with 'confirm current', and give frameworks plus pull-lists when live data is required.

πŸ€— PEFT + Transformers

from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel

base_id = "Qwen/Qwen3-32B"
adapter_id = "RYVR/qwen3-32b-cfo-brain-lora"

tokenizer = AutoTokenizer.from_pretrained(adapter_id)
model = AutoModelForCausalLM.from_pretrained(base_id, torch_dtype="auto", device_map="auto")
model = PeftModel.from_pretrained(model, adapter_id)

SYSTEM = ("You are a seasoned fractional CFO advising Indian mid-market companies. "
          "Ground every derived figure in the client's actual numbers, hedge time-sensitive "
          "rates with 'confirm current', and give frameworks plus pull-lists when live data is required.")

question = """My Zoho cash flow confuses me: net profit β‚Ή34L but cash went DOWN β‚Ή28L
the same month. Receivables up β‚Ή41L, inventory up β‚Ή19L, payables up β‚Ή12L,
loan EMI principal β‚Ή14L. Explain what happened in plain language."""

messages = [{"role": "system", "content": SYSTEM},
            {"role": "user", "content": question}]
inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True,
                                       enable_thinking=False, return_tensors="pt").to(model.device)
outputs = model.generate(inputs, max_new_tokens=1500, temperature=0.4, top_p=0.9)
print(tokenizer.decode(outputs[0][inputs.shape[1]:], skip_special_tokens=True))

vLLM (LoRA runtime)

vllm serve Qwen/Qwen3-32B --enable-lora \
  --lora-modules cfo-brain=RYVR/qwen3-32b-cfo-brain-lora

Limitations

  • India-centric: framing assumes GST, RBI policy context, Companies Act norms, and β‚Ή (Cr/L) conventions. Non-India scenarios were deliberately deferred.
  • Not financial, tax, or investment advice β€” an analytical reading of the numbers you provide, for decision support. Verify derived figures and consult a qualified professional before acting.
  • No live data: any rate, threshold, or rule it names is training-era knowledge and is deliberately hedged with "confirm current" β€” that hedge is a feature; treat unhedged rates as a bug.
  • English only. Best with real numbers in the prompt; vague prompts get frameworks, not magic.

Training details

  • LoRA r=16, Ξ±=32, dropout 0.05, 2 epochs (~3.8M tokens/epoch), supervised fine-tuning on Fireworks AI
  • Final training loss (EMA): 1.08
  • Trained in non-thinking chat format
Downloads last month
15
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for RYVR/qwen3-32b-cfo-brain-lora

Base model

Qwen/Qwen3-32B
Adapter
(400)
this model