- 输入模板:
<|im_start|>system\n<|im_end|>\n<|im_start|>user\n<audio_start><audio_pad><|im_end|>\n<im_start>assistant\nlanguage Chinese<asr_text> - <|audio_pad|>根据音频特征长度进行占位,replace_multimodeal_special_tokens:
<|im_start|>system\n<|im_end|>\n<|im_start|>user\n<audio_start><audio_pad>*N<|im_end|>\n<im_start>assistant\nlanguage Chinese<asr_text>
![]()
- tokenizer:
1)audio inputs: {‘feature_attention_mask’: tensor([[1,1,1,1,…]]), ‘input_features’: tensor([[TDIM])} # 特征刚输入的值
2)text inputs: {‘input_ids’: tensor([[id, id…]]), ‘attention_mask’: tensor([[1N]])},其中input_ids就是模板映射之后的id,其中audio_pad是audio_feature下采样之后的长度。
3)audio 的padding有单独的id【audio_pad占位,根据最终输入帧数】,以及text的padding有单独的id【endoftext | 151643,进行left padding】,另外model.generation的结束标签是(【eos_token_id】151645,<|im_end|>)。
4)根据audio inputs提取特征之后经过speech encoder之后,进行插入text inputs中。