13 pontos por xguru 2025-02-11 | 2 comentários | Compartilhar no WhatsApp
  • Modelo de tradução de fala para fala em streaming em tempo real de alta fidelidade (High Fidelity)
  • Diferente da tradução offline comum, ele gera voz traduzida em tempo real enquanto o usuário está falando
  • Também fornece tradução em texto e inclui um recurso de conversão de voz que preserva o estilo da fala original

Arquitetura

  • Um modelo decoder-only, projetado para tradução simultânea de fala
  • Utiliza a arquitetura multistream do Moshi para modelar simultaneamente a fala original e a fala traduzida
  • Gera um fluxo contínuo de saída com taxa de quadros fixa de 12,5 Hz por segundo, além de fornecer tradução em texto com timestamps

Método de treinamento

  • São necessários dados alinhados entre fala e texto, tanto do original quanto da tradução, mas na prática esse tipo de dado é escasso
  • Por isso, o treinamento é feito com dados sintéticos
  • Usa o sistema de tradução automática MADLAD para alinhar fracamente os textos de origem e de tradução
  • Aplica regras de alinhamento para que as palavras apareçam apenas no momento em que a tradução se torna previsível a partir do original
    • Método 1: inserção de silêncio (silence insertion)
    • Método 2: síntese de fala com consciência de alinhamento (alignment-aware TTS)

Inferência

  • O Hibiki codifica a fala original em tempo real e gera a fala traduzida
  • Sem usar métodos complexos de inferência, adota temperature sampling, compatível com processamento em lote
  • É possível ajustar a similaridade da voz por meio do coeficiente de Classifier-Free Guidance
    • Quanto maior o coeficiente, mais parecida com a original será a voz gerada, mas se for alto demais a qualidade da tradução pode cair
  • Atualmente, o Hibiki suporta apenas tradução de francês para inglês
  • O modelo leve Hibiki-M também pode rodar em smartphones

Como executar o modelo

  • Pode ser executado em PyTorch, Rust, MLX (macOS) e MLX-Swift (iOS)
  • O código do Hibiki é quase idêntico ao do projeto Moshi, e a implementação real pode ser vista no repositório kyutai-labs/moshi
  • No momento, são fornecidos apenas dois modelos com suporte a tradução de francês para inglês (FR → EN)
    • Hibiki 2B: estrutura Transformer mais profunda, 16 RVQ por stream
    • Hibiki 1B: versão leve, 8 RVQ por stream, com execução on-device

2 comentários

 
sftblw 2025-02-11

Na distribuição em Rust, eles usam candle. (Cargo.toml)

 
dbs0829 2025-02-11

Parece que a tradução em tempo real deve ser um pouco difícil para idiomas com ordem de palavras completamente diferente, então vou dar uma olhada no artigo.