從主機到深度學習集群:IBM的語音之路
作為深入學習應用的一部分,語音識別和機器翻譯領域已經產出了大量的工作,像我們所熟知的百度、Google和騰訊在這方麵都有很多令人熟知的成果。雖然應用本身就是很有意思了,但更值得我們去研究的是當人們對於一些最難的機器學習問題有最新的思考時,研究人員是如何通過調整代碼和係統來解決問題的。當我們想要去回溯語音識別和機器翻譯的基礎時,IBM給我們提供了部分最久遠的曆史,盡管可能這部分曆史相對和深度學習相關性不是特別高。
IBM在語音和語言算法上的研究有36年的曆史。IBM的Waston多模式部門高級經理Michael Picheny在很大程度上通過改變了代碼和所需的係統推動了語音識別的發展。雖然像許多其他大規模機器學習玩家一樣,IBM也大量部署了神經網絡的GPU,但語音識別發展的道路同樣還是漫長而複雜。先進的神經網絡模型結合上能夠實時和大規模運行的硬件,也就是這幾件才出現的事。這個組合的出現致使IBM轉向了語音算法的開發和部署。
Picheney回憶到,當年他加入IBM的時候,IBM是市麵上唯一一家用統計和計算方法進行語音分析和識別的公司。其他公布都專注在語音潛在流程的物理建模上。“IBM是唯一一家用解決計算和數學技術來解決語音問題的公司,這是我見過的最簡潔的方法。”Picheney早期在IBM的語音識別工作是在完全脫機的大型主機上完成的,後來他的工作被部署到了三個獨立的IBM小型計算機並行工作以獲得實時的性能。之後,在20世紀80年代初,IBM 的PC出現,實現了加速器的定製化。到了20世紀90年代,這項工作就可以完全在CPU上完成了。Picheny的語音識別團隊現在則選用GPU來進行加速。即使目前來看,在硬件層麵,這對於想要將采用深度學習方法來進行的語音識別提升到下一個水平是有限製的。
代碼方麵,IBM的語音識別領域也發生了很大變化。Picheny告訴我們最早的語言識別係統由四個部分構成,分別是一個特征提取器、一個聲音模型、一個語言模型以及一個語言識別引擎。就像神經網絡的進化曆程一樣,從內到外所有的係統構建都被融合成為一個整體,這個全局的模型需要驚人的計算資源和大規模的軟硬件設施。而在這之前Picheny說為為不同的模型組件創造一個通用的高效架構十分困難,因為每一個組件都有自己的優化方法和特征需要單獨考量。
“逐漸地我們看到,深度學習方法語音識別功能中占據越來越重要的地位。深度學習架構和機製在一點一滴取代過去那些難以處理大規模擴展的機製。在接下來的一些年裏,我們將會看到深度學習架構將會用於所有的語音識別領域,對於圖像也是同樣的道理。”他還表示未來可能將很多的功能包集成到一顆芯片中去實現特殊的功能。
Picheny說,“深度學習領域的從業者對於自身學習的方向十分敏銳,這個領域的更新迭代實在太快了,新東西從這裏從哪裏連續不斷的冒出來。然而所有的深度學習工具都有利有弊,特別是在語音領域。市麵上所有主流的工具包我們都用了,有一些確實比另外一些令我們眼前一亮,但盡管如此,我們還是自己構建了一套更好的代碼。”
“深度學習如今被用於語音識別的方方麵麵,並且將所有的功能原件整合到一個整體架構之中。這將使得技術架構十分簡單,遠不像麵對許許多多的獨立的架構和組件那般複雜頭痛。在未來隨著架構的成熟和標準化,我們將會看到CPU將具有對這些架構的輔助功能,可能還會出現包含這些架構的功能芯片。“
對於語音識別,IBM有自己基於客戶的神經網絡模型供Watson訓練使用。這些模型的驅動基礎是計算速度和內存,慢慢我們也發現,這正是最大的兩個瓶頸,尤其是內存。
“GPU的運算速度非常快但內存是有限的,這正是訓練海量語料的瓶頸。將這些元素儲存在本地內存中相較於從芯片中提取具有明顯的優勢。也有的算法是將多個GPU的訓練結果結合起來實現並行計算。然而我們最需要的還是又快內存又大的GPU。”
除了語音專用的芯片,我們還和Picheny探討了其他可能推動語音識別技術的架構,例如深度學習公司Nervana Systems(Intel收購)。其中最具潛力的將會是神經形態芯片,IBM也研製了自己的TrueNorth。“神經形態芯片領域已經有很多出色的工作性能也十分強勁,但是這些芯片的發展瓶頸在於需要完全不同的編程語言,GPU龐大的用戶群體不願意用一個不熟悉的新語言來編程。”
FPGA也麵臨過同樣的問題,雖然有很多中間組建的解決方案,但是編程依舊不是那麼容易。在專用的芯片掌控這個領域之前,人們還是傾向於使用GPU CUDA生態係統中的庫來實現一個個深度學習應用。
這裏要特別提一下Watson:Pichney也覺得很難精確地說到底有多少個不同的架構和模型被用來構建Watson AI係統。所有的東西都在飛速的變化和迭代,特別是在近兩年發展的速度讓人應接不暇。Watson已經和當年大不相同,我們已經不需要去了解Watson係統構成的模型和軟硬件架構了。看了Pichney 的故事,我們就能感受到將這門多個語音組件融合為統一的整體,並實現特定功能的便捷和強大,而這一切對於Watson來說都沒有區別,通用的架構對於實現複雜的學習問題擁有十分重要的意義。
-END-
本文來源於"中國人工智能學會",原文發表時間" 2017-04-13 "
最後更新:2017-05-22 13:32:07