Implémentation de Spear-TTS - réseau d'attention de synthèse vocale multi-locuteurs, dans Pytorch
Le module texte-sémantique construit ici sera utilisé pour SoundStorm pour le conditionnement.
Stabilité pour leurs généreux parrainages pour travailler sur la recherche de pointe en intelligence artificielle open source
Lucas Newman pour avoir complété la partie de rétrotraduction, ainsi que le décodage par recherche de faisceau !
Lucas Newman pour avoir complété le texte final du code de formation du transformateur sémantique !
$ pip install spear-tts-pytorch
import torch
from audiolm_pytorch import HubertWithKmeans
from spear_tts_pytorch import (
TextToSemantic ,
SemanticToTextDatasetGenerator ,
GeneratedAudioTextDataset ,
MockDataset
)
wav2vec = HubertWithKmeans (
checkpoint_path = './hubert_base_ls960.pt' ,
kmeans_path = './hubert_base_ls960_L9_km500.bin'
)
model = TextToSemantic (
wav2vec = wav2vec ,
dim = 512 ,
num_text_token_ids = 256 ,
heads = 8 ,
target_kv_heads = 2 , # grouped query attention, for memory efficient decoding
source_depth = 1 ,
target_depth = 1
)
ds = MockDataset ( 10 )
dataset_generator = SemanticToTextDatasetGenerator (
model = model ,
dataset = ds ,
folder = './output_folder'
)
dataset_generator ( max_length = 2 )
generated_dataset = GeneratedAudioTextDataset (
folder = './output_folder'
)
assert len ( generated_dataset ) == 10
ajoutez eos logic + generate et connectez la génération de bout en bout dans soundstorm
ajouter le premier discours de pré-entraînement avec la reconstruction de 60 % de jetons supprimés
ajouter des abandons pour ce projet, car à faibles ressources
ajouter une flexibilité totale quant aux couches d'encodeur/décodeur à geler pendant l'entraînement
ajouter une étape pour la formation sur le petit discours -> corpus de texte et génération d'un ensemble de données pseudo-étiqueté + réglage fin (merci à @lucasnewman)
ajouter la dernière étape de réglage fin sur le texte -> parole + ensemble de données pseudo-étiquetées
trouver la meilleure façon de stocker et de gérer l'ensemble de données généré pseudo-étiqueté
décodage par recherche de faisceaux par lots
permettre l'utilisation de positions rotatives dans le décodeur + attention flash, donner à Tri une autre citation
intégrer le décodage spéculatif avec une certaine improvisation - réalisé selon le même modèle en utilisant une stratégie de sortie anticipée
ajoutez des clés/valeurs en cache pour le démarreur + des valeurs de clé uniques/groupées, assurez-vous que l'attention flash peut prendre en charge un masque causal spécialisé avant que l'attention flash 2 ne soit dans le noyau pytorch
peaufiner le flux de travail de génération de texte audio
concaténer le véritable ensemble de données audio-texte avec celui généré -> ou être capable de convertir le véritable ensemble de données audio-texte en généré
@misc { kharitonov2023speak ,
title = { Speak, Read and Prompt: High-Fidelity Text-to-Speech with Minimal Supervision } ,
author = { Eugene Kharitonov and Damien Vincent and Zalán Borsos and Raphaël Marinier and Sertan Girgin and Olivier Pietquin and Matt Sharifi and Marco Tagliasacchi and Neil Zeghidour } ,
year = { 2023 } ,
eprint = { 2302.03540 } ,
archivePrefix = { arXiv } ,
primaryClass = { cs.SD }
}
@inproceedings { dao2022flashattention ,
title = { Flash{A}ttention: Fast and Memory-Efficient Exact Attention with {IO}-Awareness } ,
author = { Dao, Tri and Fu, Daniel Y. and Ermon, Stefano and Rudra, Atri and R{'e}, Christopher } ,
booktitle = { Advances in Neural Information Processing Systems } ,
year = { 2022 }
}
@misc { shi2023enhance ,
title = { Enhance audio generation controllability through representation similarity regularization } ,
author = { Yangyang Shi and Gael Le Lan and Varun Nagaraja and Zhaoheng Ni and Xinhao Mei and Ernie Chang and Forrest Iandola and Yang Liu and Vikas Chandra } ,
year = { 2023 } ,
eprint = { 2309.08773 } ,
archivePrefix = { arXiv } ,
primaryClass = { cs.SD }
}
@article { Ainslie2023GQATG ,
title = { GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints } ,
author = { Joshua Ainslie and James Lee-Thorp and Michiel de Jong and Yury Zemlyanskiy and Federico Lebr'on and Sumit K. Sanghai } ,
journal = { ArXiv } ,
year = { 2023 } ,
volume = { abs/2305.13245 } ,
url = { https://api.semanticscholar.org/CorpusID:258833177 }
}
@inproceedings { Leviathan2022FastIF ,
title = { Fast Inference from Transformers via Speculative Decoding } ,
author = { Yaniv Leviathan and Matan Kalman and Y. Matias } ,
booktitle = { International Conference on Machine Learning } ,
year = { 2022 } ,
url = { https://api.semanticscholar.org/CorpusID:254096365 }
}