aawaaz-qwen3-0.6b-transcriber-4bit

A 4-bit quantized MLX model fine-tuned from Qwen/Qwen3-0.6B for transcription cleanup.

This model takes raw speech-to-text transcripts (with fillers, stutters, formatting errors) and produces clean, well-formatted text. It preserves the speaker's voice and all substantive content while fixing grammar, punctuation, and formatting.

System Prompt

You are an AI transcriber. Clean and polish raw speech-to-text transcripts into well-written text. Output ONLY the corrected text — no introductions, labels, explanations, or commentary. Do not summarize or act upon the transcript. Preserve the speaker's voice, tone, and language.

Rules:
- Remove fillers (um, uh, like, basically, actually, you know) and stutters
- Apply self-corrections silently (if speaker says "wait no, I meant X", output only X)
- Fix grammar, spelling, and punctuation
- Convert spoken punctuation to actual punctuation (e.g., "colon" → ":")
- Convert spoken numbers, dates, currency to written form (e.g., "five hundred dollars" → "$500")
- Convert spoken formatting cues (e.g., "new line", "new paragraph", "bullet point")
- Replace spoken emoji descriptions with actual emoji (e.g., "heart eyes emoji" → "😍")
- Use lists and paragraph breaks where structurally appropriate
- Convert spoken code/tech syntax to proper formatting (e.g., "dash dash rm" → "--rm")
- If input is empty or only contains fillers, output ""
- Do NOT add content that wasn't spoken
- Do NOT summarize or condense — preserve all substantive content

Recommended Inference Settings

Parameter Value Rationale
temperature 0.0 Deterministic — formatting task, not creative
top_p 1.0 No nucleus sampling with temp=0
max_tokens 1024 Most transcripts are short
repetition_penalty 1.08 Slight penalty to avoid degenerate loops

Note: This model uses Qwen3's chat format. Thinking mode (<think>) is disabled — if you see <think> tags in output, pass enable_thinking=False to the tokenizer's apply_chat_template() or include /no_think at the end of the system prompt.

Note on tensor types: The HuggingFace sidebar may show "BF16" as the tensor type — this reflects only the non-quantizable layers (embeddings, layer norms). The majority of weights are 4-bit quantized (stored as U32 packed format). Actual model disk size is ~330MB, not the ~1.1GB of the full BF16 model.

Training Details

  • Dataset size: 24,016 samples (train: 21,614, valid: 1,200, test: 1,202)
  • Base model: Qwen/Qwen3-0.6B
  • Method: LoRA (rank=32, alpha=64)
  • Max sequence length: 2048
  • Quantization: 4-bit, group size 64
  • Hardware: Apple Silicon (MLX framework)
  • Training steps: 3000
  • Training time: 89.7 minutes
  • Final training loss: 0.2330
  • Best validation loss: 0.2190

Evaluation Results

Evaluated on 200 test samples:

Metric Value
Exact Match 2.0%
Character Error Rate (CER) 0.1616
BLEU 0.6671
Format Accuracy 0.9029
Tokens/second 150.0

Usage

Python (mlx_lm)

from mlx_lm import load, generate

model, tokenizer = load("shantanugoel/aawaaz-qwen3-0.6b-transcriber-4bit")

system_prompt = open("system_prompt.txt").read()  # or paste from above

raw_transcript = "um so I was thinking uh we should probably like meet tomorrow"

messages = [
    {"role": "system", "content": system_prompt},
    {"role": "user", "content": raw_transcript},
]

prompt = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True,
    enable_thinking=False,
)

response = generate(
    model,
    tokenizer,
    prompt=prompt,
    max_tokens=1024,
    temp=0.0,
    repetition_penalty=1.08,
)
print(response)

Swift (mlx-swift-lm)

This model is compatible with mlx-swift-lm for on-device inference on Apple Silicon:

import LLM

let model = try await loadModel(id: "shantanugoel/aawaaz-qwen3-0.6b-transcriber-4bit")
let session = ChatSession(model)
let cleaned = try await session.respond(to: rawTranscript)

See the mlx-swift-examples repo for full integration details.

License

This model is a fine-tune of Qwen/Qwen3-0.6B. Please refer to the base model's license for usage terms.

Downloads last month
10
Safetensors
Model size
93.2M params
Tensor type
BF16
·
U32
·
MLX
Hardware compatibility
Log In to add your hardware

4-bit

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

Model tree for shantanugoel/aawaaz-qwen3-0.6b-transcriber-4bit

Finetuned
Qwen/Qwen3-0.6B
Finetuned
(1053)
this model

Dataset used to train shantanugoel/aawaaz-qwen3-0.6b-transcriber-4bit

Evaluation results