• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    分布式CNN中基于參數(shù)優(yōu)先級的細粒度調度算法

    2022-04-22 07:47:44程志超曾榮飛王興偉
    廣州大學學報(自然科學版) 2022年1期
    關鍵詞:模型

    姜 珊, 程志超, 曾榮飛, 黃 敏, 王興偉*

    (東北大學 a.計算機科學與工程學院; b.軟件學院; c.信息科學與工程學院, 遼寧 沈陽 110819)

    由于機器學習(Machine Learning,ML)框架和平臺在開發(fā)上具有很大的靈活性,同時,越來越豐富的數(shù)據(jù)集以及逐漸完善的高性能計算體系,也使得人工智能領域得以迅猛發(fā)展。隨著機器學習模型愈發(fā)復雜,訓練深度逐漸加深,訓練模型的計算成本超出了單個機器的負荷能力,因此,分布式機器學習(Distributed Machine Learning,DML)成為短時間內完成大規(guī)模模型訓練的有效解決方案之一。卷積神經網(wǎng)絡(Convolutional Neural Networks,CNN)作為ML的一種代表性算法,主要用于圖像特征提取,已經成功應用在圖像識別和自然語言處理領域。隨著計算機軟硬件的不斷發(fā)展,網(wǎng)絡模型日益復雜,數(shù)據(jù)類型愈加豐富,數(shù)據(jù)量急速增長,單一機器已經無法滿足需求,分布式CNN成為新的解決方法。

    在分布式CNN模型訓練中,每次迭代都是計算節(jié)點先接收到更新后的參數(shù),然后根據(jù)各自的訓練數(shù)據(jù)子集進行計算梯度,最后,聚集不同節(jié)點的梯度以更新模型參數(shù)。因此,隨著DML集群規(guī)模的增長,通信可能成為制約分布式CNN模型訓練速度的瓶頸之一。同時,隨著計算機硬件加速器的快速發(fā)展,如GPU和FPGAs,頻繁的參數(shù)/梯度交換很容易使網(wǎng)絡通信成為瓶頸,從而降低DML的訓練性能[1-2]。

    當前系統(tǒng)中的數(shù)據(jù)傳輸時間都是在執(zhí)行過程中確定的,在這期間并沒有考慮參數(shù)計算和通信重疊帶來的影響。TensorFlow是一種用圖來表示計算的平臺。在數(shù)據(jù)并行模式下,每個計算節(jié)點都有一套完整的模型副本和部分數(shù)據(jù)子集,即數(shù)據(jù)集被分割成多個子集。每次迭代由參與的計算節(jié)點使用相同的計算圖進行處理,每次迭代通常持續(xù)幾毫秒到幾秒鐘。在每次迭代結束時,參數(shù)服務器會聚合所有節(jié)點的梯度來更新模型參數(shù),在此過程中服務器會交換大量數(shù)據(jù),這種通信開銷對系統(tǒng)的吞吐量有很大影響,也限制了模型的可擴展性[3-4]。

    分布式CNN的迭代時間取決于計算時間和通信時間。每次迭代開始時,計算節(jié)點會從參數(shù)服務器中獲取參數(shù),但是接收到的參數(shù)并不會同時被使用,而是根據(jù)底層計算圖中的依賴關系進行使用[5]。由于計算節(jié)點之間接收參數(shù)的順序是隨機的,數(shù)據(jù)流模型可能有多個可行的遍歷,可能造成因參數(shù)未接收完畢而帶來的計算阻塞。因此,如果可以找到一個最優(yōu)的參數(shù)執(zhí)行順序,會有助于改善計算和通信之間的重疊度,進而縮短迭代時間,加快模型訓練。

    1 相關工作

    隨著DML集群規(guī)模的不斷增長,多個節(jié)點和服務器之間的通信可能會制約模型的訓練速度。在典型的隨機梯度下降方法中,直接獲得解析解是十分困難且不易實現(xiàn)的,需通過迭代精化不斷逼近最優(yōu)解。因此,在每次迭代過程中,每個計算節(jié)點首先從服務器端獲取參數(shù),根據(jù)各自的訓練數(shù)據(jù)來計算梯度,然后將梯度推送至服務器,參數(shù)服務器將聚集所有計算節(jié)點的梯度以更新模型參數(shù)[6]。隨后計算節(jié)點再一次從服務器端獲取更新后的參數(shù)進行下次迭代。

    在分布式CNN中,大量且頻繁的參數(shù)/梯度交換很容易造成網(wǎng)絡阻塞,從而降低跨機器分布式模型訓練的性能。為了應對昂貴的參數(shù)同步成本,計算機相關硬件加速器逐漸發(fā)展,比如RDMA這種高速且低延遲的網(wǎng)絡技術以及其他一些計算機硬件加速器被不斷開發(fā),用來加速神經網(wǎng)絡模型訓練。目前,有很多研究工作是針對如何加速分布式CNN模型訓練,進而提高訓練性能展開的。從多個不同的角度進行分析,研究出了許多有效的解決方案。除了一些硬件加速的研究,在模型和算法方面,模型壓縮和參數(shù)壓縮等是較為普遍的做法,比如網(wǎng)絡剪枝、模型量化、低秩估計以及模型蒸餾。本文重點研究在網(wǎng)絡層面分布式CNN模型訓練中,如何通過改善計算和通信之間的重疊,即實現(xiàn)計算和通信的細粒度并行,將通信開銷盡可能地隱藏在計算之后。

    計算圖是CNN模型訓練的前提,無論是靜態(tài)構建還是動態(tài)構建,在常用的模型副本(即數(shù)據(jù)并行訓練的模式)中,輸入數(shù)據(jù)被分割,并由參與計算的節(jié)點使用相同的計算圖進行處理,每次迭代通常持續(xù)幾毫秒到幾秒鐘。在每次迭代結束時,服務器會和所有計算節(jié)點交換大量與參數(shù)更新相關的數(shù)據(jù)。這種通信開銷對系統(tǒng)的吞吐量有很大影響,也限制了其可擴展性[7]。在耗時較長的模型訓練中,即使通信開銷只稍微改善一點點,訓練時間也可以縮短幾個小時。之前的研究工作試圖通過在所有計算節(jié)點中執(zhí)行相同的參數(shù)傳輸順序來解決這個問題。然而,這些研究工作是針對早期系統(tǒng)的模型結構,在大規(guī)模機器學習TensorFlow架構中[8],這是一個不小的挑戰(zhàn)。

    本文提出的啟發(fā)式算法側重于深度學習框架中的網(wǎng)絡優(yōu)化,在參數(shù)服務器架構下采用模型副本模式進行模型訓練。啟發(fā)式算法帶來的性能改進主要在2個方面:①提高網(wǎng)絡吞吐量;②以計算節(jié)點為訓練對象,強制排序可以縮短迭代時間。雖然分散聚合方式(如all-reduce和Horovod[9])在高性能網(wǎng)絡中獲得了越來越多的關注,但本文沒有針對這類系統(tǒng),而是基于參數(shù)服務器架構下進行研究。

    在深度學習系統(tǒng)中,至關重要的通信成本隨著橫向擴展而增加。在這種情況下,當通信時間小于或等于計算時間,GPU利用率相對較高。此外,通信和計算的有效重疊對于提高吞吐量也很關鍵。目前已經提出了3種技術來提高系統(tǒng)性能:①增加計算時間。可以通過增加批量來增加計算時間相對于通信時間的比例[10],但是這種方案會降低模型訓練的準確率[11],需要額外的校正機制,在資源限制下可能無法普遍適用[12-13];②減少通信時間。可以通過優(yōu)化機器學習算法以降低通信成本[14],或者通過降低參數(shù)精度[15]來降低通信開銷;③嘗試改善計算和通信之間的重疊情況。例如,文獻[5]將卷積層參數(shù)和全連接層參數(shù)賦予不同優(yōu)先級,在整個網(wǎng)絡結構中,卷積層參數(shù)始終優(yōu)先于全連接層參數(shù)進行傳輸。由于每次CNN模型迭代都是先進行卷積操作、激活函數(shù)以及池化操作等,最后經過全連接層,因此,通過優(yōu)先發(fā)送卷積層參數(shù)可以改善計算和通信的有效重疊。但這種參數(shù)調度是粗粒度的,當模型較為簡單時,會獲得一定的性能提升;當模型深度較大時,存在多個卷積層,無法對參數(shù)進行有效調度。文獻[11]在分布式深度神經網(wǎng)絡中通過對參數(shù)進行切片,并根據(jù)深度神經網(wǎng)絡的分層結構為它們指定優(yōu)先級[16],也就是第一層為最高優(yōu)先級,第二層為次高優(yōu)先級,以此類推。每次都是從待執(zhí)行隊列中選取優(yōu)先級最高的參數(shù),被首先發(fā)送出去。然而這種解決方案只關注每個計算節(jié)點中參數(shù)的傳輸順序,忽略了在網(wǎng)絡結構中的整體情況,從而不能很好地協(xié)調來自不同計算節(jié)點的參數(shù)。在大規(guī)模DML中會有多個計算節(jié)點向服務器交換參數(shù),網(wǎng)絡中存在大量流量,此時這種終端優(yōu)先級參數(shù)調度將不再有效。

    本文提出一種細粒度的參數(shù)傳輸調度機制,通過對底層計算圖的關鍵路徑進行分析來獲得參數(shù)傳輸?shù)慕谱顑?yōu)調度。通過一種啟發(fā)式算法完成參數(shù)的優(yōu)先級排序,實現(xiàn)計算和通信的最大重疊。在網(wǎng)絡傳輸方面采用基于優(yōu)先級的流調度方案,進一步加速卷積神經網(wǎng)絡的訓練。參數(shù)優(yōu)先級會在數(shù)據(jù)包報頭中攜帶,使得參數(shù)在整個網(wǎng)絡結構中都可被網(wǎng)卡和交換機等識別。基于計算圖的細粒度參數(shù)調度,可以在多個計算節(jié)點之間以不同的順序激活網(wǎng)絡傳輸,實現(xiàn)所有計算節(jié)點都遵循相同的最優(yōu)調度順序。通過細粒度的參數(shù)調度機制,可以改善分布式CNN訓練中通信和計算的重疊,此外,該機制還可以使用所有由ML框架支持的加速器/網(wǎng)絡結構,可以移植,且不需要對ML框架進行修改。

    2 卷積神經網(wǎng)絡

    2.1 CNN模型訓練

    在自然語言處理等領域中,文本和圖像無法直接被機器識別,需要將文本和圖像進行處理,轉換為數(shù)值型數(shù)據(jù)再進行使用。CNN的核心是卷積層,卷積層包含多個大小不同的濾波器,輸入數(shù)據(jù)經過卷積處理后完成特征的提取。輸入數(shù)據(jù)經歷卷積操作、激活函數(shù)以及池化操作后,最后進入全連接層完成輸入數(shù)據(jù)的特征提取。CNN模型由于加入了卷積層和池化層,相比于傳統(tǒng)的神經網(wǎng)絡模型,增強了模型的泛化能力,支持更復雜的網(wǎng)絡模型,特征提取的準確度也較高。

    CNN具有分層結構(圖1),主要包括卷積層、池化層、激活層和全連接層等,每一層都包含大量的神經元,相鄰層的這些神經元相互連接[5]。一般來說,卷積層包含的參數(shù)較少,但需要進行的計算較多。

    圖1 CNN結構Fig.1 CNN structure

    CNN的訓練過程分為2個階段。第一階段是前向傳播,第二階段是反向傳播階段。訓練過程(圖2)分為5個步驟:

    圖2 CNN訓練過程Fig.2 CNN training process

    Step 1: 初始化權重和偏置;

    Step 2: 前向傳播;

    Step 3: 求出誤差;

    Step 4: 當誤差大于期望值時,將誤差傳回網(wǎng)絡中;當誤差等于或小于期望值時,結束訓練;

    Step 5: 更新權值,回到Step 2繼續(xù)迭代。

    2.2 PS架構

    隨著CNN模型變得愈發(fā)復雜,計算工作量也相應增加。一方面模型參數(shù)過大,單機內存空間不足,需要采用分布式存儲;另一方面訓練數(shù)據(jù)過多,單機訓練太慢,需要增加訓練節(jié)點,來提高并發(fā)訓練速度。因此,分布式CNN逐漸發(fā)展起來。在實踐中最廣泛采用的是參數(shù)服務器(PS)架構[6],并且得到了主流DML框架的良好支持,如TensorFlow、PyTorch[17]等。

    本文中設定分布式CNN以數(shù)據(jù)并行的方式在PS架構下訓練,同步模式采用批量同步并行(BSP)。在每次迭代過程中,每個計算節(jié)點基于不同的數(shù)據(jù)子集進行迭代,最后由參數(shù)服務器聚合來自不同計算節(jié)點的梯度,更新模型參數(shù)用于下次迭代。也就是說,每次迭代過程包括從服務器獲取參數(shù)、前向傳播計算、反向傳播計算、向服務器推送梯度、聚合梯度和更新參數(shù)。其中一些可以進行重疊,以達到更快的訓練速度。參數(shù)服務器架構如圖3所示。

    圖3 PS架構Fig.3 PS framework

    參數(shù)服務器架構主要包含Server和Worker 2個部分,訓練的具體流程如下:

    Step 1: 將訓練數(shù)據(jù)分配給不同的Worker;

    Step 2: Worker讀取一個mini batch訓練數(shù)據(jù),從Server端獲取最新的參數(shù)、計算梯度和推送梯度給Server;

    Step 3: Server接收所有Worker上傳的梯度,聚合后更新參數(shù)。

    總迭代時間(T)、通信時間(t)和計算時間(Ct)之間的關系通常表示為T≤t+Ct,這是因為計算和通信可能重疊[18]。通信/計算比ρ、重疊系數(shù)α和GPU利用率U的關系如下:

    (1)

    當ρ<1時,通信時間小于總計算時間,表示此時GPU利用率較高,然而通信和計算的不良重疊會導致GPU利用率偏低。由于通信成本是隨著橫向擴展而增加的[19],當通信時間小于或等于計算時間時,GPU利用率是較高的。因此,更好地優(yōu)化通信和計算的有效重疊,可增加分布式CNN模型訓練性能,提高吞吐量縮短迭代延遲。

    2.3 計算圖

    計算圖通常分為構建和執(zhí)行2個階段。計算圖的組成部分見表1。

    表1 計算圖的組成

    在分布式CNN模型訓練過程中,每個Worker都有相同的模型副本。然而在參數(shù)服務器端有一個不同于Worker的計算圖,該計算圖中的參數(shù)涉及5個操作,分別是參數(shù)聚合、發(fā)送參數(shù)、接收參數(shù)、讀取參數(shù)和更新參數(shù)。通常情況下,在參數(shù)服務器上的聚合、讀取和更新是輕量級的。此時參數(shù)的傳輸是由Worker驅動的,每次迭代都是由參數(shù)服務器激活所有發(fā)送和接收操作,參數(shù)服務器負責控制網(wǎng)絡傳輸,因此,在參數(shù)服務器中不會出現(xiàn)通信計算重疊的問題,只需考慮Worker中的計算圖優(yōu)化問題。

    在Worker計算圖中,所有獲取參數(shù)操作(recv)都是根操作,推送參數(shù)操作都是葉操作。在某些情況下可以這樣認為,recv操作可能會阻礙計算圖中分支計算,造成計算阻塞,延遲下次迭代的開始。本文的研究目標是為了達到更大的吞吐量和更小的延遲,結合CNN 分層結構特點,通過更好地預測通信和計算重疊來縮短迭代時間,提高分布式訓練性能。

    計算圖中的節(jié)點主要涉及2種類型的操作:①計算操作,如乘法、卷積等;②通信操作,如讀取和更新。每個參數(shù)都是獨立讀取和更新的。同樣,每次迭代也有2個階段:前向傳播階段和反向傳播階段。在前向傳播中,會根據(jù)模型的輸入計算損失函數(shù);在反向傳播階段,基于計算的損失來更新模型參數(shù)。例如,圖4為一個簡單計算圖,其中存在2種可能的參數(shù)傳輸方案。如果recv1在recv2和recv3操作完成之后執(zhí)行,則緩解了計算阻塞;若首先執(zhí)行recv1操作,會引發(fā)計算阻塞,導致迭代時間增加。因此,在分布式環(huán)境中,可以根據(jù)計算圖中的依賴關系進行參數(shù)傳輸調度,優(yōu)化計算和通信間的重疊程度,從而加快分布式CNN模型訓練。

    圖4 不同參數(shù)傳輸順序對計算阻塞的影響

    在分布式CNN中,隨著模型越來越復雜,參數(shù)也越來越多,需要將這些參數(shù)分散到多個節(jié)點進行存儲和更新,主要包含2種方式:①In-graph模式,即將數(shù)據(jù)分發(fā)到1個節(jié)點上,然后再把數(shù)據(jù)分配給相應的節(jié)點,在數(shù)據(jù)量巨大的時候,這種模式會嚴重制約模型訓練速度,但由于其不依賴于外部,因此,更容易訪問,更容易在云環(huán)境中部署;②Between-graph模式,即數(shù)據(jù)分片分別保存在節(jié)點本地,每次迭代只需按照計算圖來訓練本地數(shù)據(jù)集,再將計算的梯度推送到參數(shù)服務器,大數(shù)據(jù)下的深度學習更適合這種模式。數(shù)據(jù)轉換、傳輸和聚合被定義為標準數(shù)據(jù)流操作,其中,聚合被抽象為數(shù)據(jù)流模型中的單個操作,因此,將參數(shù)聚合實現(xiàn)為計算圖的一部分。

    3 參數(shù)傳輸調度機制

    參數(shù)傳輸調度機制可以描述為如何在計算圖中選擇一個最優(yōu)的操作執(zhí)行順序。其研究目標是改善通信和計算重疊,加快模型訓練。該算法的輸入包括2個部分:①資源關聯(lián)圖,即具有與每個操作相關聯(lián)的資源標簽計算圖,其中,計算操作被分配給相應的計算資源,通信操作被分配給相應的通信信道;②預測時間表,即時間預測器預測給定操作的執(zhí)行時間。對于計算操作表示計算時間,對于通信操作表示傳輸時間。該算法的輸出是使迭代時間最小的可行操作拓撲順序。

    3.1 屬性更新算法

    分布式CNN模型訓練中,Worker在每次迭代開始時從參數(shù)服務器獲取參數(shù),所有參數(shù)不會同時被使用,而是根據(jù)底層計算圖中的依賴關系進行使用。然而一個特定的參數(shù)傳輸順序可能有助于更快的計算,因此,確定參數(shù)傳輸?shù)淖罴颜{度對于減少計算阻塞(由計算圖相關性決定),改善計算通信重疊及縮短迭代時間至關重要。

    算法1 操作屬性更新

    ∥更新當前未完成接收參數(shù)操作的屬性

    1: function UPDATE(G)

    2: for each op∈計算圖Gdo

    3:R←{?op∈G;opisrecv}

    4: end for

    5: for each op∈操作集Rdo

    6:op.graph←獲取當前op的計算圖

    7: 遍歷與當前op有數(shù)據(jù)依賴的節(jié)點

    8: count←節(jié)點個數(shù)

    9:op.count←op.count+count

    10: end for

    11: end function

    本文側重于深度學習框架中的網(wǎng)絡優(yōu)化,通過對底層計算圖的關鍵路徑分析來獲得參數(shù)傳輸?shù)慕谱顑?yōu)調度,利用細粒度的調度來解決隨機參數(shù)的傳輸問題,提高分布式CNN模型訓練的性能。

    進行算法設計時,優(yōu)先考慮加速計算圖中關鍵路徑的傳輸,根據(jù)計算圖中的節(jié)點依賴關系和每個操作的執(zhí)行時間來分配優(yōu)先級,對于計算阻塞更少的參數(shù)傳輸給予更高的優(yōu)先級。通過對計算圖中的所有recv操作節(jié)點進行優(yōu)先級排序,選擇通信和計算開銷最小的recv操作,多次迭代直至遍歷所有recv操作節(jié)點。添加recv操作優(yōu)先級屬性,通過遍歷當前計算子圖來實現(xiàn)。

    3.2 優(yōu)先級分配算法

    優(yōu)先級分配,即為了能夠限制執(zhí)行只接受一個有效集,考慮利用優(yōu)先級來實現(xiàn)。優(yōu)先級是分配給資源關聯(lián)圖中一個操作的正整數(shù),優(yōu)先級較高的操作被賦予較高的優(yōu)先級。如果多個操作的相對順序無關緊要,則分配相同的優(yōu)先級。優(yōu)先級僅指定在給定資源準備執(zhí)行的隊列中候選操作之間的相對順序,并且所得到的順序將仍然遵守由計算圖指定的拓撲順序。在分布式模型訓練中,當一個資源需要從準備執(zhí)行的隊列中選擇一個新的項目時,它會從包含最高優(yōu)先級的隊列中隨機選擇。

    算法2 優(yōu)先級分配

    ∥對所有recv op進行優(yōu)先級排序

    1: function ASSIGNPRIORITY(G,Time)

    2: Update(G)

    3: ?op∈G;op.time←calculating time

    4: for R is not emptry do

    5: Find the minimum op.time

    6: Remove op from R;∥從R中移除當前recv op

    7:op.priority←op.count;

    8: end for

    9: end function

    優(yōu)先級分配算法主要是遍歷計算圖中的recv op,對未完成的操作進行優(yōu)先級排序,然后獲得與當前recv op相關聯(lián)的參數(shù),將此時計數(shù)器數(shù)值賦予該參數(shù)為優(yōu)先級數(shù)。該算法綜合考慮計算圖的依賴關系和實際執(zhí)行時間,通過估計每個未完成recv op 的未來通信和計算開銷,對其進行排序,進而完成與之相依賴的參數(shù)優(yōu)先級的分配。該算法由2個步驟組成,首先假設所有的操作都有相等的開銷,只根據(jù)計算圖中的節(jié)點依賴關系來分配優(yōu)先級,對計算阻塞更少的傳輸給予更高的優(yōu)先級。其次優(yōu)先考慮加快關鍵路徑上的傳輸,同時綜合考慮每個操作的實際執(zhí)行時間,通過時間預測器來估計每個操作的執(zhí)行時間,結合計算圖中的依賴關系,對最大化計算/通信重疊的傳輸進行優(yōu)先級排序。

    4 具體實現(xiàn)

    4.1 參數(shù)優(yōu)先級分配

    首先獲取資源關聯(lián)圖并評估每個操作的執(zhí)行時間,結合計算圖中節(jié)點的依賴關系,執(zhí)行操作分配優(yōu)先級算法,將此時的計數(shù)器數(shù)值賦予與該recv op相依賴的參數(shù),作為該參數(shù)的優(yōu)先級數(shù)。實現(xiàn)過程包括以下2個步驟:

    (1)確定最佳順序。為了最大化重疊程度,應盡可能早地激活通信操作,對recv op 節(jié)點進行優(yōu)先級排序,使用貪婪算法來獲得參數(shù)更新的最佳順序。在每一次迭代中,選擇激活所需計算成本最小的參數(shù),并且它所依賴的參數(shù)被標記為相同的優(yōu)先級數(shù)。重復該過程,直到訪問完所有recv op。

    (2)強制執(zhí)行最優(yōu)順序。將與當前recv op相關聯(lián)的參數(shù)賦予相同的優(yōu)先級數(shù),且始終攜帶在其數(shù)據(jù)包報頭中,實現(xiàn)在整個網(wǎng)絡結構中傳輸時,仍然以此優(yōu)先級作為優(yōu)先轉發(fā)的依據(jù)。

    4.2 網(wǎng)絡傳輸

    在訓練開始期間,在不同的節(jié)點之間建立多個具有不同優(yōu)先級的流,并生成通道表,同時為每一個流分配一個唯一的本地標識。當需要發(fā)送參數(shù)時,首先查找參數(shù)-優(yōu)先級映射表,獲得一個優(yōu)先級編號,然后根據(jù)優(yōu)先級編號查找通道表,獲得一個合適的流進行發(fā)送參數(shù)。該參數(shù)被發(fā)送到網(wǎng)絡結構中,在整個網(wǎng)絡結構中,優(yōu)先級標簽總是在數(shù)據(jù)包報頭中攜帶。當多個參數(shù)同時到達交換機時,交換機可以通過標簽來區(qū)分它們,并根據(jù)優(yōu)先級標簽進一步轉發(fā)它們。

    網(wǎng)絡參數(shù)調度可以在較為復雜的模型訓練中使用,終端參數(shù)調度則不能發(fā)揮優(yōu)勢。例如,在DML集群中有多個計算節(jié)點,為了簡化起見,在圖中只顯示了2個計算節(jié)點和1個參數(shù)服務器,圖5為終端參數(shù)調度和網(wǎng)絡參數(shù)調度之間的比較。

    圖5 終端參數(shù)調度與網(wǎng)絡參數(shù)調度的比較

    對于網(wǎng)絡調度,流的優(yōu)先級數(shù)和參數(shù)的優(yōu)先級數(shù)相匹配,即較高優(yōu)先級的參數(shù)被分配較高優(yōu)先級的流。當Worker1和Worker2分別發(fā)送一個參數(shù),假設Worker1發(fā)送參數(shù)的優(yōu)先級較低,Worker2發(fā)送參數(shù)的優(yōu)先級較高,對于網(wǎng)絡調度,可以通過識別優(yōu)先級標簽來選擇發(fā)送參數(shù)的順序,即高優(yōu)先級參數(shù)將被調度在低優(yōu)先級參數(shù)之前發(fā)送;但終端調度只能保證參數(shù)在本地的執(zhí)行順序,無法滿足在網(wǎng)絡結構中的有效調度,利用終端調度的實際情況是Worker1上的低優(yōu)先級參數(shù)和Worker2上的高優(yōu)先級參數(shù)沒有執(zhí)行調度(此時終端調度不起作用),而是這2個參數(shù)平等地共享有限的帶寬,Worker2上的參數(shù)需要花費2倍于網(wǎng)絡調度的時間才能到達服務器。這種情況還會隨著計算節(jié)點數(shù)量的增加而惡化,因此,縱觀整個網(wǎng)絡結構,網(wǎng)絡參數(shù)調度比終端參數(shù)調度更有擴展性,調度效率也更高。

    4.3 實驗分析

    本文通過對VGG16和ResNet32等模型進行實驗,分析提出參數(shù)傳輸調度方法的效率。實驗環(huán)境為Intel(R) Core(TM) i7-7500U CPU @ 2.70 GHz 2.90 GHz、windows10、Tensorflow-gpu 2.2.0、Python 3.8.3及conda 4.9.2,數(shù)據(jù)集為cifar10。

    通過分析VGG16和ResNet32的參數(shù)分布(圖6、圖7),可以發(fā)現(xiàn)很多CNN模型的參數(shù)是偏斜分布的,即最后幾層占據(jù)總參數(shù)的大部分。比如在VGG16模型中,全連接層中的參數(shù)分別占總參數(shù)的80%左右。因此,通過實現(xiàn)卷積層和全連接層的參數(shù)并行傳輸,優(yōu)化參數(shù)傳輸?shù)募毩6日{度,才有可能加速分布式CNN的模型訓練。

    圖6 VGG16 參數(shù)分布Fig.6 VGG16 parameter distribution

    圖7 ResNet32 參數(shù)分布Fig.7 ResNet32 parameter distribution

    gRPC為每個計算節(jié)點-參數(shù)服務器對提供一個通道,該對之間的所有傳輸都被發(fā)送到同一隊列。在給定時刻,每個通道只能有一個傳輸處于活動狀態(tài)。網(wǎng)絡傳輸生命周期如圖8所示,TensorFlow中通過gRPC的網(wǎng)絡傳輸涉及多個階段。當接收方激活recv op時,它會向發(fā)送方發(fā)送一個傳輸請求,如果發(fā)送方的發(fā)送操作也處于活動狀態(tài),則參數(shù)傳輸由gRPC發(fā)起。此外,還定義一個度量調度效率,來衡量調度性能收益,評估啟發(fā)式算法的質量。輸入計算圖、資源集和時間表,時間表給出了每個操作的執(zhí)行時間。最長完成時間的上限是假設在執(zhí)行期間的任何給定時刻僅使用一個資源來計算,即操作是順序執(zhí)行的;最長完成時間的下限是假設所有的資源總是被利用來計算。

    圖8 網(wǎng)絡傳輸生命周期Fig.8 Lifetime of a network transfer

    實驗使用的數(shù)據(jù)集cifar10是一個小型數(shù)據(jù)集,共有60 000張32*32大小的RGB彩色圖片,共10個分類,訓練數(shù)據(jù)和測試數(shù)據(jù)分別為50 000張和10 000張。目前的實驗是生成一個In-graph數(shù)據(jù)流模型,其中,所有計算節(jié)點的數(shù)據(jù)流都表示在一個計算圖中,然后對數(shù)據(jù)進行分區(qū)。此計算圖的大小隨著計算節(jié)點數(shù)量的增加而增加,這可能會增加大型圖的流處理時間。接下來會使用Between-graph數(shù)據(jù)流模型,其中,每個計算節(jié)點的數(shù)據(jù)流模型都會單獨生成,使這種細粒度的參數(shù)調度機制更具有擴展性,更適合大數(shù)據(jù)下的復雜模型。針對VGG16和ResNet32進行對比實驗,引入啟發(fā)式算法后的細粒度調度機制能夠有效縮短迭代時間,但對于動態(tài)和可變模型,該機制目前還無法準確預測具有動態(tài)控制流的數(shù)據(jù)流模型或具有高度可變輸入大小的模型時序,因此,不準確的預測會導致更長的迭代時間,這也是下一步研究需要解決的問題之一。

    參數(shù)在計算節(jié)點和服務器之間進行傳輸和聚合,在每一次迭代中,計算節(jié)點從服務器獲取參數(shù),計算節(jié)點推送梯度到服務器,為了提高數(shù)據(jù)在網(wǎng)絡上傳輸?shù)木W(wǎng)絡利用率,可以通過參數(shù)計算和參數(shù)傳輸?shù)牟⑿袌?zhí)行及參數(shù)的細粒度流水線傳輸來實現(xiàn)。另一種避免這種網(wǎng)絡利用不足的解決方案是將數(shù)據(jù)分割成幾個部分,并行獨立傳輸每個塊。組塊數(shù)稱為算法深度。在這種情況下,當一個塊在中央處理器上減少時,另一個塊可以通過網(wǎng)絡發(fā)送,即實現(xiàn)了跨各種塊的網(wǎng)絡傳輸和網(wǎng)絡處理的流水線操作。

    在參數(shù)傳輸和聚合階段,需要根據(jù)計算圖的依賴關系確定recv操作的近似最優(yōu)執(zhí)行順序,且確保在本地模型中只有一個可行的執(zhí)行順序。首先確定最優(yōu)執(zhí)行順序,確定參數(shù)的優(yōu)先等級,盡可能早地激活計算阻塞更少的recv操作。針對每個recv操作盡可能添加少量的操作屬性,保證參數(shù)可以按照最優(yōu)順序進行更新/激活。先在一臺機器上跟蹤迭代執(zhí)行10次,計算每個操作的執(zhí)行時間,接下來,通過使用一個迭代貪心算法來尋找最優(yōu)參數(shù)更新順序。每次迭代中,在計算節(jié)點獲取參數(shù)之前,需要評估完成計算操作所花費的總時間,然后選擇激活當前時間成本最小的參數(shù),將和該參數(shù)所依賴的計算操作標記為已完成。重復此過程,直到所有參數(shù)已訪問更新。

    最后是執(zhí)行最優(yōu)參數(shù)順序,這是一個迭代過程,參數(shù)會按照前一階段確定的最優(yōu)順序進行參數(shù)傳輸。在每一步中,都會找到所選參數(shù)直接或間接依賴的所有操作列表。為計算圖中的每個recv操作維護一個計數(shù)器,遍歷當前計算子圖所有入度為零的操作,每遍歷到一個與之依賴的操作,便將當前recv操作的計數(shù)器數(shù)值加1,以此類推,直至遍歷完當前計算子圖。選擇發(fā)送參數(shù)時,要先尋找與之相依賴的recv操作的計數(shù)器數(shù)值,將該數(shù)值賦予為參數(shù)的優(yōu)先級數(shù)。這確保了在每個給定時間,只能執(zhí)行目標參數(shù)更新所需的操作。但是向數(shù)據(jù)流模型添加額外的控制依賴不會改變計算圖的底層邏輯,強制執(zhí)行的最優(yōu)順序是計算圖中可以執(zhí)行的順序之一。

    由于數(shù)據(jù)流模型可能有多個可行的遍歷,即數(shù)據(jù)流模型中計算操作的不同執(zhí)行順序都是有效的。計算圖中的葉節(jié)點代表激活網(wǎng)絡傳輸?shù)膔ecv操作。在參數(shù)服務器架構下,通常采用同步參數(shù)更新,在每次迭代后產生的突發(fā)流量容易造成網(wǎng)絡阻塞,從而延遲參數(shù)傳輸。為了解決這個問題,基于計算圖的細粒度參數(shù)調度,可以在多個計算節(jié)點之間以不同的順序激活網(wǎng)絡傳輸,實現(xiàn)所有計算節(jié)點都遵循最優(yōu)的參數(shù)調度順序。通過細粒度的參數(shù)調度機制,可以改善分布式CNN訓練中通信和計算的重疊。此外,該機制還可以使用所有由ML框架支持的加速器/網(wǎng)絡結構,可移植,且不需要對ML框架進行額外修改。

    筆者在TensorFlow上實現(xiàn)了細粒度參數(shù)調度機制,其中,VGG16模型訓練數(shù)據(jù)集cifar10,學習率設置為0.000 1,batch_size為16,epoch為100的訓練結果如圖9所示。ResNet32模型同樣訓練數(shù)據(jù)集cifar10,學習率為0.000 1,batch_size為32,epoch為100的訓練結果如圖10所示。

    圖9 VGG16模型訓練Fig.9 VGG16 model training

    圖10 ResNet32模型訓練Fig.10 ResNet32 model training

    實驗分別在VGG16、ResNet32及CNN+LSTM 3種模型下進行對比分析,實驗結果如表2所示。

    表2 CNN模型訓練迭代時間

    由表2可知,使用參數(shù)傳輸優(yōu)化算法后,3種模型都在不同程度上減少了迭代時延。特別在CNN+LSTM模型中,基準迭代時間是241 s,引入啟發(fā)式算法后迭代時間縮短為209 s。在上述實驗中,通過細粒度優(yōu)化參數(shù)的傳輸順序,迭代時間分別減少為之前的93.48%、78.21%和86.72%,加快了CNN模型訓練速度。

    5 結 論

    為了加快卷積神經網(wǎng)絡的模型訓練,本文設計了一種參數(shù)傳輸調度機制,通過一種啟發(fā)式算法來實現(xiàn)基于計算圖的參數(shù)傳輸機制,從而避免了由于參數(shù)未接收完畢而造成的計算阻塞。為了縮短迭代延遲,首先對本地計算圖中所有節(jié)點強制執(zhí)行最優(yōu)順序,改善通信和計算的重疊,加快CNN的模型訓練,從而提升分布式CNN的訓練性能。通過對VGG16和ResNet32進行測試對比,實驗結果表明,使用啟發(fā)式算法后的CNN模型能夠在不同程度上縮短訓練迭代時間,迭代時間縮短了7%~22%左右。但對于動態(tài)和可變模型,該機制目前還無法準確預測具有動態(tài)控制流的數(shù)據(jù)流模型或具有高度可變輸入大小的模型時序,因此,不準確的預測會導致更長的迭代時間,這也是下一步研究需要解決的問題之一。該算法在實際參數(shù)服務器架構中應用時,網(wǎng)絡鏈路、參數(shù)同步方式、參數(shù)分片等情況,還有待進一步研究和優(yōu)化。

    猜你喜歡
    模型
    一半模型
    一種去中心化的域名服務本地化模型
    適用于BDS-3 PPP的隨機模型
    提煉模型 突破難點
    函數(shù)模型及應用
    p150Glued在帕金森病模型中的表達及分布
    函數(shù)模型及應用
    重要模型『一線三等角』
    重尾非線性自回歸模型自加權M-估計的漸近分布
    3D打印中的模型分割與打包
    制服诱惑二区| 2018国产大陆天天弄谢| 99久国产av精品国产电影| 国产精品蜜桃在线观看| 免费在线观看视频国产中文字幕亚洲 | 亚洲国产精品成人久久小说| 亚洲情色 制服丝袜| 中文字幕高清在线视频| 一本久久精品| 国产精品久久久久久精品电影小说| 亚洲国产成人一精品久久久| 建设人人有责人人尽责人人享有的| 一级毛片电影观看| 亚洲精品久久午夜乱码| 亚洲精品在线美女| 十八禁网站网址无遮挡| 日本色播在线视频| 国产精品三级大全| av女优亚洲男人天堂| 国产亚洲av片在线观看秒播厂| 久久女婷五月综合色啪小说| 男人操女人黄网站| xxxhd国产人妻xxx| 飞空精品影院首页| a级片在线免费高清观看视频| 美女大奶头黄色视频| 国产一区亚洲一区在线观看| 亚洲成人手机| 亚洲美女搞黄在线观看| 午夜福利免费观看在线| 亚洲欧洲国产日韩| 午夜福利视频精品| 18禁观看日本| 性高湖久久久久久久久免费观看| 日韩不卡一区二区三区视频在线| 啦啦啦在线免费观看视频4| 欧美成人午夜精品| 日韩精品免费视频一区二区三区| 久久久亚洲精品成人影院| 色综合欧美亚洲国产小说| 亚洲综合精品二区| 91成人精品电影| 午夜福利在线免费观看网站| 精品国产一区二区久久| 99久久综合免费| 自线自在国产av| 岛国毛片在线播放| 人人妻人人澡人人看| 亚洲精品av麻豆狂野| 超碰97精品在线观看| 欧美激情 高清一区二区三区| 亚洲av中文av极速乱| 大片电影免费在线观看免费| 国产精品99久久99久久久不卡 | 大片电影免费在线观看免费| 午夜激情av网站| 久久婷婷青草| 最新的欧美精品一区二区| 激情五月婷婷亚洲| 国产亚洲一区二区精品| 精品少妇黑人巨大在线播放| 最黄视频免费看| 久久99热这里只频精品6学生| 免费看av在线观看网站| 九草在线视频观看| 日韩av在线免费看完整版不卡| 欧美精品一区二区免费开放| 啦啦啦视频在线资源免费观看| 老司机靠b影院| 精品少妇黑人巨大在线播放| 中文字幕人妻熟女乱码| 亚洲欧美一区二区三区久久| 日韩 欧美 亚洲 中文字幕| 亚洲av日韩在线播放| 在线观看三级黄色| av女优亚洲男人天堂| 日韩一区二区视频免费看| 亚洲精品aⅴ在线观看| av片东京热男人的天堂| 精品久久久精品久久久| 搡老岳熟女国产| 亚洲欧美一区二区三区黑人| 丰满乱子伦码专区| 亚洲精品国产区一区二| 久久久国产精品麻豆| 久久精品久久久久久噜噜老黄| 亚洲成人手机| 十八禁高潮呻吟视频| 90打野战视频偷拍视频| xxx大片免费视频| 欧美日韩精品网址| 午夜免费男女啪啪视频观看| 亚洲天堂av无毛| 亚洲 欧美一区二区三区| 亚洲精品国产区一区二| 亚洲成人av在线免费| e午夜精品久久久久久久| 午夜福利影视在线免费观看| 18禁观看日本| 国产成人精品久久二区二区91 | 老熟女久久久| 大话2 男鬼变身卡| 成人18禁高潮啪啪吃奶动态图| 青春草国产在线视频| 亚洲男人天堂网一区| av福利片在线| 美国免费a级毛片| tube8黄色片| 亚洲av日韩在线播放| 一级毛片电影观看| 亚洲国产成人一精品久久久| 国产av精品麻豆| av又黄又爽大尺度在线免费看| 老司机在亚洲福利影院| 9191精品国产免费久久| 少妇精品久久久久久久| 满18在线观看网站| 国产精品三级大全| 啦啦啦啦在线视频资源| 黄色视频不卡| 99热网站在线观看| 2021少妇久久久久久久久久久| 青春草视频在线免费观看| 久久久亚洲精品成人影院| 久久综合国产亚洲精品| av线在线观看网站| 亚洲人成77777在线视频| av片东京热男人的天堂| 99热全是精品| 不卡视频在线观看欧美| 日本vs欧美在线观看视频| 咕卡用的链子| 三上悠亚av全集在线观看| 九九爱精品视频在线观看| 精品国产乱码久久久久久小说| 欧美老熟妇乱子伦牲交| 考比视频在线观看| 亚洲av电影在线进入| 欧美日韩成人在线一区二区| av又黄又爽大尺度在线免费看| 国产成人a∨麻豆精品| 欧美成人午夜精品| 欧美在线黄色| 欧美日韩综合久久久久久| av在线观看视频网站免费| 大码成人一级视频| 亚洲色图综合在线观看| 建设人人有责人人尽责人人享有的| 久久狼人影院| 精品国产一区二区三区久久久樱花| 别揉我奶头~嗯~啊~动态视频 | 久久久精品免费免费高清| 精品国产乱码久久久久久男人| 99热网站在线观看| 亚洲国产精品成人久久小说| 十八禁网站网址无遮挡| 啦啦啦在线观看免费高清www| 秋霞在线观看毛片| 看十八女毛片水多多多| 国产亚洲午夜精品一区二区久久| 晚上一个人看的免费电影| 啦啦啦 在线观看视频| 色婷婷av一区二区三区视频| 97精品久久久久久久久久精品| 欧美人与善性xxx| e午夜精品久久久久久久| 777久久人妻少妇嫩草av网站| 国产毛片在线视频| 可以免费在线观看a视频的电影网站 | 亚洲av电影在线进入| 精品午夜福利在线看| 黄网站色视频无遮挡免费观看| 成人亚洲精品一区在线观看| 亚洲国产中文字幕在线视频| 狠狠精品人妻久久久久久综合| 中文字幕另类日韩欧美亚洲嫩草| 精品少妇久久久久久888优播| 国产乱人偷精品视频| 电影成人av| 久久99热这里只频精品6学生| 91成人精品电影| 1024视频免费在线观看| 亚洲欧美一区二区三区久久| 亚洲男人天堂网一区| 性少妇av在线| 国产精品一二三区在线看| 成人免费观看视频高清| 久久ye,这里只有精品| 纯流量卡能插随身wifi吗| 亚洲欧美精品自产自拍| 久久久久久久久免费视频了| 黑人巨大精品欧美一区二区蜜桃| 国产黄色免费在线视频| 女人爽到高潮嗷嗷叫在线视频| 成年动漫av网址| 午夜av观看不卡| 亚洲综合精品二区| 黄色一级大片看看| 精品一区在线观看国产| videos熟女内射| 这个男人来自地球电影免费观看 | 男女下面插进去视频免费观看| 黄片播放在线免费| 久久狼人影院| 亚洲av男天堂| 欧美成人精品欧美一级黄| 黄频高清免费视频| 亚洲,一卡二卡三卡| 久久国产精品男人的天堂亚洲| 国产黄频视频在线观看| 国产精品嫩草影院av在线观看| 国产毛片在线视频| 亚洲欧洲日产国产| 在线亚洲精品国产二区图片欧美| 天天躁夜夜躁狠狠久久av| 中文字幕av电影在线播放| 美女午夜性视频免费| 国产 一区精品| 免费在线观看视频国产中文字幕亚洲 | 秋霞在线观看毛片| 亚洲七黄色美女视频| 黄色怎么调成土黄色| 美女午夜性视频免费| 免费在线观看黄色视频的| 欧美精品亚洲一区二区| 亚洲人成77777在线视频| 亚洲欧洲精品一区二区精品久久久 | 国产一区二区激情短视频 | av又黄又爽大尺度在线免费看| 亚洲精品国产区一区二| 亚洲精品视频女| 精品卡一卡二卡四卡免费| 亚洲成人国产一区在线观看 | 高清欧美精品videossex| 亚洲精华国产精华液的使用体验| 日韩大片免费观看网站| 另类精品久久| 久久天躁狠狠躁夜夜2o2o | 国产一区有黄有色的免费视频| 国产一区二区三区av在线| 久久久久网色| 国产成人精品在线电影| 欧美日韩视频高清一区二区三区二| 丝袜喷水一区| 成人黄色视频免费在线看| 五月天丁香电影| 午夜福利免费观看在线| 校园人妻丝袜中文字幕| 考比视频在线观看| 在线观看三级黄色| 午夜福利视频在线观看免费| 69精品国产乱码久久久| 99热全是精品| 成人手机av| 午夜91福利影院| 国产精品二区激情视频| 久久精品久久久久久噜噜老黄| 亚洲欧美日韩另类电影网站| 亚洲成人av在线免费| 天美传媒精品一区二区| 亚洲精品久久成人aⅴ小说| 一区二区av电影网| 一区二区三区激情视频| 美女大奶头黄色视频| 精品久久久精品久久久| 久久鲁丝午夜福利片| av一本久久久久| 国产一区有黄有色的免费视频| av福利片在线| 国产一级毛片在线| 亚洲一区二区三区欧美精品| 欧美日韩精品网址| 成年美女黄网站色视频大全免费| 亚洲 欧美一区二区三区| 欧美黑人精品巨大| 熟女少妇亚洲综合色aaa.| 久久久久久人妻| 亚洲精品自拍成人| 亚洲欧美清纯卡通| 美女脱内裤让男人舔精品视频| 看免费av毛片| 欧美黄色片欧美黄色片| 亚洲欧洲日产国产| 国产又爽黄色视频| 久久久久国产一级毛片高清牌| 三上悠亚av全集在线观看| 欧美日韩成人在线一区二区| 一边摸一边做爽爽视频免费| 天天躁夜夜躁狠狠久久av| 中文字幕精品免费在线观看视频| 国产男女超爽视频在线观看| 国产成人免费无遮挡视频| 蜜桃在线观看..| 2018国产大陆天天弄谢| 欧美在线黄色| 成人三级做爰电影| 国产亚洲av片在线观看秒播厂| 99热国产这里只有精品6| 国产乱来视频区| 国产成人精品无人区| 美国免费a级毛片| av有码第一页| 日日摸夜夜添夜夜爱| 人妻一区二区av| 国产激情久久老熟女| 国产野战对白在线观看| 国产一区二区在线观看av| 国产精品久久久久久久久免| 国产精品成人在线| 日韩一区二区三区影片| 汤姆久久久久久久影院中文字幕| 少妇 在线观看| 亚洲欧美一区二区三区黑人| 久久精品亚洲熟妇少妇任你| 久久精品国产亚洲av高清一级| 亚洲国产最新在线播放| 久久女婷五月综合色啪小说| 国产免费一区二区三区四区乱码| videosex国产| 一二三四中文在线观看免费高清| av有码第一页| 热re99久久国产66热| 亚洲精品美女久久久久99蜜臀 | 亚洲精品国产区一区二| 只有这里有精品99| 丰满饥渴人妻一区二区三| 国产女主播在线喷水免费视频网站| 一区二区三区四区激情视频| 国产日韩欧美在线精品| 国产黄频视频在线观看| 国产精品女同一区二区软件| 天堂8中文在线网| 在线观看三级黄色| 免费黄网站久久成人精品| 男的添女的下面高潮视频| 中文字幕av电影在线播放| 亚洲欧美色中文字幕在线| 亚洲欧洲国产日韩| 久久久久国产精品人妻一区二区| av有码第一页| www.熟女人妻精品国产| 伊人久久大香线蕉亚洲五| 精品福利永久在线观看| 少妇猛男粗大的猛烈进出视频| 国产xxxxx性猛交| 精品国产乱码久久久久久小说| 丝袜脚勾引网站| 色网站视频免费| 高清不卡的av网站| 1024香蕉在线观看| 亚洲国产av影院在线观看| 丝袜脚勾引网站| 亚洲人成77777在线视频| 激情五月婷婷亚洲| www.自偷自拍.com| 亚洲国产欧美一区二区综合| 大片免费播放器 马上看| 日韩一区二区视频免费看| 一本色道久久久久久精品综合| 丝袜在线中文字幕| 成年人免费黄色播放视频| 午夜久久久在线观看| www.自偷自拍.com| 欧美精品一区二区免费开放| 最近2019中文字幕mv第一页| 成人亚洲欧美一区二区av| 国产精品女同一区二区软件| 天天影视国产精品| 日韩不卡一区二区三区视频在线| 亚洲熟女毛片儿| 亚洲七黄色美女视频| 一二三四中文在线观看免费高清| 80岁老熟妇乱子伦牲交| 精品一区二区三区四区五区乱码 | 中国三级夫妇交换| 亚洲欧美精品综合一区二区三区| 久久久欧美国产精品| 日韩精品有码人妻一区| 国产免费一区二区三区四区乱码| 人体艺术视频欧美日本| 亚洲自偷自拍图片 自拍| 中文字幕另类日韩欧美亚洲嫩草| 在现免费观看毛片| 日韩av不卡免费在线播放| 97人妻天天添夜夜摸| 日韩av在线免费看完整版不卡| 秋霞在线观看毛片| 日本色播在线视频| 亚洲图色成人| 日韩大片免费观看网站| 青春草视频在线免费观看| 亚洲欧洲日产国产| 久久av网站| 久久久久久久精品精品| 国产精品一区二区在线观看99| 99九九在线精品视频| 精品国产乱码久久久久久男人| 超碰成人久久| 天天操日日干夜夜撸| 最近2019中文字幕mv第一页| 黄片无遮挡物在线观看| 久久久久久人妻| 99热网站在线观看| 欧美97在线视频| 欧美国产精品一级二级三级| 欧美黑人欧美精品刺激| 中文字幕高清在线视频| 精品免费久久久久久久清纯 | 一区二区日韩欧美中文字幕| 久久久久精品国产欧美久久久 | 国产精品蜜桃在线观看| 日韩一卡2卡3卡4卡2021年| 亚洲伊人色综图| 亚洲精品乱久久久久久| 国产av一区二区精品久久| 久久久久精品国产欧美久久久 | 女人被躁到高潮嗷嗷叫费观| 在线观看免费午夜福利视频| 伊人久久国产一区二区| 久久久国产一区二区| 国产午夜精品一二区理论片| 精品少妇久久久久久888优播| av有码第一页| 日本wwww免费看| 熟妇人妻不卡中文字幕| 成年女人毛片免费观看观看9 | 岛国毛片在线播放| 一区二区三区乱码不卡18| 亚洲国产精品一区二区三区在线| 久久精品亚洲熟妇少妇任你| 天天躁夜夜躁狠狠久久av| 黄网站色视频无遮挡免费观看| av免费观看日本| 国产在线一区二区三区精| 桃花免费在线播放| 日韩欧美一区视频在线观看| 我的亚洲天堂| 午夜福利免费观看在线| 五月天丁香电影| 美女大奶头黄色视频| 国产精品一二三区在线看| 欧美日韩一级在线毛片| 欧美av亚洲av综合av国产av | www.av在线官网国产| 亚洲欧美一区二区三区久久| 伊人亚洲综合成人网| 亚洲熟女毛片儿| 在线观看免费午夜福利视频| 国产成人系列免费观看| 久久午夜综合久久蜜桃| 亚洲免费av在线视频| 在线观看人妻少妇| www.精华液| 人人妻人人爽人人添夜夜欢视频| 精品卡一卡二卡四卡免费| 亚洲七黄色美女视频| 精品少妇一区二区三区视频日本电影 | 中文字幕最新亚洲高清| 精品酒店卫生间| 一区二区三区乱码不卡18| 交换朋友夫妻互换小说| 婷婷成人精品国产| 少妇人妻久久综合中文| 一区福利在线观看| 最近中文字幕高清免费大全6| 成人亚洲欧美一区二区av| 一边摸一边抽搐一进一出视频| 亚洲精品日韩在线中文字幕| 久久久久久人人人人人| 亚洲一级一片aⅴ在线观看| 好男人视频免费观看在线| 肉色欧美久久久久久久蜜桃| 最近2019中文字幕mv第一页| 中文字幕人妻熟女乱码| 亚洲第一av免费看| 久久影院123| 色94色欧美一区二区| 久久久久网色| 成人黄色视频免费在线看| 极品少妇高潮喷水抽搐| 国产视频首页在线观看| 亚洲成色77777| 免费日韩欧美在线观看| 国产精品偷伦视频观看了| 亚洲图色成人| 欧美另类一区| 亚洲av日韩精品久久久久久密 | 亚洲精品在线美女| 亚洲国产av影院在线观看| 97在线人人人人妻| 日韩一卡2卡3卡4卡2021年| 亚洲图色成人| 日日撸夜夜添| 少妇精品久久久久久久| 国产男人的电影天堂91| 久久婷婷青草| 国产片内射在线| 赤兔流量卡办理| 久久久久精品国产欧美久久久 | 多毛熟女@视频| 日韩欧美一区视频在线观看| av一本久久久久| 国产不卡av网站在线观看| 国产高清国产精品国产三级| 亚洲视频免费观看视频| 9色porny在线观看| 老汉色av国产亚洲站长工具| 国产成人免费无遮挡视频| 成人免费观看视频高清| 99九九在线精品视频| 人体艺术视频欧美日本| 超碰成人久久| av网站免费在线观看视频| 水蜜桃什么品种好| 婷婷色麻豆天堂久久| 一级黄片播放器| 亚洲人成电影观看| 国产精品久久久久久精品古装| 91aial.com中文字幕在线观看| 亚洲精品国产区一区二| 少妇被粗大猛烈的视频| 国产欧美日韩一区二区三区在线| 亚洲美女视频黄频| videos熟女内射| 国产成人欧美在线观看 | 麻豆精品久久久久久蜜桃| 一区二区三区精品91| 啦啦啦啦在线视频资源| 99香蕉大伊视频| 中文字幕制服av| 日本wwww免费看| videos熟女内射| 成年女人毛片免费观看观看9 | 热99久久久久精品小说推荐| 好男人视频免费观看在线| 亚洲一区二区三区欧美精品| 亚洲国产精品国产精品| 中国国产av一级| 丝袜美腿诱惑在线| 国产精品国产三级国产专区5o| 少妇人妻 视频| 欧美变态另类bdsm刘玥| av国产久精品久网站免费入址| 天天躁夜夜躁狠狠久久av| 伊人久久大香线蕉亚洲五| svipshipincom国产片| 久久久国产精品麻豆| 最近2019中文字幕mv第一页| 精品一区二区三区四区五区乱码 | 成人免费观看视频高清| 国产精品免费视频内射| 性少妇av在线| 久久av网站| 2021少妇久久久久久久久久久| 国产 一区精品| 国产免费又黄又爽又色| 黄片播放在线免费| 亚洲av日韩在线播放| 久久久久久久大尺度免费视频| 美女扒开内裤让男人捅视频| 岛国毛片在线播放| 狂野欧美激情性bbbbbb| av片东京热男人的天堂| 另类亚洲欧美激情| 一本久久精品| 哪个播放器可以免费观看大片| 美女中出高潮动态图| 91精品国产国语对白视频| 亚洲av欧美aⅴ国产| 日韩制服丝袜自拍偷拍| 久久影院123| 成年美女黄网站色视频大全免费| 如何舔出高潮| 国产精品三级大全| 天天添夜夜摸| 国产精品国产三级国产专区5o| 爱豆传媒免费全集在线观看| 久久鲁丝午夜福利片| 午夜激情av网站| 国产成人91sexporn| 人人妻人人爽人人添夜夜欢视频| 女性被躁到高潮视频| 99精品久久久久人妻精品| 久热这里只有精品99| 久久精品国产综合久久久| 成人手机av| 日韩电影二区| 在线观看免费高清a一片| 18在线观看网站| 国产精品久久久av美女十八| 最近中文字幕高清免费大全6| 男的添女的下面高潮视频| 亚洲伊人色综图| 综合色丁香网| 老鸭窝网址在线观看| 极品少妇高潮喷水抽搐| 日本av手机在线免费观看| 午夜福利网站1000一区二区三区| 韩国精品一区二区三区| 亚洲情色 制服丝袜| 午夜福利网站1000一区二区三区| 久久精品国产a三级三级三级| 国产精品女同一区二区软件| 男女下面插进去视频免费观看| 老熟女久久久| 国产成人av激情在线播放| 男的添女的下面高潮视频| av在线app专区| 人人妻人人添人人爽欧美一区卜| 大话2 男鬼变身卡| 老熟女久久久| 综合色丁香网| 久久久亚洲精品成人影院| 丝袜喷水一区| 卡戴珊不雅视频在线播放|