76 lines
2.2 KiB
YAML
76 lines
2.2 KiB
YAML
# Speaker-based VAP at 12.5 Hz, the rate Mimi natively codes at.
|
|||
|
|
#
|
||
|
|
# `tap: latent` is Mimi's own frame rate, so this matches a full-duplex system
|
||
|
|
# built on Mimi codes frame for frame: same frontend, same 80 ms decision grid.
|
||
|
|
# Labels come from seg/vad12_5, written by 03_prep_vad_rate.py; the 25 Hz tree
|
||
|
|
# is untouched. bin_sec stays at the paper's times, so the rate is the only
|
||
|
|
# thing that changes against the 25 Hz runs - at 12.5 Hz they round to
|
||
|
|
# 0.16 / 0.4 / 0.64 / 0.8, still a 2.0 s horizon.
|
||
|
|
fisher_path: data/fisher
|
||
|
|
checkpoint_dir: runs/speaker_mimi_12hz
|
||
|
|
|
||
|
|
vap:
|
||
|
|
audio_encoder:
|
||
|
|
name: mimi
|
||
|
|
tap: latent # 12.5 Hz, Mimi's own frame rate
|
||
|
|
|
||
|
|
arch: stereo
|
||
|
|
batch_size: 32
|
||
|
|
num_workers: 16
|
||
|
|
max_epochs: 5
|
||
|
|
lr: 0.001
|
||
|
|
weight_decay: 0.01
|
||
|
|
warmup_ratio: 0.1
|
||
|
|
min_lr: 0.0001
|
||
|
|
|
||
|
|
precision: bf16-mixed
|
||
|
|
gradient_clip_val: 1.0
|
||
|
|
accumulate_grad_batches: 2
|
||
|
|
matmul_precision: high
|
||
|
|
# Metric that selects best.ckpt. Leave empty when there is no held-out
|
||
|
|
# split to select on: last.ckpt is written either way.
|
||
|
|
checkpoint_monitor: val/loss
|
||
|
|
checkpoint_mode: min
|
||
|
|
# npy reads the segments written by preprocessing; raw seeks the same window
|
||
|
|
# in the source recording and resamples it.
|
||
|
|
source: raw
|
||
|
|
swap_channels: true # channel order is arbitrary; swap both audio and VAD
|
||
|
|
|
||
|
|
projection_window:
|
||
|
|
bin_sec: [0.2, 0.4, 0.6, 0.8]
|
||
|
|
num_hist_bins: 0 # every bin is a future bin, as in the original repo
|
||
|
|
frame_hz: 12.5
|
||
|
|
threshold: 0.5
|
||
|
|
mode: speaker_based
|
||
|
|
cut_center_frame: false
|
||
|
|
|
||
|
|
temporal:
|
||
|
|
d_model: 256
|
||
|
|
m_ff: 3
|
||
|
|
n_heads: 4
|
||
|
|
n_layers: 1
|
||
|
|
dropout: 0.1
|
||
|
|
activation: GELU
|
||
|
|
causal: true
|
||
|
|
pos_encoding: alibi # alibi | rope | sinusoidal | none
|
||
|
|
ffn: mlp
|
||
|
|
norm: layer
|
||
|
|
# Size of the sinusoidal position table. Rotary and ALiBi extend to any
|
||
|
|
# length, so this bounds the sinusoidal encoding only.
|
||
|
|
max_frames: 4096
|
||
|
|
|
||
|
|
cross:
|
||
|
|
d_model: 256
|
||
|
|
m_ff: 3
|
||
|
|
n_heads: 4
|
||
|
|
n_layers: 3
|
||
|
|
dropout: 0.1
|
||
|
|
activation: GELU
|
||
|
|
causal: true
|
||
|
|
pos_encoding: alibi # alibi | rope | sinusoidal | none
|
||
|
|
ffn: mlp
|
||
|
|
norm: layer
|
||
|
|
# Size of the sinusoidal position table. Rotary and ALiBi extend to any
|
||
|
|
# length, so this bounds the sinusoidal encoding only.
|
||
|
|
max_frames: 4096
|