TENSORBANANA Telegram 1181
Yue-7b - генерируем песни на русском локально

Языки: английский, китайский, японский, корейский, русский (с акцентом).
генерация:
- по жанру + тексту песни
- по референсному аудио + жанру + тексту песни (почти кавер, позволяет задать нужное направление)
- в fp16 весит 12.5 GB. в формате nf4 занимает всего 6.5 GB vram!
- на русском лучше генерирует мужской голос. В женских - сильный акцент.

## Установка под Windows (без wsl)

Нужны
- питон 3.9 (3.8 не подойдет для flash-attention)
- torch 2.5.1 (flash-attention скомпилирован лишь для нескольких версий торча)
- cuda toolkit 12.4+

conda create -n yue python=3.9
conda activate yue
pip install torch==2.5.1 torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124

качаем файл flash_attn-2.7.1.post1+cu124torch2.5.1cxx11abiFALSE-cp39-cp39-win_amd64.whl
отсюда https://github.com/bdashore3/flash-attention/releases в папку, куда у вас идет установка
pip install flash_attn-2.7.1.post1+cu124torch2.5.1cxx11abiFALSE-cp39-cp39-win_amd64.whl

git lfs install
git clone https://github.com/multimodal-art-projection/YuE
cd YuE
pip install -r requirements.txt

cd inference/
git clone https://huggingface.co/m-a-p/xcodec_mini_infer


## Фиксим поддержку русского языка в UTF8
строку 120: with open(args.genre_txt) as f:
меняем на: with open(args.genre_txt, encoding="utf-8") as f:

строку 122: with open(args.lyrics_txt) as f:
меняем на: with open(args.lyrics_txt, encoding="utf-8") as f:


## Генерация
в папке inference создаем 2 файла genre.txt и lyrics.txt
в genre пишем: vocal punk rock electric guitar male vocal
Проверяем что кодировка в файлах UTF8
в lyrics пишем: 3-4 коротких сегмента: 2 куплета + 1 припев. При 2-х сегментах, у меня почему-то не запускался инференс. Пример:

Пластмассовый мир победил
...

[chorus]
Ооо - моя оборона
...

[verse]
...


Генерацию по промпту:
python infer.py --stage1_model m-a-p/YuE-s1-7B-anneal-en-cot --stage2_model m-a-p/YuE-s2-1B-general --genre_txt genre.txt --lyrics_txt lyrics.txt --run_n_segments 2 --stage2_batch_size 4 --output_dir ./output --cuda_idx 0 --max_new_tokens 1000

Генерация по промпту + референсному аудио:
python infer.py --stage1_model m-a-p/YuE-s1-7B-anneal-en-icl --stage2_model m-a-p/YuE-s2-1B-general --genre_txt genre.txt --lyrics_txt lyrics.txt --run_n_segments 2 --stage2_batch_size 4 --output_dir ./output --cuda_idx 0 --audio_prompt_path Egor_Letov_-_Moya_oborona.mp3 --max_new_tokens 1000


--run_n_segments - количество сегментов (куплетов + припевов)
--max_new_tokens - время песни в каждом сегменте. Длина песни если сегмента 2: 1000x2 = 20s, 3000 = 60s. Чем больше время, тем больше надо vram.

## Скорость и vram на 3090:
20s аудио - 12.5 GB (15 минут)
60s аудио - 15.6 GB (32 минуты)

## 8-12 GB VRAM и 3000 серия и nf4
Если у вас всего 8-12 GB попробуйте запустить модель в кванте nf4 (load_in_4bit=True). Особого падения качества пока не заметил. 10 секунд аудио будут занимать всего 6.6 GB VRAM. Запускать в gguf пока не имеет смысла, они будут автоматом конвертироваться в bf16, надо ждать нормальную реализацию гуфов для модели. На 2080 пока не запускается, flash attention похоже не поддерживается. Без него тоже можно, но будет медленнее и надо больше vram.

Для nf4 нужно установить:
pip install accelerate bitsandbytes
в infer.py измените строки 76-82 на:
model = AutoModelForCausalLM.from_pretrained(
stage1_model,
load_in_4bit=True,
torch_dtype=torch.bfloat16,
attn_implementation="flash_attention_2",
)

Скорость на 3060: 10s = 11 минут.

примеры на английском: https://map-yue.github.io/
потестить (русского нет):
- (квоты хватит на 10+10 секунд песни, не ставьте длину больше 10 секунд - упадет по ошибке): https://huggingface.co/spaces/innova-ai/YuE-music-generator-demo
- (15 секунд, ждать очереди больше часа): https://huggingface.co/spaces/fffiloni/YuE
9🔥32👍15🤣31



tgoop.com/tensorbanana/1181
Create:
Last Update:

Yue-7b - генерируем песни на русском локально

Языки: английский, китайский, японский, корейский, русский (с акцентом).
генерация:
- по жанру + тексту песни
- по референсному аудио + жанру + тексту песни (почти кавер, позволяет задать нужное направление)
- в fp16 весит 12.5 GB. в формате nf4 занимает всего 6.5 GB vram!
- на русском лучше генерирует мужской голос. В женских - сильный акцент.

## Установка под Windows (без wsl)

Нужны
- питон 3.9 (3.8 не подойдет для flash-attention)
- torch 2.5.1 (flash-attention скомпилирован лишь для нескольких версий торча)
- cuda toolkit 12.4+

conda create -n yue python=3.9
conda activate yue
pip install torch==2.5.1 torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124

качаем файл flash_attn-2.7.1.post1+cu124torch2.5.1cxx11abiFALSE-cp39-cp39-win_amd64.whl
отсюда https://github.com/bdashore3/flash-attention/releases в папку, куда у вас идет установка
pip install flash_attn-2.7.1.post1+cu124torch2.5.1cxx11abiFALSE-cp39-cp39-win_amd64.whl

git lfs install
git clone https://github.com/multimodal-art-projection/YuE
cd YuE
pip install -r requirements.txt

cd inference/
git clone https://huggingface.co/m-a-p/xcodec_mini_infer


## Фиксим поддержку русского языка в UTF8
строку 120: with open(args.genre_txt) as f:
меняем на: with open(args.genre_txt, encoding="utf-8") as f:

строку 122: with open(args.lyrics_txt) as f:
меняем на: with open(args.lyrics_txt, encoding="utf-8") as f:


## Генерация
в папке inference создаем 2 файла genre.txt и lyrics.txt
в genre пишем: vocal punk rock electric guitar male vocal
Проверяем что кодировка в файлах UTF8
в lyrics пишем: 3-4 коротких сегмента: 2 куплета + 1 припев. При 2-х сегментах, у меня почему-то не запускался инференс. Пример:

Пластмассовый мир победил
...

[chorus]
Ооо - моя оборона
...

[verse]
...


Генерацию по промпту:
python infer.py --stage1_model m-a-p/YuE-s1-7B-anneal-en-cot --stage2_model m-a-p/YuE-s2-1B-general --genre_txt genre.txt --lyrics_txt lyrics.txt --run_n_segments 2 --stage2_batch_size 4 --output_dir ./output --cuda_idx 0 --max_new_tokens 1000

Генерация по промпту + референсному аудио:
python infer.py --stage1_model m-a-p/YuE-s1-7B-anneal-en-icl --stage2_model m-a-p/YuE-s2-1B-general --genre_txt genre.txt --lyrics_txt lyrics.txt --run_n_segments 2 --stage2_batch_size 4 --output_dir ./output --cuda_idx 0 --audio_prompt_path Egor_Letov_-_Moya_oborona.mp3 --max_new_tokens 1000


--run_n_segments - количество сегментов (куплетов + припевов)
--max_new_tokens - время песни в каждом сегменте. Длина песни если сегмента 2: 1000x2 = 20s, 3000 = 60s. Чем больше время, тем больше надо vram.

## Скорость и vram на 3090:
20s аудио - 12.5 GB (15 минут)
60s аудио - 15.6 GB (32 минуты)

## 8-12 GB VRAM и 3000 серия и nf4
Если у вас всего 8-12 GB попробуйте запустить модель в кванте nf4 (load_in_4bit=True). Особого падения качества пока не заметил. 10 секунд аудио будут занимать всего 6.6 GB VRAM. Запускать в gguf пока не имеет смысла, они будут автоматом конвертироваться в bf16, надо ждать нормальную реализацию гуфов для модели. На 2080 пока не запускается, flash attention похоже не поддерживается. Без него тоже можно, но будет медленнее и надо больше vram.

Для nf4 нужно установить:
pip install accelerate bitsandbytes
в infer.py измените строки 76-82 на:
model = AutoModelForCausalLM.from_pretrained(
stage1_model,
load_in_4bit=True,
torch_dtype=torch.bfloat16,
attn_implementation="flash_attention_2",
)

Скорость на 3060: 10s = 11 минут.

примеры на английском: https://map-yue.github.io/
потестить (русского нет):
- (квоты хватит на 10+10 секунд песни, не ставьте длину больше 10 секунд - упадет по ошибке): https://huggingface.co/spaces/innova-ai/YuE-music-generator-demo
- (15 секунд, ждать очереди больше часа): https://huggingface.co/spaces/fffiloni/YuE

BY Tensor Banana


Share with your friend now:
tgoop.com/tensorbanana/1181

View MORE
Open in Telegram


Telegram News

Date: |

Private channels are only accessible to subscribers and don’t appear in public searches. To join a private channel, you need to receive a link from the owner (administrator). A private channel is an excellent solution for companies and teams. You can also use this type of channel to write down personal notes, reflections, etc. By the way, you can make your private channel public at any moment. The visual aspect of channels is very critical. In fact, design is the first thing that a potential subscriber pays attention to, even though unconsciously. More>> Earlier, crypto enthusiasts had created a self-described “meme app” dubbed “gm” app wherein users would greet each other with “gm” or “good morning” messages. However, in September 2021, the gm app was down after a hacker reportedly gained access to the user data. With the sharp downturn in the crypto market, yelling has become a coping mechanism for many crypto traders. This screaming therapy became popular after the surge of Goblintown Ethereum NFTs at the end of May or early June. Here, holders made incoherent groaning sounds in late-night Twitter spaces. They also role-played as urine-loving Goblin creatures.
from us


Telegram Tensor Banana
FROM American