有沒有那么一首歌,會(huì)讓你想不起來叫什么?
有那么一首旋律,在你的腦海中縈繞,但你卻想不起來它的名字和演唱者??吹揭欢涿利惖幕?,卻不知道它叫什么,屬于什么科目。類似的情形,每個(gè)人都遇到過。不過,現(xiàn)在這些都不成為問題了。打開一個(gè)手機(jī)應(yīng)用,哼一下曲調(diào),或者用相機(jī)拍一張照片,答案馬上出現(xiàn)在你面前。變身行走的知識(shí)小百科,就這么簡單!
圖片來源:Pexels
聽音識(shí)曲,以圖搜圖,所有這些,都有賴于人工智能的特征向量檢索能力:AI 機(jī)器學(xué)習(xí)算法,可以從圖像、音視頻和文本中抽取大量的特征,再用于視頻相似度檢測、人臉識(shí)別等業(yè)務(wù)場景中,對(duì)于 AI 訓(xùn)練與應(yīng)用有重要價(jià)值。
隨著 AI 的開發(fā)和應(yīng)用不斷普及和深入,企業(yè)需要計(jì)算、存儲(chǔ)海量特征向量數(shù)據(jù),IT 基礎(chǔ)設(shè)施因此面臨沉重的性能壓力。英特爾和京東一起,在基于英特爾?至強(qiáng)?可擴(kuò)展處理器的服務(wù)器上,開發(fā)了服務(wù)于 AI 時(shí)代的分布式向量搜索系統(tǒng) Vearch,讓京東的業(yè)務(wù)綜合性能獲得顯著提升,從而顯著加速重復(fù)圖片去重、相似性商品圖片搜索、人臉識(shí)別等 AI 應(yīng)用的響應(yīng)速度。
跨越性能挑戰(zhàn):軟件算法優(yōu)化+硬件并行計(jì)算
這幾年來,京東一直在落地 AI 技術(shù),幫助業(yè)務(wù)成長。因此,深度學(xué)習(xí)等 AI 應(yīng)用在企業(yè)內(nèi)部的規(guī)模越來越大,Vearch 應(yīng)運(yùn)而生。
Vearch 向量檢索系統(tǒng)架構(gòu)
分布式基礎(chǔ)向量檢索系統(tǒng) Vearch,由京東零售技術(shù)與數(shù)據(jù)中心基礎(chǔ)架構(gòu)團(tuán)隊(duì)在現(xiàn)有業(yè)務(wù)和應(yīng)用場景中提煉得出,面向 AI 時(shí)代,希望可以幫助 AI 算法專家集中精力在算法上。Vearch 廣泛應(yīng)用于圖像、音視頻和自然語言處理等各個(gè)機(jī)器學(xué)習(xí)領(lǐng)域,完整地解決海量特征的存儲(chǔ)與計(jì)算, 以統(tǒng)一的基礎(chǔ)設(shè)施,適用于圖像、視頻、音頻檢索和去重,安防視頻智能監(jiān)控,文本相似度計(jì)算、推薦、搜索召回及排序等。例如,基于 Vearch 的實(shí)時(shí)在線相似性圖片搜索,幫助電商平臺(tái)為用戶提供同款商品搜索服務(wù),提升用戶體驗(yàn)。
基于 Vearch 的在線相似性圖片搜索流程
諸如 Vearch 這樣的系統(tǒng),特征向量的規(guī)模常常會(huì)達(dá)到 10/100 億,甚至千億量級(jí),必須有充足的內(nèi)存和存儲(chǔ)才能滿足,同時(shí)部署大量的容器加以支持。為了最大化利用資源,企業(yè)會(huì)將單個(gè)容器的資源控制在較小范圍內(nèi)。在這種單容器資源有限的情況下,如何有效地整合零碎化 CPU、 內(nèi)存和磁盤資源,并且保證整體系統(tǒng)的高性能是一個(gè)較大的挑戰(zhàn)。
針對(duì) Vearch 的性能問題,京東技術(shù)團(tuán)隊(duì)與英特爾合作,在基于英特爾?至強(qiáng)?可擴(kuò)展處理器的服務(wù)器上,借助下列多種方式在軟件算法層面加以優(yōu)化。
1 |
原始向量壓縮:原始向量的存儲(chǔ)占用絕大多數(shù)系統(tǒng)資源,使用合適算法后,可壓縮 50%,包括內(nèi)存和磁盤占用資源節(jié)省一半,而且效果不變。 |
2 |
string 字段壓縮:使用合適的字符串壓縮算法,內(nèi)存的字符串存儲(chǔ)空間也減少 50%,同時(shí)解壓縮開銷也不高。 |
3 |
內(nèi)存整理:定期整理和內(nèi)存池技術(shù)可以重復(fù)利用已分配內(nèi)存。 |
4 |
圖+量化組合索引:全新的索引模型,將存儲(chǔ)資源使用量減少到原來的四分之一甚至更多。 |
在硬件提升層面,英特爾?至強(qiáng)?可擴(kuò)展處理器也功不可沒。它不但有強(qiáng)大的通用計(jì)算能力,還集成了增強(qiáng)單指令多數(shù)據(jù)流(Single Instruction Multiple Data,簡稱 SIMD)的英特爾? AVX-512 指令集等創(chuàng)新技術(shù),兼顧并行計(jì)算能力,在諸如人工智能、高性能計(jì)算等強(qiáng)調(diào) SIMD 的場景中長袖善舞。
為了驗(yàn)證性能優(yōu)化的實(shí)際效果,京東與英特爾對(duì)于 Vearch 優(yōu)化版 IVFPQ 和 IVFFlat 進(jìn)行了測試。測試結(jié)果表明,使用 IVFPQ 算法的 Vearch 性能可以提升 33%-44%,使用 IVFFlat 算法,性能提升最高達(dá)到 5.9 倍。在人臉識(shí)別等實(shí)際應(yīng)用中,不需大幅投資基礎(chǔ)設(shè)施,優(yōu)化后的 Vearch 可以提升特征向量檢索的速度,降低存儲(chǔ)資源消耗,節(jié)約總體擁有成本(TCO)。
Vearch 優(yōu)化版 IVFPQ(AVX512)與 Faiss 原生 IVFPQ 的性能對(duì)比
Vearch 優(yōu)化版 IVFFlat(AVX512)與 Faiss 原生 IVFFlat 的性能對(duì)比
AI 互聯(lián)網(wǎng)創(chuàng)新,靠大家攜手推動(dòng)
Vearch 開源一年多來,華為、科大訊飛、愛奇藝、趣頭條、OPPO、汽車之家和網(wǎng)易嚴(yán)選等數(shù)十家知名公司的團(tuán)隊(duì)或個(gè)人,已經(jīng)在一些業(yè)務(wù)場景中嘗試或使用。未來,京東還會(huì)在英特爾的支持下,提供更豐富的算法插件,如文本語義 embedding 算法插件,音頻 embedding 算法插件等。
總而言之,借助英特爾架構(gòu)在性能、擴(kuò)展性、穩(wěn)定性、可用性等方面的優(yōu)勢,英特爾愿意和眾多合作伙伴一起,讓 AI 和機(jī)器學(xué)習(xí)技術(shù)在互聯(lián)網(wǎng)、零售和金融行業(yè)不斷發(fā)揮創(chuàng)新推動(dòng)力,改善廣大用戶的日常生活。
活 動(dòng) 速 遞
技術(shù)人的頂級(jí)盛會(huì) OCP China Day 2020,將于 11 月 13 日在北京線下舉辦。議題聚焦數(shù)據(jù)中心開放計(jì)算和 AI/5G/ 邊緣計(jì)算等最前沿技術(shù)。更有英特爾專家為您帶來英特爾在數(shù)據(jù)中心開放計(jì)算及邊緣計(jì)算的技術(shù)發(fā)展與應(yīng)用。即刻掃描上方小程序碼報(bào)名,即有機(jī)會(huì)獲得 99 美元全球 Tech Week 線上通票。
* 本文內(nèi)容及配圖均為“英特爾商用頻道”的原創(chuàng)內(nèi)容。該公眾號(hào)的運(yùn)營主體擁有上述內(nèi)容的著作權(quán)或相應(yīng)許可。除在微信朋友圈分享之外,如未經(jīng)該運(yùn)營主體書面同意,請(qǐng)勿轉(zhuǎn)載、轉(zhuǎn)帖或以其他任何方式復(fù)制、發(fā)表或發(fā)布上述內(nèi)容。如需轉(zhuǎn)載上述內(nèi)容或其中任何部分,請(qǐng)留言聯(lián)系。