Spaces:
No application file
No application file
File size: 5,188 Bytes
8b14bed |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
# νμΈνλ
μ΄ νμ΄μ§λ₯Ό μ΄μλ€λ κ²μ, μ¬μ νμ΅λ ν¨μ·(Few-shot) λͺ¨λΈμ μ±λ₯μ λ§μ‘±νμ§ λͺ»νλ€λ μλ―ΈμΌ κ²μ
λλ€. λ°μ΄ν°μ
μ μ±λ₯μ ν₯μμν€κΈ° μν΄ λͺ¨λΈμ νμΈνλνκ³ μΆμΌμκ² μ£ .
νμ¬ λ²μ μμλ 'LLAMA' λΆλΆλ§ νμΈνλνμλ©΄ λ©λλ€.
## LLAMA νμΈνλ
### 1. λ°μ΄ν°μ
μ€λΉ
```
.
βββ SPK1
β βββ 21.15-26.44.lab
β βββ 21.15-26.44.mp3
β βββ 27.51-29.98.lab
β βββ 27.51-29.98.mp3
β βββ 30.1-32.71.lab
β βββ 30.1-32.71.mp3
βββ SPK2
βββ 38.79-40.85.lab
βββ 38.79-40.85.mp3
```
μμ κ°μ νμμΌλ‘ λ°μ΄ν°μ
μ λ³ννμ¬ `data` λλ ν 리 μμ λ°°μΉνμΈμ. μ€λμ€ νμΌμ νμ₯μλ `.mp3`, `.wav`, `.flac` μ€ νλμ¬μΌ νλ©°, μ£Όμ νμΌμ `.lab` νμ₯μλ₯Ό μ¬μ©ν΄μΌ ν©λλ€.
!!! info "λ°μ΄ν°μ
νμ"
`.lab` μ£Όμ νμΌμ μ€λμ€μ μ μ¬ λ΄μ©λ§ ν¬ν¨νλ©΄ λλ©°, νΉλ³ν νμμ΄ νμνμ§ μμ΅λλ€. μλ₯Ό λ€μ΄, `hi.mp3`μμ "Hello, goodbye"λΌλ λμ¬λ₯Ό λ§νλ€λ©΄, `hi.lab` νμΌμλ "Hello, goodbye"λΌλ ν μ€μ ν
μ€νΈλ§ μμ΄μΌ ν©λλ€.
!!! warning
λ°μ΄ν°μ
μ λν μλ μ κ·ν(loudness normalization)λ₯Ό μ μ©νλ κ²μ΄ μ’μ΅λλ€. μ΄λ₯Ό μν΄ [fish-audio-preprocess](https://github.com/fishaudio/audio-preprocess)λ₯Ό μ¬μ©ν μ μμ΅λλ€.
```bash
fap loudness-norm data-raw data --clean
```
### 2. μλ§¨ν± ν ν° λ°°μΉ μΆμΆ
VQGAN κ°μ€μΉλ₯Ό λ€μ΄λ‘λνλμ§ νμΈνμΈμ. λ€μ΄λ‘λνμ§ μμλ€λ©΄ μλ λͺ
λ Ήμ΄λ₯Ό μ€ννμΈμ:
```bash
huggingface-cli download fishaudio/fish-speech-1.4 --local-dir checkpoints/fish-speech-1.4
```
μ΄ν μλ§¨ν± ν ν°μ μΆμΆνκΈ° μν΄ μλ λͺ
λ Ήμ΄λ₯Ό μ€ννμΈμ:
```bash
python tools/vqgan/extract_vq.py data \
--num-workers 1 --batch-size 16 \
--config-name "firefly_gan_vq" \
--checkpoint-path "checkpoints/fish-speech-1.4/firefly-gan-vq-fsq-8x1024-21hz-generator.pth"
```
!!! note
μΆμΆ μλλ₯Ό λμ΄κΈ° μν΄ `--num-workers`μ `--batch-size` κ°μ μ‘°μ ν μ μμ§λ§, GPU λ©λͺ¨λ¦¬ νλλ₯Ό μ΄κ³Όνμ§ μλλ‘ μ£ΌμνμΈμ.
VITS νμμ κ²½μ°, `--filelist xxx.list`λ₯Ό μ¬μ©νμ¬ νμΌ λͺ©λ‘μ μ§μ ν μ μμ΅λλ€.
μ΄ λͺ
λ Ήμ μ€ννλ©΄ `data` λλ ν 리 μμ `.npy` νμΌμ΄ μμ±λ©λλ€. λ€μκ³Ό κ°μ΄ νμλ©λλ€:
```
.
βββ SPK1
β βββ 21.15-26.44.lab
β βββ 21.15-26.44.mp3
β βββ 21.15-26.44.npy
β βββ 27.51-29.98.lab
β βββ 27.51-29.98.mp3
β βββ 27.51-29.98.npy
β βββ 30.1-32.71.lab
β βββ 30.1-32.71.mp3
β βββ 30.1-32.71.npy
βββ SPK2
βββ 38.79-40.85.lab
βββ 38.79-40.85.mp3
βββ 38.79-40.85.npy
```
### 3. λ°μ΄ν°μ
μ protobufλ‘ ν¨νΉ
```bash
python tools/llama/build_dataset.py \
--input "data" \
--output "data/protos" \
--text-extension .lab \
--num-workers 16
```
λͺ
λ Ήμ΄ μλ£λλ©΄ `data` λλ ν 리 μμ `quantized-dataset-ft.protos` νμΌμ΄ μμ±λ©λλ€.
### 4. λ§μ§λ§μΌλ‘, LoRAλ₯Ό μ΄μ©ν νμΈνλ
λ§μ°¬κ°μ§λ‘, `LLAMA` κ°μ€μΉλ₯Ό λ€μ΄λ‘λνλμ§ νμΈνμΈμ. λ€μ΄λ‘λνμ§ μμλ€λ©΄ μλ λͺ
λ Ήμ΄λ₯Ό μ€ννμΈμ:
```bash
huggingface-cli download fishaudio/fish-speech-1.4 --local-dir checkpoints/fish-speech-1.4
```
λ§μ§λ§μΌλ‘, μλ λͺ
λ Ήμ΄λ₯Ό μ€ννμ¬ νμΈνλμ μμν μ μμ΅λλ€:
```bash
python fish_speech/train.py --config-name text2semantic_finetune \
project=$project \
[email protected]_config=r_8_alpha_16
```
!!! note
`batch_size`, `gradient_accumulation_steps` λ±μ νμ΅ λ§€κ°λ³μλ₯Ό GPU λ©λͺ¨λ¦¬μ λ§κ² μ‘°μ νλ €λ©΄ `fish_speech/configs/text2semantic_finetune.yaml` νμΌμ μμ ν μ μμ΅λλ€.
!!! note
Windows μ¬μ©μμ κ²½μ°, `nccl` λ¬Έμ λ₯Ό νΌνλ €λ©΄ `trainer.strategy.process_group_backend=gloo`λ₯Ό μ¬μ©ν μ μμ΅λλ€.
νλ ¨μ΄ μλ£λλ©΄ [μΆλ‘ ](inference.md) μΉμ
μ μ°Έκ³ νμ¬ μμ±μ μμ±ν μ μμ΅λλ€.
!!! info
κΈ°λ³Έμ μΌλ‘ λͺ¨λΈμ νμμ λ§νλ ν¨ν΄λ§ νμ΅νκ³ μμμ νμ΅νμ§ μμ΅λλ€. μμμ μμ μ±μ μν΄ ν둬ννΈλ₯Ό μ¬μ©ν΄μΌ ν©λλ€.
μμμ νμ΅νλ €λ©΄ νλ ¨ λ¨κ³λ₯Ό λ릴 μ μμ§λ§, μ΄λ κ³Όμ ν©μ μνμ μ΄λν μ μμ΅λλ€.
νλ ¨μ΄ λλλ©΄ LoRA κ°μ€μΉλ₯Ό μΌλ° κ°μ€μΉλ‘ λ³νν νμ μΆλ‘ μ μνν΄μΌ ν©λλ€.
```bash
python tools/llama/merge_lora.py \
--lora-config r_8_alpha_16 \
--base-weight checkpoints/fish-speech-1.4 \
--lora-weight results/$project/checkpoints/step_000000010.ckpt \
--output checkpoints/fish-speech-1.4-yth-lora/
```
!!! note
λ€λ₯Έ 체ν¬ν¬μΈνΈλ μλν΄ λ³Ό μ μμ΅λλ€. μꡬ μ¬νμ λ§λ κ°μ₯ μ΄κΈ° 체ν¬ν¬μΈνΈλ₯Ό μ¬μ©νλ κ²μ΄ μ’μ΅λλ€. μ΄λ€μ μ’
μ’
λΆν¬ λ°(OOD) λ°μ΄ν°μμ λ μ’μ μ±λ₯μ λ°νν©λλ€.
|