
code_dim이 code의 개수

code book의 code개수에 2개를 더해서 mask_id와 pad_id를 만든다.
이 pad_id 덕분에 가변길이에서 병렬적 decoding이 가능한것 일지도….

ids : 실제 motion들을 토큰화한 후, gt motion token들을 input
y : raw text
m_lens : motion의 gt length → padding하기 전의 length를 넣어줄 것 같음 근데 과연 latent의 length일까 아님 실제 frame의 개수일까? 🤔
lengths_to_mask 함수를 통해 padding한 위치에 False가 위치한 mask생성결론적으로 padding된 위치(non_pad_mask가 False인 위치) 에 pad_id를 집어 넣어줘서 ids들이 padding 된 위치에는 padding id 가 들어가도록 변경!

rand_time → batch별 random time generation
rand_mask_probs → batch별 random mask probability
num_token_maksed → batch별 마스크할 토큰의 개수
batch_randperm → batch별 random order 생성
mask → batch_randperm 의 순서에 의해 num_token_maksed 개의 토큰이 True이 Mask
positions to be MASKED : True