text2semantic_pretrain_small.yaml 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. defaults:
  2. - base
  3. - _self_
  4. project: text2semantic_pretrain_small_dual_ar
  5. max_length: 2048
  6. # Lightning Trainer
  7. trainer:
  8. accumulate_grad_batches: 1
  9. gradient_clip_val: 1.0
  10. gradient_clip_algorithm: 'norm'
  11. max_steps: 100_000
  12. precision: bf16-true
  13. limit_val_batches: 10
  14. # Dataset Configuration
  15. tokenizer:
  16. _target_: transformers.AutoTokenizer.from_pretrained
  17. pretrained_model_name_or_path: fishaudio/speech-lm-v1
  18. # Dataset Configuration
  19. train_dataset:
  20. _target_: fish_speech.datasets.text.AutoAugTextDataset
  21. tokenizer: ${tokenizer}
  22. max_length: ${max_length}
  23. num_codebooks: ${model.model.config.num_codebooks}
  24. use_speaker: false
  25. phones_prob: 0.5
  26. interactive_prob: 0.5
  27. val_dataset:
  28. _target_: fish_speech.datasets.text.AutoAugTextDataset
  29. tokenizer: ${tokenizer}
  30. max_length: ${max_length}
  31. num_codebooks: ${model.model.config.num_codebooks}
  32. use_speaker: false
  33. phones_prob: 0.5
  34. interactive_prob: 0.5
  35. data:
  36. _target_: fish_speech.datasets.text.TextDataModule
  37. train_dataset: ${train_dataset}
  38. val_dataset: ${val_dataset}
  39. num_workers: 4
  40. batch_size: 32
  41. tokenizer: ${tokenizer}
  42. max_length: ${max_length}
  43. # Model Configuration
  44. model:
  45. _target_: fish_speech.models.text2semantic.TextToSemantic
  46. model:
  47. # ~ 130M parameters, for debug purpose
  48. _target_: fish_speech.models.text2semantic.llama.Transformer
  49. config:
  50. _target_: fish_speech.models.text2semantic.llama.ModelArgs
  51. max_seq_len: ${max_length}
  52. vocab_size: 36408
  53. n_slow_layer: 12
  54. n_fast_layer: 4
  55. n_head: 12
  56. dim: 768
  57. rope_base: 10000
  58. norm_eps: 1e-5
  59. num_codebooks: 8 # input/output codebook size
  60. codebook_size: 264 # codebook size 256 + 2 special tokens
  61. optimizer:
  62. _target_: torch.optim.AdamW
  63. _partial_: true
  64. lr: 3e-4
  65. weight_decay: 0.1
  66. betas: [0.9, 0.95]
  67. eps: 1e-5
  68. lr_scheduler:
  69. _target_: torch.optim.lr_scheduler.LambdaLR
  70. _partial_: true
  71. lr_lambda:
  72. _target_: fish_speech.scheduler.get_cosine_schedule_with_warmup_lr_lambda
  73. _partial_: true
  74. num_warmup_steps: 2000
  75. num_training_steps: ${trainer.max_steps}
  76. final_lr_ratio: 0.1