Metavoice-1B es un modelo base de parámetros 1.2B entrenado en 100k horas de habla para TTS (texto a voz). Se ha construido con las siguientes prioridades:
Estamos lanzando Metavoice-1B bajo la licencia Apache 2.0, se puede usar sin restricciones .
Ui web
docker-compose up -d ui && docker-compose ps && docker-compose logs -fServidor
# navigate to <URL>/docs for API definitions
docker-compose up -d server && docker-compose ps && docker-compose logs -fRequisitos previos:
Configuración del medio ambiente
# 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 Nota 1: Al plantear problemas, le pediremos que intente con poesía primero. Nota 2: Todos los comandos en este ReadMe usan poetry de forma predeterminada, por lo que puede eliminar cualquier 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 " )NOTA: El script lleva 30-90 al inicio (dependiendo del hardware). Esto se debe a que antorchamos el modelo de inferencia rápida.
En las GPU de la arquitectura Ampere, Ada-Lovelace y Hopper, una vez compiladas, la API Synthesise () se ejecuta más rápido que en tiempo real, con un factor en tiempo real (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.pyApoyamos a Finetuning de la primera etapa LLM (ver sección de arquitectura).
Para Finetune, esperamos un conjunto de datos CSV delimitado "|" del siguiente formato:
audio_files|captions
./data/audio.wav|./data/caption.txt
Tenga en cuenta que no realizamos ninguna verificación de superposición de conjuntos de datos, así que asegúrese de que su tren y los conjuntos de datos de Val sean disjuntos.
Pruébelo usando nuestros conjuntos de datos de muestra a través de:
poetry run finetune --train ./datasets/sample_dataset.csv --val ./datasets/sample_val_dataset.csvUna vez que haya capacitado a su modelo, puede usarlo para inferencia a través de:
poetry run python -i fam/llm/fast_inference.py --first_stage_path ./my-finetuned_model.ptPara establecer hiperparámetros como la tasa de aprendizaje, qué congelar, etc., puede editar el archivo finetune_params.py.
Tenemos una integración ligera y opcional con W&B que se puede habilitar mediante la configuración de wandb_log = True e instalando las dependencias apropiadas.
poetry install -E observablePredecimos los tokens Encodec del texto y la información del orador. Esto se difunde hasta el nivel de forma de onda, con un postprocesamiento aplicado para limpiar el audio.
El modelo admite:
Estamos agradecidos a juntos. Agradecemos a los equipos de AWS, GCP y abrazando la cara por su apoyo con sus plataformas en la nube.
Disculpas de antemano si nos hemos perdido a alguien. Háganos saber si tenemos.