ensemble-tts-annotation / QUICK_START_SKYPILOT.md
marcosremar
📝 Quick Start SkyPilot + gitignore for data
9adec19

🚀 Quick Start - SkyPilot

Rode fine-tuning com 1 comando em qualquer cloud!


Passo 1: Instalar SkyPilot (1 min)

# Instalar SkyPilot
pip install "skypilot[aws,gcp,azure]"

# Ou apenas para clouds específicos
pip install "skypilot[gcp]"  # Apenas GCP
pip install "skypilot[aws]"  # Apenas AWS

Passo 2: Configurar Cloud (2 min)

Opção A: GCP (Recomendado)

# Se já tem gcloud instalado e autenticado, pula para verificação
gcloud auth login
gcloud config set project SEU_PROJECT_ID

# Verificar
sky check gcp

Opção B: AWS

# Configurar credenciais
aws configure

# Verificar
sky check aws

Opção C: Azure

# Login
az login

# Verificar
sky check azure

Passo 3: Rodar Fine-tuning (1 comando!)

Opção 1: Fine-tune Rápido (30min, ~$1)

# Busca automaticamente instância spot mais barata
# Cria dados sintéticos e treina
sky launch scripts/cloud/skypilot_finetune.yaml

O que acontece:

  1. SkyPilot busca instância spot mais barata (A100, V100, T4, L4)
  2. Provisiona instância (~2min)
  3. Instala dependências
  4. Clona repositório
  5. Cria dados sintéticos (70 samples/emotion)
  6. Fine-tune emotion2vec (10 epochs)
  7. Testa modelo
  8. Mantém rodando (use sky logs para ver progresso)

Opção 2: Multi-GPU Super Rápido (15min, ~$3)

# 8x GPUs para treinamento paralelo
sky launch scripts/cloud/skypilot_multi_gpu.yaml

8x mais rápido!

Opção 3: Anotar Dataset Completo (3-4h, ~$12)

# Anota 118k samples do Orpheus
# Faz upload para HuggingFace automaticamente
sky launch scripts/cloud/skypilot_annotate_orpheus.yaml

Passo 4: Monitorar

# Ver logs em tempo real
sky logs ensemble-finetune -f

# Ver status de todas instâncias
sky status

# Ver custos
sky cost-report

Passo 5: Parar/Cleanup

# Parar instância mas manter dados
sky stop ensemble-finetune

# Deletar completamente
sky down ensemble-finetune

# Deletar todas instâncias
sky down -a

💰 Custos Estimados

Task Duração Custo
Fine-tune (teste) 30min $0.50-$1.20
Multi-GPU (8x) 15min $2.40-$4.80
Annotate Orpheus 3-4h $8.80-$17.60

Tudo com spot instances (70% desconto)!


🎯 Comandos Úteis

# Ver o que o SkyPilot vai fazer (dry-run)
sky launch --dry-run scripts/cloud/skypilot_finetune.yaml

# SSH para instância
sky ssh ensemble-finetune

# Download resultados
sky scp ensemble-finetune:~/ensemble-tts-annotation/models/emotion/finetuned/ ./models/

# Upload datasets
sky scp ./local_data/ ensemble-finetune:~/ensemble-tts-annotation/data/

# Forçar cloud específico
sky launch --cloud gcp scripts/cloud/skypilot_finetune.yaml

# Ver queue de tarefas
sky queue

# Cancelar tarefa
sky cancel ensemble-finetune

🐛 Troubleshooting

"No cloud enabled"

# Configurar pelo menos um cloud
sky check

"Quota exceeded"

# Ver quotas
sky quota

# Tentar outro cloud
sky launch --cloud azure scripts/cloud/skypilot_finetune.yaml

"Spot instance preempted"

SkyPilot recupera automaticamente! Aguarde.

# Ver status
sky status

Download lento

# Use cloud storage para datasets grandes
# Edite o YAML e adicione file_mounts

📊 O Que Você Vai Ter no Final

Após Fine-tuning:

  • ✅ Modelo emotion2vec treinado
  • ✅ Logs de treinamento
  • ✅ Métricas de acurácia
  • ✅ Modelo testado e validado

Localização: ~/ensemble-tts-annotation/models/emotion/emotion2vec_finetuned_*/

Após Annotation:

  • ✅ Dataset Orpheus anotado (118k samples)
  • ✅ Arquivo parquet com emoções e eventos
  • ✅ Upload automático para HuggingFace
  • ✅ Dataset público disponível

URL: https://huggingface.co/datasets/marcosremar2/orpheus-tts-portuguese-annotated


🎓 Próximos Passos

  1. Baixar modelo fine-tuned:

    sky scp ensemble-finetune:~/ensemble-tts-annotation/models/emotion/finetuned/ ./models/
    
  2. Testar localmente:

    python scripts/test/test_quick.py --mode balanced
    
  3. Usar no seu código:

    from ensemble_tts import EnsembleAnnotator
    
    annotator = EnsembleAnnotator(mode='balanced', device='cuda')
    result = annotator.annotate('audio.wav')
    

📚 Documentação Completa

  • SKYPILOT_GUIDE.md - Guia completo de 600+ linhas
  • README.md - Documentação do projeto
  • TESTING.md - Todas opções de teste

❓ FAQ

Preciso de GPU local?

Não! SkyPilot provisiona GPU na nuvem.

Quanto vai custar?

~$1 para teste, ~$12 para dataset completo.

Preciso monitorar?

Não. Deixa rodando e verifica depois com sky logs.

E se a spot instance for preemptada?

SkyPilot recupera automaticamente e continua de onde parou.

Posso rodar múltiplas tarefas?

Sim! Lança várias:

sky launch task1.yaml
sky launch task2.yaml

🚀 Start Now!

Comando completo (copy-paste):

# 1. Instalar
pip install "skypilot[gcp,aws]"

# 2. Configurar (se já tem gcloud/aws configurado, pula)
sky check

# 3. Lançar
sky launch scripts/cloud/skypilot_finetune.yaml

# 4. Monitorar
sky logs ensemble-finetune -f

# 5. Quando terminar, parar
sky down ensemble-finetune

Pronto! 🎉


Total: 5 comandos para fine-tune na nuvem!

SkyPilot economiza 70% vs on-demand e busca automaticamente a opção mais barata! 💰