PS 1.0 Translate — v2.0 (treino pesado multilíngue)
Modelo criado do zero em PyTorch + treino pesado em 6 idiomas.
Arquitetura PS10Translate (~9.4M params, ~37MB): frontend log-Mel próprio,
subsampling conv x4, 6x encoder Conformer-lite (256 dim), heads CTC + LangID.
Tokenizer char multilíngue próprio (73 tokens).
v2.0 — treino pesado (Tesla T4, 4000 steps, AMP)
- Dados: FLEURS
de_de/en_us/es_419/fr_fr/it_it/pt_br— 5400 train + 600 val (~11h), 900 train + 100 val por idioma, 16kHz - Setup: batch 12, AdamW 2e-4 cosine, SpecAugment (freq+time mask), CTC + 0.1*LangID
- Evolução: loss 3.19 → ~1.9 | VAL CER 1.13 (step 500) → 0.874 best (step 3000)
- Checkpoint:
pytorch_model_v2_best.bin(=pytorch_model.bin)
Exemplos reais em val (falantes não vistos):
- PT ref
o objetivo principal da ciência...→ hyp fonético próximo, ainda com erros - DE ref
laut polizei wird der fahrer...→ hypl or polizae e a fave es paso...(polizae≈polizei) - IT ref
la parte settentrionale...→ hyplo parte se tencenale...
Limite honesto
v2.0 aprendeu acústica multilíngue (saída tem forma fonética do idioma, não mais aleatória),
mas CER 0.87 = ainda não utilizável. From-scratch com 9M params + 11h não chega a Whisper.
Para ficar bom de verdade: 10-50x mais dados (Common Voice, MLS full, VoxPopuli),
modelo maior (30-100M) e mais steps — train_ps10_heavy.py já é a base, é só escalar.
Uso
pip install -r requirements_ps10.txt
python inference_ps10.py mic
python app_ps10_gradio.py --port 7860 --share
Arquivos
ps10_translate/código do zeropytorch_model.bin(= best v2.0),pytorch_model_v2_last.bintrain_ps10_heavy.py,train_ps10_real.py,train_ps10.pyapp_ps10_gradio.py,inference_ps10.py,evalnotrain_v2.log