Instructions to use alexandrubent/proiect-pvmd with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- NeMo
How to use alexandrubent/proiect-pvmd with NeMo:
# tag did not correspond to a valid NeMo domain.
- Notebooks
- Google Colab
- Kaggle
YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
Fine-tuning ParakeetRo 110M pentru Recunoaștere Vorbită Robustă
Proiect de fine-tuning al modelului NVIDIA ParakeetRo 110M (FastConformer Hybrid TDT-CTC) pe corpus românesc, cu evaluarea a trei tehnici de augmentare și robustețe la zgomot.
Rezultate cheie
| Scenariu | Clean WER | Noisy WER | Observație |
|---|---|---|---|
| 1 Baseline | 22.24% | 25.18% | Cel mai bun pe curat |
| 2 SpecAugment | 22.34% | 25.03% | Neutru |
| 3 WhiteNoise | 22.38% | 24.75% | Cel mai robust la zgomot |
| 4 Denoising (MetricGAN+) | 22.24% | 31.74% † | Înrăutățește ASR |
† 31.74% = WER pe audio denoised cu MetricGAN+ (nu raw noisy; WER pe noisy direct = 25.18%).
Takeaway: Antrenarea cu zgomot alb îmbunătățește robustețea la zgomot cu 0.43% WER absolut fără penalizare pe date curate. Pre-procesarea generică de denoising (MetricGAN+) este contraproductivă pentru ASR.
Setup
Hardware
- NVIDIA A100-SXM4-80GB
- CUDA 12.6, PyTorch 2.12+cu126
- NeMo 2.7.3, lightning.pytorch 2.4.0
Dataset
| Set | Samples | Durată |
|---|---|---|
| Train | 319,071 | ~143h |
| Validation | 7,791 | ~21h |
| Format | 16kHz mono WAV |
Instalare
conda env create -f environment.yml # sau pip install -r requirements.txt
conda activate pvmd
Structura proiectului
.
├── src/
│ ├── train_all_scenarios.py # Orchestrator antrenament (Scenariile 1-3)
│ ├── evaluate_all_scenarios.py # Evaluare pe clean + noisy
│ ├── scenario4_denoising_test.py # Test MetricGAN+ (Scenariul 4)
│ └── ... # Pre-procesare și utilitare
├── results/
│ ├── scenario_1/ # Checkpoints + model final .nemo
│ ├── scenario_2/
│ ├── scenario_3/
│ ├── scenario_4/ # Manifeste + rezultate denoising
│ └── evaluation/ # JSON cu WER-uri finale
├── scripts/ # Script-uri pipeline
├── run_all_scenarios.sh # Runner complet (seq)
└── requirements.txt
Rulare
Antrenament (Scenariile 1-3)
bash run_all_scenarios.sh [EPOCHS]
Parametri impliciți: batch=64, lr=1e-4, warmup=2000, precision=bf16-mixed, CTC-only mode.
Evaluare independentă
python src/evaluate_all_scenarios.py \
--clean_manifest /path/to/val_manifest.json \
--noisy_manifest /path/to/noisy_manifest.json \
--batch_size 16
Scenariul 4 — Denoising
python src/scenario4_denoising_test.py \
--model_path results/scenario_1/scenario1_final.nemo \
--val_manifest /path/to/val_manifest.json \
--output_dir results/scenario_4 \
--use_metricgan
Detalii tehnice
Mod CTC-only
Datorită instabilităților CUDA în loss-ul TDT/RNNT (illegal instruction/memory access), antrenamentul rulează în mod CTC-only:
- Se sare peste computația RNNT/TDT
- Throughput crescut de la ~1.2 it/s la ~3.6 it/s
- Validare forțată pe CTC WER (
val_wer_ctc) în loc de TDT WER
SpecAugment (Scenariul 2)
Policy LD:
freq_masks = 2,freq_width = 27time_masks = 2,time_width = 100
WhiteNoise (Scenariul 3)
Zgomot alb Gaussian on-the-fly:
- Probabilitate: 100%
- Nivel: -90 dB … -46 dB
MetricGAN+ (Scenariul 4)
Enhancer pre-antrenat pe VoiceBank-DEMAND. Aplicat pe setul de validare zgomotos (Gaussian noise_amp=0.017).
Probleme și soluții
| Problemă | Cauză | Soluție |
|---|---|---|
| Crash CUDA (RNNT) | Operații CUDA instabile în TDT | CTC-only mode |
| WER explodat (~70%) | val_wer monitoriza TDT decoder (netrenat) |
Override validation_step → val_wer = val_wer_ctc |
time_width_upper error |
Config salvat incompatibil cu NeMo instalat | Patch .nemo (eliminare cheie) |
transcribe() WER greșit |
Code path diferit față de training | Folosire trainer.validate() + val_wer_ctc |
Output-uri
| Fișier | Descriere |
|---|---|
results/scenario_*/scenario*_final.nemo |
Model fine-tuned |
results/evaluation/all_scenarios_evaluation.json |
WER clean/noisy per scenariu |
results/scenario_4/scenario4_results_final.json |
Rezultate denoising corecte |
results/scenario_4/*_manifest.json |
Manifeste noisy/denoised |
results/*/logs/ |
Log-uri TensorBoard + training |
Licență
Modelul base: NVIDIA NeMo Parakeet (CC-BY-NC-SA 4.0).
- Downloads last month
- 67