Feuille de route / encode.cpp / ggml
Inférence du modèle d'écorce de Sunoai en pur C / C ++.
Avec bark.cpp , notre objectif est d'amener la génération de texte vocale multilingue réaliste en temps réel à la communauté.
Modèles pris en charge
Modèles que nous voulons mettre en œuvre! Veuillez ouvrir un PR :)
Demo sur Google Colab (# 95)
Voici une exécution typique à l'aide de bark.cpp :
./ main - p "This is an audio generated by bark.cpp"
__ __
/ / _ ____ ______ / / __ _________ ____
/ __ / __ `/ ___ / //_/ / ___/ __ / __
/ / _ / / / _ / / / / ,< _ / / __ / / _ / / / _ / /
/ _ . ___ /__,_/ _ / / _ /| _ | ( _ ) ___ / . ___ / . ___ /
/ _ / / _ /
bark_tokenize_input : prompt : 'This is an audio generated by bark.cpp'
bark_tokenize_input : number of tokens in prompt = 513 , first 8 tokens : 20795 20172 20199 33733 58966 20203 28169 20222
Generating semantic tokens : 17 %
bark_print_statistics : sample time = 10.98 ms / 138 tokens
bark_print_statistics : predict time = 614.96 ms / 4.46 ms per token
bark_print_statistics : total time = 633.54 ms
Generating coarse tokens : 100 %
bark_print_statistics : sample time = 3.75 ms / 410 tokens
bark_print_statistics : predict time = 3263.17 ms / 7.96 ms per token
bark_print_statistics : total time = 3274.00 ms
Generating fine tokens : 100 %
bark_print_statistics : sample time = 38.82 ms / 6144 tokens
bark_print_statistics : predict time = 4729.86 ms / 0.77 ms per token
bark_print_statistics : total time = 4772.92 ms
write_wav_on_disk : Number of frames written = 65600.
main : load time = 324.14 ms
main : eval time = 8806.57 ms
main : total time = 9131.68 msVoici une vidéo d'écorce fonctionnant sur l'iPhone:
Voici les étapes pour utiliser Bark.cpp
git clone --recursive https://github.com/PABannier/bark.cpp.git
cd bark.cpp
git submodule update --init --recursive Afin de construire Bark.cpp, vous devez utiliser CMake :
mkdir build
cd build
# To enable nvidia gpu, use the following option
# cmake -DGGML_CUBLAS=ON ..
cmake ..
cmake --build . --config Release # Install Python dependencies
python3 -m pip install -r requirements.txt
# Download the Bark checkpoints and vocabulary
python3 download_weights.py --out-dir ./models --models bark-small bark
# Convert the model to ggml format
python3 convert.py --dir-model ./models/bark-small --use-f16
# run the inference
./build/examples/main/main -m ./models/bark-small/ggml_weights.bin -p " this is an audio generated by bark.cpp " -t 4 Les poids peuvent être quantifiés à l'aide de la stratégie suivante: q4_0 , q4_1 , q5_0 , q5_1 , q8_0 .
Notez que pour préserver la qualité de l'audio, nous ne quantifions pas le modèle de codec. La majeure partie du calcul se trouve dans le passage vers l'avant des modèles GPT.
./build/examples/quantize/quantize ./ggml_weights.bin ./ggml_weights_q4.bin q4_0 bark.cpp est une entreprise continue qui s'appuie sur les efforts de la communauté pour durer et évoluer. Votre contribution est la bienvenue et très précieuse. Ça peut être
bark.cpp . N'hésitez pas à le signaler sur la section des problèmes.