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

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

3天內不再提示

有關IO模式的問題,數據存儲與深度學習

8gVR_D1Net08 ? 來源:未知 ? 作者:李倩 ? 2018-05-23 11:19 ? 次閱讀

人工智能,尤其是深度學習是一種正在改變人們生活的許多方面的計算技術。深度學習的算法需要大量的數據。數量確實取決于算法和生成的網絡模型的目標,但對于一些復雜的模式來說,它可能會運行數億的輸入集合。

人工智能是計算領域的熱門話題之一,并且有著充分的理由。深度學習(DL)中的新技術在某些問題上有能力創建比人類精確度更好的神經網絡。圖像識別是深度學習(DL)模型如何在識別圖像中的對象(對象檢測和分類)方面實現比人類準確性更好的一個例子。

ImageNet競賽就是一個例子。自2010年以來,ImageNet大規模視覺識別挑戰(ILSVRC)已被用作圖像識別改進的衡量標準。在2011年,其錯誤率約為25%(該工具可以正確識別培訓數據集之外的75%的圖像)。2012年,深度神經網絡(DNN)的錯誤率降低到16%。在接下來的幾年里,其錯誤率將降至個位數。在2017年,36支參賽團隊中有29人的失誤率低于5%,這通常要比人類識別做的更好。

深度學習使用各種類型的神經網絡,可應用于各種各樣的問題。創建深度學習模型通常有兩個主要步驟:第一步就是所謂的訓練。這是讓模型重復讀取輸入數據集,并調整模型參數以最小化錯誤(正確輸出與計算輸出之間的差異)的過程。這一步需要大量的輸入,需要極端大量的計算量。

第二步發生在模型訓練后,稱之為推理。這是訓練模型在生產中的部署。生產意味著該模型可用于讀取未用于培訓的數據。它產生用于某個任務的輸出,而不是訓練神經網絡。這一步也有一個計算組件。它不需要大量計算,它需要實現諸如最小化延遲、最佳可能精度,最大化吞吐量,以及最大化能源效率等目標。

用于執行這兩個步驟的計算的軟件由框架完成。這些軟件工具和數據庫可以讀取通常用Python編寫的腳本,告訴框架需要什么樣的操作以及神經網絡是什么樣的。該代碼然后由框架讀取,然后執行??蚣艿睦佑?a href="http://www.qd573.com/tags/tensorflow/" target="_blank">Tensorflow、Caffe或PyTorch。

有關IO模式的問題

通過研究深度學習(DL)框架的功能,可以了解IO模式。人們不需要知道具體框架的細節,也不需要了解神經網絡背后的數學知識。

深度學習(DL)框架中訓練步驟的基本流程非常簡單。神經網絡需要相當多的輸入數據來正確訓練網絡來執行任務。它可以是圖像、視頻、音量、數字或幾乎任何數據的組合。

人們需要大量的數據。此外,其數據必須非常多樣化,并為每個輸入提供廣泛的信息。例如,確定某人是男性還是女性的簡單面部識別需要超過1億張圖像。

輸入數據能夠以各種方式進行存儲,從簡單的csv文件中獲取真正少量的輸入數據,以便了解深度神經網絡(DNN)的數據庫,以及包含圖像的數據庫。只要深度神經網絡(DNN)可以訪問數據并理解輸入格式,數據也可以分布在不同的格式和工具中。它也可以是結構化和非結構化數據的組合,只要用戶知道數據和格式,并且可以在模型中表達這些數據和格式即可。

存儲介質上的數據大小可能會有所不同。在極端情況下,來自MNIST數據集的簡單圖像是28×28灰度圖像(值從0到255)??偣灿?84個像素,這格式非常小。如今人們擁有4K分辨率的電視機和相機。這將是4,096 x 4,096像素,總共16,777,216個像素。

4K色彩表示通常以8位(256個選擇)開始,或者可以達到16位信息。這可能導致非常大的圖像。如果將一個4K圖像制作為分辨率為4520 x 2540和8位的單個未壓縮的tiff文件,則其大小為45.9 MB。而對于16位色的圖像來說,其大小為91.8 MB。

如果組織擁有1億張圖片,對于一些面部識別算法來說是合理的,組織擁有這么多文件,這對當今的文件系統來說并不算太壞。在8位圖像情況下使用的總空間是4.59 PB。對于使用大型高分辨率圖像的單個神經網絡(NN)來說,這是相當大的空間。

一般來說,神經網絡在訓練網絡時有兩個階段。第一階段稱為前饋。它接受輸入并通過網絡進行處理。輸出與正確的輸出進行比較以產生錯誤。然后通過網絡傳播這個錯誤(反向傳播)來調整網絡的參數,以便希望減少網絡產生的錯誤。

這個過程繼續進行,以便所有圖像通過網絡進行處理。這被稱為epoch(迭代次數,1個epoch等于使用訓練集中的全部樣本訓練一次)。培訓一個網絡達到所需的性能水平可能需要數百、數千或數萬個epoch。深度學習框架(例如Tensorflow或Caffe或PyTorch)負責用戶創建的網絡模型的整個過程。

整體IO進程

深度學習的IO模式的簡要概述是數據一次又一次地被讀取。深度學習經常重復讀取(重讀)。請注意讀取一些文字,但與閱讀相比,它的工作量是很小的,因為它主要是在神經網絡訓練期間檢查指向。但是,為了改進神經網絡訓練,可以使用一些影響IO模式的選項。

作為讀取或寫入數據量的示例,在此假設網絡需要1億張圖像,其中每張圖像為45.9 MB。此外,假設網絡模型需要大約40MB來保存,并且每100個epoch保存一次,并且需要5000個epoch來訓練模型。

如前所述,一個epoch需要讀取4.59 PB的數據。這需要重復5000次。這總共需要讀取22.95EB的數據。如果每個圖像是單個文件,它還需要讀取500億個文件。

對于寫入IO,模型需要寫入50次。這是總共2 GB和50個寫入。與讀取相比,其工作量是非常小的。

對于這個例子,總共有459個PB執行了100億個讀取IO。隨后是40MB的寫入IO。整個IO模式總共重復50次。

這是面向識別應用的深度神經網絡(DNN)的基本IO模式。為了減少訓練時間,可以使用幾種技術。以下的主題是從IO角度對這些技術進行快速概述。

訓練技巧

神經網絡(NN)訓練中使用的第一種技術是輸入數據的隨機混洗。幾乎所有的時間都用它來減少所需的歷元(參考的時刻點)并防止過擬合(優化模型到數據集,但是模型在現實世界的數據上表現不佳)。

在新的epoch開始之前,數據讀取的順序是隨機的。這意味著讀取的IO模式是基于每個圖像的隨機數。在閱讀個人圖像時是連續的,但在圖像之間是隨機的。因此,由于隨機性,將模式表征為“重讀”而非“讀取”是困難的。

也有可以從數據庫中讀取數據的框架。IO模式的讀取仍然非常繁重,可能會隨機對數據進行混洗。這可能會使IO模式的細節更加復雜化,因為數據庫位于內存和框架之間。

有時框架也會使用IO的mmap()函數。這是一個將文件或設備映射到內存的系統調用。當將虛擬內存區域映射到文件時,它被稱為“基于文件的映射”。讀取某些內存區域將會讀取文件。這是默認行為。

無論是否使用mmap(),IO模式仍然是重讀的,遵循以上討論的模式。然而,使用mmap()會使分析復雜化,因為IO直接從文件到內存。

另一種常用的提高訓練性能的技術稱為批處理。在每個輸入圖像(包括向前和向后傳播)之后更新網絡,而不是在輸入“批量”圖像之后更新網絡。網絡的反向傳播部分對錯誤進行操作,例如對它們進行平均,以更新網絡參數。這通常不會改變IO模式,因為圖像仍然需要被讀取,但它可能會影響收斂速度。一般來說,它可以減緩收斂速度,但后向傳播的發生較少,提高了計算速度。

在使用GPU(圖形處理單元)進行訓練時,使用批處理還有助于提高性能。批處理不是將文件從CPU移動到GPU,而是允許用戶將多個文件復制到GPU。這可以提高從CPU到GPU的吞吐量,并減少數據傳輸時間。以這個例子為例,批處理大小為32將減少數據傳輸到3125000個傳輸的數量。

批處理確實有助于收斂,但不會真正影響IO模式。該模式仍然是隨機讀取,寫入很少。但它可以改變框架創建的輸出量。

數據存儲與深度學習

人工智能,尤其是深度學習是一種正在改變人們生活的許多方面的計算技術。深度學習的算法需要大量的數據。數量確實取決于算法和生成的網絡模型的目標,但對于一些復雜的模式來說,它可能會運行數億的輸入集合。通常,用于訓練模型的數據越多,數據越多樣化,最終訓練的模型就越好。這指向非常大的數據集。

在以往,有人討論數據將變得越來越冷。這意味著在創建數據后,很少再次使用它。而人們通過檢查數據,包括工程和企業數據,并發現了一些非常有趣的趨勢:

?這兩種工作負載都更加面向寫入。讀寫字節比率已顯著下降(從4:1到2:1)

?相對于只讀和只寫訪問模式,讀寫訪問模式增加了30倍。

?文件很少重新打開。超過66%只重開一次,95%少于五次。

?文件很少重新打開。

?研究期間超過90%的活動存儲空間未被使用。

?一小部分客戶占文件活動的很大一部分。不到1%的客戶占文件請求的50%。

而總結數據的總體使用非常容易。

?IO模式非常重視寫入。

?數據很少被重復使用,但仍然存在。

比較深入學習算法的IO模式,可以發現它與傳統工程師、HPC和企業應用程序的做法幾乎完全相反。深度學習非常重讀IO導向,數據在設計和訓練模型時被重復使用。即使在模型被訓練之后,仍然需要用新數據來增加現有的訓練數據集,特別是模型輸出中的誤差。這是為了隨著時間的推移對模型進行的改進。

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

    關注

    0

    文章

    400

    瀏覽量

    38588
  • 數據存儲
    +關注

    關注

    5

    文章

    920

    瀏覽量

    50651
  • 深度學習
    +關注

    關注

    73

    文章

    5256

    瀏覽量

    120053

原文標題:數據存儲、人工智能和IO模式

文章出處:【微信號:D1Net08,微信公眾號:AI人工智能D1net】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    2023年使用樹莓派和替代品進行深度學習

    此頁面可幫助您在Raspberry Pi或Google Coral或Jetson Nano等替代品上構建深度學習模式。有關深度
    的頭像 發表于 05-05 09:47 ?2231次閱讀
    2023年使用樹莓派和替代品進行<b class='flag-5'>深度</b><b class='flag-5'>學習</b>

    淺談示波器的存儲深度

    信號,只需要500點的記錄長度;但如果要解析一個復雜的數字數據流,則需要有上萬個點或更多點的存儲深度,這是普通存儲是做不到的,這時候就需要我們選擇長
    發表于 05-07 10:46

    數據存儲與文件IO后續資源包 Datalogging_FileIO

    數據存儲與文件IO后續資源包 ,供大家參考學習
    發表于 06-04 00:24

    LabVIEW讀取示波器數據存儲深度問題

    LabVIEW讀取示波器發過來的數據,每次只能讀去1000個點,但是示波器數據存儲深度遠遠大于1000,請問怎樣可以改變LabVIEW讀取示波器
    發表于 07-14 08:58

    淺談示波器的存儲深度

    。長存儲對測量的影響明白了存儲深度與取樣速度密切關系后,我們來淺談下長存儲對于我們平常的測量帶來什么的影響呢?平常分析一個十分穩定的正弦信號,只需要500點的記錄長度;但如果要解析一個
    發表于 08-10 16:02

    深度學習數據挖掘的關系

    深度學習的概念源于人工神經網絡的研究。含多隱層的多層感知器就是一種深度學習結構。深度學習通過組合
    發表于 07-04 16:07

    深度學習模型是如何創建的?

    嵌入式系統已被證明可以降低成本并增加各個行業的收入,包括制造工廠,供應鏈管理,醫療保健等等。本文將介紹有關深度學習嵌入式系統的信息。深度學習
    發表于 10-27 06:34

    IO擴展模式IO模式

    IO擴展模式IO模式,我們最開始學習51單片機的時候。***itP0_0 = P0^0;//位定義P0_0 = 1; //直接對端口進行賦值
    發表于 11-30 06:17

    示波器的變長存儲深度和分段存儲

    和準確。所以LOTO示波器的存儲深度是變長的。在這個模式下,LOTO示波器還提供了500幀的PC緩存功能,還提供了余暉功能。這兩個功能記錄多幀的數據和波形,分別橫向排開顯示以及垂直疊加
    發表于 06-22 15:44

    什么是深度學習?使用FPGA進行深度學習的好處?

    準確的模型。有了上述機制,現在可以通過讓神經網絡模型學習各種問題來自動解決問題,創建高精度模型,并對新數據進行推理。然而,由于單個神經網絡只能解決簡單的問題,人們嘗試通過構建深度神經網絡 (DNN
    發表于 02-17 16:56

    Infortrend存儲 EonStor GSi 深度學習AI存儲一體機

    Infortrend EonStor GSi模塊化設計與GPU卡搭配EonCloud Gateway的邊緣計算應用場景?EonStor GSi搭載了統一存儲系統的高級數據功能,深度學習
    發表于 05-20 20:34 ?1133次閱讀

    為什么人工智能和深度學習存儲很重要

    如今的人工智能和深度學習應用程序中使用了大數據集和快速I/O技術,但數據存儲可能會導致性能問題。人們需要了解人工智能和
    發表于 11-20 10:53 ?2164次閱讀

    IO 與 MM模式

    IO擴展模式IO模式,我們最開始學習51單片機的時候。 sbit P0_0 = P0^0; //位定義 P0_0 = 1;
    發表于 11-21 17:51 ?1次下載
    <b class='flag-5'>IO</b> 與 MM<b class='flag-5'>模式</b>

    讀懂深度學習,走進“深度學習+”階段

    人工智能的概念在1956年就被提出,如今終于走入現實,離不開一種名為“深度學習”的技術。深度學習的運作模式,如同一場傳話游戲。給神經網絡輸入
    的頭像 發表于 01-14 23:34 ?676次閱讀
    讀懂<b class='flag-5'>深度</b><b class='flag-5'>學習</b>,走進“<b class='flag-5'>深度</b><b class='flag-5'>學習</b>+”階段

    什么是深度學習算法?深度學習算法的應用

    。 在深度學習中,使用了一些快速的算法,比如卷積神經網絡以及深度神經網絡,這些算法在大量數據處理和圖像識別上面有著非常重要的作用。 深度
    的頭像 發表于 08-17 16:03 ?1583次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>