Metavoice-1b est un modèle de base de paramètres 1.2b formé sur 100 000 heures de discours pour TTS (texte-vocation). Il a été construit avec les priorités suivantes:
Nous publions MetaVoice-1B sous la licence Apache 2.0, il peut être utilisé sans restrictions .
Ui Web
docker-compose up -d ui && docker-compose ps && docker-compose logs -fServeur
# navigate to <URL>/docs for API definitions
docker-compose up -d server && docker-compose ps && docker-compose logs -fPré-requis:
Configuration de l'environnement
# install ffmpeg
wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz
wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz.md5
md5sum -c ffmpeg-git-amd64-static.tar.xz.md5
tar xvf ffmpeg-git-amd64-static.tar.xz
sudo mv ffmpeg-git- * -static/ffprobe ffmpeg-git- * -static/ffmpeg /usr/local/bin/
rm -rf ffmpeg-git- *
# install rust if not installed (ensure you've restarted your terminal after installation)
curl --proto ' =https ' --tlsv1.2 -sSf https://sh.rustup.rs | sh # install poetry if not installed (ensure you've restarted your terminal after installation)
pipx install poetry
# disable any conda envs that might interfere with poetry's venv
conda deactivate
# if running from Linux, keyring backend can hang on `poetry install`. This prevents that.
export PYTHON_KEYRING_BACKEND=keyring.backends.fail.Keyring
# pip's dependency resolver will complain, this is temporary expected behaviour
# full inference & finetuning functionality will still be available
poetry install && poetry run pip install torch==2.2.1 torchaudio==2.2.1 Remarque 1: Lorsque vous soulevez des problèmes, nous vous demanderons d'abord d'essayer avec la poésie. Remarque 2: Toutes les commandes de cette lecture utilisent poetry par défaut, afin que vous puissiez simplement supprimer toute poetry run .
pip install -r requirements.txt
pip install torch==2.2.1 torchaudio==2.2.1
pip install -e . # You can use `--quantisation_mode int4` or `--quantisation_mode int8` for experimental faster inference. This will degrade the quality of the audio.
# Note: int8 is slower than bf16/fp16 for undebugged reasons. If you want fast, try int4 which is roughly 2x faster than bf16/fp16.
poetry run python -i fam/llm/fast_inference.py
# Run e.g. of API usage within the interactive python session
tts.synthesise(text= " This is a demo of text to speech by MetaVoice-1B, an open-source foundational audio model. " , spk_ref_path= " assets/bria.mp3 " )Remarque: Le script prend 30 à 90 pour démarrer (selon le matériel). En effet, nous inversons le modèle pour une inférence rapide.
Sur Ampère, Ada-Lovelace et Hopper Architecture GPUS, une fois compilé, l'API synthétise () fonctionne plus rapidement que le temps réel, avec un facteur en temps réel (RTF) <1,0.
# You can use `--quantisation_mode int4` or `--quantisation_mode int8` for experimental faster inference. This will degrade the quality of the audio.
# Note: int8 is slower than bf16/fp16 for undebugged reasons. If you want fast, try int4 which is roughly 2x faster than bf16/fp16.
# navigate to <URL>/docs for API definitions
poetry run python serving.py
poetry run python app.pyNous prenons en charge le Finetuning la première étape LLM (voir la section Architecture).
Afin de Finetune, nous nous attendons à un ensemble de données CSV dédié au format suivant:
audio_files|captions
./data/audio.wav|./data/caption.txt
Notez que nous n'effectuons aucune vérification de chevauchement de données, assurez-vous donc que vos ensembles de données de train et VAL sont disjoints.
Essayez-le en utilisant nos exemples de jeux de données via:
poetry run finetune --train ./datasets/sample_dataset.csv --val ./datasets/sample_val_dataset.csvUne fois que vous avez formé votre modèle, vous pouvez l'utiliser pour l'inférence via:
poetry run python -i fam/llm/fast_inference.py --first_stage_path ./my-finetuned_model.ptAfin de définir des hyperparamètres tels que le taux d'apprentissage, que geler, etc., vous pouvez modifier le fichier finetune_params.py.
Nous avons une intégration légère et facultative avec W&B qui peut être activée via la définition de wandb_log = True & en installant les dépendances appropriées.
poetry install -E observableNous prédisons les jetons d'encode à partir du texte et les informations du haut-parleur. Ceci est ensuite diffusé au niveau de la forme d'onde, avec le post-traitement appliqué pour nettoyer l'audio.
Le modèle prend en charge:
Nous sommes reconnaissants à Together.ai pour leur aide 24/7 dans le rassemblement de notre cluster. Nous remercions les équipes de AWS, GCP & Hugging Face pour leur soutien avec leurs plateformes cloud.
Excuses à l'avance si nous avons manqué quelqu'un. Veuillez nous faire savoir si nous l'avons fait.