自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

彌合AI大規(guī)模落地的巨大缺口!阿里、騰訊、百度等聯(lián)合推出互聯(lián)網(wǎng)服務(wù)AI基準(zhǔn)

新聞 人工智能
現(xiàn)如今,互聯(lián)網(wǎng)服務(wù)正經(jīng)歷著根本性的變化,并逐漸轉(zhuǎn)向智能計(jì)算時(shí)代?,F(xiàn)代互聯(lián)網(wǎng)服務(wù)提供商普遍采用人工智能來增強(qiáng)其服務(wù)。

[[276827]]

 現(xiàn)如今,互聯(lián)網(wǎng)服務(wù)正經(jīng)歷著根本性的變化,并逐漸轉(zhuǎn)向智能計(jì)算時(shí)代?,F(xiàn)代互聯(lián)網(wǎng)服務(wù)提供商普遍采用人工智能來增強(qiáng)其服務(wù)。在這種背景下,研究人員提出了許多創(chuàng)新的人工智能算法、系統(tǒng)和架構(gòu),因此基準(zhǔn)(benchmark)和評(píng)估基準(zhǔn)的重要性也隨之上升。然而,現(xiàn)代互聯(lián)網(wǎng)服務(wù)采用基于微服務(wù)的體系結(jié)構(gòu),由多種模塊組成。這些模塊的多樣性和執(zhí)行路徑的復(fù)雜性、數(shù)據(jù)中心基礎(chǔ)設(shè)施的龐大規(guī)模和復(fù)雜層次結(jié)構(gòu)、數(shù)據(jù)集和工作負(fù)載的保密問題對(duì)設(shè)計(jì)基準(zhǔn)提出了巨大挑戰(zhàn)。

這篇論文中,百度、阿里、騰訊等幾家頭部互聯(lián)網(wǎng)服務(wù)提供商聯(lián)合中國的 17 個(gè)互聯(lián)網(wǎng)企業(yè)共同推出了第一個(gè)具有行業(yè)標(biāo)準(zhǔn)的互聯(lián)網(wǎng)服務(wù) AI 基準(zhǔn)——AIBench。AIBench 提供了一個(gè)高度可擴(kuò)展、可配置、靈活的基準(zhǔn)測試框架。作者從三個(gè)最重要的互聯(lián)網(wǎng)服務(wù)領(lǐng)域(搜索引擎、社交網(wǎng)絡(luò)和電子商務(wù))中確定了 16 個(gè)較為突出的人工智能問題領(lǐng)域。在 AIBench 框架的基礎(chǔ)上,作者利用真實(shí)世界的數(shù)據(jù)集和工作負(fù)載,設(shè)計(jì)并實(shí)現(xiàn)了第一個(gè)端到端的互聯(lián)網(wǎng)服務(wù) AI 基準(zhǔn)。在 CPU 和 GPU 集群上,作者對(duì)端到端應(yīng)用程序基準(zhǔn)進(jìn)行了初步評(píng)估。與 AI 相關(guān)的組件顯著地改變了互聯(lián)網(wǎng)服務(wù)的關(guān)鍵路徑和工作負(fù)載特性,證明了端到端 AI 應(yīng)用程序基準(zhǔn)的正確性和必要性。這篇論文是目前為止最全面的 AI 基準(zhǔn)工作。我們將在 AI 前線第 92 篇論文導(dǎo)讀中詳細(xì)解讀這項(xiàng) AI 基準(zhǔn)工作。

1、介 紹

人工智能技術(shù)的進(jìn)步為圖像、視頻、語音、音頻等處理技術(shù)帶來了突破,推動(dòng)了大規(guī)模人工智能算法、系統(tǒng)和體系結(jié)構(gòu)的部署,因此現(xiàn)代互聯(lián)網(wǎng)服務(wù)提供商普遍采用人工智能來增強(qiáng)其服務(wù)。例如,阿里巴巴提出了一種新的 DUPN 網(wǎng)絡(luò),以實(shí)現(xiàn)更有效的個(gè)性化。Google 推出了 TensorFlow 系統(tǒng)和 TPU 來提高服務(wù)性能。亞馬遜采用人工智能進(jìn)行智能產(chǎn)品推薦。

因此,測量和評(píng)估這些算法、系統(tǒng)和體系結(jié)構(gòu)的壓力逐漸增大。首先,現(xiàn)實(shí)中的數(shù)據(jù)集和工作負(fù)載被互聯(lián)網(wǎng)服務(wù)提供商視為一級(jí)機(jī)密問題,只有少數(shù)公開可用的性能模型,或針對(duì)行業(yè)規(guī)模互聯(lián)網(wǎng)服務(wù)的研究成果可用于進(jìn)一步研究。由于沒有公開的互聯(lián)網(wǎng)服務(wù)基準(zhǔn),只有內(nèi)部的研究人員才能推動(dòng)互聯(lián)網(wǎng)服務(wù)的現(xiàn)狀,這種不可持續(xù)的狀態(tài)對(duì)推進(jìn)開放式互聯(lián)網(wǎng)服務(wù)造成了巨大障礙。

其次,人工智能已經(jīng)滲透到互聯(lián)網(wǎng)服務(wù)的幾乎所有方面。因此,為了覆蓋現(xiàn)實(shí)人工智能場景的關(guān)鍵路徑和突出特點(diǎn),應(yīng)該提供 端到端的應(yīng)用基準(zhǔn)(application benchmarks)。我們需要找到具有代表性的數(shù)據(jù)集,總結(jié)出主要的 人工智能問題領(lǐng)域(組件基準(zhǔn),component benchmarks),并進(jìn)一步了解什么是最密集的 計(jì)算單元(微基準(zhǔn),micro benchmarks),在此基礎(chǔ)上,我們可以構(gòu)建一個(gè)簡潔而全面的人工智能基準(zhǔn)框架。

最后,從體系結(jié)構(gòu)的角度來看,在早期階段將一個(gè)完整的人工智能應(yīng)用程序移植到一個(gè)新的體系結(jié)構(gòu)是很困難的,甚至是不可能的。而在后期,僅僅使用微基準(zhǔn)或組件基準(zhǔn)則不足以對(duì)不同模塊進(jìn)行深入分析,或在現(xiàn)實(shí)應(yīng)用場景中確定瓶頸問題。目前最先進(jìn)的 AI 基準(zhǔn)只提供了很少的微基準(zhǔn)或組件基準(zhǔn),均無法覆蓋行業(yè)規(guī)模的互聯(lián)網(wǎng)服務(wù)的全部案例。因此,構(gòu)建一個(gè)由全部的微基準(zhǔn)或組件基準(zhǔn),以及端到端應(yīng)用基準(zhǔn)組成的互聯(lián)網(wǎng)服務(wù) AI 基準(zhǔn),對(duì)于彌合這一巨大缺口具有重要意義。

論文貢獻(xiàn):   

  • 提出并實(shí)現(xiàn)了一個(gè)高度可擴(kuò)展、可配置、靈活的人工智能基準(zhǔn)框架。
  • 與 17 個(gè)行業(yè)合作伙伴共同確定了 16 個(gè)突出的人工智能問題領(lǐng)域,并相應(yīng)地針對(duì)這些領(lǐng)域?qū)嵤┝?16 個(gè)組件基準(zhǔn)。
  • 設(shè)計(jì)并實(shí)施了第一個(gè)行業(yè)規(guī)模的端到端互聯(lián)網(wǎng)服務(wù)人工智能基準(zhǔn),其中包含一個(gè)底層電子商務(wù)搜索模型。
  • 在 CPU 和 GPU 集群上,實(shí)現(xiàn)端到端的互聯(lián)網(wǎng)服務(wù) AI 基準(zhǔn),并對(duì)性能、運(yùn)行效率和執(zhí)行時(shí)間進(jìn)行了深入分析,為進(jìn)一步優(yōu)化提供了指導(dǎo)。

表 1:AI 基準(zhǔn)對(duì)比

2、 AIBench 框架

2.1 框架結(jié)構(gòu)

AIBench 框架提供了一個(gè)通用的、靈活且可配置的 AI 基準(zhǔn)框架,如圖 1 所示。它提供了松散耦合的模塊,這些模塊可以通過配置和擴(kuò)展組成端到端的應(yīng)用程序,包括數(shù)據(jù)輸入、人工智能問題領(lǐng)域、在線推理、離線訓(xùn)練和部署工具模塊。

弥合AI大规模落地的巨大缺口!阿里、腾讯、百度等联合推出互联网服务AI基准

圖 1:AIBench 框架

數(shù)據(jù)輸入模塊 負(fù)責(zé)將數(shù)據(jù)輸入其他模塊。該模塊不僅從權(quán)威的公共網(wǎng)站收集了具有代表性的真實(shí)數(shù)據(jù)集,而且在匿名化后從行業(yè)合作伙伴處收集了數(shù)據(jù)集。在該數(shù)據(jù)模式的基礎(chǔ)上,進(jìn)一步提供了一系列數(shù)據(jù)生成器,以支持大規(guī)模的數(shù)據(jù)生成,如用戶或產(chǎn)品信息。該框架集成了各種開源數(shù)據(jù)存儲(chǔ)系統(tǒng),并支持大規(guī)模數(shù)據(jù)的生成和部署。

為了實(shí)現(xiàn)框架的多樣性和代表性,作者首先確定在最重要的互聯(lián)網(wǎng)服務(wù)領(lǐng)域發(fā)揮重要作用的 突出 AI 問題領(lǐng)域。然后給出了以這些 AI 問題領(lǐng)域?yàn)榻M件基準(zhǔn)的人工智能算法的具體實(shí)現(xiàn)。此外,在這些組件基準(zhǔn)測試中分析最密集的計(jì)算單元,并將它們作為一組微基準(zhǔn)來實(shí)現(xiàn)。

框架還提供了 離線訓(xùn)練在線推理 模塊,以構(gòu)建端到端的應(yīng)用程序基準(zhǔn)。首先,離線訓(xùn)練模塊從 AI 問題領(lǐng)域模塊中選擇一個(gè)或多個(gè)組件基準(zhǔn),通過指定所需的基準(zhǔn) ID、輸入數(shù)據(jù)和執(zhí)行參數(shù)(如批大小)。然后離線訓(xùn)練模塊對(duì)模型進(jìn)行訓(xùn)練,并將訓(xùn)練后的模型提供給在線推理模塊。在線推理模塊將訓(xùn)練好的模型加載到服務(wù)系統(tǒng)中,例如 TensorFlow 服務(wù)。通過與關(guān)鍵路徑中的其他非 AI 相關(guān)模塊協(xié)作,一個(gè)端到端的應(yīng)用程序基準(zhǔn)就構(gòu)建完成了。

為了能夠在大型集群上輕松部署,該框架還提供了 部署工具,其中包含兩個(gè)分別使用 Ansible 和 Kubernetes 的自動(dòng)部署模板。其中,Ansible 模板支持在物理機(jī)或虛擬機(jī)上的可擴(kuò)展部署,而 Kubernetes 模板則用于在容器集群上部署。

2.2 突出 AI 問題領(lǐng)域

為了覆蓋互聯(lián)網(wǎng)服務(wù)中廣泛的主要人工智能問題領(lǐng)域,作者深入分析了搜索引擎、社交網(wǎng)絡(luò)和電子商務(wù)三大主要互聯(lián)網(wǎng)服務(wù)的核心場景,如表 2 所示。一共確定了 16 個(gè)具有代表性的人工智能問題領(lǐng)域:

弥合AI大规模落地的巨大缺口!阿里、腾讯、百度等联合推出互联网服务AI基准

表 2:互聯(lián)網(wǎng)服務(wù)中的突出 AI 問題領(lǐng)域

分類: 從輸入數(shù)據(jù)中提取不同的主題類,這是一個(gè)有監(jiān)督的學(xué)習(xí)問題,通過定義一組目標(biāo)類別并訓(xùn)練模型進(jìn)行識(shí)別。它是互聯(lián)網(wǎng)服務(wù)或其它應(yīng)用領(lǐng)域的典型任務(wù),廣泛應(yīng)用于類別預(yù)測、垃圾郵件檢測等多種場景中。

圖像生成: 提供一個(gè)無監(jiān)督的學(xué)習(xí)問題來模擬數(shù)據(jù)的分布并生成圖像。此任務(wù)的典型場景包括圖像分辨率增強(qiáng),可用于生成高分辨率圖像。

文本到文本翻譯: 將文本從一種語言翻譯到另一種語言,這是計(jì)算語言學(xué)最重要的領(lǐng)域,可以用來智能翻譯搜索和對(duì)話。

圖像到文本: 自動(dòng)生成圖像的描述。它可以用來生成圖像標(biāo)題和識(shí)別圖像中的光學(xué)字符。

圖像到圖像: 將圖像從一個(gè)表示轉(zhuǎn)換為另一個(gè)表示。它可以用來合成不同年齡的人臉圖像,模擬虛擬化妝。面部老化可以幫助搜索不同年齡階段的面部圖像。

語音識(shí)別: 將語音輸入識(shí)別和翻譯為文本。該任務(wù)主要應(yīng)用于語音搜索和語音對(duì)話翻譯。

人臉嵌入表示: 將人臉圖像在內(nèi)嵌空間中轉(zhuǎn)化為一個(gè)向量。該任務(wù)的典型場景是人臉相似度分析和人臉識(shí)別。

三維人臉識(shí)別: 從不同角度從多幅圖像中識(shí)別出三維人臉信息。主要研究三維圖像,有利于實(shí)現(xiàn)人臉相似度和人臉認(rèn)證場景。

目標(biāo)檢測: 檢測圖像中的對(duì)象。典型的場景是垂直搜索,如基于內(nèi)容的圖像檢索和視頻對(duì)象檢測。

推薦: 提供建議。此任務(wù)廣泛用于廣告推薦、社區(qū)推薦或產(chǎn)品推薦。視頻預(yù)測:通過預(yù)測先前幀的變換來預(yù)測未來的視頻幀。典型的應(yīng)用場景是視頻壓縮和視頻編碼,用于高效的視頻存儲(chǔ)和傳輸。

圖像壓縮: 壓縮圖像并減少冗余。從數(shù)據(jù)存儲(chǔ)開銷和數(shù)據(jù)傳輸效率的角度來看,這項(xiàng)任務(wù)對(duì)于互聯(lián)網(wǎng)服務(wù)是非常重要的。

三維物體重建: 預(yù)測和重建三維物體。典型的應(yīng)用場景有地圖搜索、光場渲染和虛擬現(xiàn)實(shí)。

文本總結(jié): 為文本生成摘要,對(duì)于搜索結(jié)果預(yù)覽、標(biāo)題生成和關(guān)鍵字發(fā)現(xiàn)非常重要。

空間變換: 執(zhí)行空間變換。典型應(yīng)用場景是空間不變性圖像檢索,這樣即使圖像被大幅拉伸,也可以檢索圖像。

學(xué)習(xí)排序: 學(xué)習(xí)搜索內(nèi)容的屬性,對(duì)搜索結(jié)果的得分進(jìn)行排序,這是搜索服務(wù)的關(guān)鍵。

2.3 微基準(zhǔn)和組件基準(zhǔn)

針對(duì)上面總結(jié)的突出人工智能問題,作者給出了人工智能算法的具體實(shí)現(xiàn)。表 3 和表 4 列出了 AIBench 中的組件基準(zhǔn)和微基準(zhǔn)??偟膩碚f,AIBench 包括 16 個(gè)用于 AI 問題的組件基準(zhǔn)和 12 個(gè)從典型 AI 算法中提取計(jì)算單元的微基準(zhǔn)。

弥合AI大规模落地的巨大缺口!阿里、腾讯、百度等联合推出互联网服务AI基准

表 3:AIBench 組件基準(zhǔn)

弥合AI大规模落地的巨大缺口!阿里、腾讯、百度等联合推出互联网服务AI基准

表 4:AIBench 微基準(zhǔn)

2.4 數(shù)據(jù)模型

為了滿足不同應(yīng)用的數(shù)據(jù)集的多樣性,作者收集了 15 個(gè)具有代表性的數(shù)據(jù)集,包括 ImageNet、CIFAR、LSUN、WMT English-German、CityScapes、Librispeech、Microsoft Coco、LFW、VGFace2、Robot Pushing、MovieLens、ShapeNet、Gigaword、MNIST、Gowalla 以及來自行業(yè)合作伙伴的 3D 人臉識(shí)別數(shù)據(jù)集。

2.5 評(píng)價(jià)指標(biāo)

AIBench 專注于準(zhǔn)確性、性能和能源消耗等行業(yè)重點(diǎn)關(guān)注的指標(biāo)。在線推理的度量包括查詢響應(yīng)延遲、尾部延遲和性能方面的吞吐量、推理精度和推理能耗。離線訓(xùn)練的度量包括每秒處理的樣本、訓(xùn)練特定 epoch 的時(shí)間、訓(xùn)練達(dá)到目標(biāo)精度的時(shí)間和訓(xùn)練達(dá)到目標(biāo)精度的能量消耗。

3、設(shè)計(jì)和實(shí)現(xiàn)應(yīng)用基準(zhǔn)

在 AIBench 框架的基礎(chǔ)上,作者實(shí)現(xiàn)了第一個(gè)端到端的 AI 應(yīng)用基準(zhǔn),對(duì)現(xiàn)實(shí)的電子商務(wù)搜索任務(wù)進(jìn)行完整的用例建模。

3.1 設(shè)計(jì)和實(shí)現(xiàn)

端到端應(yīng)用基準(zhǔn)由四個(gè)模塊組成:線上服務(wù)器、離線分析器、查詢生成器和數(shù)據(jù)存儲(chǔ),如圖 2 所示。

弥合AI大规模落地的巨大缺口!阿里、腾讯、百度等联合推出互联网服务AI基准

圖 2:AIBench 實(shí)現(xiàn)

在線服務(wù)器(Online server) 接收查詢請(qǐng)求,然后結(jié)合 AI 推理進(jìn)行個(gè)性化搜索和推薦。

離線分析器(Offline analyzer) 選擇適當(dāng)?shù)?AI 算法實(shí)現(xiàn),并進(jìn)行訓(xùn)練以生成學(xué)習(xí)模型。此外,離線分析器還負(fù)責(zé)構(gòu)建數(shù)據(jù)索引以加速數(shù)據(jù)訪問。

查詢生成器(Query generator) 模擬并發(fā)用戶,并根據(jù)特定的配置將查詢請(qǐng)求發(fā)送到線上服務(wù)器。作者實(shí)現(xiàn)了基于 JMeter 的查詢生成器。

數(shù)據(jù)存儲(chǔ)模塊(Data storage module) 存儲(chǔ)各種數(shù)據(jù),包括結(jié)構(gòu)化、非結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù),以及各種數(shù)據(jù)源,包括表格、文本、圖像、音頻和視頻。

3.1.1 在線服務(wù)器 

在線服務(wù)器結(jié)合傳統(tǒng)的機(jī)器學(xué)習(xí)和深度學(xué)習(xí)技術(shù)提供個(gè)性化的搜索和推薦。在線服務(wù)器由四個(gè)子模塊組成,包括搜索計(jì)劃器、推薦器、搜索器和排序器。

搜索計(jì)劃器(Search Planer) 是在線服務(wù)器的入口。它負(fù)責(zé)接收來自查詢生成器的查詢請(qǐng)求,并將請(qǐng)求發(fā)送到其他在線組件并接收返回結(jié)果。作者使用 Spring Boot 框架來實(shí)現(xiàn)搜索計(jì)劃器。

推薦器(Recommender) 根據(jù)從用戶數(shù)據(jù)庫中獲取的用戶信息,對(duì)查詢項(xiàng)進(jìn)行分析,并提供個(gè)性化推薦。作者使用 Flask Web 框架和 Nginx 構(gòu)建類別預(yù)測推薦器,并采用 TensorFlow 實(shí)現(xiàn)在線推薦。

搜索器(Searcher) 部署在三個(gè)不同的集群上。按點(diǎn)擊率和購買率,產(chǎn)品可以按人氣高低分為三類。不同流行度產(chǎn)品的索引存儲(chǔ)在不同的集群中。對(duì)于每個(gè)類別,搜索器都采用不同的部署策略。高人氣的集群包含更多的節(jié)點(diǎn)和備份,保證了搜索效率。而受歡迎程度較低的集群部署的節(jié)點(diǎn)和備份數(shù)量最少。作者使用 Elasticsearch 來建立和管理三個(gè)搜索集群。

排序器(Ranker) 使用推薦器返回的權(quán)重作為初始權(quán)重,通過一個(gè)個(gè)性化的 L2R 神經(jīng)網(wǎng)絡(luò)對(duì)產(chǎn)品得分進(jìn)行排序。排序器也使用 Elasticsearch 實(shí)現(xiàn)產(chǎn)品排序。

在線服務(wù)流程如下:

(1)查詢生成器模擬并發(fā)用戶,向搜索計(jì)劃器發(fā)送查詢請(qǐng)求;

(2)搜索計(jì)劃器接收查詢請(qǐng)求并將查詢項(xiàng)發(fā)送給推薦者;

(3)推薦器對(duì)查詢進(jìn)行分析,并將類別預(yù)測結(jié)果和個(gè)性化屬性權(quán)重返回給搜索計(jì)劃器;

(4)搜索計(jì)劃器向搜索器發(fā)送初始查詢項(xiàng)和預(yù)測的分類結(jié)果;

(5)搜索器搜索反向索引并將產(chǎn)品 ID 返回給搜索計(jì)劃器;

(6)搜索計(jì)劃器向排序器發(fā)送產(chǎn)品 id 和個(gè)性化屬性權(quán)重;

(7)排序器根據(jù)初始權(quán)重對(duì)產(chǎn)品進(jìn)行排序,并將排序得分返回給搜索計(jì)劃器;

(8)搜索計(jì)劃器根據(jù)產(chǎn)品標(biāo)識(shí)發(fā)送產(chǎn)品數(shù)據(jù)庫訪問請(qǐng)求,獲取產(chǎn)品信息;

(9)搜索計(jì)劃器將搜索到的產(chǎn)品信息返回給查詢生成器。

3.1.2 離線分析器 

離線分析器負(fù)責(zé)訓(xùn)練模型和建立索引,以提高在線服務(wù)性能。它由人工智能訓(xùn)練器、作業(yè)調(diào)度程序和索引器三部分組成。

人工智能訓(xùn)練器(AI trainer) 利用數(shù)據(jù)庫中存儲(chǔ)的相關(guān)數(shù)據(jù)訓(xùn)練模型。

作業(yè)調(diào)度程序(Job scheduler) 提供了兩種訓(xùn)練機(jī)制:批處理和流式處理。在現(xiàn)實(shí)場景中,一些模型需要經(jīng)常更新。例如,當(dāng)我們搜索一個(gè)項(xiàng)目并點(diǎn)擊第一頁中顯示的一個(gè)產(chǎn)品時(shí),應(yīng)用程序?qū)⒘⒓椿谖覀儎倓倖螕舻漠a(chǎn)品訓(xùn)練新模型,并在第二頁中顯示新的推薦。該基準(zhǔn)實(shí)現(xiàn)考慮了這種情況,并采用流式方法每隔幾秒鐘更新一次模型。對(duì)于批處理,訓(xùn)練器將每隔幾個(gè)小時(shí)更新一次模型。

索引器(Indexer) 用于為產(chǎn)品信息構(gòu)建索引。

3.2 其他行業(yè)應(yīng)用程序的可擴(kuò)展性

以醫(yī)學(xué)人工智能場景為例,作者介紹了如何利用 AIBench 框架構(gòu)建臨床診斷應(yīng)用的端到端基準(zhǔn)。人工智能相關(guān)的臨床診斷關(guān)鍵路徑包括以下步驟。

1)根據(jù)病史數(shù)據(jù)離線訓(xùn)練一系列診斷模型,如檢測模型、分類模型、推薦模型等;

2)檢測患者體檢數(shù)據(jù)中的異常信息,如 CT 圖像的腫瘤檢測;

3)分類預(yù)測潛在疾??;

4)推薦適合的治療方案。

為了構(gòu)建端到端的臨床診斷應(yīng)用基準(zhǔn),AIBench 框架靈活地提供了與 AI 相關(guān)的離線模塊和在線模塊。在離線模塊中,選擇目標(biāo)檢測、分類和推薦的組件基準(zhǔn)作為訓(xùn)練模型。在在線模塊中,將這些模型作為服務(wù)進(jìn)行加載以在線推理。

4、 實(shí)驗(yàn)設(shè)置

4.1 節(jié)點(diǎn)配置

作者部署了一個(gè) 16 節(jié)點(diǎn)的 CPU 和 GPU 集群。對(duì)于 CPU 集群,所有節(jié)點(diǎn)都連接到一個(gè) 1GB 的以太網(wǎng)網(wǎng)絡(luò)。每個(gè)節(jié)點(diǎn)配備兩個(gè) Xeon E5645 處理器和 32 GB 內(nèi)存。每個(gè)處理器包含六個(gè)內(nèi)核。每個(gè)節(jié)點(diǎn)的操作系統(tǒng)版本均為 Linux CentOS 6.9,Linux 內(nèi)核版本為 3.11.10。軟件版本分別是 JDK1.8.0、Python3.6.8 和 GCC 5.4。GPU 節(jié)點(diǎn)配備了四個(gè) Nvidia Titan XP。每個(gè) Titan XP 擁有 3840 個(gè) Nvidia Cuda 內(nèi)核和 12GB 內(nèi)存。表 5 列出了每個(gè)節(jié)點(diǎn)的詳細(xì)硬件配置。

弥合AI大规模落地的巨大缺口!阿里、腾讯、百度等联合推出互联网服务AI基准

表 5:硬件設(shè)置細(xì)節(jié)

4.2 基準(zhǔn)部署

在線服務(wù)器設(shè)置: 在線服務(wù)器部署在 16 節(jié)點(diǎn) CPU 集群上,包含 1 個(gè)查詢生成器節(jié)點(diǎn)、1 個(gè)搜索計(jì)劃器節(jié)點(diǎn)、2 個(gè)推薦器節(jié)點(diǎn)、9 個(gè)搜索器節(jié)點(diǎn)、1 個(gè)排序器節(jié)點(diǎn)和 2 個(gè)數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)。表 6 列出了詳細(xì)的模塊設(shè)置信息和涉及的軟件信息。

弥合AI大规模落地的巨大缺口!阿里、腾讯、百度等联合推出互联网服务AI基准

表 6:在線服務(wù)器設(shè)置

離線訓(xùn)練器設(shè)置: 離線訓(xùn)練器部署在 GPU 上。CUDA 和 Nvidia 驅(qū)動(dòng)程序版本分別為 10.0 和 410.78,使用 1.1.0 版本 PyTorch 實(shí)現(xiàn)。

4.3 性能數(shù)據(jù)收集

作者使用 Network Time Protocol 在所有集群節(jié)點(diǎn)上實(shí)現(xiàn)時(shí)鐘同步,并獲得在線服務(wù)器的延遲和尾延遲度量。使用分析工具 Perf,通過硬件性能監(jiān)視計(jì)數(shù)器(PMC)收集 CPU 微體系結(jié)構(gòu)數(shù)據(jù)。對(duì)于 GPU 評(píng)測,作者使用 Nvidia 評(píng)測工具包 nvprof 來跟蹤 GPU 的運(yùn)行性能。

5、評(píng)估

作者對(duì)端到端人工智能應(yīng)用程序基準(zhǔn),包括在線服務(wù)器和離線分析器中包含的 10 個(gè)人工智能組件基準(zhǔn)進(jìn)行了測評(píng)。

5.1 在線服務(wù)器評(píng)估

作者評(píng)估了 16 節(jié)點(diǎn) CPU 集群上的在線服務(wù)器性能。產(chǎn)品數(shù)據(jù)庫包含 10 萬個(gè)具有 32 個(gè)屬性字段的產(chǎn)品。查詢生成器用 30 秒的預(yù)熱時(shí)間模擬 1000 個(gè)用戶。用戶在每個(gè)思考時(shí)間間隔內(nèi)連續(xù)發(fā)送查詢請(qǐng)求,遵循泊松分布。當(dāng) 20000 個(gè)查詢請(qǐng)求完成時(shí),收集性能數(shù)據(jù)。

弥合AI大规模落地的巨大缺口!阿里、腾讯、百度等联合推出互联网服务AI基准

圖 3:在線服務(wù)器延遲

延遲是衡量服務(wù)質(zhì)量的重要指標(biāo)。圖 3 給出了在線服務(wù)器的延遲。如圖 3(a)所示,當(dāng)前基準(zhǔn)實(shí)現(xiàn)的整個(gè)執(zhí)行路徑的總延遲的平均值、第 90 百分位和 99 百分位對(duì)應(yīng)分別為 161.13 毫秒、392 毫秒和 956 毫秒。作者進(jìn)一步深入分析了每個(gè)模塊的延遲(圖 3b),推薦器占據(jù)了最大的延遲:平均延遲 75.7 毫秒, 90 百分位延遲 209.4 毫秒,99 百分位延遲 557.7 毫秒。相比之下,搜索器和推薦求的延遲都在 4 毫秒之內(nèi)。

此外,圖 3(c)給出了推薦器在查詢解析、用戶數(shù)據(jù)庫訪問、類別預(yù)測和 TensorFlow 服務(wù)方面的延遲分解。作者發(fā)現(xiàn)數(shù)據(jù)庫訪問和 TensorFlow 服務(wù)延遲是影響服務(wù)性能的前兩個(gè)因素。復(fù)雜的數(shù)據(jù)結(jié)構(gòu)和頻繁的垃圾收集對(duì)數(shù)據(jù)訪問速度有很大的影響。而 TensorFlow 服務(wù)則需要使用推薦模型進(jìn)行前向推理,從而產(chǎn)生較大的延遲。為了衡量 AI 組件對(duì)服務(wù)性能的影響,找出瓶頸,作者從以下幾個(gè)方面進(jìn)行了討論。

人工智能相關(guān)組件對(duì)服務(wù)性能的權(quán)重。 人工智能組件顯著改變了關(guān)鍵路徑。在評(píng)估中,在 AI 相關(guān)和非 AI 相關(guān)組件上花費(fèi)的時(shí)間平均為 34.29 和 49.07 毫秒,第 90 百分位延遲為 74.8 和 135.7 毫秒,第 99 百分位延遲為 152.2 和 466.5 毫秒。這表明,一個(gè)工業(yè)規(guī)模的人工智能應(yīng)用基準(zhǔn)套裝是現(xiàn)代互聯(lián)網(wǎng)服務(wù)必不可少的。

AI 的局限性。 在線推理模塊需要對(duì)訓(xùn)練后的模型進(jìn)行加載,并進(jìn)行前向計(jì)算得到結(jié)果。然而,神經(jīng)網(wǎng)絡(luò)模型的深度或大小可能在很大程度上影響推理時(shí)間。當(dāng)模型的大小從 184mb 增加到 253mb,TensorFlow 服務(wù)的延遲急劇增加,平均延遲從 30.78 毫秒增加到 125.71 毫秒,第 99 百分位延遲從 149.12 毫秒增加到 5335.12 毫秒。因此,互聯(lián)網(wǎng)服務(wù)架構(gòu)師必須在服務(wù)質(zhì)量和神經(jīng)網(wǎng)絡(luò)模型的深度或大小之間進(jìn)行權(quán)衡。

微結(jié)構(gòu)行為的差異: 

  • 非 AI 相關(guān)組件與 AI 相關(guān)組件之間的差異。 作者使用 perf 對(duì) AI 相關(guān)和非 AI 相關(guān)組件的緩存行為進(jìn)行了采樣。作者發(fā)現(xiàn),與非 AI 相關(guān)的組件相比,AI 相關(guān)的組件會(huì)遭受更多的緩存缺失(cache miss)。TensorFlow 服務(wù)每千條指令有 61 個(gè) L2 緩存缺失,而非 AI 相關(guān)組件的平均數(shù)量僅為 37。
  • 從小型神經(jīng)網(wǎng)絡(luò)模型到大型神經(jīng)網(wǎng)絡(luò)模型的變化。 作者比較了兩種神經(jīng)網(wǎng)絡(luò)模型,一種是較小的 184mb,另一種是較大的 253mb。對(duì)于更大的模型,每千條指令的 L3 緩存缺失率會(huì)急劇增加,從 1.38 增加到 8.9,這會(huì)導(dǎo)致大量內(nèi)存后端暫停以從內(nèi)存中獲取數(shù)據(jù)。因此,第 99 百分位的延遲增加了 30 倍以上。

5.2 離線訓(xùn)練評(píng)估

在本小節(jié)中,主要分析了 GPU 的執(zhí)行效率,并評(píng)估了 Titan XP 上端到端 AI 應(yīng)用程序基準(zhǔn)的離線分析器中使用的十個(gè)組件基準(zhǔn)。

作者通過函數(shù)級(jí)運(yùn)行時(shí)間分解和執(zhí)行暫停分析全面分析了 GPU 的運(yùn)行效率。圖 4 顯示了每個(gè)組件基準(zhǔn)的 SM 效率,從 29%(學(xué)習(xí)排序)到 95%(推薦)不等。

弥合AI大规模落地的巨大缺口!阿里、腾讯、百度等联合推出互联网服务AI基准

圖 4:SM 效率

為了研究影響性能的因素,作者首先進(jìn)行運(yùn)行時(shí)間分解分析,將基準(zhǔn)分解為熱點(diǎn)內(nèi)核或函數(shù),然后根據(jù)不同的暫停百分比來計(jì)算 GPU 的執(zhí)行效率。

 5.2.1 運(yùn)行時(shí)間分解

作者利用 nvprof 對(duì)運(yùn)行時(shí)間進(jìn)行跟蹤,找出占運(yùn)行時(shí)間 80% 以上的熱點(diǎn)函數(shù)。作者將占用大量運(yùn)行時(shí)間的函數(shù)挑選出來,并根據(jù)它們的計(jì)算邏輯將它們分為幾類內(nèi)核。通過統(tǒng)計(jì),將十個(gè)組件基準(zhǔn)中最耗時(shí)的函數(shù)分為六類內(nèi)核:卷積、通用矩陣乘法(gemm)、批規(guī)一化、relu 激活函數(shù)、元素操作和梯度計(jì)算。每個(gè)內(nèi)核都包含一組解決類似問題的函數(shù)。例如,gemm 內(nèi)核包括單精度或雙精度浮點(diǎn)通用矩陣乘法等。圖 5 顯示了上述六個(gè)內(nèi)核的運(yùn)行時(shí)間分解,即每個(gè)內(nèi)核中所有相關(guān)函數(shù)的平均值。 

弥合AI大规模落地的巨大缺口!阿里、腾讯、百度等联合推出互联网服务AI基准

圖5:10個(gè)組件基準(zhǔn)的運(yùn)行時(shí)間分解

此外,對(duì)于每個(gè)內(nèi)核,作者總結(jié)了在十個(gè)組件基準(zhǔn)中占用大量運(yùn)行時(shí)間的典型函數(shù),如表 7 所示。 

弥合AI大规模落地的巨大缺口!阿里、腾讯、百度等联合推出互联网服务AI基准

表7:每個(gè)內(nèi)核的熱點(diǎn)函數(shù)

從圖 5 中我們發(fā)現(xiàn),學(xué)習(xí)排序花費(fèi)了太多時(shí)間進(jìn)行卷積,相應(yīng)的函數(shù)調(diào)用是 maxwell_scudnn_128x32_stridedB_splitK_interior_nn,SM 效率為 18.5%,這就是學(xué)習(xí)排序基準(zhǔn)的 SM 效率最低的原因。作者認(rèn)為,這六個(gè)內(nèi)核及其相應(yīng)的函數(shù)不僅是 CUDA 庫優(yōu)化的優(yōu)化方向,也是微結(jié)構(gòu)優(yōu)化的優(yōu)化方向。

 5.2.2 GPU 執(zhí)行效率分析

針對(duì)以上六個(gè)最耗時(shí)的內(nèi)核,作者評(píng)估了這些內(nèi)核的八種暫停,包括指令獲取暫停(Inst_fetch)、執(zhí)行依賴暫停(Exe_depend)、內(nèi)存依賴暫停(Mem_dependent)、紋理暫停(Texture)、同步暫停(Sync)、常量內(nèi)存依賴暫停(Const_mem_depend)、管線忙暫停(Pipi_busy)、內(nèi)存限制暫停(Mem_throttle)。 

弥合AI大规模落地的巨大缺口!阿里、腾讯、百度等联合推出互联网服务AI基准

圖6:每個(gè)內(nèi)核的暫停分解

圖 6 顯示了每個(gè)內(nèi)核的八種暫停的分解。作者發(fā)現(xiàn)前兩個(gè) GPU 執(zhí)行暫停是內(nèi)存依賴暫停和執(zhí)行依賴暫停。內(nèi)存依賴關(guān)系暫??赡苁怯捎诟咚倬彺嫒笔?,因此加載 / 存儲(chǔ)資源不可用。優(yōu)化策略包括優(yōu)化數(shù)據(jù)對(duì)齊、數(shù)據(jù)局部性和數(shù)據(jù)訪問模式。由于指令級(jí)并行度較低,可能會(huì)出現(xiàn)執(zhí)行依賴暫停,因此利用 ILP 可以在一定程度上緩解部分執(zhí)行依賴暫停。

作者還確定了表 7 中函數(shù)級(jí)的暫停,以便為函數(shù)調(diào)用提供潛在的優(yōu)化指導(dǎo)。例如,“卷積”類中 maxwell_scudnn_128x32_stridedB_splitK_interior_nn 函數(shù)的內(nèi)存依賴暫停百分比達(dá)到 61%,而“GEMM”類中 maxwell_sgemm_128x64_nn 函數(shù)的內(nèi)存依賴暫停百分比為 18%,說明需要不同的優(yōu)化策略才能實(shí)現(xiàn)最大的性能改進(jìn)。

結(jié)      論

這篇論文介紹了 17 家中國企業(yè)聯(lián)合推出的第一個(gè)行業(yè)標(biāo)準(zhǔn)互聯(lián)網(wǎng)服務(wù)人工智能基準(zhǔn)套裝。作者提出并實(shí)現(xiàn)了一個(gè)高度可擴(kuò)展、可配置和靈活的人工智能基準(zhǔn)框架,并從三個(gè)最重要的互聯(lián)網(wǎng)服務(wù)領(lǐng)域:搜索引擎、社交網(wǎng)絡(luò)和電子商務(wù)中提取出 16 個(gè)突出的人工智能問題領(lǐng)域。在 AIBench 框架的基礎(chǔ)上,設(shè)計(jì)并實(shí)現(xiàn)了第一個(gè)端到端的互聯(lián)網(wǎng)服務(wù) AI 基準(zhǔn)套裝,并給出了一個(gè)底層的電子商務(wù)搜索模型。在 CPU 和 GPU 集群上,作者對(duì)端到端應(yīng)用程序基準(zhǔn)進(jìn)行了初步評(píng)估。與 AI 相關(guān)的組件顯著地改變了互聯(lián)網(wǎng)服務(wù)的關(guān)鍵路徑和工作負(fù)載特性,證明了端到端 AI 應(yīng)用程序基準(zhǔn)的正確性和必要性。 

 

責(zé)任編輯:張燕妮 來源: AI前線
相關(guān)推薦

2010-09-15 14:21:17

達(dá)見騰訊攝像頭

2012-06-07 15:49:25

2019-01-08 13:39:53

2015-04-20 10:43:34

2013-11-07 17:22:37

百度互聯(lián)網(wǎng)

2014-12-25 10:31:31

2012-03-23 11:30:07

百度

2013-10-22 10:50:19

百度移動(dòng)戰(zhàn)略

2012-04-12 17:57:09

百度移動(dòng)互聯(lián)網(wǎng)

2013-09-11 10:17:10

百度云騰訊云阿里云

2016-03-23 17:27:07

中國網(wǎng)

2023-10-18 11:34:16

AI Native百度

2012-05-24 21:48:25

百度

2019-02-12 16:10:17

BATATM互聯(lián)網(wǎng)

2012-05-16 10:07:36

百度智能手機(jī)手機(jī)

2012-11-19 10:10:22

百度移動(dòng)互聯(lián)網(wǎng)投資路線圖

2012-11-09 16:10:28

2013-03-28 10:14:02

2018-11-01 18:02:30

百度智能城市ACE王牌計(jì)劃
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)