Conformer(Convolution-augmented Transformer)為卷積增強型Transformer模型,Transformer的自注意力層可以針對大範圍前後有關連的特徵有較好的提取能力,但局部特徵能力較差;而CNN局部特徵提取能力較很好,故Conformer就是將兩者優點合併的產物。
使用以下指令,可以從頭開始訓練Conformer模型:
tao speech_to_text_conformer train -e <experiment_spec> -g <num_gpus>
可以新增其他參數來覆寫程式碼的配置。 將這些欄位留白以便在運行時指定為命令列參數。以下命令可覆蓋訓練清單和驗證清單、訓練的epochs以及保存模型檢查點的位置:
tao speech_to_text_conformer train -e <experiment_spec> \
-g <num_gpus> \
training_ds.manifest_filepath=<training_manifest_filepath> \
validation_ds.manifest_filepath=<val_manifest_filepath> \
trainer.max_epochs=<epochs_to_train> \
save_to='<file_path>.tlt'
e
: 使用實驗規格文件來訓練模型。g
: 訓練期間GPU使用的數量,預設為1。r
: 產生結果的存檔路徑,包含歷程檔、檢查點等。k
: 模型加密金鑰。Conformer在SeamlessM4T所用到最重要的模型UnitY Model中的其中一個部份(參考文章),Conformer由四個模組組成,(1) 前饋模組、(2) 自注意力模組、(3) 卷積模組、(4) 第二個前饋模組。知道了訓練方法但如何遷入現有模型中呢? 這是當前課題。