網站:https://ga642381.github.io/speechprompt/
紙張鏈接:https://arxiv.org/abs/2303.00733
管道圖表:https://github.com/ga642381/speechprompt-v2/blob/main/main/docs/pipeline.png
數據集文檔:https://github.com/ga642381/speechprompt-v2/blob/main/main/docs/dataset.md
下游任務的採樣率:
執行下游任務提示時,請確保音頻的採樣率為16kHz。
修改:最近有一項承諾迫使Librosa將音頻加載到16kHz中。
預訓練的模型加載:
確保正確加載預訓練的模型,以通過提示進行合理的結果。
觀察:正確加載預訓練的模型時,提示的訓練時期應始於時期46,而不是時期1。這是因為預先訓練的GSLM已經接受了45個時期的訓練。
您將擁有4個文件:
休伯特模型:編碼語音
K-均值模型:將語音表示形式量化為離散單元
字典文件:定義單元語言模型的單元空間。
單元語言模型(ULM) :在降視單元上執行生成語言建模
運行預處理管道時可以自動下載這些型號。
數據預處理(Speech2Unit)管道中有4個步驟。這裡的主要任務是執行語音到單位並整理任務標籤
生成清單
量化
redus_quantized
create_lm_dataset
我們將中間數據保存在每個步驟中,以便我們可以對我們感興趣的數據進行進一步的分析。此外,您可以通過檢查每個中間數據更好地了解其工作原理。
下載數據集
修改數據集config ([[downstream]/config.yaml)
修改全局配置(Preprocess/config.yaml)
運行preporcess/runner.py
#您可以運行 - action astion都可以通過所有4個階段運行:python runner.py-model gslm -downstream scr_google_speech_commands-Action All
#或者,您可以通過以下命令順序通過這4個階段:python runner.py-model gslm -downstream scr_google_google_speech_commands -action generate_manifest python runner.py-模型GSLM -downstream scr_google_speech_commands-Action量化 python runner.py-model GSLM -downstream scr_google_speech_commands -Action redical_quantized python runner.py-模型GSLM -downstream scr_google_speech_commands -Action create_lm_dataset
選項2
選項1
Verbalizer有2個步驟,將任務標籤映射到語言模型的詞彙中。
運行verbalizer.py
例子:
Python Verbalizer.py -Downstream scr_google_speech_commands-Action-所有 - method freq
此步驟將語言數據轉換為將用於FairSeq培訓的二進製文件。
運行fairseq_preprocess.py
例子:
python fairseq_preprocess.py-downstream scr_google_speech_commands -vb_method freq
在培訓期間,將保存兩種檢查站
base_model
迅速的
運行火車
例子:
python train.py - downstream scr_google_speech_commands -vb_method freq -exp_name scr_google_speech_commands_plen.5 -prompt_length 5 - deep_prompt
加載base_model並提示執行採樣
運行Sample.Py
例子:
Python Sample.Py -exp_name scr_google_speech_commands_plen.5 - downstream scr_google_speech_commands -vb_method freq
輸出是一個包含file_name,源單元,地面真相(標籤)和模型預測的JSON文件: