女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Merlin HugeCTR分級參數服務器:緩存和在線更新設計

星星科技指導員 ? 來源:NVIDIA ? 作者:About Yingcan Wei,A ? 2022-03-31 15:39 ? 次閱讀

1. 概述

HPS 數據后端作為 GPU embedding 緩存架構的基石,同時也是 GPU embedding 緩存在 CPU 內存以及本地磁盤的進一步物理擴展。HPS 數據后端通過綁定不同物理層級的存儲從而提供了大型模型 embedding table 的緩存,查詢,更新以及容錯等服務,目的即為了保證在推理服務中 GPU embedding 緩存的高命中率,從而提高推理服務的吞吐大幅度降低端到端的延遲。

2. Volatile 數據后端

Volatile 數據后端以 RAM Memory 作為主要存儲介質,提供本地或者遠端更加快捷的參數讀寫服務。既可以作為 GPU embedding 緩存的擴展,也可以作為本地磁盤的(Persistent 后端)緩存。由于 Persistent 數據后端的存儲容量可以理解為無限巨大,但是同時也就意味著在實際的推理服務中的讀寫速度也是相對較慢的。因此 Volatile 數據后端彌補了 Persistent 數據庫的缺陷,極大擴展了有限的 GPU 內存。但是 Volatile 數據庫的容量本質上也是有限的,因此我們通過實現參數的分區,驅逐以及共享進一步提高 RAM Memory 帶來的上限。

為了保證 Volatile 數據后端可以適用于更廣泛的推薦部署場景,我們同樣實現了針對不同場景的本地化或者分布式存儲機制。從下圖中我們可以看到,針對 HashMap 此類常規的存儲結構,通過實例化 Volatile 數據后端,可以保證每個數據節點都將擁有一個獨立本地化的存儲實例。對于本地化的 Volatile 數據后端,我們不僅實現了分區優化的 HashMap 結構,還實現了高性能的 Parallel HashMap 數據結構,進而大幅度提升了本地參數的查詢和讀寫服務。

與之相反的,則是分布式共享 Volatile 數據后端,分布式的數據后端將參數通過邏輯分區保存在不同的網絡節點,即 Redis Cluster(既可以將參數分布式存儲在遠端的數據節點,同樣也可以是相同的推理節點)。通過使用集群中共享 RAM 內存進行參數的存儲和讀寫,進一步擴大了 Volatile 數據庫容量,也提供了 Redis 持久化特性(RDB 和 AOF 等 ),從而使得跨節點重啟之后的讀寫操作可以無縫進行。 由于共享的機制,也實現了 HugeCTR 模型訓練到推理的參數無縫更新。

為了最大限度地提高性能并避免由零星 RAM memory 在 Volatile 數據后端中的高效使用(即內存不足的情況),我們提供了溢出處理機制。 它允許限制每個分區存儲的最大嵌入量,從而限制分布式數據庫的內存消耗。當前我們允許用戶配置不同的驅逐更新策略(隨機驅逐以及 LRU)來保證內存最大限度的利用。對于本地化的參數分區以及查詢機制,用戶可以對數據后端顯式的配置分區數量以及分區大小來更加細粒度的提高數據后端的查詢讀寫服務。具體來說,用戶可以通過配置 max_get_batch_size,max_set_batch_size 以及并發線程數來精準控制讀寫開銷。

具體參數配置信息可以參考 HPS 配置詳解:https://github.com/triton-inference-server/hugectr_backend/blob/main/docs/hierarchical_parameter_server.md#6-configuration

3. Persistent 數據后端

Persistent 數據后端以本地 SSDs 作為持久化存儲介質,維護一個完整的模型參數部分,同時承載著模型參數的容錯的功能。相對于 GPU embedding 緩存與 Volatile RAM 緩存,Persistent 數據后端可以看作是一個擁有無限虛擬空間的存儲后端,同時也作為一個本地化的 Key-value 查詢引擎,在此我們引入了性能優化后的 RocksDB 作為 Persistent 后端的實現。

每個推理節點通過 HPS 的配置文件即可在本地磁盤保留所有模型 embedding table 的獨立完整副本。 Persistent 數據后端也是對分布式 Volatile 數據后端的進一步補充:1) 進一步擴展存儲容量的同時, 2) 實現高可用性。 特別是對于超大規模的模型(甚至超過了分布 Redis Cluster 的總 RAM 容量),或者由于網絡帶寬等硬件限制造成 Redis Cluster 不可用,RocksDB 的分成存儲結構 同樣可以完全滿足高并發參數查詢請求。

針對 Persistent 后端的 Rocksdb 會以分塊查詢機制來獲取最大性能。針對不同的硬件基礎設施,用戶可以進行定制化的配置,從而保證硬件資源的利用率以及推理性能的最大化。

4. 流式增量更新

通過優化后 Kafka 的發布更新機制,推理節點中的每個 HPS 實例所對應的不同層級的數據后端通過訂閱對應模型的 Topic,消費實時的增量模型參數,實現模型的異步更新。在具體實現中,我們提供兩個簡單易用的抽象接口,分別是 MessageSink 和 MessageSource,保證了增量模型從訓練端向推理端的無縫更新。

用戶可以通過 JSON 格式的配置文件,任意組合搭配適用于部署場景的數據后端,保證每個部署節點充分的利用上文所提到的所有存儲介質。由于 HPS 是構建于 Triton 推理架構之上。正如下圖所展示的完整 HPS 訓練推理數據流示意圖,每個 Triton 節點通過 Volatile 數據后端既可以維護高性能的本地 RAM 緩存,同時也可以負責維護對應 Redis 節點的參數分區,Redis cluster 中的分區參數既可以通過訓練與推理集群共享,也可以通過訂閱 Kafka 數據源來實現無縫的參數更新。模型在 HugeCTR 訓練平臺可以實時將在線訓練中的增量模型推向分布式的 Kafka 隊列,相同 JSON 配置的推理節點會自動檢測和監控消息隊列,從而保證了推理節點的 Persistent 數據后端始終維護完整的最新版本的參數副本,為推理服務的容錯提供了保障。

5. 結語

在這一期的 HugeCTR 分級參數服務器介紹中,我們介紹了 CPU 分布式緩存,本地緩存,以及在線更新的設計細節。在下一期中,我們將著重介紹 HugeCTR 分級參數服務器中最關鍵的組件:Embedding Cache 的設計細節,敬請期待。

關于作者:

About Yingcan Wei

GPU計算專家,畢業于香港大學,HugeCTR算法組負責人。當前主要從事HugeCTR的算法設計與推理架構工作。研究領域包括深度學習域適應,生成對抗網絡,推薦算法設計優化。在2020年加入英偉達前,任職于歐美外資以及互聯網等企業,擁有多年圖像處理 、數據挖掘,推薦系統設計開發相關經驗。

About Matthias Langer

Matthias 在西門子擔任工廠自動化軟件和機器學習方面的調試專家多年。 2019 年,他在拉籌伯大學(墨爾本)獲得計算機科學博士學位,以表彰他在帶寬受限環境中的分布式深度學習方面的工作。 Matthias 與澳大利亞體育學院 (AIS) 為東京奧運會開發了一種用于視頻分析的新型 AI 系統,并開發了算法來幫助澳大利亞移動電話網絡中的負載預測。此外,他曾在中國領先的技術招聘平臺 BOSS 直聘北京研究中心擔任機器科學家,直至 2021 年 6 月首次公開募股。 在 NVIDIA,Matthias 是上海 DevTech APAC 團隊的一員,該團隊負責開發 NVIDIA HugeCTR。 Matthias 的工作重點是分發、并行化和性能優化算法,這些算法使 HugeCTR 成為世界上用于推薦模型訓練和推理的最快和最具可擴展性的系統之一。目前主要負責 HugeCTR 的分布式嵌入存儲和檢索模塊的實現、維護和擴展。

About Jerry Shi

本科畢業于加州大學伯克利分校,在康奈爾大學獲得碩士文憑。于2021年加入英偉達,在Merlin HugeCTR團隊算法組負責推薦系統架構與算法的相關設計及開發。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    11031

    瀏覽量

    215911
  • gpu
    gpu
    +關注

    關注

    28

    文章

    4908

    瀏覽量

    130622
  • 服務器
    +關注

    關注

    12

    文章

    9681

    瀏覽量

    87239
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    播出服務器磁盤I/O與緩存性能分析

    播出服務器磁盤I/O與緩存性能分析:針對電視臺專業播出服務器在播出質量和播出性能上的高要求,提出了(s,S)策略下讀數據緩存和復用緩存與節目
    發表于 01-16 15:09 ?22次下載

    緩存服務器運作的原理解析

    將HTML緩存存儲在一臺獨立的緩存服務器中,利用memcached,我們可以很容易地通過TCP將緩存存儲在其他服務器中,而且memcache
    發表于 04-28 12:43 ?1243次閱讀

    Skylaking服務器升級 支持Optane緩存和GPU

    Hitachi Vantara利用Skylake處理升級了更多服務器,并增加支持Optane SSD緩存和Nvidia GPU。
    的頭像 發表于 06-14 09:13 ?3894次閱讀
    Skylaking<b class='flag-5'>服務器</b>升級 支持Optane<b class='flag-5'>緩存</b>和GPU

    基于高斯混合模型的Web代理服務器緩存

    基于高斯混合模型的Web代理服務器緩存
    發表于 06-23 16:46 ?17次下載

    基于多級隊列的云服務并發量分級緩存機制

    基于多級隊列的云服務并發量分級緩存機制
    發表于 06-24 11:35 ?15次下載

    Merlin HugeCTR V3.4.1版本新增內容介紹

    Merlin HugeCTR(以下簡稱 HugeCTR)是 GPU 加速的推薦程序框架,旨在在多個 GPU 和節點之間分配訓練并估計點擊率(Click-through rate)。
    的頭像 發表于 03-10 10:15 ?1284次閱讀

    GPU加速的推薦程序框架Merlin HugeCTR

    Merlin HugeCTR(以下簡稱 HugeCTR)是 GPU 加速的推薦程序框架,旨在在多個 GPU 和節點之間分配訓練并估計點擊率(Click-through rate)。
    的頭像 發表于 03-20 15:30 ?2507次閱讀

    Merlin HugeCTR 分級參數服務器簡介

      參數服務器是推薦系統的重要組成部分,但是目前的訓練端參數服務器由于高延遲和同步問題無法有效解決推理部署中模型過大的瓶頸。
    的頭像 發表于 03-31 15:44 ?1702次閱讀
    <b class='flag-5'>Merlin</b> <b class='flag-5'>HugeCTR</b> <b class='flag-5'>分級</b><b class='flag-5'>參數</b><b class='flag-5'>服務器</b>簡介

    如何使用NVIDIA Merlin推薦系統框架實現嵌入優化

    HugeCTR TensorFlow 嵌入插件今天可以從 HugeCTR GitHub 存儲庫以及 NGC NVIDIA Merlin TensorFlow 容器獲得。如果您是 TensorFlow
    的頭像 發表于 04-02 14:18 ?2128次閱讀
    如何使用NVIDIA <b class='flag-5'>Merlin</b>推薦系統框架實現嵌入優化

    Merlin HugeCTR v3.6和v3.7版本新增內容介紹

    Merlin HugeCTR(以下簡稱 HugeCTR)是 GPU 加速的推薦程序框架,旨在在多個 GPU 和節點之間分配訓練并估計點擊率(Click-through rate)。
    的頭像 發表于 06-17 09:28 ?1126次閱讀

    Merlin HugeCTRV 3.8/3.9版本新增內容

    Merlin HugeCTR(以下簡稱 HugeCTR)是 GPU 加速的推薦程序框架,旨在在多個 GPU 和節點之間分配訓練并估計點擊率(Click-through rate)。
    的頭像 發表于 08-24 10:12 ?847次閱讀

    Merlin HugeCTR第三代 Embedding 功能優化

    Merlin HugeCTR(以下簡稱 HugeCTR)是 GPU 加速的推薦框架,旨在在多個 GPU 和節點之間分配訓練并估計點擊率(Click-through rate)。
    的頭像 發表于 10-20 09:51 ?1277次閱讀

    Merlin HugeCTR 分級參數服務器系列之三——集成到 TensorFlow

    前兩期中我們介紹了 HugeCTR 分級參數服務器 (HPS)的三級存儲結構的設計,相關配置使用,數據后端以及流式在線模型
    的頭像 發表于 11-22 19:45 ?747次閱讀

    Merlin HugeCTR v4.3 發布說明

    NVIDIA Merlin HugeCTR(以下簡稱 HugeCTR)是 GPU 加速的推薦框架,旨在在多個 GPU 和節點之間分配訓練并估計點擊率(Click-through rate)。作為一個
    的頭像 發表于 01-05 11:55 ?994次閱讀

    恒訊科技介紹:緩存服務器是什么?有哪些不同類型的算法?

    緩存服務器是什么?緩存服務器是專用網絡服務器或充當在本地保存網頁或其他互聯網內容的服務器
    的頭像 發表于 07-07 17:48 ?829次閱讀