本期導讀 :【AI 訓練加速】第十六講
主題:FFluid + JindoFS 對 OSS 上數據進行訓練加速luid + JindoFS 對 OSS 上數據進行訓練加速
講師:揚禮,阿里巴巴計算平臺事業部 開源大數據平臺 開發工程師
內容框架:
- Fluid 介紹
- Fluid JindoRuntime
- 使用Fluid JindoRuntime 加速 OSS訓練
- 演示
直播回放鏈接:(16講)
https://developer.aliyun.com/live/247018
一、Fluid 介紹
CNCF Fluid是一個開源的Kubernetes原生的分佈式數據集編排和加速引擎,主要服務於雲原生場景下的數據密集型應用,例如大數據應用、AI應用等。
參考網址:
https://github.com/fluid-cloudnative/fluid
Fluid核心理念
- 提供雲平臺數據集抽象的原生支持:數據密集型應用所需基礎支撐能力功能化,實現數據高效訪問並降低多維成本。
- 基於容器調度管理的數據集編排:通過數據集緩存引擎與Kubernetes容器調度和擴縮容能力的相互配合,實現數據集可遷移性。
- 面向雲上數據本地化的應用調度:Kubernetes調度器通過與緩存引擎交互獲得節點的數據緩存信息,將使用該數據的應用以透明的方式調度到包含數據緩存的節點,最大化緩存本地性的優勢。
Fluid功能概念
Fluid不是全存儲加速和管理,而是應用使用的數據集加速和管理
- Dataset: 數據集是邏輯上相關的一組數據的集合,一致的文件特性,會被同一運算引擎使用。
- Runtime: 實現數據集安全性,版本管理和數據加速等能力的執行引擎的接口,定義了一系列生命週期的方法。
- JindoRuntime: 內核基於 JindoFS ,是支撐 Dataset 數據管理和緩存的執行引擎高效實現。
二、Fluid JindoRuntime
背景:雲原生環境中使用JindoFS 緩存加速引擎並進行緩存數據集編排和應用編排
痛點:
- 數據集和加速引擎生命週期管理
- 數據集智能部署和使用
- 數據集可觀測和水平擴展
優勢:
- 開箱即用,加速 OSS/HDFS/S3 上數據
- 支持元數據數據預熱、原子性cache
- 小文件緩存優化,大大提高小文件訓練場景性能
- Fuse/ Posix 接口支持:JindoRuntime提供對OSS對象存儲服務和 HDFS 的訪問和緩存加速能力,並且利用 FUSE的 POSIX 文件系統接口實現可以像本地磁盤一樣輕鬆使用OSS 上的海量文件
三、使用 Fluid JindoRuntime 加速 OSS 訓練
ImageNet 數據集加速測試:
使用 ImageNet 數據集基於Kubernetes 集群並使用 Arena 在此數據集上訓練ResNet-50 模型,基於JindoFS 的JindoRuntime 在開啟本地緩存的情況下性能大幅度優於開源OSSFS,訓練耗時縮短了76%。
InsightFace 數據集加速測試:
使用 InsightFace 數據集基於Kubernetes 集群進行小文件場景的訓練測試(包含約380萬個小文件,每個文件大小約為23KB),基於元數據緩存和數據緩存策略,在相同集群和帶寬的OSSbucket下,基於JindoRuntime 訓練時間大大縮短。
四、演示
Fluid JindoRuntime 使用
環境要求:
- Kubernetes version > 1.14, 支持CSI
- Golang 1.12+
- Helm 3
- Fluid 0.6.0
參考文檔:https://github.com/aliyun/alibabacloud-jindofs/blob/master/docs/jindo_fluid/jindo_fluid_overview.md
ISSUE:https://github.com/aliyun/alibabacloud-jindofs/issues
演示:對 OSS上數據進行加速訪問
⭐點擊回放鏈接,直接觀看第15講視頻回放,獲取講師實例講解:
https://developer.aliyun.com/live/247018
⭐Github鏈接:
https://github.com/aliyun/alibabacloud-jindofs
不錯過每次直播信息、探討更多數據湖 JindoFS+OSS 相關技術問題,歡迎掃碼加入釘釘交流群!