0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

分布式文件系統(tǒng)的必要性,Python在分布式文件系統(tǒng)中的支持情況

zhKF_jqr_AI ? 來源:未知 ? 作者:李倩 ? 2018-10-21 09:11 ? 次閱讀

當你用大量高質(zhì)量訓(xùn)練數(shù)據(jù)訓(xùn)練深度學(xué)習(xí)模型時,可能會刷新多個領(lǐng)域的模型最佳預(yù)測表現(xiàn)(例如圖像分類、語音識別和機器翻譯)。作為訓(xùn)練數(shù)據(jù)、日志、模型服務(wù)、檢查點的存儲中心,分布式文件系統(tǒng)正變得越來越重要。HopsFS就是不錯的選擇,它可以本地支持數(shù)據(jù)科學(xué)主流的Python框架,例如Pandas、TensorFlow/Keras、PySpark和Arrow

數(shù)據(jù)集尺寸增加,預(yù)測性能增加

百度研究院曾經(jīng)提出,可以根據(jù)訓(xùn)練數(shù)據(jù)的數(shù)量,判斷深度學(xué)習(xí)模型預(yù)測的精確度是否能提高(或者能否生成更少的錯誤)。根據(jù)下方的對數(shù)坐標圖可以看出,隨著訓(xùn)練數(shù)據(jù)的尺寸增加,生成的錯誤不斷減少,呈冪律分布。這一結(jié)果來源于對多領(lǐng)域不同的機器學(xué)習(xí)模型的研究,包括機器翻譯、語言建模、圖像分類、語音識別。假設(shè)這一結(jié)果在多個應(yīng)用領(lǐng)域都通用,那么有可能在你的研究領(lǐng)域也成立。對正在考慮大規(guī)模投資深度學(xué)習(xí)的公司來說,這一結(jié)果非常重要。假設(shè)生成或收集1GB的新訓(xùn)練數(shù)據(jù)需要花費X美元,你就能預(yù)測它能為模型精確度提高多少。

來源:百度研究院research.baidu.com/deep-learning-scaling-predictable-empirically/

可預(yù)測的投資回報率

這里通過收集或生成更多訓(xùn)練數(shù)據(jù)而得到的可預(yù)測投資回報率(ROI)比上面的概念稍復(fù)雜。首先,你需要收集到足夠多的數(shù)據(jù),如下圖所示,使數(shù)據(jù)量超過“Small Data Region”,在冪律區(qū)域中,才能用足夠的數(shù)據(jù)做出預(yù)測。

你可以根據(jù)你模型生成的錯誤數(shù)量變化繪制出函數(shù)圖像,并聯(lián)系起訓(xùn)練數(shù)據(jù)的多少制定出對數(shù)坐標。通過觀察你模型的直線變化,計算你的冪律圖形中的指數(shù)(圖形的斜率)。百度的實證結(jié)果表明,在它們繪制的學(xué)習(xí)曲線上,指數(shù)的范圍在-0.35到-0.07之間,說明模型在學(xué)習(xí)真實世界數(shù)據(jù)時比理論上要慢(理論上模型的理想冪律指數(shù)為-0.5)。

并且,如果你觀察了冪律區(qū)域,當訓(xùn)練數(shù)據(jù)集的尺寸增加時,模型預(yù)測的生成錯誤會減少。例如,如果你在為一輛自動駕駛汽車訓(xùn)練圖像分類器,那么小車自動形式的時間決定了訓(xùn)練數(shù)據(jù)的尺寸。所以,自動駕駛的時間越長,圖像分類器出錯的機會就越少,并且是可以預(yù)測的。這對商業(yè)領(lǐng)域來說,能夠通過數(shù)據(jù)增加判斷精確度增加,是非常重要的一點。

分布式文件系統(tǒng)的必要性

TensorFlow團隊在2018年TensorFlow開發(fā)者峰會上表示,一個分布式文件系統(tǒng)對深度學(xué)習(xí)來說是必需的。數(shù)據(jù)集越來越大,GPU不僅僅要實現(xiàn)存儲,還需要協(xié)調(diào)模型檢查點、超參數(shù)優(yōu)化和模型架構(gòu)搜索。你的系統(tǒng)可能需要多個服務(wù)器,所以,一個分布式文件系統(tǒng)可以將你的機器學(xué)習(xí)流程中的不同階段融合起來,可以讓團隊成員共享GPU硬件和數(shù)據(jù)。重要的是,分布式文件系統(tǒng)能根據(jù)你的編程語言和深度學(xué)習(xí)框架工作。

管理日志、TensorBoard、協(xié)調(diào)GPU、存儲檢查點等都需要分布式文件系統(tǒng)

前面我們說到,HopsFS是一種不錯的選擇,它是HDFS的替代。HopsFS/HDFS都支持主流的Python框架,例如Pandas、PySpark數(shù)據(jù)框架、TensorFlow數(shù)據(jù)等等。在Hopsworks中,我們提供嵌入式的HopsFS/HDFS支持,以及pydoop庫。HopsFS有一個針對機器學(xué)習(xí)工作負載的特征,即對小型文件,它改善了吞吐量,并將降低了讀取/書寫的延遲。我們在Middleware 2018上有一篇經(jīng)過同行審議的論文,證明了和之前的HDFS處理小文件相比,HopsFS的吞吐量提高了66倍。

Python在分布式文件系統(tǒng)中的支持情況

下表體現(xiàn)出不同分布式文件系統(tǒng)所支持的框架:

HopsFS中Python的支持情況

下面我們介紹幾個用Python代碼在HopsFS中使用數(shù)據(jù)集的例子,完整Notebook地址:github.com/logicalclocks/hops-examples/tree/master/tensorflow/notebooks

Pandas

import hops.hdfs as hdfs

cols = [“Age”, “Occupation”, “Sex”, …, “Country”]

h = hdfs.get_fs()

with h.open_file(hdfs.project_path()+“/TestJob/data/census/adult.data”, “r”) as f:

train_data=pd.read_csv(f, names=cols, sep=r’s*,s*’,engine=‘python’,na_values=“?”)

用Pandas時,和本地文件系統(tǒng)相比,我們唯一要改變代碼的地方就是將openfile(..)改成h.openfile(..),其中h是HDFS/HopsFS中文檔處理的指令。

PySpark

from mmlspark importImageTransformer

IMAGE_PATH=“/Projects/myProj/Resources/imgs”

images = spark.readImages(IMAGE_PATH, recursive = True, sampleRatio = 0.1).cache()

tr = (ImageTransformer().setOutputCol(“transformed”)

.resize(height = 200, width = 200)

.crop(0, 0, height = 180, width = 180) )

smallImgs = tr.transform(images).select(“transformed”)

smallImgs.write.save(“/Projects/myProj/Resources/small_imgs”, format=“parquet”)

TensorFlow數(shù)據(jù)集

def input_fn(batch_sz):

files = tf.data.Dataset.list_files(IMAGE_PATH)

def tfrecord_dataset(f):

return tf.data.TFRecordDataset(f, num_parallel_reads=32, buffer_size=8*1024*1024)

dataset = files.apply(tf.data.parallel_interleave(tfrecord_dataset,cycle_length=32))

dataset = dataset.prefetch(4)

return dataset

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編程語言
    +關(guān)注

    關(guān)注

    10

    文章

    1947

    瀏覽量

    34846
  • 圖像分類
    +關(guān)注

    關(guān)注

    0

    文章

    90

    瀏覽量

    11943
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5510

    瀏覽量

    121334

原文標題:面向深度學(xué)習(xí)的分布式文件系統(tǒng)

文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    分布式軟件系統(tǒng)

    降到最低。負載各處理機之間分擔,可以避免臨界瓶頸。 4、當現(xiàn)有機構(gòu)已存在幾個數(shù)據(jù)庫系統(tǒng),而且實現(xiàn)全局應(yīng)用的必要性增加時,就可以由這些數(shù)據(jù)庫自下而上構(gòu)成
    發(fā)表于 07-22 14:53

    分布式文件系統(tǒng)和fastDFS

    項目(1)(分布式文件系統(tǒng)、fastDFS,代碼實現(xiàn)fastDFS 文件上傳和下載)
    發(fā)表于 05-10 08:51

    一文解讀在RTThread平臺上使用DFS分布式文件系統(tǒng)

    電路板,MCU用的STM32F407VET6  DFS分布式文件系統(tǒng)框架如下:  主要特點:  支持多種類型的存儲設(shè)備。  支持多種類型的文件系統(tǒng)
    發(fā)表于 09-15 16:57

    HarmonyOS分布式文件系統(tǒng)開發(fā)指導(dǎo)

    (ohos.file.fs)。 ■ 如果文件本地,則堆疊訪問本地文件系統(tǒng)。 ■ 如果文件在其他設(shè)備,則同步網(wǎng)絡(luò)訪問遠端設(shè)備文件。 說明 s
    發(fā)表于 11-14 17:14

    采用信任管理的分布式文件系統(tǒng)TrustFs

    傳統(tǒng)的分布式文件系統(tǒng)中用戶無法判斷文件的可信任性,針對此問題提出采用信任管理的分布式文件系統(tǒng)T
    發(fā)表于 04-02 08:57 ?19次下載

    海量郵件分布式文件系統(tǒng)的設(shè)計與實現(xiàn)

    本文通過歸納分析已有的分布式系統(tǒng)體系結(jié)構(gòu),研究并設(shè)計了一個針對于海量郵件存儲的分布式文件系統(tǒng)。受Google File System 架構(gòu)的啟發(fā),針對單個元數(shù)據(jù)服務(wù)器帶來的瓶頸問
    發(fā)表于 01-09 13:56 ?12次下載

    基于分布式文件系統(tǒng)元數(shù)據(jù)操作優(yōu)化

    隨著網(wǎng)絡(luò)應(yīng)用的迅速發(fā)展,網(wǎng)絡(luò)時代數(shù)據(jù)規(guī)模越來越大,海量數(shù)據(jù)存儲和大規(guī)模并發(fā)的I/O成為了分布式系統(tǒng)的瓶頸。單機環(huán)境下的文件系統(tǒng)已經(jīng)不能滿足當前網(wǎng)絡(luò)時代的大容量、高可靠
    發(fā)表于 02-24 13:46 ?0次下載
    基于<b class='flag-5'>分布式</b><b class='flag-5'>文件系統(tǒng)</b>元數(shù)據(jù)操作優(yōu)化

    盤點一下這些常見的分布式文件系統(tǒng)

    Alluxio是第一個基于內(nèi)存的分布式文件系統(tǒng),因此其相應(yīng)速度也會超出普通的分布式文件系統(tǒng)很多,例如HDFS就比它慢數(shù)百倍。并且Alluxio和Spark也有良好的交互。最重要的是Al
    的頭像 發(fā)表于 08-15 16:25 ?1.2w次閱讀
    盤點一下這些常見的<b class='flag-5'>分布式</b><b class='flag-5'>文件系統(tǒng)</b>

    AFS,GFS ,QKFile主流分布式存儲文件系統(tǒng)

    主流的3種分布式存儲文件系統(tǒng) 存儲架構(gòu)分兩種,一種是傳統(tǒng)存儲陣列架構(gòu),另一種就是本文將要重點介紹的分布式存儲架構(gòu)
    發(fā)表于 08-02 11:04 ?3572次閱讀

    解析夸克分布式文件系統(tǒng)如何實現(xiàn)資源共享

    QKFILE—“夸克分布式文件系統(tǒng)”。簡單點說,它是一個點對點的分布式文件系統(tǒng)(和比特幣技術(shù)一樣),通過底層協(xié)議,可以讓存儲QKFILE
    發(fā)表于 08-06 08:45 ?4915次閱讀

    分布式文件存儲系統(tǒng)GFS的基礎(chǔ)知識

    GFS是google的分布式文件存儲系統(tǒng),是專為存儲海量搜索數(shù)據(jù)而設(shè)計的,2003年提出,是閉源的分布式文件系統(tǒng)。
    發(fā)表于 08-25 17:49 ?6028次閱讀
    <b class='flag-5'>分布式</b><b class='flag-5'>文件</b>存儲<b class='flag-5'>系統(tǒng)</b>GFS的基礎(chǔ)知識

    分布式文件系統(tǒng)主從的伸縮架構(gòu)設(shè)計

    Hadoop當中負責分布式存儲的HDFS,被定義為分布式文件系統(tǒng),對于進入到平臺當中的數(shù)據(jù),提供高效的、可容錯、可擴展的數(shù)據(jù)存儲,這得益于分布式文件
    發(fā)表于 01-05 10:42 ?1264次閱讀
    <b class='flag-5'>分布式</b><b class='flag-5'>文件系統(tǒng)</b>主從<b class='flag-5'>式</b>的伸縮<b class='flag-5'>性</b>架構(gòu)設(shè)計

    什么是分布式文件系統(tǒng)

    我們無時無刻不在使用文件系統(tǒng),進行開發(fā)時使用文件系統(tǒng),瀏覽網(wǎng)頁時使用文件系統(tǒng),玩手機時也使
    的頭像 發(fā)表于 03-10 16:21 ?4283次閱讀

    分布式文件系統(tǒng)的設(shè)計框架

    因為HDFS系統(tǒng)分布式文件系統(tǒng))可由數(shù)百或數(shù)千個存儲文件數(shù)據(jù)片段的服務(wù)器組成,即HDFS系統(tǒng)包含較多的硬件設(shè)備,所以HDFS
    的頭像 發(fā)表于 03-20 11:37 ?1051次閱讀

    分布式文件系統(tǒng)的設(shè)計原理是什么?

    什么是分布式文件系統(tǒng)?分布式文件系統(tǒng)(DFS)是一種計算機文件系統(tǒng),使用戶能夠從多個分布式位置存
    的頭像 發(fā)表于 10-17 17:35 ?937次閱讀