天天看點

一文梳理論文《AIBox: CTR Prediction Model Training on a Single Node》原文翻譯:

論文連結:https://dl.acm.org/doi/pdf/10.1145/3357384.3358045

背景介紹:百度搜尋中一個很重要的工作室點選率預估(CTR),CTR預估計算代價很大,往往線上的資料非常的大,之前采用的方式是MPI上訓練叢集,但是這種方式不但耗時而且通信代價也很大;點選率預測起着關鍵作用确定最佳廣告空間配置設定,因為它會直接影響使用者體驗和廣告盈利能力。本文設計了一個通過SSD(固态硬碟)和GPU的點選率集中式系統,叫做AIBOX,将CTR模型劃分為兩部分:第一部分适用于CPU,另一個适用于GPU。使用SSD上的二級緩存管理系統來存儲10TB參數,同時提供低延遲通路;廣泛的經驗指導生産資料顯示新系統的有效性。AIBox具有大型MPI訓練能力,而隻需要叢集成本的一小部分。傳統的采用參數伺服器進行分布式訓練,但是也曾遭受節點故障和網絡故障,更糟糕的是,在參數伺服器上的同步會阻礙訓練的執行,并導緻巨大的網絡通信開銷,而異步訓練架構會因為每個工作節點上的過時模型而導緻模型收斂問題。

分析:現有大規模CTR預測模型訓練系統面臨的問題

  • 大資料和大模型問題:訓練資料和模型規模達到PB級别
  • 巨大的特征空間規模:特征空間規模達到 
    一文梳理論文《AIBox: CTR Prediction Model Training on a Single Node》原文翻譯:
  • 資料稀疏性問題: 每個特征向量中隻有幾百個非零條目

解決思路:

  • 壓縮模型規模:流行的模型壓縮技術,如下采樣和散列,對于訓練具有超高維(例如,數千億個特征)和極稀疏(例如,每個特征中隻有幾百個非零項)的訓練資料的商業CTR模型來說,效果較差。研究報告中常見的論據,如“隻需0分就能将教育訓練成本降低一半”。3%的精度損失“,不再在這個行業工作。另一方面,DNN-CTR模型的訓練在百度是一項日常工作,工程師和資料科學家必須對許多不同的模型/特性/政策/參數進行實驗,并且必須非常頻繁地訓練andre-train-CTR模型。硬體(如MPI叢集)的成本和能耗可能非常高。
  • 設計高效的訓練系統(本文方法):AIBox使用新興的硬體SSD(固态驅動器和GPU),以存儲大量參數并加速神經網絡訓練的繁重計算。 作為集中式系統,AIBox直接消除了分布式系統中由網絡通信引起的那些弊端。與大型計算叢集中的數千個節點相比,單節點AIBox的硬體故障數量要少幾個數量級。 此外,由于僅需要記憶體鎖和GPU片上通信,是以可以顯着降低單個節點中的同步成本。 與分布式環境相比,沒有通過網絡傳輸資料。

但是模型壓縮會損失一部分精度,但是即使精度損失了0.1%,也會造成巨大的商業損失,是以百度的這篇論文主要是從設計一個高效的訓練系統的方式上進行的。

AIBOX設計過程中的挑戰:     AIBox的設計仍面臨兩個主要挑戰。第一個挑戰是将10TB規模的模型參數存儲在單個節點上。當容量超過1 TB時,記憶體價格将上漲。當模型将來變得更大時,它是不可伸縮的。由于成本高昂,我們無法将整個10TB參數存儲在主存儲器中。 PCIe總線上新興的非易失性記憶體Express(NVMe)SSD的延遲比硬碟驅動器低50倍以上。我們利用SSD作為輔助存儲來儲存參數。但是,SSD有兩個缺點。首先,就延遲而言,SSD仍比主記憶體慢兩個數量級,進而導緻訓練過程中的參數通路和更新速度較慢。 SSD的另一個缺點是,SSD中的存儲單元隻能持續數千個寫周期。是以,我們必須維護有效的記憶體緩存以隐藏SSD延遲并減少磁盤寫入SSD的時間。第二個挑戰是在單個上使用多個GPU節點加快訓練計算。最近,單Nvidia Tesla V100具有32 GB高帶寬記憶體(HBM)達到15.7 TFLOPS,是47倍比高端伺服器CPU節點(Intel Xeon系列)更快學習推理。這提供了獨特的機會簽署具有可比計算能力的多GPU計算節點叢集性能。但是,目前的現成GPU确實可以沒有TB規模的HBM。我們無法保留整個點選率預測GPU HBM中的神經網絡。在這項工作中,我們提出了一本小說方法(第2節)将神經網絡分為兩部分。第一部分是占用大量記憶體并在CPU上進行過訓練的。另一個網絡的一部分是計算密集型的,而輸入功能的疊代次數。我們在GPU上訓練它。訓練資料模型參數在主存儲器之間傳輸以及多GPU的HBM。但是,主記憶體和GPU HBM受PCIe總線限制帶寬。較高的GPU數值計算性能為當通信帶寬成為瓶頸時,阻塞-頸部。新興的NVLink 和NVSwitch 技術在不涉及PCIe的情況下實作直接GPU到GPU的通信公共汽車。我們使用NVLink并設計了一個内置HBM參數伺服器減少GPU資料傳輸

設計的CTR預測神經網絡模型的概述。

Embedding 學習的輸入層上的節點表示高維稀疏性。 在聯合學習的連接配接層上沒有傳入箭頭的節點是密集的個性化輸入特征(除了Embedding之外)。第一個子產品高維稀疏地關注嵌入學習功能,第二個子產品用于密集學習功能來自第一個子產品。嵌入學習在CPU上處理,通過學習到的Embedding從CPU轉移到GPU,同時利用SSD儲存模型參數。

一文梳理論文《AIBox: CTR Prediction Model Training on a Single Node》原文翻譯:

Embedding Learning on CPU(嵌入學習):SSD和CPU之間通路迅速,通過SSD儲存模型參數,然後學習到Embedding輸入到下一層。

Joint Learning on GPU(聯合學習):聯合學習的投入包括密集的個性化功能和學習的嵌入。個性化功能通常來自包括标題創意文本,使用者個性化的行為,以及與廣告相關的各種中繼資料。如果我們直接串聯這些要素和饋送的神經網絡,重要資訊個性化功能可能無法得到充分的探索,進而點選率預測結果不準确。是以,我們設計了幾個深度神經網絡,共同學習有意義的表示最終的CTR預測。如圖1所示,聯合學習該子產品包含幾個(圖中兩個)深度神經網絡。每個網絡都将學習的嵌入和一種個性化資訊一起作為輸入層。然後幾個應用完全連接配接的層以幫助捕獲互動以自動方式設定功能。這些的最後隐藏層網絡組合在一起用于softmax層和輸出層點選率預測。

一文梳理論文《AIBox: CTR Prediction Model Training on a Single Node》原文翻譯:

AIBOX系統設計:

SPARSE TABLE

将稀疏表存儲到SSD的參數有效。它利用記憶體作為SSD的快速緩存,同時減少了SSD I / O,并提供低延遲的SSD通路。 它包含兩個主要元件,密鑰哈希索引和二級緩存管理。

  •     Key Hash Index
    • 為了通過功能鍵通路SSD上的參數檔案,我們必須為
      一文梳理論文《AIBox: CTR Prediction Model Training on a Single Node》原文翻譯:
      個參數存儲
      一文梳理論文《AIBox: CTR Prediction Model Training on a Single Node》原文翻譯:
      個密鑰到檔案的映射在點選率預測模型中将每個密鑰到檔案的映射存儲為記憶體中的64位值對需要1.6 TB =(8位元組密鑰+ 8位元組的SSD偏移量)×
      一文梳理論文《AIBox: CTR Prediction Model Training on a Single Node》原文翻譯:
      ,超過了1 TB的記憶體預算。 我們必須仔細設計關鍵哈希索引和SSD上的檔案結構,以減少記憶體占用量。我們引入了分組功能,該功能将密鑰映射到組ID這樣每個組都包含m個關鍵點,即group(key)→{0,1,···,
      一文梳理論文《AIBox: CTR Prediction Model Training on a Single Node》原文翻譯:
       / m − 1}。在這裡10個12鍵被劃分為
      一文梳理論文《AIBox: CTR Prediction Model Training on a Single Node》原文翻譯:
      / m組。将密鑰分組後,我們可以保留記憶體中的組到檔案映射作為記憶體消耗僅是原始密鑰到檔案映射的1 / m。由于鍵是從1到10 12連續,可以很容易地觀察通過均勻地劃分鍵空間來獲得,例如group(key)→密鑰mod
      一文梳理論文《AIBox: CTR Prediction Model Training on a Single Node》原文翻譯:
      / m。我們設定m =⌊BLOCK/(8 + sizeof(value))⌋,其中BLOCK是SSD的I / O單元,由SSD決定塊大小(通常為4096),8表示密鑰占用的位元組,以及sizeof(value)是值(模型參數)的大小(以位元組為機關),它是在我們的點選率預測模型中大約有50個位元組。 m永遠不會設定為小于⌊BLOCK/(8 + sizeof(value))⌋的值,因為SSD通路必須從磁盤擷取塊位元組。 m太小是次優的。另一方面,我們選擇的m越大,則密鑰哈希索引的記憶體占用空間就越小。但是,大m會導緻一個大組,因為我們必須從SSD讀取多個頁面才能得到一個組。是以,當組到檔案的映射在記憶體中占據可接受的空間時,我們設定的m值是最佳的。當塊大小遠大于值的大小時,這是正确的。作為記憶體占用量的折衷,分組政策的缺點是即使從目前的迷你批進行中未引用磁盤,也要從磁盤擷取同一組中的值,這會浪費I / O帶寬。 一種可能的優化是将具有較高共現性的特征分組在一起,例如,預訓練學習的哈希函數以最大化特征共現性。 這屬于垂直劃分的另一個研究領域,不在本文的讨論範圍之内。 此外,通過緩存管理元件可以減少此缺點,在緩存元件中,我們跳過了從磁盤讀取緩存密鑰的組。
  •     Bi-level Cache Management
  •     Sparse Table Operators
  •     File Management

原文翻譯:

摘要:

翻譯:作為世界上主要的搜尋引擎之一,百度的贊助商搜尋早已采用深度神經網絡(DNN)廣告點選率(CTR)預測模型2013。百度線上廣告系統使用的輸入期貨(又稱“鳳凰巢”)具有很高的次元(例如,甚至數千億個功能),而且還非常疏。百度産品使用的點選率模型的大小系統可以超過10TB。這帶來了巨大的挑戰用于教育訓練,更新和在生産中使用此類模型。對于百度的廣告系統,保持模型教育訓練過程非常高效,是以工程師(以及搜尋者)能夠快速優化和測試他們的新模型,或者新的功能。而且,數十億的使用者廣告點選曆史記錄條目每天都有貨,必須迅速對模型進行重新訓練因為點選率預測是一項非常耗時的任務。百度的目前的點選率模型是在MPI(消息傳遞接口)上訓練的叢集,需要較高的容錯能力和同步性這會導緻昂貴的通信和計算成本。當然,叢集的維護成本也很大。本文介紹AIBox,這是一個用于教育訓練點選率的集中式系統通過使用solid-狀态驅動器(SSD)和GPU。由于記憶體限制GPU,我們将點選率模型仔細劃分為兩部分:第一部分适用于CPU,另一個适用于GPU。我們進一步介紹固态硬碟上的二級緩存管理系統來存儲10TB參數,同時提供低延遲通路。廣泛的經驗指導生産資料顯示新系統的有效性。AIBox具有大型MPI訓練能力,而隻需要叢集成本的一小部分。

介紹:

    百度是全球領先的搜尋引擎提供商之一搜尋系統(又稱“鳳凰巢”)預先針對廣告的點選率(CTR)的神經網絡(DNN)模型,最早于2013年做出決定。點選率預測起着關鍵作用确定最佳廣告空間配置設定,因為它會直接影響使用者體驗和廣告盈利能力。 通常,點選率預測需要多種資源作為輸入,例如,查詢廣告相關性,廣告功能和使用者畫像。它可以确定使用者點選的機率在給定的廣告上。 最近,深度學習在以下方面取得了巨大的成功計算機視覺和自然語言處理。 啟發據此,提出了用于CTR預測的學習方法任務。 與常用邏輯回歸比較,深度學習模型可以大大改善準确性,大大增加了教育訓練成本。

    在百度搜尋廣告的目前生産系統中,我們模型的訓練過程既耗費資源又耗時消耗。 通過參數伺服器訓練模型在具有數百個MPI(消息傳遞接口)的群集中成千上萬的CPU節點數。 生産中使用的主要模型是尺寸超過10TB,并在特殊硬體上存儲/管理。的參數伺服器解決方案遭受節點故障和網絡的困擾太多節點環境中的故障。 更糟糕的是,參數伺服器中的同步會阻止訓練計算機并導緻大量的網絡通信開銷,而異步訓練架構具有模型收斂的可能性每個工作程式節點上的模型過時導緻的障礙。

    這裡有令人着迷的機會和挑戰來改善贊助搜尋的生産系統,在許多不同的方面位置。積極研究人員的一個領域可以提高“召回”的品質(廣告)調用CTR模型之前。 例如,百度向社群分享了這樣的技術論文,建立在快速的近鄰搜尋算法之上和最大的内部産品搜尋技術。

    在本文中,我們将介紹百度的另一項重大并舉改善線上廣告系統,即從MPI叢集到GPU的CTR模型訓練。 而使用用于機器學習和科學計算的GPU已成為慣例,使用GPU訓練商業點選率模型會議:目前仍然帶來許多重大挑戰。 最著名的挑戰原因是訓練資料大小為PB(PeteByte)大小,并且經過訓練的模型的大小超過10TB。 訓練數例子可能多達數千億的功能可能達到數千億(我們通常使用2 64作為功能空間大小的便捷替代。) 資料饋送到該模型也非常稀疏,隻有幾百個每個特征向量的非零項。

作為一個商業贊助的搜尋系統,任何模型壓縮技術都不應影響預測性能(收益)。事實上,即使是很小的(例如0。1%的預測準确度下降将導緻不可接受的收入損失。事實上,整個系統已經進行了高度優化,幾乎沒有備援(例如,參數已經被小心地量化為整數),這種方式似乎沒有多少改進的餘地。流行的模型壓縮技術,如下采樣和散列,對于訓練具有超高維(例如,數千億個特征)和極稀疏(例如,每個特征中隻有幾百個非零項)的訓練資料的商業CTR模型來說,效果較差。研究報告中常見的論據,如“隻需0分就能将教育訓練成本降低一半”。3%的精度損失“,不再在這個行業工作。另一方面,DNN-CTR模型的訓練在百度是一項日常工作,工程師和資料科學家必須對許多不同的模型/特性/政策/參數進行實驗,并且必須非常頻繁地訓練andre-train-CTR模型。硬體(如MPI叢集)的成本和能耗可能非常高。為了應對這些挑戰,我們展示了AIBox,這是一種新穎的集中式系統在單個節點上訓練這種巨大的機器學習模型。 AIBox使用新興的硬體SSD(固态驅動器和GPU),以存儲大量參數并加速神經網絡訓練的繁重計算。 作為集中式系統,AIBox直接消除了分布式系統中由網絡通信引起的那些弊端。 此外,與大型計算叢集中的數千個節點相比,單節點AIBox的硬體故障數量要少幾個數量級。 此外,由于僅需要記憶體鎖和GPU片上通信,是以可以顯着降低單個節點中的同步成本。 與分布式環境相比,沒有通過網絡傳輸資料。盡管如此,AIBox的設計仍面臨兩個主要挑戰。

    第一個挑戰是将10TB規模的模型參數存儲在單個節點上。當容量超過1 TB時,記憶體價格将上漲。當模型将來變得更大時,它是不可伸縮的,并且在現實世界中的大規模生産中不可行。由于成本高昂,我們無法将整個10TB參數存儲在主存儲器中。 PCIe總線上新興的非易失性記憶體Express(NVMe)SSD的延遲比硬碟驅動器低50倍以上。我們利用SSD作為輔助存儲來儲存參數。但是,SSD有兩個缺點。首先,就延遲而言,SSD仍比主記憶體慢兩個數量級,進而導緻訓練過程中的參數通路和更新速度較慢。 SSD的另一個缺點是,SSD中的存儲單元隻能持續數千個寫周期。是以,我們必須維護有效的記憶體緩存以隐藏SSD延遲并減少磁盤寫入SSD的時間。第二個挑戰是在單個上使用多個GPU節點加快訓練計算。最近,單Nvidia Tesla V100具有32 GB高帶寬記憶體(HBM)達到15.7 TFLOPS,是47倍比高端伺服器CPU節點(Intel Xeon系列)更快學習推理。這提供了獨特的機會簽署具有可比計算能力的多GPU計算節點叢集性能。但是,目前的現成GPU确實可以沒有TB規模的HBM。我們無法保留整個點選率預測GPU HBM中的神經網絡。在這項工作中,我們提出了一本小說方法(第2節)将神經網絡分為兩部分。第一部分是占用大量記憶體并在CPU上進行過訓練的。另一個網絡的一部分是計算密集型的,而輸入功能的疊代次數。我們在GPU上訓練它。訓練資料模型參數在主存儲器之間傳輸以及多GPU的HBM。但是,主記憶體和GPU HBM受PCIe總線限制帶寬。較高的GPU數值計算性能為當通信帶寬成為瓶頸時,阻塞-頸部。新興的NVLink 和NVSwitch 技術在不涉及PCIe的情況下實作直接GPU到GPU的通信公共汽車。我們使用NVLink并設計了一個内置HBM參數伺服器減少GPU資料傳輸

總結工作如下:

  • 我們引入AIBox(受SSD和GPU加速的單個節點)來訓練具有10TB參數的CTR預測模型。 單節點設計範例消除了昂貴的網絡通信和分布式系統的同步成本。 據我們所知,AIBox是第一個為實際機器學習而設計的集中式系統如此大規模的應用
  • 我們展示了一種将大型CTR預測模型分為兩部分的新穎方法。 分區之後,我們能夠将記憶體密集型訓練部分保留在CPU上,而将記憶體受限的GPU用于計算密集型部分來加速訓練。
  • 我們建議使用稀疏表,通過在SSD上存儲模型參數并利用記憶體作為快速緩存來減少SSD I / O延遲。 此外,我們實作了一個3級流水線,該流水線與網絡,稀疏表和CPU-GPU學習階段的執行重疊。
  • 我們通過将其與包含10個PB示例的真實CTR預測資料上的75個節點的分布式叢集解決方案進行比較,進行了廣泛的實驗,以評估該提議的系統。 它顯示了AIBox的有效性-AIBox具有與群集解決方案相當的教育訓練性能,而隻需要我們為群集支付的費用的不到1/10。

點選率預估神經網絡

工業大規模網絡經過大規模的設計和教育訓練,縮放資料示例以幫助預測廣告的點選率準确,快速和可靠。 百度點選率預測中的功能模型通常是極其稀疏的特征(例如,數百個或甚至數千億個功能),隻有很少的數量-每個向量ber(例如幾百個)非零值。 這個巨大存儲後,DNN模型的參數大小超過10TB僅對非零參數進行仔細量化。 因為GPU的HBM容量有限,是以保持GPU的HBM中整個模型的10TB參數。

在本文中,我們介紹了訓練的兩子產品架構,在CPU + GPU上使用龐大的DNN CTR模型。第一個子產品高維稀疏地關注嵌入學習功能,第二個子產品用于密集學習功能來自第一個子產品。嵌入學習在CPU上處理,以幫助學習低維密集嵌入-丁表示。由于10TB的記憶體密集型問題參數使得無法維持整個模型在訓練過程中存儲記憶體,我們利用SSD來存儲模型參數。可以從SSD到CPU快速通路參數。通過将學習到的嵌入向量從CPU轉移到GPU,計算密集型聯合學習子產品可以充分利用用于CTR預測的功能強大的GPU。在聯合學習模式中例如,通過以下方法對幾個完全連接配接的神經網絡進行模組化嵌入作為輸入。這些神經網絡的最後一層連接配接在一起以進行最終的點選率預測。圖1顯示了設計的CTR神經網絡模型的概述。我們将在以下小節中介紹該模型的詳細資訊。

  •     Embedding Learning on CPUs: 嵌入學習子產品旨在映射高維将稀疏向量(例如10 12個次元)稀疏成低維密集表示形式。 如圖1所示,嵌入學習該子產品包括高維稀疏特征的輸入層和輸出嵌入層。 ReLU用作激活功能。 自10 12開始,此子產品主要占用大量記憶體功能導緻10TB規模的模型參數,這是不可行的将所有參數加載到主存儲器中。 為了學習嵌入時,我們将10TB參數存儲到SSD中。 由于SSD和CPU之間的有效通路速度,我們可以輕松地從SSD加載參數并學習CPU上的嵌入。
  •     Joint Learning on GPUs:計算高維CPU上的嵌入後稀疏功能,我們将嵌入從CPU轉移到GPU,以實作點選率預測過程。聯合學習的投入包括密集的個性化功能和學習的嵌入。個性化功能通常來自各種來源,包括标題創意文本,使用者個性化的行為,以及與廣告相關的各種中繼資料。如果我們直接串聯這些要素和饋送的神經網絡,重要資訊個性化功能可能無法得到充分的探索,進而點選率預測結果不準确。是以,我們設計了幾個深度神經網絡,共同學習有意義的表示最終的CTR預測。如圖1所示,聯合學習該子產品包含幾個(圖中兩個)深度神經網絡。每個網絡都将學習的嵌入和一種個性化資訊一起作為輸入層。然後幾個應用完全連接配接的層以幫助捕獲互動以自動方式設定功能。這些的最後隐藏層網絡組合在一起用于softmax層和輸出層點選率預測

為了有效地學習以前的神經網絡,表示是從第一個和最後一個隐藏的對象中提取的層,然後與目前輸入層連接配接聯合學習的神經網絡。 具體來說,第一個隐藏層表示低級特征學習并提取最相關的來自輸入層的資訊。 最後一個隐藏層顯示進階特征學習,并為最終CTR預測檢測最抽象但最有用的資訊。 我們結合了先前網絡中最有意義的低層和最強大的高層資訊,以獲更準确的點選率預測結果。

AIBOX SYSTEM OVERVIEW

将稀疏表存儲到SSD的參數有效。它利用記憶體作為SSD的快速緩存,同時減少了SSD I / O,并提供低延遲的SSD通路。 它包含兩個主要元件,密鑰哈希索引和二級緩存管理。

SPARSE TABLE

  •     Key Hash Index
    • 為了通過功能鍵通路SSD上的參數檔案,我們必須為
      一文梳理論文《AIBox: CTR Prediction Model Training on a Single Node》原文翻譯:
      個參數存儲
      一文梳理論文《AIBox: CTR Prediction Model Training on a Single Node》原文翻譯:
      個密鑰到檔案的映射在點選率預測模型中将每個密鑰到檔案的映射存儲為記憶體中的64位值對需要1.6 TB =(8位元組密鑰+ 8位元組的SSD偏移量)×
      一文梳理論文《AIBox: CTR Prediction Model Training on a Single Node》原文翻譯:
      ,超過了1 TB的記憶體預算。 我們必須仔細設計關鍵哈希索引和SSD上的檔案結構,以減少記憶體占用量。我們引入了分組功能,該功能将密鑰映射到組ID這樣每個組都包含m個關鍵點,即group(key)→{0,1,···,
      一文梳理論文《AIBox: CTR Prediction Model Training on a Single Node》原文翻譯:
      / m − 1}。在這裡10個12鍵被劃分為
      一文梳理論文《AIBox: CTR Prediction Model Training on a Single Node》原文翻譯:
      / m組。将密鑰分組後,我們可以保留記憶體中的組到檔案映射作為記憶體消耗僅是原始密鑰到檔案映射的1 / m。由于鍵是從1到10 12連續,可以很容易地觀察通過均勻地劃分鍵空間來獲得,例如group(key)→密鑰mod
      一文梳理論文《AIBox: CTR Prediction Model Training on a Single Node》原文翻譯:
      / m。我們設定m =⌊BLOCK/(8 + sizeof(value))⌋,其中BLOCK是SSD的I / O單元,由SSD決定塊大小(通常為4096),8表示密鑰占用的位元組,以及sizeof(value)是值(模型參數)的大小(以位元組為機關),它是在我們的點選率預測模型中大約有50個位元組。 m永遠不會設定為小于⌊BLOCK/(8 + sizeof(value))⌋的值,因為SSD通路必須從磁盤擷取塊位元組。 m太小是次優的。另一方面,我們選擇的m越大,則密鑰哈希索引的記憶體占用空間就越小。但是,大m會導緻一個大組,因為我們必須從SSD讀取多個頁面才能得到一個組。是以,當組到檔案的映射在記憶體中占據可接受的空間時,我們設定的m值是最佳的。當塊大小遠大于值的大小時,這是正确的。作為記憶體占用量的折衷,分組政策的缺點是即使從目前的迷你批進行中未引用磁盤,也要從磁盤擷取同一組中的值,這會浪費I / O帶寬。 一種可能的優化是将具有較高共現性的特征分組在一起,例如,預訓練學習的哈希函數以最大化特征共現性。 這屬于垂直劃分的另一個研究領域,不在本文的讨論範圍之内。 此外,通過緩存管理元件可以減少此缺點,在緩存元件中,我們跳過了從磁盤讀取緩存密鑰的組。
  •     Bi-level Cache Management
    • 高速緩存管理設計受到以下兩個挑戰的指導:SSD的通路性能和壽命。
      • 首先,記憶體通路延遲約為納秒級而SSD需要幾微秒的時間來檢視資料,因為SSD比記憶體慢大約1000倍,但是,參數點選率中的資料稀疏和偏斜,導緻不到1%的參數迷你批進行中引用了一個。 它為我們提供了建立記憶體緩存系統的機會在有限的記憶體預算中經常使用的“熱參數”。
      • 第二個挑戰是僅SSD的實體屬性允許對每個存儲單元進行數千次寫入。 參數是在教育訓練的每次疊代中更新。 它将大大如果及時更新參數,則可以縮短SSD的使用壽命。高速緩存管理還充當參數緩沖區。 緩沖的在不涉及SSD I / O的情況下在記憶體中更新參數。當緩沖區到達緩沖區時,它們會延遲地存儲到SSD容量和緩存替換政策将其交換出緩存
  •     Sparse Table Operators
  •     File Management

後續更新

繼續閱讀