對話Kaldi之父Daniel Povey:新一代Kaldi子項目布局基本完成,打造語音識別框架基石
日前,小米Kaldi團隊在Interspeech上發布了Icefall的1.0正式版本,這是語音識別開源工具新一代Kaldi的重要組成部分,同時也標志著新一代Kaldi的3個子項目已完成基本布局。據悉,新一代的Kaldi降低了耦合性,方便用戶使用;同時也可以用在任意其他語音識別庫里來處理音頻和文本數據,擁有更好的泛用性與兼容性。
說到“Kaldi”,對于大多數人可能比較陌生,但對于語音識別的從業者卻是名聲在外,幾乎所有的語音團隊都在使用Kaldi引擎來開發智能解決方案。Kaldi集成了多種語音識別模型,包括隱馬爾可夫和最新的深度學習神經網絡,是業界公認的語音識別框架的基石。

今日,速途網有幸采訪到了“Kaldi之父”——Daniel Povey博士,在采訪中,他分享了加入小米開發新一代Kaldi的更多細節,以及未來的一些規劃。
2019年10月,Daniel博士正式加入小米公司,擔任小米集團語音首席科學家,主要工作就是帶領團隊開發新一代Kaldi。談到加入小米的契機,Daniel博士表示,大型開源項目是長久的工程,選擇小米是因為覺得它是一家穩定的公司,同時對表現出對開源的承諾與重視,允諾Kaldi團隊能在這里一直做開源項目。
在采訪中,速途網還發現一個有趣的事情:Kaldi團隊所有成員都整齊劃一地穿著白色T恤,除了“NEXT- GEN KALDI”(新一代Kaldi)的文字以外,還有一個皺著眉頭的人物。據Daniel介紹,這T恤出自他本人設計,上面的人物是Liliana(Daniel的助理),因為她有時候的面部表情是衣服上面畫的那樣,就像她在監工,看到這個畫面就感覺Liliana無處不在??梢姡琄aldi團隊日常的工作氛圍緊張且富有激情。
據速途網了解,新一代Kaldi共分為三個部分: Lhotse、Icefall和k2。
其中,Lhotse是訓練數據準備部分,設計了通用又不失靈活性的接口,以適應包括語音識別、文本轉語音等多種語音任務,并引入了Audio Cuts的概念從而在不影響數據處理效率的前提下,降低了數據存儲所需空間。Icefall是訓練腳本集合,包含有大量的基于不同數據集的示例腳本,大大降低了用戶的學習成本。k2是新一代Kaldi的核心,核心貢獻在于將加權有限狀態轉換器(WFST)和相關算法無縫地集成到基于Autograd的機器學習工具包,如PyTorch和TensorFlow中。
新一代Kaldi依舊采用了高效的C++代碼實現,且更重要的是由于將k2的C++代碼都包裝到了Python, 模型的訓練迭代都可以使用純Python代碼完成,大大方便了用戶的使用。
基于Icefall中的示例腳本,工程師們可以很容易地基于自己公司產品的數據集進行修改,進而快速地搭建線上數據反饋和模型自動迭代更新的流程,比原來的 Kaldi 代碼庫更加靈活,縮短模型更新的周期。除此之外,由于高效的支持GPU,如果用戶或企業基于GPU來部署新一代Kaldi的模型,也將獲得GPU對模型解碼的加速優勢,這將大大提高模型最終的識別速度。
經過這一年的開發,Daniel博士帶領團隊完善了k2和Lhotse, 并基于二者正式發布Icefall項目。其中k2的主要更新包括以下幾點:優化代碼以提高整體性能;實現一些Icefall項目需要用到的輔助函數;并修復了bug。

得益于新一代Kaldi的技術升級,帶來了更為高效的解碼速度和更低的WER(詞錯誤率),提升了產品的語音識別體驗。而在產品層面,Daniel博士透露,新一代Kaldi將逐步融入到小米產品之中,例如進行離線/在線語音識別加速、端到端的聲紋識別等工作,隨著集成和測試工作的逐步推進,新一代Kaldi將有望于今年年底或明年初在小米產品之中登場,與大眾正式見面,讓更多人享受到科技的樂趣。