語音領域學術界和工業界的七宗罪

計算機視覺領域早已全面迎來“ImageNet時刻”,而語音識別領域的的“ImageNet時刻”卻遲遲未來臨。與計算機視覺領域相比,語音識別的預訓練模型、傳遞學習和數據集都相對落後,而且語音識別的計算資源需求仍然過高。近日,一位語音識別領域的實踐者對該領域現有的研究工作展開了一次徹底的批判,他認爲學術界和工業界都應該爲語音領域未能實現“ImageNet”時刻負責。

本文是《邁向語音識別領域的ImageNet時刻》的後續,文中將回答以下問題:

  1. 什麼是所謂的ImageNet時刻,它有什麼意義?
  2. 爲什麼它在語音領域還沒有出現?學術界和工業界爲此要負哪些間接責任?
  3. 上一篇文章中介紹的方法有哪些不足?

本文最初發表在thegradient網站上(A Speech-To-Text Practitioner’s Criticisms of Industry and Academia),經原作者及網站授權由InfoQ翻譯並分享。

作者的團隊開發的Open STT項目(詳情見上一篇文章)正在計劃建立中文分支,並在尋找精通中文和深度學習的合作伙伴。有興趣的同學請與作者直接聯繫:[email protected]

什麼是ImageNet時刻?

我們認爲,一個ML分支領域中的ImageNet時刻出現時會有以下表現:

  • 能夠解決95%的標準“實用”任務所需的架構和模型構建塊,已成爲標準化和經過驗證的開源框架模塊得到了廣泛應用;
  • 多數流行的模型都提供了預訓練的權重;
  • 成功將預訓練模型的標準任務上獲得的知識應用在多種多樣的日常任務中;
  • 與初期在文獻中報告的計算需求(在STT領域一般是100-1000個GPU日)相比,訓練日常任務模型所需的計算量控制在了很低的水平(例如在STT領域中只需1-10個GPU日);
  • 小型獨立公司和研究小組也有能力使用大型預訓練模型來處理計算任務;

如果上述條件都得到了滿足,那麼從業者就能夠以合理的成本來開發新的實用應用。行業中的民主化也會隨之而來:人們不必再依賴像谷歌這樣的大公司作爲行業中的唯一真相來源。

爲什麼ImageNet時刻尚未到來

爲了回答這個問題,我們先來看一看計算機視覺(CV)領域出現這一時刻之前有哪些事件和趨勢。

可視化關鍵趨勢和事件,這些趨勢和事件引領了視覺領域的ImageNet時刻。

簡單來說:

  1. NVIDIA過去幾十年中一直在生產和優化消費級GPU。現在你只需將4-8個頂級GPU放在一起便可以構建一臺“超級計算機”。
  2. 在2000年代後期,NVIDIA預期GPU的性能足以滿足ML的需求,並且大約在那時開始投資開發CUDA技術(其首個版本於2007年發佈);
  3. 2009年,由李飛飛教授領導的團隊發佈了ImageNet數據集,然後於2011年發起了ILSVRC競賽。2012年,Alex Krizhevsky等人使用NVIDIA GPU和CUDA訓練了著名的AlexNet神經網絡,實現了遠超以往的性能。
  4. 自那以來深度學習框架就不斷髮展,並在2017-2018年左右逐漸成熟。如今PyTorch和TensorFlow是業界的首選方案,除了圖像分類外,它們還針對許多任務提供了預訓練的模型;
  5. 在同一時期,用於在ImageNet上實現頂尖(State of the Art,SOTA)性能的模型架構不斷完善,用於訓練和評估這些模型的代碼以及預訓練的權重也一併發佈了出來,且不斷進化。

因此到了2018年前後,視覺社區已全面實現了“ImageNet時刻”

CV社區普遍認爲ImageNet上的圖像分類挑戰本身並不是目的,而是訓練深度卷積神經網絡,以學習良好的通用特徵的“前置任務”。首先在ImageNet上訓練CNN分類圖像(即預訓練),然後將這些特徵適應於新的目標任務(即微調),這種做法已成爲解決各種CV問題的事實標準。使用ImageNet預訓練的CNN特徵,在幾個圖像分類數據集以及對象檢測、動作識別、人體姿勢估計、圖像分割、光流和視頻字幕等任務中獲得了令人印象深刻的成果。

爲了簡化討論,我們假設STT與CV領域共享硬件加速技術、框架以及神經網絡架構的一些成果。另一方面,與CV領域相比,STT的預訓練模型、傳遞學習和數據集都是相對落後的。此外後者的計算資源需求(如研究論文中所述)也還是過高。

下面就來研究一下爲什麼會出現這種情況。語音識別領域的大部分研究成果都是由行業/公司贊助的學者發表的。因此我們將對他們的學術和行業研究做出批評。公平起見,我們也會批評我們自己的解決方案。歡迎向我們提出反饋和批評:[email protected]

針對工業界的批評

一般來說,我們讀過的大多數STT論文都是由來自該行業的研究人員(如谷歌、百度和Facebook)撰寫的。STT論文和解決方案的大多數不足之處,都可以歸因於研究人員的“學術”背景或“行業”背景。

簡而言之,下面是STT的“行業”部分帶來的主要問題:

  • 基於私有數據構建解決方案,並且沒有明確報告;
  • 複雜的框架和工具包;
  • 解決不存在的問題;
  • 論文結果模糊不清。

基於私有數據構建解決方案並且未正確報告

著名的《Deep Speech 2》論文(2015年)中有以下圖表:

論文表明,爲了獲得高質量的模型就需要大量數據。它和另外幾篇論文明確報告了這一問題並執行了數據集外驗證。大多數現代STT論文往往會採用越來越奢侈的方法,在LibriSpeech ASR語料庫(LibriSpeech)上嚴重過擬合。

谷歌、Facebook和百度很可能擁有10,000至100,000小時的私有數據集來訓練模型。這沒什麼不好,但如果他們用這些數據來提升性能卻沒有正確報告就不行了。註釋語音需要花費很長時間,成本問題會導致該領域的普通參與者很難構建自己的數據集。即便他們使用與我們類似的方法來獲取註釋,也需要大量資源、時間和精力來生成標籤並進行大規模驗證。

註釋1小時的語音可能需要2到10個小時,具體取決於數據集的挑戰性以及是否有某種形式的自動標籤(以其他STT系統輸出的形式)。與CV領域不同,語音註釋的成本是很高的。結果現在的情況變成了:所有人都在一個權威的公共數據集(LibriSpeech)上刷分,但卻幾乎沒有動力報告這些模型在現實應用中的表現,以及模型針對了生產中的哪些事物進行了訓練。谷歌、Facebook或百度沒有足夠的利益驅動他們開源自己的大型專有數據集。總而言之,這爲希望建立自己的STT系統的從業者設置了極高的進入壁壘。像Common Voice這樣的項目解決了部分困難,但是它們還沒有足夠的數據可用。

複雜的框架和工具包

人們往往會依靠框架或工具箱,而不是從頭開始編寫所有內容。如果有專門的STT框架和工具包,那麼大家都願意在那些框架提供的模型上構建模型。不幸的是在語音領域這是行不通的。使用這些解決方案來啓動你的STT項目會有很多麻煩,原因有很多:

  • 它們的代碼是爲大型計算平臺優化的;
  • 它們的配方(展示如何使用這些框架的端到端示例)僅適用於小型學術數據集,要擴展到大規模數據集就需要大量計算。
  • 配方的樣本效率極低(我們最喜歡的例子是在數百兆字節文本的數據集上訓練10GB LM);
  • 即使你在LibriSpeech上對模型進行了預訓練,它也很可能無法遷移到現實世界中。
  • 如果你想構建一個內部STT解決方案,並能正確理解和優化它,你可能需要龐大的團隊或大量的時間來內部化上述工具包;
  • 這些工具包要麼是已發佈的內部解決方案,要麼是PR、新面世方案或生態系統構建工具。這意味着這類工具包可能很適合用作MVP或基線,但要優化這種管道就需要投入大量資源(對公司來說,很可能都要編寫自己的工具包);

個人經驗來看,我們曾多次嘗試內部化一些FairSeqEspNet管道,但最後卻發現所需的時間和精力太多了。也許我們的ML工程技能尚待改進,但水平更高的從業者(即全職C++ ML編程人員)也給出了類似意見。

解決不存在的問題

如果爲LibriSpeech構建一個新的或改進的工具包,卻需要運行在8塊價值1萬美元的GPU上,這對實際應用是沒有幫助的。

這裏的解決方案是創建和發佈關於現實生活數據的免費、開放和公共領域的數據集,然後發佈對其進行預訓練的模型(CV領域中就是這樣)。但是除了Mozilla的Common Voice項目之外,我們還沒有看到什麼有價值的計劃。

無法復現的結果

在ML中有一個常見的模式,那就是每週都有人聲稱獲得最新的結果,但這種結果很難復現,或者沒有附帶容易跑起來的代碼。

考慮到與加速硬件和大型數據集集成的難度,以及訓練模型所花費的時間,結果就更難復現了。

與其把“最頂尖”掛在嘴邊,我們認爲行業應該更多關注“足以在現實生活中使用的”解決方案和公共數據集。

針對學術界的批評

以下是我們想法的簡單總結:

  • 如果一大羣人都只針對某種度量標準刷分,這種標準就沒什麼意義了。更新速度不夠快的學術數據集會變成企業用來炫耀實力的“排行榜”。在刷分時使用大規模的硬件資源,運行龐大且樣本效率低下的網絡是司空見慣的,可這隻有實力雄厚的玩家才玩得起。
  • 理想情況下,論文應該提供足夠的細節,讓獨立研究人員至少可以復現95%的結果。
  • 在現實中,論文的內容和結構往往和文章的實際目的與現實應用之間脫鉤,論文作者可能抱着破罐破摔的心態,用複雜的數學語言去描繪新的概念,其實作者自己可能根本就不會用上那些數學方法。

除了可復現性之外,這些論文還有其他一些常見的缺陷:

  • 他們對方法的泛化性(也就是在其他領域進行測試)表現閉口不談。光看論文,好像神經網絡已經在ASR中擊敗了人類,但其實這只是刷分出來的結果。
  • 他們往往不說自己使用了多少計算資源。
  • 他們極少公佈收斂曲線。在ML中,往往只用總計算量的一小部分就可以實現95%甚至99%的結果。

被SOTA Bug咬一口

我真的很喜歡“被SOTA bug咬一口”這個表述。也就是說刷分只會讓某個標準失去意義(也就是Goodhart定律)。在ML中,經常發生的事情是模型對評測數據集的某些隱藏的內在質量要素過擬合了。例如在CV領域中,這種模式一般是視覺上相似圖像的羣集

單純追求學術或科學目標,且懷抱理想的小型不知名社區不太會掉進Goodhart定律的陷阱。一旦社區出了名就會開始刷分,然後就不再有真正的進步,直到出現什麼危機爲止。這就是“被SOTA Bug咬一口”的意思。

例如,在自然語言處理領域的這種氛圍下,人們針對公共學術評測標準非理性地投資構建出了一堆龐大的模型,但是由於許多原因,這種“進步”的價值非常有限:

  • 即使是最出色的前沿模型,對現實任務的理解也非常有限(畢竟ML是模式匹配)。
  • 最近的頂尖結果越來越難對比,因爲它們使用的計算量可能相差一個數量級之多。
  • 難復現的特性限制了現實世界的應用;
  • 數據和計算量越來越多,結果頂尖結果變得司空見慣;
  • 排行榜被高估了。

最近出現了很多NLP學術數據集,但它們的實用性往往受到許多因素的限制:

  • 此類數據集大都是英文語種的。
  • 這樣的數據集在研究領域可能表現出色,但是與CV領域不同的是,很難將它們合併到現實的管道中。
  • 儘管像SQUAD這樣的數據集在構建時投入了大量人力物力,但是你沒法把它們用在生產模型中。
  • 穩定的生產級NLP模型往往基於高出幾個數量級的數據量,或者處理的任務簡單得多。例如,神經網絡應該可以可靠地進行NER,但想讓它正常回答問題或對話交流就是癡心妄想了。有一個比喻很合適:用transformer構建AGI就像是要通過蓋樓來登月一樣;

我們贊同關於ML驗證和指標的一種觀點,那就是ML管道應被視爲一種壓縮算法,也就是說你的管道將現實世界壓縮爲一個具有內存、計算和硬件要求的計算圖和模型的集合。如果你能把模型所需的計算量或權重足跡縮小到1/10,而性能基本不變,那麼這比多刷0.5%的分數要有意義的多。

另一方面,好消息是業內人士開始考慮自己方法的效率了,甚至谷歌也開始發表有效地對Transformers進行預訓練的論文(當然是基於谷歌的計算規模)。

論文內容與結構

以往,ML中的新想法一般是以數學公式的形式寫在論文裏發表出來的。但這種做法有自己的缺陷,因爲如今隨着開源工具的廣泛應用,在構建應用解決方案、優化現有解決方案、解釋事物的工作機制(這是一項獨立的艱苦工作)和構建基本模塊或框架(如百度的warp-ctc或Facebook的PyTorch),以及創建新的數學方法之間存在着明顯的界限。

ML研究人員普遍認同論文中遍佈方程式的事實。但它們是否真的能幫助我們理解事物的原理呢?以連接主義時間分類(CTC)損失爲例:幾乎所有用到這個損失的STT論文都有專門的對應章節。你可能會在裏面找到一些公式,但是看公式就能理解了嗎?

CTC損失是一件複雜的事情,可能還是STT研究的最大推動力,但很少有論文提及它們使用了哪種實現。在我讀過的所有論文中都沒見過以下想法,是因爲我沒注意到,還是因爲我用的實現的怪癖,還是他們故意忽略了這些內容?

  • 每隔3個月,我將warp-ctc(移植到PyTorch)與PyTorch的原生CTC損失做對比,而後者在真實數據上就是不能正常工作。
  • 與標準損失相比,CTC損失相當“激進”。
  • 通常需要某種形式的裁剪或預熱,CTC損失“喜歡”爆發。
  • 在網絡的第一個epoch期間,你應該認真選擇該向網絡展示哪些數據。

當然,你可以參考(由數學家撰寫的)原始論文,也可以參考這篇精彩文章。但其實我能找到的最好的解釋來自一段俄語YouTube視頻,視頻裏兩個傢伙坐下來,用一些PPT和示例一步步解釋了它的原理。所以說論文裏堆得滿滿的這些公式雖然在技術上是正確的,可它們又有多少實際價值呢?

試想一下,如果ML論文和出版物遵循以下模板,那麼讀起來會輕鬆許多:

  • 論文使用了xx工具箱、實現和思想;
  • 做出了xx重大更改;
  • 運行了xx實驗,得出了xx結論。

在“小型”學術數據集上訓練的樣本效率低下的超參數網絡

讓我們看看自從ASR領域的里程碑論文Deep Speech 2發表以來,業界取得了多大進展。

圖源:https://paperswithcode.com/sota/speech-recognition-on-librispeech-test-other ,其中人類的成績來自Deep Speech 2論文。

看起來字符錯誤率(CER)和單詞錯誤率(WER)指標已經降低了60%,並超過了人類水平,不是嗎?既然表現這麼出色,怎麼STT技術就沒在現實世界廣泛流行呢?爲什麼語音接口還被認爲是一種新潮功能,尤其是在業務應用程序中更是如此呢?

按照下表,人類在給音頻註釋時會有5-10%的錯誤率,但這個表其實是誤導人的。我們讀過

下面的幾篇論文後注意到了一些事情:

  • 較新的論文很少使用較小的模型進行消融測試(ablation test)。
  • 聲稱實現頂尖性能的ASR論文中極少出現收斂曲線。
  • 這些論文很少報告用於超參數搜索和模型收斂的計算量。
  • 在我們讀過的論文中,只有Deep Speech 2提到了較小數據集上的性能水平該如何遷移到實際數據中(也就是在其他領域進行驗證)。
  • 實際數據集的樣本效率和可擴展能力並未得到優化。2019年有幾篇論文做了這種事情,但他們主要關心的是減小模型大小,而不是縮短訓練時間。

原始研究發表在 https://blog.timbunce.org/2019/02/11/a-comparison-of-automatic-speech-recognition-asr-systems-part-2/

誠然,研究工作都有自己的週期(做出效率較低的新嘗試,對其進行優化,然後再取得新的突破),但在實踐中,ASR研究似乎是Goodhart定律的好例子。

  • 如果讀過pre-trained Deep Speech in PyTorch的發表說明,應該會驚訝地看到這一句:“不要指望這些模型在你自己的數據上表現良好!”——它是在1000小時的語音數據集上訓練的,而且CER和WER非常低!但實際上,就算在某些理想的10,000小時大型數據集上,系統的WER也會比論文數據高出25-30%。
  • 在CV研究中,更好的Imagenet性能是可以遷移到數據集較小的真實任務中的;而在語音領域,更好的LibriSpeech性能並不能轉移到真實世界的數據集中!你不能像在CV研究中用1,000張圖像訓練網絡那樣,用1,000小時的語音“快速調整”你的網絡。
  • 所有這些意味着,學術界和企業界爲了刷分已經搞出來了越來越多的複雜方法來過擬合LibriSpeech。

研究人員希望針對自己的問題取得進展,並使用自己可用數據的做法是可以理解的,但到頭來這一切意味着,如果有一個像ImageNet那樣真正龐大且具有挑戰性的數據集,我們的進步會快得多。

過度依賴大規模計算資源

過度參數化的示例。谷歌在實驗中證明大中型網絡之間的質量沒有明顯差異,也就是說,在實踐中你大可使用一箇中型網絡,並使用其他技巧來提高質量。

下表是我們對著名的或近期內ASR論文中使用的計算資源的分析:

俄語是比英語更難的語言,因爲它的變化更多。我們的數據集包含許多域,因此無法直接與LibriSpeech對比,但LibriSpeech比我們的數據集更加同質化且噪音更少。

從表中我們可以觀察到以下內容:

  • 在LibriSpeech上訓練的模型大都採用了循環的方法,也就是展示完整的數據集n次。這是非常消耗成本的。因此我們使用了一種課程學習方法。
  • QuartzNet。這篇論文重點關注效率。但它在訓練中使用的計算量似乎和其他論文差不多。
  • TDS。儘管他們沒有明確報告訓練網絡需要多少時間(我們嘗試複製他們的網絡,但失敗了),但他們有很多合理的想法:使用字節對編碼(BPE),使用超過2或3的模型步幅,使用可分離的卷積,等等。
  • JasperNet。他們報告說網絡要麼訓練了50個epochs,要麼是500個,而沒有明確給出訓練時間或所用的硬件資源。
  • Wav2Letter。回過頭來看,令人驚訝的是Wav2Letter論文實際上沒有報告任何一種指標。我們試用了類似Wav2Letter的網絡,其具有大約20-30M的參數,但是無法提供俄語語種。
  • Deep Speech 2。這份列表把Deep Speech論文加進來其實不妥,因爲他們嘗試、推廣和開創了許多事物。這裏只引用一下他們最常被引用的LibriSpeech實驗與他們的遞歸模型。

模型大小與最終結果的比較,Deep Speech 2。

數據量與最終結果的比較,Deep Speech 2。

在表中我們還可以發現一些趨勢:

  • 幾乎所有人都在使用龐大的計算資源,並且沒有明顯可見的硬件需求趨勢(即便在論文中聲稱計算需求減少了)。
  • 網絡的規模有小有大,但總的來說可以認爲大多數網絡(不管用了多少計算量)都對LibriSpeech過擬合了。
  • 如果你跳至“取得的總體進步”一節並對比我們的收斂曲線和下面的收斂曲線,你會看到表現最好的那些網絡裏90%的收斂發生在前2-3天,這與行業水平是一致的(但是我們使用的計算量少得多)。

Deep Speech 2的收斂曲線。

其他常見的批評

還有一些針對ML或STT的常見批評:

  • 論文往往對其方法的泛化水平(即在其他領域進行測試)的表現模糊不提。
  • 對很少有人關注超參數穩定性。
  • 全新的半監督和無監督學習方法不對樣本效率、魯棒性或泛化水平做任何合理性或粗略檢查,並且主要關注的是新穎性因素。
  • 什麼事情都要端到端。學術論文通常會過擬合LM,並在一個小的理想化數據集(LibriSpeech)上進行後處理。聲稱能得到頂尖結果的方法完全沒那麼好用,因爲文本域中可用的數據量至少多出1000倍(維基百科的文本量與LibriSpeech中文本量的差距就是一個例子)。
  • 對梅爾頻率倒譜系數的過度依賴。我們還沒有看到有人公平地對比短時傅立葉變換、梅爾頻率倒譜系數、梅爾濾波器組和小波變換。在我們對較小數據集的實驗中,不管用哪個到頭來都沒區別,但是在現實的嘈雜數據集上短時傅立葉變換是表現最好的。此外,我們無法使用SincNet等新型網絡過濾器進行任何有意義的實驗。

對我們自己解決方案的批評

公平地說,我們對自己的方法也有一些批評:

  • 我們使用了私有數據來訓練模型,只不過私有數據集的大小比整個數據集小几個數量級。例如,“高質量基準”大約有500小時(其中100小時爲手動註釋),而在公開數據集中則爲20,000小時。
  • 此外,這篇文章報道的主要結果是隻通過少量的手動註釋實現的。我們使用這麼少的私有數據,主要是因爲我們需要在目標領域中獲得生產結果。
  • 與我們的數據集不同,我們沒有共享訓練管道、特定的超參數和模型設置,以及預訓練的模型,因爲所有這些研究都是針對自籌資金的商業項目進行的。我們本可以依據非商業許可共享出來,但在俄羅斯,知識產權保護對非國有壟斷企業是一種擺設。我們正在尋找辦法來解決這個問題。

總結

最近在大衆媒體上,與有監督的ML技術相關的報道氾濫成風。這是因爲這一領域在一堆不切實際的承諾推動下進入了非理性繁榮和過度投資的局面。

這種現象很可悲,因爲它可能會導致有利於整個社會的領域出現投資不足的困境。但是我們爲什麼要關心和參與這些事情呢?因爲語音識別這種技術具有讓無聊的任務自動化的巨大潛力,並能讓人們將精力放在更重要的事情上。這種變革是有歷史參照的。20年前,這種“奇蹟”技術是關係型數據庫。請閱讀Benedict Evans關於這個主題的精彩文章

關係型數據庫是一個新的基礎支持層,它爲計算行業帶來了新的可能性。在關係數據庫出現之前,如果你希望數據庫向你顯示“購買了該產品並居住在這個城市的所有客戶”,那你往往需要一個定製的工程項目。過去的數據庫的結構沒法做到讓任意的交叉引用查詢都能輕鬆實現。如果你想問一個問題,則必須有人爲它做一個方案。過去的數據庫是記錄存儲系統;而關係型數據庫將它們轉變成爲業務智能系統。

這改變了數據庫在重要領域的用法,從而創造了衆多全新用例和一衆企業巨頭。關係型數據庫給了我們Oracle,然後是SAP,而SAP及同行給了我們全球即時供應鏈——隨之而來的是蘋果和星巴克。到1990年代,幾乎所有企業軟件都是一個關係型數據庫。沒有人看到SuccessFactors或Salesforce時會說“因爲Oracle擁有所有數據庫,所以這是行不通的”——相反,這項技術成爲了所有要素的支持層。

因此,這是思考今天ML產業的一個很好的歷史參照。ML技術是計算產業可能性的進一步拓展,它將成爲許多公司的許多產品的一部分。最後,幾乎所有事物都將內置ML,沒人會覺得奇怪。一個重要的參照是,儘管關係數據庫具有規模經濟效應,但網絡或“贏家通吃”效應是很有限的:A公司買來的數據庫不會因爲B公司買了同樣的數據庫而變得更好。實際上機器學習的情況也差不多:機器學習談的都是數據,但是數據都是針對特定應用專門收集的。更多的筆跡數據能帶來更好的手寫識別,更多的燃氣輪機數據能改進燃氣輪機的故障預測系統,但它們之間是沒有互助關係的。數據不可替代。

根據他的理念“機器學習只是一個能夠回答一些問題的功能棧,就像無處不在的關係數據庫那樣”進一步推理下去,只有我們才能決定語音識別技術的未來命運。我們不知道這種技術產生的利益是會普惠大衆,還是由少數人獨享。我們堅信,語音識別技術肯定會在2-3年內商品化。剩下的唯一一個問題是——這些商品看起來會更像是PostgreSQL還是Oracle?還是說兩種模式共存?

作者介紹

Alexander Veysov是Silero(一家開發NLP/語音/CV支持產品的小公司)的數據科學家,也是OpenSTT(可能是俄羅斯最大的公共口語語料庫)的作者(我們計劃添加更多語言)。Silero最近已經交付了他們自己的STT俄語引擎。在此之前,他曾在一家位於莫斯科的VC公司和Ponominalu.ru(一家由俄羅斯電信巨頭MTS收購的票務初創公司)工作。他在莫斯科國立國際關係大學(MGIMO)獲得經濟學學士和碩士學位。你可以在telegram上(@snakers41)關注他的頻道

原文鏈接:

A Speech-To-Text Practitioner’s Criticisms of Industry and Academia

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章