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

    異構(gòu)平臺(tái)下卷積神經(jīng)網(wǎng)絡(luò)推理模型自適應(yīng)劃分和調(diào)度方法

    2023-09-27 06:31:32尚紹法李遠(yuǎn)成
    計(jì)算機(jī)應(yīng)用 2023年9期
    關(guān)鍵詞:子圖異構(gòu)復(fù)雜度

    尚紹法,蔣 林*,李遠(yuǎn)成,朱 筠

    (1.西安科技大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,西安 710600;2.西安郵電大學(xué) 電子工程學(xué)院,西安 710121)

    0 引言

    隨著卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)在計(jì)算機(jī)視覺領(lǐng)域的廣泛應(yīng)用與快速發(fā)展,用戶對邊緣設(shè)備上CNN 模型推理的精度和速度要求越來越高[1-2]。因此,在異構(gòu)系統(tǒng)架構(gòu)(Heterogeneous System Architecture,HAS)上對CNN 的推理過程進(jìn)行加速成為了當(dāng)前的研究熱點(diǎn)[3]。

    當(dāng)前,影響HSA 上CNN 模型推理加速的主要因素有模型劃分和任務(wù)調(diào)度,學(xué)者們主要從這兩方面對CNN 模型推理加速方法展開研究。從模型劃分的角度來看,現(xiàn)有CNN模型劃分方法以conv、maxpool2d 等基本算子為最小單位,通過建立性能評價(jià)模型與延遲最小化約束等方法實(shí)現(xiàn)CNN 模型的自動(dòng)劃分。文獻(xiàn)[4]中提出了一種基于遺傳算法的自動(dòng)化張量劃分CNN 模型推理加速算法,在給定精度損失范圍內(nèi)自動(dòng)調(diào)優(yōu),找出最優(yōu)的卷積張量分解方案,有效提升了CNN 推理速度。文獻(xiàn)[5]中提出了一種基于深度強(qiáng)化學(xué)習(xí)的計(jì)算圖劃分CNN 推理加速方法DistrEdge,將劃分過程建模為馬爾可夫決策過程,通過綜合分析CNN 特征與設(shè)備計(jì)算特性,利用深度強(qiáng)化學(xué)習(xí)作出最佳劃分決策,提升了CNN 在邊緣設(shè)備上的推理速度。文獻(xiàn)[6]中基于遞歸搜索算法實(shí)現(xiàn)計(jì)算圖的自動(dòng)劃分,將CNN 模型劃分后映射到多個(gè)GPU 上,使推理過程中總通信成本最小化,從而提升模型整體的推理速度。文獻(xiàn)[7]中在異構(gòu)平臺(tái)上對神經(jīng)網(wǎng)絡(luò)算子進(jìn)行大規(guī)模評估,通過調(diào)整分區(qū)比率實(shí)現(xiàn)CNN 的動(dòng)態(tài)分區(qū),提高邊緣設(shè)備上的異構(gòu)資源利用率,有效提升了CNN 模型的推理速度。

    從任務(wù)調(diào)度的角度來看,文獻(xiàn)[8]中提出了一種基于深度強(qiáng)化學(xué)習(xí)的任務(wù)調(diào)度與資源分配方法,通過基于貪心策略的流水線調(diào)度算法解決了移動(dòng)邊緣計(jì)算的任務(wù)調(diào)度問題,使用強(qiáng)化學(xué)習(xí)優(yōu)化服務(wù)器的資源分配,有效提升了系統(tǒng)的計(jì)算速度。文獻(xiàn)[9]中提出了一種融合流水線并行和數(shù)據(jù)并行的CNN 多任務(wù)訓(xùn)練系統(tǒng)HetPipe,使用異構(gòu)的GPU 集群以流水線的方式執(zhí)行訓(xùn)練,通過數(shù)據(jù)并行獲得更高的模型收斂速度。文獻(xiàn)[10]中提出了一種針對異構(gòu)多核CPU 的流水線推理加速方法Pipe-it,將卷積層劃分并卸載至多個(gè)CPU 集群,將卷積的并行化限制在指定集群中,減小通信開銷,提高了CNN 模型的整體推理速度。文獻(xiàn)[11]中提出了一種基于動(dòng)態(tài)規(guī)劃的啟發(fā)式的模型流水線并行加速方法MadPipe,通過更精準(zhǔn)地估計(jì)內(nèi)存需求以及支持將非連續(xù)的CNN 層分配給處理器,實(shí)現(xiàn)負(fù)載平衡,提高了CNN 模型的訓(xùn)練速度。

    目前該領(lǐng)域的研究工作取得了一定成果,但仍需進(jìn)一步改進(jìn),主要有以下兩方面:

    1)目前模型劃分主要有張量劃分和圖劃分兩種方法。張量劃分會(huì)帶來高昂的通信成本,圖劃分需要耗費(fèi)大量的時(shí)間探索最優(yōu)劃分方案。因此,如何在HSA 平臺(tái)下快速完成對CNN 的最優(yōu)劃分仍值得研究。

    2)目前CNN 模型加速的任務(wù)調(diào)度策略對象大多側(cè)重于CPU、GPU 等其他加速器的單一設(shè)備。然而,不同硬件適合執(zhí)行不同類型的模型算子。因此,如何設(shè)計(jì)異構(gòu)平臺(tái)的任務(wù)調(diào)度策略,實(shí)現(xiàn)異構(gòu)設(shè)備協(xié)同推理加速是重要的研究內(nèi)容。

    綜上所述,本文提出了一種自適應(yīng)的CNN 模型劃分和調(diào)度方法?;诘湫虲NN 的結(jié)構(gòu)、計(jì)算量和參數(shù)量分布特征,針對關(guān)鍵算子對模型進(jìn)行自適應(yīng)劃分,降低設(shè)備間的通信消耗,增加模型調(diào)度的靈活性。使用關(guān)鍵路徑-貪婪搜索算法,自適應(yīng)地選擇子圖的最優(yōu)運(yùn)行負(fù)載以提高推理速度。為充分驗(yàn)證本文的優(yōu)化方法,使用ImageNet 數(shù)據(jù)集[12]和張量虛擬機(jī)(Tensor Virtual Machine,TVM)[13]跨設(shè)備調(diào)度機(jī)制,在CPU-GPU 異構(gòu)平臺(tái)對CNN 模型推理進(jìn)行加速驗(yàn)證。實(shí)驗(yàn)結(jié)果表明,與TVM 的推理機(jī)制相比,本文方法可以有效提升CNN 模型的推理速度。

    1 CNN模型分析

    為了深入研究CNN 模型的特征,本文選擇三種不同類型的CNN 模型GoogLeNet、ResNet18 和VGG16,從模型結(jié)構(gòu)和計(jì)算量/參數(shù)量分布兩個(gè)角度對不同結(jié)構(gòu)的CNN 模型進(jìn)行特征分析。

    1.1 CNN模型結(jié)構(gòu)分析

    圖1 給出了三種CNN 模型的網(wǎng)絡(luò)結(jié)構(gòu),并分析VGG16、ResNet18 和GoogLeNet 三種CNN 模型的結(jié)構(gòu)特征??梢钥闯觯珻NN 模型是由多種不同的算子組成。由于卷積層和全連接層通常是CNN 模型訓(xùn)練和推理時(shí)計(jì)算開銷和存儲(chǔ)開銷最大的部分。本文將通過這兩種算子對CNN 模型結(jié)構(gòu)進(jìn)行分析,將模型結(jié)構(gòu)中重復(fù)的類conv_relu_maxpool2d 結(jié)構(gòu)定義為Conv_Block,全連接層定義為Fc,殘差結(jié)構(gòu)定義為Residual_Block,Inception 分支結(jié)構(gòu)定義為Inception_Block。

    圖1 三種典型CNN模型結(jié)構(gòu)Fig.1 Structures of three typical CNN models

    表1 總結(jié)了這三類典型CNN 模型的組成結(jié)構(gòu)??梢钥闯?,CNN 模型是由很多結(jié)構(gòu)相同的組件組成,組件之間的依賴關(guān)系簡單且易于表示。因此,基于CNN 模型中的重復(fù)組件,設(shè)計(jì)模型劃分策略,將計(jì)算圖根據(jù)層與層之間或分支的輸入輸出關(guān)鍵算子劃分成子圖集,實(shí)現(xiàn)粗計(jì)算粒度與相對較低的數(shù)據(jù)通信量。

    表1 三類CNN模型的組成結(jié)構(gòu)Tab.1 Composition structures of three CNN models

    1.2 CNN計(jì)算量和參數(shù)量分析

    為更好地平衡設(shè)備的計(jì)算負(fù)載和存儲(chǔ)負(fù)載,本文對CNN模型的計(jì)算量和參數(shù)量分布情況進(jìn)行統(tǒng)計(jì)分析。由于池化層和歸一化層沒有可學(xué)習(xí)參數(shù)和乘累加運(yùn)算,計(jì)算量與整個(gè)網(wǎng)絡(luò)相比可忽略不計(jì),因此本文主要對卷積層和全連接層進(jìn)行分析。通過解析TVM 的Let 表達(dá)式完成參數(shù)的自動(dòng)化提取,算法1 描述了CNN 模型的參數(shù)量和計(jì)算量的統(tǒng)計(jì)過程。

    首先,將深度學(xué)習(xí)框架PyTorch 中導(dǎo)出的預(yù)訓(xùn)練好的CNN 模型M作為算法的輸入;其次,使用TVM 中的Relay/Transform 模塊將模型計(jì)算圖轉(zhuǎn)化為Let 表達(dá)式;然后,對表達(dá)式進(jìn)行遞歸遍歷,獲取模型的算子op;最后,通過判斷算子的類型對算子的參數(shù)進(jìn)行提取。根據(jù)式(1)、(2)分別統(tǒng)計(jì)單個(gè)卷積層的參數(shù)量pconv和計(jì)算量Fconv。使用式(3)、(4)分別統(tǒng)計(jì)單個(gè)全連接層的計(jì)算量FFc和參數(shù)量pFc。

    其中:Ci為卷積層的輸入數(shù)據(jù)X的通道數(shù);Kw×Kh為卷積核尺寸;Co為卷積層的輸出通道數(shù);W×H為輸出特征圖的尺寸;I為全連接層的輸入特征數(shù);O為輸出特征數(shù)。使用算法1 對PyTorch 框架下三種類型的CNN 模型GoogLeNet、ResNet18 和VGG16 各部分的計(jì)算量和參數(shù)量進(jìn)行統(tǒng)計(jì)。

    三種典型CNN 模型的計(jì)算量和參數(shù)量分布情況如圖2所示。其中:橫坐標(biāo)c_1、c_2 等表示卷積層;Fc 表示全連接層;In_3a、In_3b 等表示Inception 網(wǎng)絡(luò)中的分支子模塊;縱坐標(biāo)表示網(wǎng)絡(luò)模型各部分的計(jì)算量和參數(shù)量在整個(gè)網(wǎng)絡(luò)模型中所占比例。從圖2 可以看出,CNN 模型的計(jì)算量占比不均勻,整體呈現(xiàn)中間多,兩端少的趨勢。其中,卷積層的計(jì)算量占據(jù)全網(wǎng)絡(luò)計(jì)算量的99%以上,而全連接層的計(jì)算量只占據(jù)了不到全網(wǎng)絡(luò)計(jì)算量的1%,甚至可以忽略不計(jì)。參數(shù)量的分布整體呈遞增趨勢,其中,VGG16 模型的全連接層參數(shù)量已經(jīng)占據(jù)全網(wǎng)絡(luò)參數(shù)量的89.4%。隨著推理過程的進(jìn)行,模型組件的局部訪存計(jì)算比也逐漸增大。

    圖2 三種CNN模型計(jì)算量和參數(shù)量分布Fig.2 Distribution of computational amount and parameters of three CNN models

    算法1 參數(shù)量和計(jì)算量統(tǒng)計(jì)。

    輸入 預(yù)訓(xùn)練模型M;

    輸出 卷積層參數(shù)量pconv,卷積層計(jì)算量Fconv,全連接層參數(shù)量pFc,全連接層計(jì)算量FFc。

    為了獲取CPU 與GPU 的通信性能特征,本文對不同數(shù)據(jù)大小進(jìn)行點(diǎn)對點(diǎn)批量傳輸?shù)膸捄脱舆t測試。實(shí)驗(yàn)平臺(tái)選 用PCIe3.0 連 接Intel Xeon Gold 6248R CPU 和Nvidia Quadro P2200 GPU,它的通信特征如圖3 所示,CPU 與GPU 之間的數(shù)據(jù)傳輸延遲與數(shù)據(jù)大小呈線性關(guān)系,數(shù)據(jù)傳輸速率在數(shù)據(jù)大小為150 KB 時(shí)就達(dá)到峰值。因此,CNN 模型在GPU上執(zhí)行時(shí)產(chǎn)生的高昂通信延遲是探索異構(gòu)環(huán)境下子圖調(diào)度方案時(shí)的關(guān)鍵影響因素之一。

    圖3 CPU與GPU間的通信消耗Fig.3 Consumption of communication between CPU and GPU

    2 CNN模型自適應(yīng)劃分和調(diào)度方法

    為解決調(diào)度方案設(shè)備資源利用率低的問題,本文提出了一種面向異構(gòu)平臺(tái)的CNN 推理模型自適應(yīng)劃分和調(diào)度方法,總體流程如圖4 所示。在模型劃分方面,提出基于關(guān)鍵算子的CNN 推理模型的自適應(yīng)劃分方法,對CNN 模型結(jié)構(gòu)進(jìn)行階段和分支的自適應(yīng)劃分,減少模型劃分的評估開銷,降低搜索最優(yōu)模型劃分策略的復(fù)雜度。在任務(wù)調(diào)度方面,提出基于關(guān)鍵路徑的最優(yōu)子模型調(diào)度配置搜索算法。通過子模型在異構(gòu)設(shè)備上的性能實(shí)測,自適應(yīng)選取最優(yōu)執(zhí)行設(shè)備,從而減少模型推理時(shí)間。最后,通過TVM 深度學(xué)習(xí)編譯器將模型按照優(yōu)化方案部署到對應(yīng)的硬件后端進(jìn)行驗(yàn)證。

    圖4 本文方法的總體流程Fig.4 Overall flow of the proposed method

    2.1 自適應(yīng)劃分

    根據(jù)CNN 推理模型結(jié)構(gòu)、計(jì)算量/參數(shù)量的特征分析結(jié)果,maxpool、Concatenate 等算子是CNN 推理模型中重復(fù)結(jié)構(gòu)或分支結(jié)構(gòu)的依賴算子,將這些算子作為關(guān)鍵算子對CNN推理模型進(jìn)行自適應(yīng)劃分。模型劃分方法主要基于有向無環(huán)圖的拓?fù)渑判?,具體劃分步驟如下:

    步驟1 將從PyTorch 框架中導(dǎo)出的預(yù)訓(xùn)練CNN 模型通過TVM 框架轉(zhuǎn)化為適合解析處理的Let 表達(dá)式。

    步驟2 用子算法1 遞歸遍歷圖劃分算法SplitGraph(),在遍歷過程中判斷并記錄當(dāng)前算子信息。若為關(guān)鍵算子,則將之前記錄的算子信息轉(zhuǎn)化為IRModule 類型,生成子模型;否則,使用Let 表達(dá)式對算子封裝,重復(fù)步驟2。

    步驟3 將得到的子模型添加到子模型集Split_mods中,若模型還沒有遍歷結(jié)束,繼續(xù)執(zhí)行步驟2,直到模型遍歷結(jié)束,返回子模型集Split_mods。

    具體模型劃分過程如算法2 所示。

    算法2 基本塊模型劃分算法。

    輸入 預(yù)訓(xùn)練CNN 模型M;

    輸出 模型劃分后得到的子模型集Split_mods。

    TVM 的分支模型劃分方法如圖5(a)所示,它需要人工標(biāo)記模型劃分節(jié)點(diǎn),然后使用TVM 中的PartitionGraph()函數(shù)以主干模型與子模型相結(jié)合的方式實(shí)現(xiàn)原始CNN 模型推理效果。子模型S2、S3 的輸入輸出都依賴于主干模型S1,導(dǎo)致主干模型的計(jì)算過程需要獲得子模型的計(jì)算結(jié)果才可以繼續(xù)進(jìn)行計(jì)算,設(shè)備資源被主干模型持續(xù)占用,靈活性差,限制了模型的任務(wù)調(diào)度。針對此問題,本文提出改進(jìn)的分支結(jié)構(gòu)模型劃分方法,如圖5(b)所示。將分支結(jié)構(gòu)模型的輸入和輸出依賴劃分至兩個(gè)子模型S1 和S3 中。分支結(jié)構(gòu)模型推理結(jié)束后,輸出數(shù)據(jù)無須傳回設(shè)備0 就可以繼續(xù)執(zhí)行下一階段的模型推理,模型調(diào)度的靈活性得到增強(qiáng)。

    圖5 兩種模型劃分方法效果對比Fig.5 Comparison between two model partitioning methods

    針對改進(jìn)的模型劃分方式生成的子模型,可以設(shè)計(jì)更加靈活的任務(wù)調(diào)度策略,設(shè)備之間的任務(wù)堵塞問題將得到改善。模型劃分使CNN 模型的各個(gè)階段也可以在不同設(shè)備后端運(yùn)行,充分利用硬件設(shè)備的計(jì)算訪存特性,從而提高模型整體推理速度。以圖6 為例,使用三個(gè)硬件后端對圖5 表示的兩種模型劃分方式執(zhí)行調(diào)度推理。圖6 中的子模型顏色與圖5 保持一致,灰色部分表示不同設(shè)備間的子模型數(shù)據(jù)轉(zhuǎn)移的時(shí)間消耗。從圖6 可以看出,劃分策略①中的子模型S1在推理過程中需要獲取依賴子圖S2、S3 的輸出結(jié)果,然后才可以繼續(xù)執(zhí)行推理過程。子圖S1 長時(shí)間占用設(shè)備Worker1,且當(dāng)多任務(wù)推理時(shí),任務(wù)2 中的子圖S2 和S3 由于要等待S1的輸出,導(dǎo)致設(shè)備Worker2 和Worker3 的資源利用率不高,會(huì)經(jīng)常處于空閑狀態(tài)。而劃分策略②產(chǎn)生的子圖,會(huì)弱化子圖之間的依賴關(guān)系,并減小子圖的規(guī)模。當(dāng)任務(wù)1 中子圖S1 執(zhí)行推理結(jié)束,將輸出數(shù)據(jù)轉(zhuǎn)移到Worker3 后,無須等待,可以連續(xù)執(zhí)行推理任務(wù)2。且Worker2 和Worker3 的利用率也會(huì)大大提高,避免子圖長時(shí)間占用硬件資源或硬件資源空閑情況的發(fā)生,從而實(shí)現(xiàn)多任務(wù)推理加速。

    圖6 兩種模型劃分方法的調(diào)度效果對比Fig.6 Comparison of scheduling effect between two model partitioning methods

    基于關(guān)鍵算子的CNN 推理模型自適應(yīng)劃分方法,避免了復(fù)雜的劃分策略搜索工作。采用后續(xù)遍歷算法識(shí)別關(guān)鍵算子,根據(jù)不同CNN 推理模型的特征自動(dòng)實(shí)現(xiàn)模型的自適應(yīng)劃分,大大提高了模型劃分的效率,也降低子模型之間的通信成本。劃分后的子模型還可以利用深度學(xué)習(xí)編譯器TVM 對子模型進(jìn)行圖級優(yōu)化,如算子融合和后端代碼優(yōu)化,以進(jìn)一步提高子模型在單個(gè)設(shè)備上的運(yùn)行效率,從而最小化整個(gè)模型的推理延遲。

    2.2 自適應(yīng)調(diào)度

    為了提高異構(gòu)平臺(tái)的資源利用率,本文針對推理模型自適應(yīng)劃分后得到的子模型集Split_mods,提出了一種基于關(guān)鍵路徑和貪婪算法的自適應(yīng)模型調(diào)度方法。由于關(guān)鍵路徑是數(shù)據(jù)流圖中從源節(jié)點(diǎn)到末節(jié)點(diǎn)計(jì)算時(shí)間最長的路徑[14],所以,提高位于關(guān)鍵路徑上的關(guān)鍵節(jié)點(diǎn)的推理速度,就會(huì)提高數(shù)據(jù)流圖的整體推理速度。對于順序處理階段中的每個(gè)子圖,優(yōu)先選擇子圖在關(guān)鍵路徑上執(zhí)行速度更快的設(shè)備[15-17]。對于多分支結(jié)構(gòu)的子圖,將該階段代價(jià)最大的子圖添加到關(guān)鍵路徑中。具體步驟如下:

    步驟1 對劃分后的子模型集合,在異構(gòu)平臺(tái)的不同硬件后端上進(jìn)行性能實(shí)測。為了減小硬件性能波動(dòng)的影響,取10 次實(shí)驗(yàn)平均值,獲取較準(zhǔn)確的推理時(shí)間。

    步驟2 根據(jù)性能實(shí)測的結(jié)果,自適應(yīng)地選擇不同子模型的最優(yōu)運(yùn)行負(fù)載。

    步驟3 為更好地解決模型運(yùn)行時(shí)不可預(yù)測的系統(tǒng)資源調(diào)度問題,引入一種基于關(guān)鍵路徑和貪婪算法的任務(wù)調(diào)度校正方案,對CNN 推理模型計(jì)算圖的關(guān)鍵路徑上的子圖進(jìn)行優(yōu)先排序,根據(jù)實(shí)際推理時(shí)間對調(diào)度方案進(jìn)行校正。

    使用算法2 對VGG16 模型進(jìn)行自適應(yīng)劃分,得到5 個(gè)卷積塊C_(ii=1,2,3,4,5)和1 個(gè)全連接塊FC。將這些子模型放置在CPU 和GPU 上分別測試模型的推理時(shí)間,結(jié)果如表2所示??梢钥闯觯KC_(ii=1,2,3,4)適合在GPU 上運(yùn)行,模塊C_5 和FC 適合在CPU 上運(yùn)行。

    表2 VGG16子模型在不同設(shè)備上的執(zhí)行時(shí)間對比 單位:msTab.2 Comparison of execution time of VGG16 submodels on different devices unit:ms

    模型在GPU 上執(zhí)行推理時(shí),需要將模型數(shù)據(jù)從內(nèi)存拷貝至GPU,計(jì)算完成后將結(jié)果傳回CPU 進(jìn)行處理。因此,當(dāng)模型計(jì)算量很大,而參數(shù)量小時(shí),適合在GPU 上運(yùn)行,利用GPU 強(qiáng)大的并行計(jì)算能力執(zhí)行矩陣的快速運(yùn)算,隱藏?cái)?shù)據(jù)傳輸消耗的時(shí)間,從而提升模型推理速度;但是當(dāng)模型計(jì)算量小而參數(shù)量大時(shí),模型在GPU 上運(yùn)行的數(shù)據(jù)傳輸延時(shí)遠(yuǎn)大于計(jì)算延時(shí),反而不如在CPU 上運(yùn)行。在選擇運(yùn)行設(shè)備時(shí),需要判斷降低的計(jì)算延時(shí)是否能夠隱藏?cái)?shù)據(jù)的傳輸開銷。

    圖7 顯示了四種調(diào)度策略,策略①是模型在CPU 上運(yùn)行;策略②是模型在GPU 上運(yùn)行,計(jì)算延遲顯著降低,所以隱藏了設(shè)備間的數(shù)據(jù)傳輸延時(shí),整體速度與策略①相比得到提升[18-20];策略③將劃分后的子圖放置在異構(gòu)設(shè)備上,在GPU 上放置子圖{1,3,5},在CPU 上放置子圖{2,4,6},平衡了模型在GPU 上的計(jì)算收益與數(shù)據(jù)傳輸開銷,整體上推理速度與策略②相比得到提升;策略④通過不斷校正為子圖選擇最佳的運(yùn)行設(shè)備,如子圖2 在GPU 上運(yùn)行時(shí)間優(yōu)于CPU,將子圖2 放置在GPU 上模型整體的推理速度與策略④相比,推理時(shí)間得到縮短[21-23]。當(dāng)執(zhí)行x輪校正而不減少執(zhí)行時(shí)間時(shí),修正步驟終止。模型調(diào)度配置算法如算法3 所示。

    圖7 異構(gòu)平臺(tái)的調(diào)度策略Fig.7 Scheduling strategies for heterogeneous platforms

    算法3 模型調(diào)度運(yùn)行時(shí)配置算法。

    輸入 算法2 得到的子模型集合Split_mods,預(yù)訓(xùn)練模型參數(shù)params,運(yùn)行設(shè)備的編譯器targets,運(yùn)行設(shè)備dev;

    輸出 模型配置m_config。

    2.3 算法復(fù)雜度分析

    2.3.1 時(shí)間復(fù)雜度分析

    1)算法2 的時(shí)間復(fù)雜度主要由子算法1 遞歸搜索算法SplitGraph()中的子模型遍歷和子模型封裝兩部分組成。時(shí)間復(fù)雜度分別如下:

    子模型遍歷階段的時(shí)間復(fù)雜度主要取決于CNN 模型的層數(shù)。設(shè)CNN 模型的層數(shù)為n,則子模型遍歷階段的時(shí)間復(fù)雜度為:

    子模型封裝階段的時(shí)間復(fù)雜度主要取決于子模型的層數(shù)。設(shè)子模型的層數(shù)為mi(i=1,2,…,k),因此子模型封裝階段的時(shí)間復(fù)雜度為:

    綜上可知,算法2 的時(shí)間復(fù)雜度為:

    2)算法3 主要由子模型的輸入輸出依賴配置、預(yù)訓(xùn)練參數(shù)配置、最優(yōu)運(yùn)行設(shè)備配置三部分組成。

    子模型的輸入輸出依賴配置階段的時(shí)間復(fù)雜度主要取決于子模型依賴的獲取。設(shè)子模型集合的大小為l,在配置每個(gè)子模型的輸入依賴時(shí),需要遍歷所有子模型的輸出依賴,以此保證每個(gè)子模型輸入依賴配置的正確性與完整性。因此子模型輸入輸出依賴配置階段的時(shí)間復(fù)雜度為:

    子模型的預(yù)訓(xùn)練參數(shù)配置階段的時(shí)間復(fù)雜度主要取決于子模型參數(shù)的獲取。設(shè)CNN 模型的預(yù)訓(xùn)練參數(shù)量為p,則子模型參數(shù)獲取階段的時(shí)間復(fù)雜度為:

    子模型運(yùn)行設(shè)備配置階段的時(shí)間復(fù)雜度主要取決于子模型集合的遍歷。因此子模型運(yùn)行設(shè)備配置階段的時(shí)間復(fù)雜度為:

    綜上可知,算法3 的時(shí)間復(fù)雜度為:

    由于通常情況下l>2,因此算法3 的時(shí)間復(fù)雜度近似為:

    2.3.2 通信復(fù)雜度分析

    1)算法2 通過后序遍歷算法識(shí)別CNN 推理模型中的關(guān)鍵算子,通過分析算子輸入輸出的數(shù)據(jù)大小變化,可以發(fā)現(xiàn)如maxpool2d 等算子的輸出數(shù)據(jù)規(guī)模小于輸入數(shù)據(jù)規(guī)模。所以,根據(jù)這些關(guān)鍵算子進(jìn)行模型劃分,在進(jìn)行跨設(shè)備數(shù)據(jù)傳輸時(shí)可以縮短通信延時(shí)。

    2)算法3 中通過性能實(shí)測與校正算法選擇子模型最優(yōu)的運(yùn)行設(shè)備dev。如圖2 所示,由于預(yù)訓(xùn)練模型包含大量的預(yù)訓(xùn)練參數(shù),這些預(yù)訓(xùn)練參數(shù)在模型中分布不均。圖2(a)中能明顯地看出全連接層的參數(shù)量占據(jù)了預(yù)訓(xùn)練參數(shù)的89.4%,計(jì)算量卻不到全網(wǎng)絡(luò)計(jì)算量的1%。此時(shí),若將全連接層放置在GPU 上運(yùn)行會(huì)造成通信延時(shí)遠(yuǎn)大于計(jì)算延時(shí),從而延長推理模型在GPU 上的推理時(shí)間。性能實(shí)測能更準(zhǔn)確地根據(jù)不同后端硬件特性選擇子模型的最優(yōu)運(yùn)行設(shè)備。通過跨設(shè)備調(diào)度充分利用異構(gòu)資源降低預(yù)訓(xùn)練參數(shù)傳輸至設(shè)備的通信時(shí)間,然后利用校正算法根據(jù)整個(gè)CNN 模型的推理時(shí)間決策最優(yōu)的運(yùn)行設(shè)備,避免設(shè)備間頻繁數(shù)據(jù)傳輸。從而降低CNN 模型在推理過程中總通信延時(shí),加快推理。

    3 實(shí)驗(yàn)與結(jié)果分析

    3.1 實(shí)驗(yàn)環(huán)境

    本文實(shí)驗(yàn)的測試平臺(tái)的配置如表3 所示。

    表3 測試平臺(tái)配置信息Tab.3 Experimental platform configuration information

    3.2 實(shí)驗(yàn)方案

    本文使用PyTorch 框架中提供的預(yù)訓(xùn)練CNN 模型作為測試實(shí)驗(yàn)的測試集,模型參數(shù)如表4 所示。選用VGG11、AlexNet、MobileNet、SqueezeNet、ResNet18 和GoogLeNet,這6個(gè)結(jié)構(gòu)和深度不同的網(wǎng)絡(luò)作為實(shí)驗(yàn)對比的測試對象[24]。PyTorch 框架的預(yù)訓(xùn)練模型采用網(wǎng)絡(luò)公開數(shù)據(jù)集ImageNet 對神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,具有完整的模型參數(shù),因此直接使用預(yù)訓(xùn)練模型進(jìn)行推理測試。TVM 是優(yōu)化CNN 模型推理的深度學(xué)習(xí)編譯器,在模型定義和后端代碼生成之間進(jìn)行了高度優(yōu)化。將本文方法在CPU 和GPU 上與TVM 和傳統(tǒng)的PyTorch 實(shí)現(xiàn)進(jìn)行了性能比較。從數(shù)據(jù)集中隨機(jī)抽取10 張圖片,對圖片進(jìn)行格式化,格式化后的數(shù)據(jù)作為CNN 模型的輸入數(shù)據(jù)。

    表4 不同模型的卷積層、分類層的計(jì)算量與參數(shù)量Tab.4 Computational amount and parameters of convolutional and classification layers of different models

    首先,將每張圖片的大小轉(zhuǎn)化為224×224×3 的矩陣數(shù)據(jù);其次,使用均值方差歸一化方法,對圖像數(shù)據(jù)進(jìn)行歸一化處理;然后,使用TVM 從PyTorch 框架加載預(yù)訓(xùn)練好的CNN模型,以歸一化后的圖片數(shù)據(jù)作為模型輸入數(shù)據(jù);最后,選擇批大?。╞atch size)為1 來表示CNN 推理中的一個(gè)常見情況。為了進(jìn)行可靠的測量,對每個(gè)配置運(yùn)行100 次,統(tǒng)計(jì)平均延遲。

    3.3 CNN模型自適應(yīng)劃分與調(diào)度實(shí)驗(yàn)結(jié)果

    表5 為VGG11、AlexNet、ResNet18 三種不同結(jié)構(gòu)CNN 模型的模型劃分和運(yùn)行設(shè)備的選擇結(jié)果??梢钥闯觯疚姆椒梢愿鶕?jù)不同模型的特征自動(dòng)實(shí)現(xiàn)對不同CNN 模型的模型劃分,然后針對不同子模型的計(jì)算特性和訪存特性基于性能實(shí)測與校正算法自適應(yīng)地決策出子模型的最優(yōu)運(yùn)行設(shè)備。

    表5 CNN模型劃分與設(shè)備分配Tab.5 Partitioning and device assignment of CNN models

    以AlexNet 為例,它由32 個(gè)基本算子組成。使用算法2將模型劃分為0-3、4-7、8-17 和18-31 四個(gè)子模型,然后通過在硬件平臺(tái)進(jìn)行性能實(shí)測以及關(guān)鍵路徑校正算法決策出第1 個(gè)和第4 個(gè)子模型更適合在CPU 上運(yùn)行,第2 個(gè)和第3 個(gè)子模型更適合在GPU 上運(yùn)行。

    3.4 實(shí)驗(yàn)結(jié)果對比

    設(shè)TVM 優(yōu)化后的模型在GPU 上的推理時(shí)間為Ttvm,本文方法的模型推理時(shí)間為Tour,優(yōu)化方法加速比為Sour,則加速比計(jì)算公式為:

    圖8 給出不同CNN 模型在不同測試環(huán)境下的推理執(zhí)行時(shí)間。與TVM(CPU)和TVM(GPU)相比,本文方法分別獲得了45.45%~311.46% 和5.88%~19.05% 的速度提升。與PyTorch(CPU)和PyTorch(GPU)相比,本文方法在CPU 和GPU 上分別獲得了118.18%~958.82%和9.09%~105.88%的速度提升。因?yàn)楸疚姆椒▽悩?gòu)平臺(tái)的優(yōu)勢與深度學(xué)習(xí)編譯器TVM 所作的優(yōu)化結(jié)合起來,使CPU 和GPU 的收益最大化,通過子圖調(diào)度策略優(yōu)化,降低了模型推理中的通信開銷和計(jì)算延遲。

    圖8 不同模型執(zhí)行時(shí)間對比Fig.8 Comparison of execution time of different models

    為驗(yàn)證模型深度不同時(shí)本文方法的加速效果,將本文方法與傳統(tǒng)TVM 推理方法在CPU 和GPU 上的推理時(shí)間進(jìn)行對比。預(yù)訓(xùn)練模型選取5 個(gè)模型結(jié)構(gòu)相同但深度不同的CNN模 型 :ResNet18、ResNet34、ResNet50、ResNet101 和ResNet152。對比結(jié)果如圖9 所示。隨著ResNet 模型深度增加,模型在TVM-CPU 運(yùn)行方式下的執(zhí)行時(shí)間也在變長。因?yàn)镃PU 訪存帶寬比GPU 高,但矩陣運(yùn)算速度比GPU 低,因此對計(jì)算密集型算子更敏感。在TVM-GPU 運(yùn)行方式下,當(dāng)ResNet 模型深度相對較?。ㄈ?8、34)時(shí),執(zhí)行時(shí)間變化較小。這是因?yàn)镃NN 模型的深度較淺時(shí),GPU 的計(jì)算核心沒有滿載。當(dāng)模型深度加深時(shí),計(jì)算量增加,GPU 的計(jì)算核心利用率提高,使GPU 單位時(shí)間內(nèi)的計(jì)算速度提升。本文方法結(jié)合CPU 和GPU 的硬件特性優(yōu)勢,將訪存計(jì)算比高的子圖卸載到CPU,訪存計(jì)算比低的子圖卸載至GPU,充分發(fā)揮了CPU 的訪存帶寬高、GPU 計(jì)算能力強(qiáng)的優(yōu)勢。當(dāng)模型深度較深時(shí),子圖數(shù)量增多,調(diào)度算法的策略搜索空間也會(huì)增大,從中選擇出優(yōu)于TVM-GPU 運(yùn)行方式的最優(yōu)模型運(yùn)行策略,故本文方法的模型推理時(shí)間最短。

    圖9 不同深度的CNN模型推理執(zhí)行時(shí)間對比Fig.9 Comparison of inference execution time of CNN models with different depths

    影響本文方法性能的另一個(gè)因素是輸入數(shù)據(jù)的批大小。本文用批大小為{2,4,8,16,32}的輸入數(shù)據(jù)進(jìn)行測試實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖10 所示。與TVM(GPU)相比,在批處理規(guī)模較小時(shí)本文方法的推理速度提升更明顯。例如,在批大小為2 時(shí)速度提升了22.86%。但隨著批處理規(guī)模的增加,速度提升效果在逐漸減弱。當(dāng)批大小為32 時(shí),本文方法幾乎沒有速度提升。因?yàn)殡S著推理任務(wù)數(shù)量的增多,任務(wù)調(diào)度面臨的系統(tǒng)進(jìn)程環(huán)境更加復(fù)雜,多設(shè)備協(xié)同計(jì)算會(huì)遇到更頻繁的資源競爭、任務(wù)堵塞問題,而GPU 更適合大批量任務(wù)的執(zhí)行。

    圖10 不同批大小下CNN模型的推理執(zhí)行時(shí)間延遲對比結(jié)果Fig.10 Comparison of CNN models inference excution time with different batch sizes

    為了驗(yàn)證本文自適應(yīng)劃分調(diào)度方法的先進(jìn)性,在6 種CNN 模型上與EOP(Efficient Operator Partition)方法[7]進(jìn)行對比,對比結(jié)果如圖11 所示??梢钥闯?,與EOP 相比,在VGG11、MobileNet、ResNet18 和SqueezeNet 這4 個(gè)模型上,本文方法分別獲得了9.33%、25.00%、26.50%和8.43%的速度提升。在GoogLeNet 模型上兩者推理速度相當(dāng),在AlexNet模型上本文方法的推理速度略有下降。EOP 通過調(diào)整分區(qū)比率來尋找最優(yōu)的模型劃分方案,沒有充分利用TVM 算子融合優(yōu)化方法。隨著模型的規(guī)模增大,子模型的推理延遲增大,從而導(dǎo)致整個(gè)模型的推理延遲也增大。

    圖11 本文方法與EOP方法的推理執(zhí)行時(shí)間對比Fig.11 Comparison of inference execution time between proposed method and EOP method

    圖12 展示了本文方法與傳統(tǒng)Tensorflow 和TVM 在GPU上的推理時(shí)間對比??梢钥闯?,性能提升與本文方法對PyTorch 平臺(tái)生成的CNN 模型推理性能提升效果相當(dāng)。本文提出的自適應(yīng)優(yōu)化方法與深度學(xué)習(xí)平臺(tái)無關(guān),主要基于CNN模型的計(jì)算圖表示進(jìn)行自適應(yīng)劃分調(diào)度,然后使用TVM 深度學(xué)習(xí)編譯器對優(yōu)化方案實(shí)現(xiàn)模型部署,對其他深度學(xué)習(xí)平臺(tái)理論上應(yīng)該都具有不同程度的優(yōu)化效果。

    圖12 本文方法與Tensorflow框架的推理執(zhí)行時(shí)間對比Fig.12 Comparison of inference execution time between proposed method and Tensorflow method

    4 結(jié)語

    為緩解CNN 模型在異構(gòu)平臺(tái)中推理時(shí)硬件設(shè)備利用率低、延遲高的問題,本文提出了一種異構(gòu)平臺(tái)的CNN 推理模型自適應(yīng)劃分和調(diào)度方法。該方法根據(jù)不同CNN 推理模型中的關(guān)鍵算子進(jìn)行自適應(yīng)劃分,劃分速度比傳統(tǒng)基于評估的模型劃分算法更快,推理過程中設(shè)備間的通信消耗更小。通過在異構(gòu)平臺(tái)上對子模型的推理延遲進(jìn)行性能實(shí)測,根據(jù)測試結(jié)果自適應(yīng)選擇最優(yōu)運(yùn)行設(shè)備,提高子模型的推理速度。配置子模型的輸入輸出依賴,保證原始CNN 推理模型的推理效果,將本文提出的算法與TVM 編譯器算子優(yōu)化方法融合,使推理速度進(jìn)一步提升。實(shí)驗(yàn)結(jié)果表明,本文方法對小批量推理任務(wù)的加速效果明顯,并且對深度更深的網(wǎng)絡(luò)具有更好的加速效果,但對大批量推理任務(wù)的推理速度優(yōu)化不足。在后續(xù)工作中,將對多設(shè)備協(xié)同調(diào)度中出現(xiàn)的任務(wù)負(fù)載不均衡和任務(wù)堵塞等異常情況進(jìn)行研究,提高設(shè)備利用率,降低大批量推理任務(wù)的推理延遲。

    猜你喜歡
    子圖異構(gòu)復(fù)雜度
    試論同課異構(gòu)之“同”與“異”
    臨界完全圖Ramsey數(shù)
    一種低復(fù)雜度的慣性/GNSS矢量深組合方法
    求圖上廣探樹的時(shí)間復(fù)雜度
    overlay SDN實(shí)現(xiàn)異構(gòu)兼容的關(guān)鍵技術(shù)
    基于頻繁子圖挖掘的數(shù)據(jù)服務(wù)Mashup推薦
    LTE異構(gòu)網(wǎng)技術(shù)與組網(wǎng)研究
    某雷達(dá)導(dǎo)51 頭中心控制軟件圈復(fù)雜度分析與改進(jìn)
    出口技術(shù)復(fù)雜度研究回顧與評述
    在新興異構(gòu)SoCs上集成多種系統(tǒng)
    高清在线视频一区二区三区| 欧美国产精品一级二级三级| 全区人妻精品视频| 熟女人妻精品中文字幕| 国产欧美日韩综合在线一区二区| 欧美日本中文国产一区发布| 国产毛片在线视频| 美女脱内裤让男人舔精品视频| 国产午夜精品一二区理论片| 国产老妇伦熟女老妇高清| 亚洲国产av影院在线观看| 午夜福利在线观看免费完整高清在| 久久女婷五月综合色啪小说| 久久人妻熟女aⅴ| 亚洲熟妇熟女久久| 欧美精品亚洲一区二区| 国产极品粉嫩免费观看在线| 日本a在线网址| 99在线人妻在线中文字幕 | 成年人黄色毛片网站| 午夜福利欧美成人| 成年版毛片免费区| 国产成人免费无遮挡视频| 国产精品免费大片| 亚洲av成人不卡在线观看播放网| 久久这里只有精品19| 久久人妻熟女aⅴ| 国产蜜桃级精品一区二区三区 | 国产黄色免费在线视频| 丰满迷人的少妇在线观看| 国产精品98久久久久久宅男小说| 热99久久久久精品小说推荐| 久久久久精品人妻al黑| 日本黄色日本黄色录像| 国产精品99久久99久久久不卡| 中文字幕最新亚洲高清| 亚洲人成伊人成综合网2020| 久9热在线精品视频| 国产精品秋霞免费鲁丝片| 黄色毛片三级朝国网站| 悠悠久久av| 精品国产美女av久久久久小说| 国产淫语在线视频| 91老司机精品| 国产97色在线日韩免费| 亚洲性夜色夜夜综合| 亚洲精品美女久久av网站| 大陆偷拍与自拍| 精品免费久久久久久久清纯 | 久久精品亚洲av国产电影网| 久久天堂一区二区三区四区| 免费黄频网站在线观看国产| 又黄又爽又免费观看的视频| 欧洲精品卡2卡3卡4卡5卡区| 欧美色视频一区免费| 国产成人影院久久av| 成人国语在线视频| 精品卡一卡二卡四卡免费| 国产精品一区二区精品视频观看| 日日摸夜夜添夜夜添小说| 亚洲人成伊人成综合网2020| 亚洲精华国产精华精| 露出奶头的视频| 午夜亚洲福利在线播放| 欧美成狂野欧美在线观看| 日韩有码中文字幕| 天堂中文最新版在线下载| 免费看a级黄色片| 亚洲专区国产一区二区| a级毛片黄视频| 亚洲精品成人av观看孕妇| 久久久久久免费高清国产稀缺| 国产精品久久久人人做人人爽| 一级片免费观看大全| 亚洲国产中文字幕在线视频| 亚洲熟女毛片儿| 免费在线观看完整版高清| 欧美日韩乱码在线| 午夜福利在线观看吧| 亚洲精品久久成人aⅴ小说| 成人国产一区最新在线观看| 无限看片的www在线观看| 老司机亚洲免费影院| 在线观看www视频免费| 亚洲国产毛片av蜜桃av| 91麻豆精品激情在线观看国产 | 亚洲精品av麻豆狂野| 国产激情久久老熟女| 日本一区二区免费在线视频| 欧美丝袜亚洲另类 | 99香蕉大伊视频| 狠狠狠狠99中文字幕| 久久中文字幕人妻熟女| 国产精品九九99| 在线看a的网站| 国产精品偷伦视频观看了| 国产成人精品在线电影| 国产淫语在线视频| 老熟妇仑乱视频hdxx| 亚洲精品中文字幕在线视频| ponron亚洲| 国产xxxxx性猛交| 99精国产麻豆久久婷婷| 欧美乱妇无乱码| 啪啪无遮挡十八禁网站| 久久精品人人爽人人爽视色| 精品一品国产午夜福利视频| 超碰97精品在线观看| 999久久久国产精品视频| 国产xxxxx性猛交| 美女午夜性视频免费| 女人被躁到高潮嗷嗷叫费观| 一边摸一边抽搐一进一出视频| 一级毛片精品| 欧美性长视频在线观看| 亚洲三区欧美一区| 久久精品亚洲熟妇少妇任你| www日本在线高清视频| 99久久99久久久精品蜜桃| 成年女人毛片免费观看观看9 | 99久久精品国产亚洲精品| 精品久久久久久电影网| 午夜福利在线观看吧| 日韩大码丰满熟妇| 久久精品91无色码中文字幕| 久久天躁狠狠躁夜夜2o2o| 麻豆国产av国片精品| 丰满迷人的少妇在线观看| 中文亚洲av片在线观看爽 | 国产精品免费一区二区三区在线 | 丰满的人妻完整版| 精品久久久久久,| 啦啦啦免费观看视频1| 日本黄色日本黄色录像| 国产成人精品无人区| 久久香蕉国产精品| 欧美激情 高清一区二区三区| 一区福利在线观看| 久久狼人影院| 久久久国产精品麻豆| 91国产中文字幕| 麻豆av在线久日| 午夜福利在线观看吧| 大型av网站在线播放| 夜夜爽天天搞| 久久这里只有精品19| 久久国产亚洲av麻豆专区| 久久精品亚洲精品国产色婷小说| 91精品国产国语对白视频| 午夜日韩欧美国产| 亚洲av成人一区二区三| 国产在线精品亚洲第一网站| 一本综合久久免费| 老司机靠b影院| 中文亚洲av片在线观看爽 | 久久精品国产亚洲av香蕉五月 | 亚洲成a人片在线一区二区| 成人18禁高潮啪啪吃奶动态图| 亚洲专区字幕在线| 精品久久久精品久久久| 怎么达到女性高潮| 中文字幕av电影在线播放| 曰老女人黄片| 乱人伦中国视频| av欧美777| 丰满的人妻完整版| 国产在线观看jvid| 亚洲欧美色中文字幕在线| 午夜福利乱码中文字幕| 一进一出好大好爽视频| 人成视频在线观看免费观看| 国产精品秋霞免费鲁丝片| 免费观看a级毛片全部| 午夜精品久久久久久毛片777| 如日韩欧美国产精品一区二区三区| x7x7x7水蜜桃| 高清在线国产一区| www日本在线高清视频| 国产野战对白在线观看| 日本欧美视频一区| 久久精品aⅴ一区二区三区四区| 国产主播在线观看一区二区| 深夜精品福利| 老司机影院毛片| 99riav亚洲国产免费| 色婷婷av一区二区三区视频| 久99久视频精品免费| 性少妇av在线| 一进一出抽搐动态| 99久久综合精品五月天人人| 日本撒尿小便嘘嘘汇集6| 亚洲人成电影免费在线| 视频在线观看一区二区三区| a在线观看视频网站| svipshipincom国产片| 三上悠亚av全集在线观看| 日本a在线网址| 大片电影免费在线观看免费| 亚洲av片天天在线观看| 亚洲精品久久午夜乱码| 亚洲中文日韩欧美视频| 色婷婷久久久亚洲欧美| 热re99久久精品国产66热6| 天天躁狠狠躁夜夜躁狠狠躁| 日韩熟女老妇一区二区性免费视频| 午夜精品在线福利| 亚洲人成电影观看| 黄色片一级片一级黄色片| 午夜久久久在线观看| 免费一级毛片在线播放高清视频 | 亚洲av电影在线进入| 国产亚洲欧美在线一区二区| 黄频高清免费视频| 夜夜爽天天搞| 很黄的视频免费| 黄色丝袜av网址大全| 香蕉久久夜色| 色精品久久人妻99蜜桃| 十八禁人妻一区二区| 电影成人av| 国产av又大| 免费不卡黄色视频| 国产成人av教育| 国产成人啪精品午夜网站| 久久ye,这里只有精品| av电影中文网址| 老司机深夜福利视频在线观看| 热re99久久精品国产66热6| tube8黄色片| www.999成人在线观看| 国产黄色免费在线视频| 中文字幕精品免费在线观看视频| 久久久久久久午夜电影 | 国产成人免费观看mmmm| 在线播放国产精品三级| 99国产精品99久久久久| 777久久人妻少妇嫩草av网站| 午夜精品国产一区二区电影| 国产精品久久久人人做人人爽| 最近最新免费中文字幕在线| 伦理电影免费视频| www日本在线高清视频| 亚洲欧美精品综合一区二区三区| ponron亚洲| 久久亚洲精品不卡| 免费女性裸体啪啪无遮挡网站| 色精品久久人妻99蜜桃| 美女扒开内裤让男人捅视频| 久久精品亚洲熟妇少妇任你| 亚洲国产精品合色在线| 99久久人妻综合| 在线免费观看的www视频| 性色av乱码一区二区三区2| 欧美日韩成人在线一区二区| 黑人猛操日本美女一级片| 老司机在亚洲福利影院| av天堂久久9| 久久久国产成人免费| 国产欧美日韩综合在线一区二区| 中出人妻视频一区二区| 99国产精品99久久久久| 成人特级黄色片久久久久久久| 日韩 欧美 亚洲 中文字幕| 欧美亚洲 丝袜 人妻 在线| 一本综合久久免费| 午夜福利一区二区在线看| 18禁裸乳无遮挡免费网站照片 | 80岁老熟妇乱子伦牲交| 日韩欧美免费精品| 国产成人欧美在线观看 | 久久香蕉国产精品| 久久天躁狠狠躁夜夜2o2o| 午夜久久久在线观看| 国产亚洲精品久久久久久毛片 | 一二三四在线观看免费中文在| 99re6热这里在线精品视频| 麻豆国产av国片精品| 久久草成人影院| 99精品在免费线老司机午夜| 精品国产亚洲在线| 国产又色又爽无遮挡免费看| 黄频高清免费视频| 极品人妻少妇av视频| 国产成人精品久久二区二区免费| 日本欧美视频一区| 一级,二级,三级黄色视频| 久久草成人影院| 国产在线精品亚洲第一网站| 成年人午夜在线观看视频| 女人被躁到高潮嗷嗷叫费观| 宅男免费午夜| 亚洲av日韩在线播放| 伦理电影免费视频| 国产成人欧美| 91精品三级在线观看| 极品教师在线免费播放| 中国美女看黄片| av片东京热男人的天堂| 久久国产精品人妻蜜桃| 麻豆乱淫一区二区| 精品乱码久久久久久99久播| 操出白浆在线播放| 777米奇影视久久| 亚洲精品久久午夜乱码| 老司机在亚洲福利影院| 欧美精品高潮呻吟av久久| 深夜精品福利| 桃红色精品国产亚洲av| 黄色怎么调成土黄色| 欧美成人午夜精品| 国产真人三级小视频在线观看| 欧美激情高清一区二区三区| 亚洲人成电影免费在线| 国产aⅴ精品一区二区三区波| 老熟妇乱子伦视频在线观看| 久久天堂一区二区三区四区| 一区在线观看完整版| 人妻久久中文字幕网| 亚洲国产欧美网| 日韩中文字幕欧美一区二区| 久久国产乱子伦精品免费另类| 色94色欧美一区二区| 亚洲国产欧美一区二区综合| 久久久久久亚洲精品国产蜜桃av| 人人妻人人添人人爽欧美一区卜| 亚洲成人免费电影在线观看| 啦啦啦免费观看视频1| 免费人成视频x8x8入口观看| 久久久久国产精品人妻aⅴ院 | 国产99久久九九免费精品| 欧美+亚洲+日韩+国产| 热99久久久久精品小说推荐| 51午夜福利影视在线观看| 91精品三级在线观看| 精品福利永久在线观看| 亚洲精品国产一区二区精华液| 在线国产一区二区在线| 亚洲av成人不卡在线观看播放网| 天天操日日干夜夜撸| 久久精品国产综合久久久| 欧美日韩中文字幕国产精品一区二区三区 | 欧美精品高潮呻吟av久久| 国产男女超爽视频在线观看| 国产精品美女特级片免费视频播放器 | 亚洲三区欧美一区| 国内毛片毛片毛片毛片毛片| 免费久久久久久久精品成人欧美视频| 午夜福利影视在线免费观看| 三上悠亚av全集在线观看| 成年人免费黄色播放视频| 欧美成狂野欧美在线观看| 两个人看的免费小视频| 欧美激情久久久久久爽电影 | 国产99久久九九免费精品| 日韩中文字幕欧美一区二区| 在线观看免费视频网站a站| 免费看十八禁软件| 亚洲国产中文字幕在线视频| 水蜜桃什么品种好| 国产欧美日韩一区二区三| 欧美日韩一级在线毛片| 无限看片的www在线观看| av视频免费观看在线观看| 免费女性裸体啪啪无遮挡网站| 国产单亲对白刺激| 免费在线观看视频国产中文字幕亚洲| 欧美+亚洲+日韩+国产| 90打野战视频偷拍视频| 少妇的丰满在线观看| 亚洲色图av天堂| 欧美黑人欧美精品刺激| 欧美乱妇无乱码| 亚洲精品久久午夜乱码| 精品一区二区三区视频在线观看免费 | 两性夫妻黄色片| 美女福利国产在线| 一区福利在线观看| 满18在线观看网站| 视频区图区小说| 一本大道久久a久久精品| 波多野结衣av一区二区av| 黄频高清免费视频| 成熟少妇高潮喷水视频| 午夜91福利影院| 亚洲国产欧美日韩在线播放| 成年动漫av网址| 国产欧美日韩一区二区精品| 香蕉久久夜色| 欧美黄色片欧美黄色片| 亚洲精品乱久久久久久| 飞空精品影院首页| 啪啪无遮挡十八禁网站| 一级毛片高清免费大全| 一进一出好大好爽视频| 国产单亲对白刺激| 99re在线观看精品视频| www.熟女人妻精品国产| 一本一本久久a久久精品综合妖精| 久久热在线av| 热99久久久久精品小说推荐| 国产91精品成人一区二区三区| 国产精品久久久av美女十八| 大型av网站在线播放| 亚洲精品久久午夜乱码| 80岁老熟妇乱子伦牲交| 久久国产精品人妻蜜桃| 久久香蕉国产精品| 美国免费a级毛片| 亚洲精品中文字幕一二三四区| 香蕉久久夜色| 成人免费观看视频高清| 91大片在线观看| 韩国精品一区二区三区| 露出奶头的视频| 性少妇av在线| 亚洲av成人一区二区三| 亚洲国产毛片av蜜桃av| a在线观看视频网站| 亚洲欧美一区二区三区久久| 80岁老熟妇乱子伦牲交| 久久久精品国产亚洲av高清涩受| 免费看a级黄色片| 国产欧美日韩综合在线一区二区| 亚洲成人免费电影在线观看| 午夜亚洲福利在线播放| 大片电影免费在线观看免费| 老司机深夜福利视频在线观看| 国产免费av片在线观看野外av| 最近最新免费中文字幕在线| 久久热在线av| 日韩制服丝袜自拍偷拍| cao死你这个sao货| 国产成人免费无遮挡视频| 欧美黄色片欧美黄色片| 久久精品国产99精品国产亚洲性色 | 国产精品久久电影中文字幕 | av在线播放免费不卡| 最新的欧美精品一区二区| 成人精品一区二区免费| 日韩欧美一区二区三区在线观看 | 国产1区2区3区精品| 日韩免费av在线播放| 亚洲精品中文字幕一二三四区| 欧美国产精品一级二级三级| 热re99久久精品国产66热6| 91成年电影在线观看| 欧美一级毛片孕妇| 久久人人97超碰香蕉20202| 后天国语完整版免费观看| 麻豆乱淫一区二区| 母亲3免费完整高清在线观看| 每晚都被弄得嗷嗷叫到高潮| 亚洲av第一区精品v没综合| 脱女人内裤的视频| 免费黄频网站在线观看国产| 少妇裸体淫交视频免费看高清 | 亚洲欧美精品综合一区二区三区| 午夜福利,免费看| 国产精品免费大片| 亚洲国产精品sss在线观看 | 亚洲精品久久成人aⅴ小说| 国产熟女午夜一区二区三区| 在线观看舔阴道视频| 老汉色av国产亚洲站长工具| 亚洲精品国产一区二区精华液| 午夜精品国产一区二区电影| 久久久久国内视频| 国产精品免费视频内射| 成人黄色视频免费在线看| 国产在线一区二区三区精| 91麻豆av在线| 99精品欧美一区二区三区四区| 国产人伦9x9x在线观看| 精品一区二区三卡| 人人妻人人澡人人看| 亚洲专区国产一区二区| 久久精品人人爽人人爽视色| 欧洲精品卡2卡3卡4卡5卡区| 亚洲精品中文字幕在线视频| 免费人成视频x8x8入口观看| 美国免费a级毛片| 成年人免费黄色播放视频| 夜夜躁狠狠躁天天躁| 丰满的人妻完整版| 国产aⅴ精品一区二区三区波| 热99久久久久精品小说推荐| 免费久久久久久久精品成人欧美视频| 成人国产一区最新在线观看| 最近最新免费中文字幕在线| 精品国产国语对白av| 亚洲,欧美精品.| 美女扒开内裤让男人捅视频| ponron亚洲| 久久香蕉激情| 中文亚洲av片在线观看爽 | 淫妇啪啪啪对白视频| 在线永久观看黄色视频| 亚洲成国产人片在线观看| 飞空精品影院首页| 丝袜美腿诱惑在线| 精品久久久久久久久久免费视频 | 美国免费a级毛片| 色94色欧美一区二区| 色综合婷婷激情| 亚洲精品美女久久av网站| 日韩欧美在线二视频 | 久久久精品国产亚洲av高清涩受| 国产精品久久久久久精品古装| av超薄肉色丝袜交足视频| 国产精品国产高清国产av | 精品午夜福利视频在线观看一区| 黄色 视频免费看| 18禁裸乳无遮挡免费网站照片 | 精品国内亚洲2022精品成人 | 满18在线观看网站| 一本综合久久免费| 色94色欧美一区二区| 男女高潮啪啪啪动态图| 午夜免费成人在线视频| 精品一区二区三区四区五区乱码| 国产精品综合久久久久久久免费 | 中文字幕人妻熟女乱码| 一级a爱视频在线免费观看| 久久久久久久精品吃奶| 老司机亚洲免费影院| 电影成人av| 亚洲专区中文字幕在线| 日韩欧美在线二视频 | 国产激情久久老熟女| 亚洲美女黄片视频| 欧美日韩一级在线毛片| 亚洲精品一卡2卡三卡4卡5卡| 一夜夜www| 久久精品亚洲精品国产色婷小说| 国产精品.久久久| 美女福利国产在线| 成人免费观看视频高清| 亚洲在线自拍视频| 天堂动漫精品| 黄色a级毛片大全视频| 男女床上黄色一级片免费看| 欧美人与性动交α欧美软件| 99国产精品一区二区蜜桃av | 国产精品九九99| 国产激情欧美一区二区| 久久天堂一区二区三区四区| 国产成人啪精品午夜网站| 久久国产精品男人的天堂亚洲| x7x7x7水蜜桃| 亚洲少妇的诱惑av| 女人精品久久久久毛片| 亚洲专区中文字幕在线| 精品国产一区二区久久| 伊人久久大香线蕉亚洲五| 免费在线观看黄色视频的| 国产深夜福利视频在线观看| e午夜精品久久久久久久| 乱人伦中国视频| 日韩一卡2卡3卡4卡2021年| 纯流量卡能插随身wifi吗| 国产色视频综合| 建设人人有责人人尽责人人享有的| 亚洲五月天丁香| 麻豆乱淫一区二区| 制服诱惑二区| 亚洲国产欧美日韩在线播放| 亚洲人成电影免费在线| 婷婷精品国产亚洲av在线 | 亚洲精品国产区一区二| 国产成人影院久久av| 亚洲欧美精品综合一区二区三区| 久久99一区二区三区| 天天躁日日躁夜夜躁夜夜| 99精国产麻豆久久婷婷| 国产亚洲精品一区二区www | 国产成人av激情在线播放| 久久久久久久午夜电影 | 免费黄频网站在线观看国产| 精品少妇久久久久久888优播| 亚洲aⅴ乱码一区二区在线播放 | 国产91精品成人一区二区三区| 人人妻人人添人人爽欧美一区卜| 亚洲精品粉嫩美女一区| 国产成人免费无遮挡视频| 男女床上黄色一级片免费看| 91老司机精品| 在线天堂中文资源库| 亚洲国产欧美网| 大型av网站在线播放| 亚洲熟女毛片儿| 欧美日韩福利视频一区二区| 韩国精品一区二区三区| 色婷婷av一区二区三区视频| 男女午夜视频在线观看| 久久草成人影院| 国产精品国产av在线观看| 91老司机精品| 美女高潮到喷水免费观看| 亚洲一区中文字幕在线| 在线观看午夜福利视频| 少妇粗大呻吟视频| 精品久久久久久电影网| 天天躁狠狠躁夜夜躁狠狠躁| 一级片'在线观看视频| 久久亚洲精品不卡| 最新美女视频免费是黄的| 99精品欧美一区二区三区四区| 精品国内亚洲2022精品成人 | 视频在线观看一区二区三区| 精品少妇一区二区三区视频日本电影| 国产成人免费观看mmmm| 日韩成人在线观看一区二区三区| 中出人妻视频一区二区| 久久久精品免费免费高清| 91大片在线观看|