英偉達GPU加持 小米遠場語音識別半年提升至93%
智東西(公眾號:zhidxcom)
文 | 司馬特
近期小米官方宣佈,截止到7月底,小米AI助理小愛同學月活躍裝置超過3000萬臺,今年7月小愛同學喚醒超10億次,累計喚醒超50億次。圍繞小愛同學,小米AI能力已經全面落地小米和小米生態數百款產品,包括小米手機、小米電視、智慧音箱、兒童手錶、翻譯機等。
小米以及小米生態的眾多智慧裝置,形成了AI在推理端的大量應用。小米也依託英偉達GPU,圍繞語音、影象等AI應用打造了自身的算力平臺,構建自己的AI能力。
近期,我們與小米人工智慧與雲平臺語音組負責人王育軍和小米雲服務負責人李海峰進行深入溝通,看看小米如何構建自己的GPU平臺,以及如何推動AI應用的不斷優化。
一、從0到1搭建AI能力
小米從2016年開始搭建深度學習平臺,最初在選擇伺服器方案時,就選擇了英偉達的GPU。小米又結合影象等3種典型AI應用,最終鎖定在英偉達Tesla P40/M40/P4系列GPU,包括後來英偉達推出的Tesla V100上。王育軍介紹道,目前英偉達Tesla V100、Tesla P40等GPU都用於AI演算法模型的訓練,Tesla P4則用於語音等線上的AI推理。
在小米內部,所有的AI能力基本都在小米人工智慧與雲平臺部完成,它可謂是小米的“大腦”,已具備語音技術、人臉識別、影象識別、機器翻譯等能力,驅動著小米以及生態鏈眾多智慧硬體的智慧化互動。
比如王育軍所在的團隊是小米人工智慧與雲平臺部下的語音組,該團隊成立於2017年2月份,經過近一年半的發展,目前小米語音組已經形成語音識別、聲紋識別、語音喚醒、語音降噪以及語音合成等AI能力,這些能力都被整合到小米的AI助理小愛同學中。
▲ 小米AI音箱
王育軍介紹了他們近一年來取得的成果,比如目前電視場景的語音識別已經達到98%的句正確率,在聲紋識別的性別識別方面,目前準確率也達到了97%。
去年7月份,小米推出小米AI音箱,當時所使用的語音技術,除了NLP(自然語言處理)外,前端的訊號處理,後端的語音合成都是整合其他家的技術。王育軍指出,隨著小米這些AI技術相繼成熟,也會上線和其他家的技術共同工作。
李海峰所負責的小米雲服務,最初是面向消費者提供圖片的備份、儲存等雲服務,後來也逐漸將人臉識別、影象識別、OCR(光學字元識別)、表情識別等能力整合進來,將影象的能力落地到小米手機、小米電視等產品中。
二、依託GPU 半年遠場語音識別率達93%
最初小米AI音箱剛釋出的時候,它採用了近10家廠商的語音識別技術,包括獵戶星空和思必馳等,整合各家的技術,誰的語音識別效果好就用誰家的。
關於這背後的工作邏輯王育軍介紹道, “ 針對語音互動,反應要快。對於同一個任務,我們將識別最快、識別最準,採信為最終識別結果。 ”
等智慧音箱運轉起來後,小米又通過海量的使用者資料不斷迭代,小米語音識別的優勢就呈現出來。他透露道,目前語音識別主要使用的是小米和獵戶星空的技術。
語音識別也是小米目前打造最為成功、最為典型的 AI 應用。相比市面其他語音識別團隊,小米語音團隊成立時間較晚,但憑藉開源框架、資料的優勢以及英偉達 GPU 的助力,目前後發的優勢已經呈現。正如王育軍所言, “ 儘管團隊成立比較晚,但先進的演算法框架都使用了 ” 。
最初,小米語音團隊基於開源框架來打造自身的語音識別模型,通過開源框架來保證演算法的先進性,並通過提交自身優化好的模型來反向回饋開源社群。
語音識別模型的上線大致經歷兩個階段,第一個階段是在雲端進行訓練,第二個階段是將訓練好的模型部署在伺服器上,根據使用者的終端請求完成推理工作。
在模型上線初期,小米基於開源框架,從場景需要的基礎資料出發,複用產品資料或者進行資料模擬,通過對初期資料的訓練,搭建起語音識別的基礎能力。但在去年6月份上線之初,小米遠場語音的識別率僅有60%左右。
然後,小米語音團隊依託電視場景10萬小時的語音資料,花了2周進行資料抽取,又花了2周做資料的自動標註,從中標註出八千小時的語料資料。王育軍笑稱,只是這一步就直接使語音識別正確率達到93%,可謂“得電視者得語音識別”。
隨著模型上線之後,使用者的實際需求也隨之而來,小米語音團隊通過對新產生的資料進行自動標註,經過近兩個月的迭代,就可以做出一個精緻的語音識別模型。
王育軍繼續介紹到,這時再拿出兩千小時的語料進行人工標註,經過近半年的迭代,小米的語音識別體驗就達到更好了,目前在智慧音箱場景下可以句正確率可達93%,與阿里、百度處在同一陣營。
面對龐大的推理側 AI 應用,小米在算力上也面臨巨大挑戰。他談道,隨著資料體量的增加,演算法架構上的瓶頸就呈現出來,比如資料儲存會造成線上推理的瓶頸。後來,他們將 TensorRT (英偉達推出的一種效能神經網路推理引擎)部署到基於 Tesla P4 的伺服器上,並對語音識別演算法進行改寫,通過架構的優化,把算力釋放出來。 “ 效果比之前提升了 3 倍,目前我們 GPU 的利用率能夠達到 70%” ,王育軍表示。
通過語音識別模型的打造,他總結道語音識別需要從3各方面著手:在演算法研究層面,要保持對最新技術的追蹤,目前小米能夠保證每年2片的前沿論文研究;在資料層,小米有眾多場景的資料,這是小米最為明顯的優勢;在架構算力層,小米還需要進一步對演算法框架進行優化,充分釋放GPU所帶來的算力。
三、部署TensorRT 小米影象識別效率提升5倍
與語音識別不同的是,小米雲服務的人臉識別技術引入較早,最初是用CPU來做的推理任務,後來小米進行機房改造,部署英偉達的GPU,也改用GPU來做影象識別業務。
2015 年,小米雲服務就在 MIUI 7 相簿功能中較早引入人臉識別技術,可以自動將類似的面孔的照片進行分類呈現。近年來,小米雲服務在相簿中不斷上線了圖片搜尋、圖片分類、 OCR 、表情識別等 AI 應用。目前,小米雲服務已儲存 250PB 資料, 採用深度學習在系統相簿中做人臉識別也日趨完善。小米雲服務負責人 李海峰表示,未來小米雲服務希望每月上線一個全新演算法,讓 AI 深入生活。
▲ 小米人臉識別技術應用
作為具體業務部門,小米雲服務在使用算力平臺時更注重業務的匹配性和成本考量。比如像 OCR 、電視場景的影象識別對時延要求高,小米會更多選用 GPU 來做 AI 推理。
▲小米雲服務負責人李海峰
小米雲服務負責人李海峰談到,目前通過英偉達 GPU 的加持,相比 CPU ,小米在 OCR 識別速度上大概提升 10 倍,在電視場景的明星識別速度上提升了 3~5 倍。
通過英偉達 Tesla P4 在小米 AI 推理端的應用,他總結道, P4 有兩大核心優勢,一方面是使 AI 應用推理的延遲變短,增強使用者的體驗感;另一方面 P4 功耗比較低,使得伺服器的整體成本得到下降。
四、GPU在神經計算上比CPU快24倍
在 AI 推理應用方面,目前的算力方案大致有 3 個流派,分別是 CPU 、 FPGA 、 GPU 。對於 GPU 相對其他兩個流派的優勢,王育軍表達了自己的看法。
目前CPU在推理應用方面已是過去時,它的算力不足,需要部署大量伺服器,運維成本太高,正逐漸被淘汰掉。
第二個流派是FPGA,比如國內百度和科大訊飛也有部分語音應用用FPGA的方案來做。FPGA使用得當可以節省成本,但其侷限在於需要定製化、迭代性差,FPGA的開發週期通常要18個月,另外如果推理端的應用較為多元,FPGA的算力未必能能夠充分釋放出來,會導致應用成本的升高。
第三個流派就是 GPU 。目前小米使用英偉達的 Tesla P4 GPU 來做推理,王育軍稱,英偉達的 GPU 最為通用,它就是為神經網路計算而誕生的,天然支援大量開源框架,並且買來只需要很少改動就可以使用。它的效果在神經計算上比 CPU 快 24 倍,整體效果實測下來要比 CPU 快 3 倍。
將 GPU 應用在 AI 推理側,除了延遲低的優勢外,王育軍還從運維的角度談到,相對 CPU伺服器 而言,1/4 數量的 GPU伺服器 即可完成等量的 AI 推理計算任務的處理,使伺服器硬體成本及資料中心空間,能耗等整體的 TCO 及管理成本都有很好的節省。
隨著推理端需求越來越大,王育軍稱小米會部署更多的 GPU 伺服器來提供足夠的算力;另一方面會重點優化演算法架構,將伺服器的計算量降下來,提升伺服器的處理能力。