Introdução geral
O TangoFlux é um modelo eficiente de geração de texto para áudio (TTA) desenvolvido pelo DeCLaRe Lab. O modelo é capaz de gerar até 30 segundos de áudio estéreo de 44,1 kHz em apenas 3,7 s. O TangoFlux usa técnicas de correspondência de fluxo e de otimização de preferências classificadas por palmas (CRPO) para aprimorar o alinhamento de TTA, gerando e otimizando dados de preferências. O modelo apresenta bom desempenho em benchmarks objetivos e subjetivos, e todos os códigos e modelos são de código aberto para dar suporte a outras pesquisas de geração de TTA.
A Universidade de Tecnologia e Design de Cingapura (SUTD) e a NVIDIA anunciaram em conjunto o TangoFlux, um modelo de geração de texto para áudio (TTA) altamente eficiente com aproximadamente 115 milhões de parâmetros que pode gerar áudio de até 44,1 kHz em apenas 3,7 segundos em uma única GPU A40. Com aproximadamente 515 milhões de parâmetros, o modelo é capaz de gerar até 30 segundos de áudio de 44,1 kHz em apenas 3,7 segundos em uma única GPU A40. O TangoFlux não só tem velocidade de geração ultrarrápida, mas também melhor qualidade de áudio do que os modelos de áudio de código aberto, como o Stable Audio.
Compare o TANGoFLux com outros modelos de geração de texto para áudio de código aberto de última geração: o TANGoFLux não apenas gera aproximadamente duas vezes mais rápido do que os modelos mais rápidos, mas também obtém melhor qualidade de áudio (conforme medido pelas pontuações CLAP e FD), tudo isso com menos parâmetros treináveis.
O TangoFlux, intitulado "Ultra-Fast and Faithful Text-to-Audio Generation via Stream Matching and Clap-Ranked Preference Optimisation", consiste em blocos FluxTransformer, que são Diffusion Transformers (DiTs) e Multi-Modal Diffusion Transformers (MMDiTs) que condicionam dicas de texto e incorporação de duração para gerar até 30 segundos de áudio de 44,1 kHz. O TangoFlux aprende trajetórias de streaming retificadas das representações latentes do áudio codificado pelo Variable Auto-Encoder (VAE). O pipeline de treinamento do TangoFlux consiste em três fases: pré-treinamento, ajuste fino e otimização das preferências usando o CRPO. Especificamente, o CRPO gera iterativamente novos dados sintéticos e constrói pares de preferências usando perdas de DPO para otimização de preferências para correspondência de fluxo.
Lista de funções
- Geração rápida de áudioGeração de até 30 segundos de áudio de alta qualidade em 3,7 segundos.
- Tecnologia de correspondência de fluxoGeração de áudio usando FluxTransformer e Transformadores de difusão multimodal.
- Otimização de CRPOMelhorar a qualidade da geração de áudio por meio da geração e otimização de dados de preferência.
- Treinamento em várias etapasConsiste em três fases: pré-treinamento, ajuste fino e otimização de preferências.
- código abertoTodos os códigos e modelos são de código aberto para apoiar pesquisas futuras.
Usando a Ajuda
Processo de instalação
- Configuração do ambienteVerifique se o Python 3.7 ou superior está instalado e se as bibliotecas de dependência necessárias estão instaladas.
- armazém de clonesExecutar em um terminal
git clone https://github.com/declare-lab/TangoFlux.git
Armazém de Clonagem. - Instalação de dependênciasVá para o diretório do projeto e execute
pip install -r requirements.txt
Instale todas as dependências.
Processo de uso
- treinamento de modelos::
- Acelerador de configuração: Executar
acelerar a configuração
e siga as instruções para configurar o ambiente de tempo de execução. - Configure o caminho do arquivo de treinamento: na seção
configs/tangoflux_config.yaml
Especifique o caminho do arquivo de treinamento e os hiperparâmetros do modelo no campo - Execute o script de treinamento: Use o seguinte comando para iniciar o treinamento:
CUDA_VISIBLE_DEVICES=0,1 accelerate launch --config_file='configs/accelerator_config.yaml' src/train.py --checkpointing_steps="best" -- save_every=5 --config='configs/tangoflux_config.yaml'
- Treinamento de DPO: Modifique o arquivo de treinamento para incluir os campos "chosen" (escolhido), "reject" (rejeitado), "caption" (legenda) e "duration" (duração) e execute o seguinte comando:
CUDA_VISIBLE_DEVICES=0,1 accelerate launch --config_file='configs/accelerator_config.yaml' src/train_dpo.py --checkpointing_steps="best " ---save_every=5 --config='configs/tangoflux_config.yaml'
- Acelerador de configuração: Executar
- raciocínio modelado::
- Download do modelo: Certifique-se de ter feito o download do modelo do TangoFlux.
- Gerar áudio: Use o código a seguir para gerar áudio a partir de um prompt de texto:
importar torchaudio from tangoflux import TangoFluxInference de IPython.display import Audio model = TangoFluxInference(name='declare-lab/TangoFlux') audio = model.generate("prompt de texto para gerar áudio", duration=10) audio(audio, rate=44100)
Operação detalhada da função
- Geração de texto para áudioInsira um prompt de texto, defina a duração do áudio gerado (1 a 30 segundos), e o modelo gerará o áudio de alta qualidade correspondente.
- tendência à otimizaçãoPor meio da tecnologia CRPO, o modelo é capaz de gerar áudio mais alinhado com as preferências do usuário.
- Treinamento em várias etapasO modelo consiste em três fases: pré-treinamento, ajuste fino e otimização de preferências para garantir a qualidade e a consistência do áudio gerado pelo modelo.
advertência
- Requisitos de hardwareRecomendamos o uso de uma GPU com maior capacidade de computação (por exemplo, A40) para obter o melhor desempenho.
- Preparação de dadosDados de treinamento: garanta a diversidade e a qualidade dos dados de treinamento para melhorar a geração de modelos.
Com essas etapas, os usuários podem começar a usar rapidamente o TangoFlux para conversão de texto em áudio de alta qualidade. Instruções detalhadas de instalação e uso garantem que os usuários possam concluir com êxito o treinamento do modelo e o processo de inferência.