Implementasi Spear-TTS - jaringan perhatian text-to-speech multi-speaker, di Pytorch
Modul text-to-semantic yang dibangun di sini akan digunakan untuk SoundStorm untuk pengkondisian.
Stabilitas atas sponsorship mereka yang murah hati untuk dikerjakan dan open source penelitian kecerdasan buatan yang canggih
Lucas Newman yang telah menyelesaikan bagian terjemahan balik, serta decoding penelusuran berkas!
Lucas Newman yang telah menyelesaikan teks terakhir ke kode pelatihan transformator semantik!
$ 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
tambahkan logika eos + hasilkan, dan sambungkan generasi ujung ke ujung di soundstorm
tambahkan pra-pelatihan pidato-ke-ucapan pertama dengan rekonstruksi 60% token yang dihapus
tambahkan putus sekolah untuk proyek ini, karena sumber dayanya rendah
tambahkan fleksibilitas total lapisan encoder/decoder mana yang akan dibekukan selama pelatihan
tambahkan langkah untuk pelatihan pidato kecil -> korpus teks dan menghasilkan kumpulan data berlabel semu + penyempurnaan (terima kasih kepada @lucasnewman)
tambahkan langkah terakhir penyempurnaan pada teks -> ucapan + kumpulan data berlabel semu
mencari cara terbaik untuk menyimpan dan mengelola kumpulan data yang dihasilkan dengan label semu
decoding pencarian berkas batch
izinkan untuk menggunakan posisi putar di decoder + perhatian flash, berikan Tri kutipan lain
mengintegrasikan decoding spekulatif dengan beberapa improvisasi - dilakukan dalam model yang sama menggunakan strategi keluar awal
tambahkan kunci/nilai cache untuk starter + nilai kunci tunggal/dikelompokkan, pastikan perhatian flash dapat mendukung topeng kausal khusus sebelum perhatian flash 2 ada di inti pytorch
menyempurnakan alur kerja pembuatan teks audio
menggabungkan kumpulan data teks audio asli dengan yang dihasilkan -> atau mampu mengonversi kumpulan data teks audio asli menjadi yang dihasilkan
@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 }
}