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

二值化每個特征,微軟用1350億參數(shù)稀疏神經(jīng)網(wǎng)絡(luò)改進(jìn)搜索結(jié)果

新聞 深度學(xué)習(xí)
GPT-3 強大,但不是很「聰明」,微軟提出了一種大規(guī)模稀疏模型,改進(jìn)了生產(chǎn)型 Transformer 模型,在自家搜索引擎Bing上改進(jìn)并測試,性能大幅提升。

 

近來 GPT-3 等基于 Transformer 的深度學(xué)習(xí)模型在機器學(xué)習(xí)領(lǐng)域受到了很多關(guān)注。這些模型擅長理解語義關(guān)系,為大幅改進(jìn)微軟 Bing 搜索引擎的體驗做出了貢獻(xiàn),并在 SuperGLUE 學(xué)術(shù)基準(zhǔn)上超越了人類的表現(xiàn)。但是,這些模型可能無法捕獲超出純語義的查詢和文檔術(shù)語之間更細(xì)微的關(guān)系。

來自微軟的研究者提出了一種大規(guī)模稀疏模型「Make Every feature Binary(MEB)」,它改進(jìn)了微軟的生產(chǎn)型 Transformer 模型,以提升微軟客戶使用大規(guī)模 AI 時的搜索相關(guān)性。為了使搜索更加準(zhǔn)確和動態(tài),MEB 更好地利用了大數(shù)據(jù)的力量,并允許輸入特征空間具有超過 2000 億個二值化特征,這些特征反映了搜索查詢和文檔之間的微妙關(guān)系。

為什么要用「二值化每個特征」的方法來改進(jìn)搜索?

MEB 能夠為基于 Transformer 的深度學(xué)習(xí)模型提升搜索相關(guān)性,其中一個重要的原因是它可以將單個事實映射為特征,從而使 MEB 能夠更細(xì)致地理解單個事實。例如,許多深度神經(jīng)網(wǎng)絡(luò) (DNN) 語言模型在填寫一句話的空白時可能會過度泛化:「(blank) can fly」。由于大多數(shù) DNN 訓(xùn)練樣本的結(jié)果是「birds can fly」,因此 DNN 語言模型可能會用「birds」這個詞來填補空白。

MEB 通過將每個事實分配給一個特征來避免這種情況,例如借助分配權(quán)重來區(qū)分飛行能力,它可以針對使鳥等任何實體的每個特征執(zhí)行此操作。MEB 與 Transformer 模型搭配使用,可以將模型提升到另一個分類級別,例如模型產(chǎn)生的結(jié)果將不是「鳥類會飛」,而是「鳥類會飛,但鴕鳥、企鵝等鳥類除外」。

隨著規(guī)模的增加,還有一個元素可以更有效地改進(jìn)使用數(shù)據(jù)的方法。Bing 搜索后的網(wǎng)頁結(jié)果排序是一個機器學(xué)習(xí)問題,它受益于對大量用戶數(shù)據(jù)的學(xué)習(xí)。用戶點擊數(shù)據(jù)的傳統(tǒng)利用方法是為每個印象深刻的查詢 / 文檔對提取數(shù)千個手工構(gòu)建的數(shù)值特征,并訓(xùn)練梯度提升決策樹 (GBDT) 模型。

然而,由于特征表示和模型容量有限,即使是 SOTA GBDT 訓(xùn)練器 LightGBM 也要在數(shù)億行數(shù)據(jù)后才能收斂。此外,這些手工構(gòu)建的數(shù)值特征本質(zhì)上往往非常粗糙。例如,他們可以捕獲查詢中給定位置的術(shù)語在文檔中出現(xiàn)的次數(shù),但有關(guān)特定術(shù)語是什么的信息在這種表征中丟失了。此外,該方法中的特征并不總是能準(zhǔn)確地說明搜索查詢中的詞序等內(nèi)容。

為了釋放海量數(shù)據(jù)的力量,并啟用能夠更好反映查詢與文檔之間關(guān)系的特征表征,MEB 在 Bing 搜索三年中超過 5000 億個查詢 / 文檔對上進(jìn)行訓(xùn)練。輸入特征空間有超過 2000 億個二值化特征。使用 FTRL 的最新版本是具有 90 億個特征和超過 1350 億個參數(shù)的稀疏神經(jīng)網(wǎng)絡(luò)模型。

使用 MEB 能夠發(fā)現(xiàn)隱藏的關(guān)系

MEB 正用于生產(chǎn)中所有區(qū)域和語言的 100% 的 Bing 搜索。它是微軟提供的最大通用模型,具備一種出色的能力——能夠記住這些二值化特征所代表的事實,同時以連續(xù)的方式從大量數(shù)據(jù)中進(jìn)行可靠的學(xué)習(xí)。

微軟的研究者通過實驗發(fā)現(xiàn),對大量數(shù)據(jù)進(jìn)行訓(xùn)練是大型稀疏神經(jīng)網(wǎng)絡(luò)的獨特能力。將相同的 Bing 日志輸入 LightGBM 模型并使用傳統(tǒng)數(shù)值特征(例如 BM25 等查詢與文檔匹配特征)進(jìn)行訓(xùn)練時,使用一個月的數(shù)據(jù)后模型質(zhì)量不再提高。這表明模型容量不足以從大量數(shù)據(jù)中受益。相比之下,MEB 是在三年的數(shù)據(jù)上訓(xùn)練的,研究者發(fā)現(xiàn)它在添加更多數(shù)據(jù)的情況下能夠繼續(xù)學(xué)習(xí),這表明模型容量能夠隨著新數(shù)據(jù)的增加而增加。

與基于 Transformer 的深度學(xué)習(xí)模型相比,MEB 模型還展示了超越語義關(guān)系的學(xué)習(xí)能力。在查看 MEB 學(xué)習(xí)的主要特征時,研究者發(fā)現(xiàn)它可以學(xué)習(xí)查詢和文檔之間的隱藏關(guān)系。

二值化每個特征,微軟用1350億參數(shù)稀疏神經(jīng)網(wǎng)絡(luò)改進(jìn)搜索結(jié)果

表 1:MEB 模型學(xué)習(xí)的示例。

例如,MEB 了解到「Hotmail」與「Microsoft Outlook」密切相關(guān),即使它們在語義上并不接近。但 MEB 發(fā)現(xiàn)了這些詞之間微妙的關(guān)系:Hotmail 是一種免費的基于 Web 的電子郵件服務(wù),由 Microsoft 提供,后來更名為 Microsoft Outlook。同樣,它了解到「Fox31」和「KDVR」之間有很強的聯(lián)系,其中 KDVR 是位于科羅拉多州丹佛市的電視頻道的呼號,該頻道以 Fox31 品牌運營,而表面上看這兩個詞之間并沒有明顯的語義聯(lián)系。

更有趣的是,MEB 可以識別單詞或短語之間的負(fù)面關(guān)系,揭示用戶不希望在查詢中看到的內(nèi)容。例如,搜索「棒球」的用戶通常不會點擊談?wù)摗盖髑颉沟捻撁妫词顾鼈兌际橇餍羞\動。了解這些負(fù)面關(guān)系有助于忽略不相關(guān)的搜索結(jié)果。

MEB 學(xué)習(xí)的這些關(guān)系與基于 Transformer 的 DNN 模型學(xué)習(xí)的關(guān)系非常互補,搜索相關(guān)性和用戶體驗得到了很好的提升。微軟在生產(chǎn)型 Transformer 模型的基礎(chǔ)上引入 MEB 帶來了以下結(jié)果:

  • 頁面中最頂端搜索結(jié)果的點擊率 (CTR) 增加了近 2%。這些結(jié)果在頁面折疊上方,無需向下滾動即可找到所需結(jié)果。
  • 手動查詢重構(gòu)減少了 1% 以上。用戶需要手動重新制定查詢意味著他們不喜歡他們在原始查詢中搜索到的結(jié)果,因此該比重減少說明了模型性能的提升。
  • 「下一頁」等分頁點擊量減少了 1.5% 以上。用戶需要點擊「下一頁」按鈕意味著他們沒有在第一頁找到他們想要的東西。

MEB 如何在大型數(shù)據(jù)集上訓(xùn)練和提供特征

模型結(jié)構(gòu)

如下圖 1 所示,MEB 模型是由 1 個二值化特征輸入層、1 個特征嵌入層、1 個池化層和 2 個密集層組成。輸入層包含從 49 個特征組生成的 90 億個特征,每個二值化特征被編碼為一個 15 維嵌入向量。在每組 sum-pooling 和拼接(concatenation)之后,向量通過 2 個密集層來產(chǎn)生點擊概率估計。

二值化每個特征,微軟用1350億參數(shù)稀疏神經(jīng)網(wǎng)絡(luò)改進(jìn)搜索結(jié)果

圖 1:MEB 是一個稀疏神經(jīng)網(wǎng)絡(luò)模型,由一個接受二值化特征的輸入層、一個將每個二值化特征轉(zhuǎn)換為 15 維向量的特征嵌入層、一個應(yīng)用于 49 個特征組中每個特征組并拼接以產(chǎn)生一個 735 維向量的 sum pooling 層,然后通過兩個密集層來產(chǎn)生一個點擊概率。如下圖 2 所示,上圖 1 中顯示的功能是從樣例查詢「Microsoft Windows」和鏈接:https://www.microsoft.com/en-us/windows 中的文檔中生成的。

訓(xùn)練數(shù)據(jù)和將特征二值化

MEB 使用來自 Bing 的三年搜索日志作為訓(xùn)練數(shù)據(jù)。對于每次 Bing 搜索的結(jié)果,該研究使用啟發(fā)式方法來確定用戶是否對他們點擊的文檔感到滿意。研究者將「令人滿意」的文檔標(biāo)記為正樣本。同一搜索結(jié)果中的其他文檔被標(biāo)記為負(fù)樣本。對于每個查詢和文檔對,從查詢文本、文檔 URL、標(biāo)題和正文文本中提取二值化特征。這些特征被輸入到一個稀疏神經(jīng)網(wǎng)絡(luò)模型中,以最小化模型預(yù)測的點擊概率和實際點擊標(biāo)簽之間的交叉熵?fù)p失。

特征設(shè)計和大規(guī)模訓(xùn)練是 MEB 成功的關(guān)鍵。MEB 特征是在查詢和文檔之間非常具體的術(shù)語級別(term–level)或 N-gram–level(N-grams 是含有 N 個術(shù)語的序列)關(guān)系上定義的,傳統(tǒng)的數(shù)值特征無法捕獲這些特征,傳統(tǒng)的數(shù)值特征只關(guān)心查詢和文檔之間的匹配計數(shù)。

為了充分釋放這個大規(guī)模訓(xùn)練平臺的力量,所有的特征都被設(shè)計為二值化特征,可以很容易地以一致的方式覆蓋手工構(gòu)建的數(shù)值特征和直接從原始文本中提取的特征。這樣做可以讓 MEB 在一條路徑上進(jìn)行端到端的優(yōu)化。當(dāng)前的生產(chǎn)模型使用三種主要類型的特征,包括:

查詢與文檔的 N-gram 對特征

N-gram 對特征是基于 Bing 搜索日志中查詢和文檔域的 N-gram 組合生成的。如下圖 2 所示,來自查詢文本的 N-gram 將與來自文檔 URL、標(biāo)題和正文文本的 N-gram 結(jié)合形成 N-gram 對特征。更長的 N-gram(N 值更大)能夠捕捉更豐富和更細(xì)微的概念。然而,隨著 N 的增加,處理它們的成本呈指數(shù)級增長。在該研究的生產(chǎn)模型中,N 設(shè)置為 1 和 2(分別為 unigrams 和 bigrams)。

分桶數(shù)值特征的 one-hot 編碼

數(shù)值特征首先通過分桶操作,然后應(yīng)用 one-hot 編碼將其二值化。在圖 2 所示的示例中,數(shù)值特征「QueryLength」可以采用 1 到 MaxQueryLength 之間的任何整數(shù)值。研究者為此特征定義了 MaxQueryLength 存儲桶,以便查詢「Microsoft Windows」查詢具有等于 1 的二值化特征 QueryLength_2。

分類特征的 one-hot 編碼

分類特征可以通過 one-hot 編碼以一種直接的方式轉(zhuǎn)換為二值化特征。例如,UrlString 是一個分類特征,每個唯一的 URL 字符串文本都可以作為一個不同的類別。

二值化每個特征,微軟用1350億參數(shù)稀疏神經(jīng)網(wǎng)絡(luò)改進(jìn)搜索結(jié)果

圖 2:MEB 特征示例。左側(cè)展示了一個查詢文檔對,其中查詢文本、文檔標(biāo)題、URL 和片段作為特征提取的輸入。右側(cè)展示了 MEB 產(chǎn)生的一些典型特征。

用持續(xù)訓(xùn)練支撐萬億查詢 / 文檔對(每日刷新)

為了實現(xiàn)具有如此巨大特征空間的訓(xùn)練,該研究利用由 Microsoft Advertising 團隊構(gòu)建的內(nèi)部大型訓(xùn)練平臺 Woodblock,它是一種用于訓(xùn)練大型稀疏模型的分布式、大規(guī)模、高性能的解決方案。Woodblock 建立在 TensorFlow 之上,填補了通用深度學(xué)習(xí)框架與數(shù)十億稀疏特征的行業(yè)需求之間的空白。通過對 I/O 和數(shù)據(jù)處理的深度優(yōu)化,Woodblock 可以使用 CPU 和 GPU 集群在數(shù)小時內(nèi)訓(xùn)練數(shù)千億個特征。

但即使使用 Woodblock pipeline,用包含近一萬億個查詢 / 文檔對的三年 Bing 搜索日志訓(xùn)練 MEB 也很難一次性完成。因此該研究使用了一種持續(xù)訓(xùn)練的方法,先前已在已有數(shù)據(jù)上訓(xùn)練的模型,會在每個月的新數(shù)據(jù)上進(jìn)行持續(xù)訓(xùn)練。

更重要的是,即使在 Bing 中實現(xiàn)以后,模型也會通過使用最新的每日點擊數(shù)據(jù)持續(xù)訓(xùn)練而每天刷新,如圖 3 所示。為了避免過時特征的負(fù)面影響,自動過期策略會檢查每個特征的時間戳,并刪除過去 500 天內(nèi)未出現(xiàn)的特征。經(jīng)過不斷的訓(xùn)練,更新模型的日常部署完全自動化。

二值化每個特征,微軟用1350億參數(shù)稀疏神經(jīng)網(wǎng)絡(luò)改進(jìn)搜索結(jié)果

圖 3:MEB 每天的刷新流程。生產(chǎn)型 MEB 模型每天都使用最新的單日 Bing 搜索日志數(shù)據(jù)進(jìn)行持續(xù)訓(xùn)練。在部署新模型并在線提供服務(wù)之前,會從模型中刪除過去 500 天內(nèi)未出現(xiàn)的陳舊特征。這可以保持特征的新鮮度并確保有效利用模型容量。

合作應(yīng)用

使用 Bing ObjectStore 平臺為超大模型提供服務(wù)

MEB 稀疏神經(jīng)網(wǎng)絡(luò)模型的內(nèi)存占用約為 720 GB。在流量高峰期,系統(tǒng)需要維持每秒 3500 萬次特征查找,因此無法在一臺機器上為 MEB 提供服務(wù)。研究者利用 Bing 的 ObjectStore 服務(wù)來支撐 MEB 模型。

ObjectStore 是一種多租戶(multi-tenant)的分布式鍵值存儲系統(tǒng),能夠存儲數(shù)據(jù)和計算托管。MEB 的特征嵌入層在 ObjectStore 中實現(xiàn)為表的查找操作,每個二值化特征哈希被用作鍵,來檢索訓(xùn)練時產(chǎn)生的嵌入。池化層和密集層部分的計算量更大,并且在承載用戶定義函數(shù)的 ObjectStore Coproc(一個 near-data 計算單元)中執(zhí)行。MEB 將計算和數(shù)據(jù)服務(wù)分離到不同的分片中。每個計算分片占用一部分用于神經(jīng)網(wǎng)絡(luò)處理的生產(chǎn)流量,每個數(shù)據(jù)分片托管一部分模型數(shù)據(jù),如下圖 4 所示。

二值化每個特征,微軟用1350億參數(shù)稀疏神經(jīng)網(wǎng)絡(luò)改進(jìn)搜索結(jié)果

圖 4:計算分片中的 ObjectStore Coproc 與數(shù)據(jù)分片之間進(jìn)行會進(jìn)行交互,以檢索特征嵌入并運行神經(jīng)網(wǎng)絡(luò)。數(shù)據(jù)分片存儲特征嵌入表并支持來自每個 Coproc 調(diào)用的查找請求。

由于在 ObjectStore 上運行的大多數(shù)工作負(fù)載都專門進(jìn)行存儲查找,因此將 MEB 計算分片和內(nèi)存中數(shù)據(jù)分片放在一起可以最大限度地利用多租戶集群中 ObjectStore 的計算和內(nèi)存資源。分片分布在多臺機器上的設(shè)計還能夠精細(xì)控制每臺機器上的負(fù)載,以便讓 MEB 的服務(wù)延遲降低到幾毫秒內(nèi)。

支持更快的搜索,更好地理解內(nèi)容

研究者發(fā)現(xiàn)像 MEB 這樣非常大的稀疏神經(jīng)網(wǎng)絡(luò)可以學(xué)習(xí)與基于 Transformer 的神經(jīng)網(wǎng)絡(luò)互補的細(xì)微關(guān)系。這種對搜索語言理解的改進(jìn)為整個搜索生態(tài)系統(tǒng)帶來了顯著的好處:

  • 由于改進(jìn)了搜索相關(guān)性,Bing 用戶能夠更快地找到內(nèi)容和完成搜索任務(wù),減少重新手動制定查詢或點擊下一頁的操作;
  • 因為 MEB 能夠更好地理解內(nèi)容,發(fā)布商和網(wǎng)站管理員可以獲得更多訪問其資源的流量,并且他們可以專注于滿足客戶,而不是花時間尋找有助于排名更高的關(guān)鍵字。一個具體的例子是產(chǎn)品品牌重塑,MEB 模型可能能夠自動學(xué)習(xí)新舊名稱之間的關(guān)系,就像「Hotmail」和「Microsoft Outlook」那樣。

如果用戶要使用 DNN 為業(yè)務(wù)提供動力,微軟的研究者建議嘗試使用大型稀疏神經(jīng)網(wǎng)絡(luò)來補充這些模型。特別地,如果擁有大量用戶交互歷史流并且可以輕松構(gòu)建簡單的二值化特征,則尤其應(yīng)該使用這種方法。同時他們還建議用戶確保模型盡可能接近實時地更新。

 

責(zé)任編輯:張燕妮 來源: 機器之心Pro
相關(guān)推薦

2017-08-29 13:50:03

TensorFlow深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)

2023-02-26 18:46:35

機器學(xué)習(xí)數(shù)據(jù)集算法

2017-03-27 16:18:30

神經(jīng)網(wǎng)絡(luò)TensorFlow人工智能

2018-07-03 16:10:04

神經(jīng)網(wǎng)絡(luò)生物神經(jīng)網(wǎng)絡(luò)人工神經(jīng)網(wǎng)絡(luò)

2023-01-13 14:34:00

AI神經(jīng)網(wǎng)絡(luò)

2019-07-24 05:36:32

神經(jīng)網(wǎng)絡(luò)語言模型NNLM

2018-04-08 11:20:43

深度學(xué)習(xí)

2017-04-18 12:21:01

神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)設(shè)計模式

2018-12-14 08:02:55

神經(jīng)網(wǎng)絡(luò)機器學(xué)習(xí)二值模型

2021-03-08 09:25:48

神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)圖形

2020-12-19 11:05:57

循環(huán)神經(jīng)網(wǎng)絡(luò)PyTorch神經(jīng)網(wǎng)絡(luò)

2020-09-08 13:02:00

Python神經(jīng)網(wǎng)絡(luò)感知器

2021-09-24 09:45:27

Python神經(jīng)網(wǎng)絡(luò)人工智能

2023-07-19 08:55:00

神經(jīng)網(wǎng)絡(luò)推薦系統(tǒng)

2020-05-27 11:10:54

KerasLSTM神經(jīng)網(wǎng)絡(luò)

2021-02-07 09:40:19

Python神經(jīng)網(wǎng)絡(luò)人工智能

2022-05-11 14:45:48

模型人工智能

2017-09-08 16:41:43

微軟

2019-07-24 15:58:47

程序員技能開發(fā)者

2017-09-10 07:07:32

神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)集可視化
點贊
收藏

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