astra-atc-models / README.md
RanenSim's picture
feat: update model
9dd7a6b
|
Raw
History Blame Contribute Delete
4.4 kB
---
language:
- en
license: other
tags:
- nemo
- parakeet
- whisper
- qwen3
- ctranslate2
- automatic-speech-recognition
- text-generation
- air-traffic-control
- atc
- singapore
- military
pipeline_tag: automatic-speech-recognition
---
# ASTRA ATC Models
Fine-tuned models for Singapore military air traffic control, built for the [ASTRA](https://github.com/aether-raid) training simulator.
## Pipeline
```text
Audio --> VAD (Silero) --> ASR (Whisper or Parakeet) --> Rule Formatter --> Display Text
"camel climb flight level zero nine zero"
"CAMEL climb FL090"
```
The production pipeline uses a deterministic rule-based formatter instead of the legacy LLM formatter.
## Models
### [ASR/whisper/](./ASR/whisper) - Whisper Large v3 (Legacy CTranslate2 backend)
Fine-tuned for Singapore military ATC speech. Uses CTranslate2 float16 format for fast inference with [faster-whisper](https://github.com/SYSTRAN/faster-whisper).
| Metric | Value |
|--------|-------|
| WER | **0.66%** |
| Base model | `openai/whisper-large-v3` |
| Size | 2.9 GB |
| Runtime | `faster-whisper` / CTranslate2 |
### [ASR/parakeet/](./ASR/parakeet) - Parakeet-TDT 0.6B v2 (NeMo checkpoint)
Fine-tuned NeMo Parakeet model for Singapore military ATC speech. Published as a raw checkpoint together with the tokenizer artifacts required to restore it.
| Metric | Value |
|--------|-------|
| Validation WER | **0.72%** |
| Base model | `nvidia/parakeet-tdt-0.6b-v2` |
| Size | 7.0 GB |
| Runtime | `nemo_toolkit[asr]` |
### [LLM/](./LLM) - Qwen3-1.7B Display Formatter (Legacy)
> **Legacy.** Superseded by the deterministic rule formatter. Retained for reference only.
Converts normalized ASR output into structured ATC display text.
| Metric | Value |
|--------|-------|
| Exact match | **100%** (161/161) |
| Base model | `unsloth/Qwen3-1.7B` |
| Size | 3.3 GB |
## Architecture
```text
Audio --> VAD (Silero) --> ASR backend --> Post-processing --> Rule Formatter --> Display Text
```
| Component | Technology | Notes |
|-----------|------------|-------|
| VAD | Silero VAD | Shared frontend for both ASR backends |
| ASR (legacy) | Whisper Large v3 (CTranslate2) | Lower-memory legacy backend |
| ASR (current NeMo path) | Parakeet-TDT 0.6B v2 | Fine-tuned NeMo checkpoint |
| Formatter | Deterministic rules | Converts normalized speech to ATC display text |
## Domain
Singapore military ATC covering Tengah and Paya Lebar operations, military phraseology, 100+ callsigns, and approach / recovery / emergency traffic.
## Training History
### ASR
| Run | WER | Base | Key Change |
|-----|-----|------|------------|
| ct2_run5 | 0.48% | jacktol/whisper-large-v3-finetuned-for-ATC | Initial fine-tune |
| ct2_run6 | 0.40% | jacktol/whisper-large-v3-finetuned-for-ATC | +augmentation, weight decay |
| ct2_run7 | 0.24% | jacktol/whisper-large-v3-finetuned-for-ATC | Frozen encoder, +50 real recordings |
| ct2_run8 | 0.66% | openai/whisper-large-v3 | Full retrain from base, enhanced augmentation |
| parakeet_atc | 0.72% | nvidia/parakeet-tdt-0.6b-v2 | NeMo fine-tune with ATC radio augmentation, best checkpoint at epoch 76 |
### LLM
| Run | Accuracy | Key Change |
|-----|----------|------------|
| llm_run3 | 98.1% (Qwen3-8B) | QLoRA 4-bit, 871 examples |
| llm_run4 | 100% (Qwen3-1.7B) | bf16 LoRA, 1,915 examples with ASR noise augmentation |
## Quick Start
### Whisper ASR
```python
from faster_whisper import WhisperModel
model = WhisperModel("./ASR/whisper", device="cuda", compute_type="float16")
segments, info = model.transcribe("audio.wav", language="en", beam_size=5)
text = " ".join(seg.text.strip() for seg in segments)
```
### Parakeet ASR
See [ASR/parakeet/README.md](./ASR/parakeet/README.md) for the NeMo restore example and tokenizer artifact requirements.
## Download
```bash
# Full repo
huggingface-cli download aether-raid/astra-atc-models --local-dir ./models
# Whisper ASR only
huggingface-cli download aether-raid/astra-atc-models --include "ASR/whisper/*" --local-dir ./models
# Parakeet ASR only
huggingface-cli download aether-raid/astra-atc-models --include "ASR/parakeet/*" --local-dir ./models
# LLM only (legacy)
huggingface-cli download aether-raid/astra-atc-models --include "LLM/*" --local-dir ./models
```