999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種改進(jìn)的分布式同步梯度下降法

2021-08-06 06:23:16朱小飛
關(guān)鍵詞:實(shí)驗(yàn)模型

李 梁,王 也,朱小飛

(重慶理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,重慶 400054)

深度學(xué)習(xí)由于在語(yǔ)音、視覺(jué)和自然語(yǔ)言處理等領(lǐng)域的巨大成功而越來(lái)越受歡迎。有一種趨勢(shì)是使用更深、更復(fù)雜的神經(jīng)網(wǎng)絡(luò)模型,訓(xùn)練的數(shù)據(jù)集則越來(lái)越大。這樣的模型通常需要幾個(gè)小時(shí)、幾天甚至幾周才能完成訓(xùn)練,分布式的訓(xùn)練模型的目的就是提升模型的訓(xùn)練速度[1-10]。采用遠(yuǎn)程通信機(jī)制(RDMA)來(lái)優(yōu)化[1],因?yàn)樵诜植际江h(huán)境下,并行處理可以更快地完成計(jì)算部分,而網(wǎng)絡(luò)通信造成的延遲在整個(gè)過(guò)程中可能變得更加明顯,但是優(yōu)化后的分布式集群則表現(xiàn)出了良好的性能,且隨著計(jì)算節(jié)點(diǎn)的增加,表現(xiàn)出良好的可擴(kuò)展性。但是RMDA需要的是InfiniBand,因此也未必是一個(gè)直接可用的方法。Ferdinand等[2]提出對(duì)集群的性能做出一個(gè)評(píng)估,然后做出參數(shù)的設(shè)定以及節(jié)點(diǎn)的分配,這樣做的確可以充分利用集群的計(jì)算能力,但同時(shí)對(duì)設(shè)備的要求十分苛刻。

在本文中,重點(diǎn)研究隨機(jī)梯度下降法(SGD)在異構(gòu)集群中的優(yōu)化,其中主要流程是一組計(jì)算節(jié)點(diǎn)(worker),結(jié)果經(jīng)過(guò)計(jì)算各自所分配的樣本,然后將計(jì)算之后的梯度反饋給參數(shù)服務(wù)器。在這里有2種方法可以將梯度反饋給參數(shù)服務(wù)器,一種是異步梯度下降法(ASGD)[3];另一種是同步梯度下降法(SSGD)[4]。SSGD往往未能實(shí)現(xiàn)自己的理論計(jì)算加速,是由于異構(gòu)集群中各個(gè)節(jié)點(diǎn)的計(jì)算能力差異導(dǎo)致worker之間返回的梯度時(shí)間不同,而同步梯度下降法需要等待所有節(jié)點(diǎn)均計(jì)算完成之后才進(jìn)行下一步任務(wù),這大大減緩了模型的更新速度。因此,由于時(shí)間浪費(fèi)在等待計(jì)算能力差的worker(散亂者)上,傳統(tǒng)的SSGD常常被認(rèn)為是不切實(shí)際的。Chen等[5]提出的back up的SSGD重新審視了這些傳統(tǒng)觀念,并考察了這2種方法的弱點(diǎn),證明了第3種方法,即與備份worker同步優(yōu)化,可以避免異步噪音,同時(shí)減輕最壞的散亂者。雖然這種緩解方法利用了大部分工作節(jié)點(diǎn),但其他的工作節(jié)點(diǎn)被丟棄,這并不是非常理想的[2]。也有學(xué)者提出了一種并行化SSGD的方法,主要想法是確定每個(gè)worker的計(jì)算時(shí)間,然后結(jié)合所有worker的不同貢獻(xiàn),提供了一個(gè)收斂分析和優(yōu)化組合功能,這樣做也能夠提升模型的訓(xùn)練速度[11-12]。但是這樣做需要對(duì)各個(gè)節(jié)點(diǎn)的計(jì)算能力進(jìn)行一個(gè)評(píng)估,因此牽扯的因素比較多,較為復(fù)雜。

在SSGD具備保證模型訓(xùn)練準(zhǔn)確性的前提下,提出一種參數(shù)的分配機(jī)制來(lái)解決分布式訓(xùn)練同步梯度的效率問(wèn)題,這樣不僅能夠提高對(duì)worker節(jié)點(diǎn)的利用率,而且不需要對(duì)設(shè)備提出要求即可實(shí)現(xiàn),使得分布式神經(jīng)網(wǎng)絡(luò)的訓(xùn)練更方便提速。

1 對(duì)分布式神經(jīng)網(wǎng)絡(luò)訓(xùn)練的分配優(yōu)化

在同步更新的時(shí)候,每次梯度更新,要等所有分發(fā)出去的數(shù)據(jù)計(jì)算完成,返回結(jié)果,把梯度累加計(jì)算均值之后,再更新參數(shù)。這樣的好處是loss的下降比較穩(wěn)定,但是這個(gè)的壞處也很明顯,處理的速度取決于最慢的那個(gè)分片計(jì)算的時(shí)間,所以本文采取一個(gè)分配機(jī)制,來(lái)為計(jì)算能力差的節(jié)點(diǎn)減輕計(jì)算量,相反能力強(qiáng)的節(jié)點(diǎn)加重計(jì)算量。

1.1 參數(shù)的設(shè)置

1)合計(jì)的副本數(shù)(replicas to aggregate)

在分布式神經(jīng)網(wǎng)絡(luò)中,同步梯度的更新是通過(guò)worker計(jì)算完成之后,一同傳遞給參數(shù)服務(wù)器,然后再梯度平均,之后更新參數(shù),如圖1所示。

圖1 同步梯度下降法運(yùn)行流程框圖

從圖1中可以看出:在梯度平均之前必須要等待GPU0到GPU n所有的計(jì)算節(jié)點(diǎn)計(jì)算完成的梯度。那么合計(jì)副本數(shù)是指在梯度平均時(shí)我們需要平均多少個(gè)梯度,以圖1為例,合計(jì)副本數(shù)就是n,因?yàn)槲覀儗⒁骄鵱個(gè)梯度。

2)計(jì)算的副本數(shù)(total num replicas)

在單機(jī)單GPU的訓(xùn)練中,數(shù)據(jù)的輸入是以一個(gè)batch為單位訓(xùn)練的。在多GPU中,數(shù)據(jù)一次處理n個(gè)batch(假設(shè)是n個(gè)GPU訓(xùn)練),每個(gè)GPU處理一個(gè)batch的數(shù)據(jù)計(jì)算。在這里,物理設(shè)備數(shù)就是n,計(jì)算的副本數(shù)也是n,因?yàn)槊看涡枰?jì)算n個(gè)batch,因此計(jì)算的副本數(shù)是指每次需要計(jì)算的batch的數(shù)量。

3)傳統(tǒng)的同步梯度下降法

傳統(tǒng)的方法中,合計(jì)的副本數(shù)等于計(jì)算的副本數(shù),這兩者也都等于物理設(shè)備數(shù)。那么,每個(gè)GPU的計(jì)算時(shí)間Tnum如式(1)所示,最終消耗的時(shí)間Tf如式(2)所示。

式中:num代表物理設(shè)備數(shù);B代表每個(gè)batch的大小;CA代表GPU的計(jì)算能力;Tnet代表網(wǎng)絡(luò)帶寬的耗時(shí)。從式(1)(2)中看出:最終的計(jì)算時(shí)間取決于耗時(shí)最長(zhǎng)的GPU的計(jì)算時(shí)間加上網(wǎng)絡(luò)帶寬的耗時(shí)。

1.2 對(duì)同步梯度的改進(jìn)

將基于同步梯度下降法的batch size分配機(jī)制在原有的基礎(chǔ)上做出新的設(shè)計(jì)與修改,具體流程如圖2所示,其中物理設(shè)備數(shù)為n,計(jì)算副本數(shù)為m,合計(jì)副本數(shù)也為m。

圖2 改進(jìn)的同步梯度下降法流程框圖

1.2.1 樣本的切分

在改進(jìn)的同步梯度下降法中,首先需要進(jìn)行樣本的切分,這樣能夠縮小每個(gè)GPU之間的計(jì)算差異,例如以一個(gè)單位為500的batch size,2個(gè)GPU(性能差距較大)對(duì)batch進(jìn)行計(jì)算,那么它們的時(shí)間差肯定是大于單位為50的batch size。但是把batch單純的設(shè)置小并不是一個(gè)合理的方案,因?yàn)檫@會(huì)對(duì)準(zhǔn)確度有所影響,所以我們才進(jìn)行樣本的切分,這樣就如同把單位為500的batch size替換成10個(gè)單位為50的batch一樣,等這10個(gè)batch size的梯度全部計(jì)算完成之后才開(kāi)始進(jìn)行更新,這樣就不會(huì)對(duì)準(zhǔn)確率有影響。

1.2.2 容器的用途

在樣本的切分之后,把切分后的樣本存放在容器里,然后逐個(gè)分配給各個(gè)節(jié)點(diǎn)。由于樣本是經(jīng)過(guò)切分的,所以物理設(shè)備數(shù)是不能一次分配完樣本的,因此計(jì)算的副本數(shù)是大于物理設(shè)備數(shù)的。

1.2.3 計(jì)算節(jié)點(diǎn)與梯度存儲(chǔ)器

計(jì)算節(jié)點(diǎn)在開(kāi)始計(jì)算之后,便從容器中逐個(gè)的提取樣本,每個(gè)GPU每次輸入一個(gè)batch,計(jì)算完成之后便將梯度傳遞到梯度存儲(chǔ)器中,如果梯度存儲(chǔ)器中的梯度數(shù)量尚未達(dá)到合計(jì)的副本數(shù),那么容器將繼續(xù)把剩余的樣本池中的一個(gè)輸入分配給剛剛上傳梯度的GPU(剛剛完成梯度計(jì)算)。如果梯度存儲(chǔ)器中的梯度等于合計(jì)的副本數(shù),那么容器開(kāi)始停止分配,計(jì)算節(jié)點(diǎn)也停止計(jì)算,梯度存儲(chǔ)器將梯度上傳給參數(shù)服務(wù)器。如果我們控制計(jì)算副本數(shù)與合計(jì)副本數(shù)相等,那么樣本池里的樣本是在梯度存儲(chǔ)器上傳梯度之前剛好完成計(jì)算的。如果我們控制計(jì)算副本數(shù)大于合計(jì)的副本數(shù),如式(3)所示。這樣便可以加入文獻(xiàn)[5]中所提到的backup worker方法。

計(jì)算副本數(shù)=合計(jì)副本數(shù)+backup worker(3)

1.2.4 耗時(shí)的估算

在改進(jìn)的同步梯度下降法中,各個(gè)工作節(jié)點(diǎn)之間不再像傳統(tǒng)的方法那樣,在計(jì)算完成梯度之后等待其他未完成計(jì)算的節(jié)點(diǎn),而是在計(jì)算完成之后上傳梯度到梯度存儲(chǔ)器中,之后馬上去計(jì)算下次容器中分配的樣本,這樣做可以實(shí)現(xiàn)對(duì)GPU的充分利用,使得計(jì)算能力強(qiáng)的節(jié)點(diǎn)計(jì)算多個(gè)樣本,能力差的計(jì)算相對(duì)少量的樣本,從而實(shí)現(xiàn)模型更快速地訓(xùn)練。

2 實(shí)驗(yàn)分析

2.1 實(shí)驗(yàn)設(shè)備

操作系統(tǒng)是Ubuntu16.04,編譯環(huán)境是python3.6,深度學(xué)習(xí)框架是TensorFlow,GPU是4塊GTX 1080Ti,相關(guān)配置為cuda9.0和cudnn7,分布式梯度更新采用同步梯度下降法。為了更好地反映出異構(gòu)集群的各個(gè)節(jié)點(diǎn)的計(jì)算能力的差距,實(shí)驗(yàn)中采用1個(gè)CPU和3個(gè)GPU構(gòu)成4個(gè)計(jì)算節(jié)點(diǎn),承擔(dān)worker的責(zé)任,參數(shù)服務(wù)器采用CPU作為節(jié)點(diǎn),最后一塊GPU做備份節(jié)點(diǎn)。集群結(jié)構(gòu)如圖3所示。

圖3 集群結(jié)構(gòu)框圖

2.2 實(shí)驗(yàn)數(shù)據(jù)和神經(jīng)網(wǎng)絡(luò)模型

實(shí)驗(yàn)1的實(shí)驗(yàn)數(shù)據(jù)是一個(gè)帶有標(biāo)注的英文短語(yǔ)正負(fù)情緒判斷,分別為0和1。其中每句的長(zhǎng)度大約為40個(gè)單詞,共7 086個(gè)句子,2 324個(gè)不重復(fù)的單詞。對(duì)于這個(gè)2組語(yǔ)料,各抽取80%的文本作為訓(xùn)練集,20%文本為測(cè)試集。神經(jīng)網(wǎng)絡(luò)模型是循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示,其中輸入的每個(gè)張量大小為batch size*1*41,batch size是指一次訓(xùn)練所需要的樣本數(shù)量,為可調(diào)控參數(shù)。神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)是2個(gè)循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)加上1個(gè)全鏈接層和1個(gè)SoftMax函數(shù),最終輸出預(yù)測(cè)結(jié)果。

圖4 實(shí)驗(yàn)1網(wǎng)絡(luò)結(jié)構(gòu)流程框圖

實(shí)驗(yàn)2的數(shù)據(jù)則是經(jīng)典的mnist手寫(xiě)體數(shù)據(jù)集,訓(xùn)練集有60 000個(gè)用例,即該文件里包含了60 000個(gè)標(biāo)簽內(nèi)容,每一個(gè)標(biāo)簽的值為0~9的某個(gè)數(shù),每張圖片在處理之后的矩陣維度為28*28的大小。其中把80%的圖片作為訓(xùn)練集,20%作為測(cè)試集。其中輸入的每個(gè)張量大小為batch size*28*28*1,之后有2個(gè)block,每個(gè)block包含1個(gè)卷積層(Convolutional layer)、1個(gè)ReLu激活函數(shù)和1個(gè)池化層(Max pooling),最后外接2個(gè)全連接層(fully connected layer),最終輸出圖片的預(yù)測(cè)分類。實(shí)驗(yàn)2詳細(xì)的網(wǎng)絡(luò)結(jié)構(gòu)流程如圖5所示。

圖5 實(shí)驗(yàn)2網(wǎng)絡(luò)結(jié)構(gòu)流程框圖

實(shí)驗(yàn)3的數(shù)據(jù)集為cifar10,它擁有10 000張24*24大小的彩色圖片,即圖片的通道數(shù)為3。數(shù)據(jù)集的標(biāo)簽是0~9的某個(gè)數(shù),屬于圖像分類預(yù)測(cè)問(wèn)題。其中我們把80%的圖片作為訓(xùn)練集,20%作為測(cè)試集。實(shí)驗(yàn)3的神經(jīng)網(wǎng)絡(luò)模型中,輸入大小是batch size*24*24*3,網(wǎng)絡(luò)結(jié)構(gòu)包含了卷積層、空洞卷積層(Atrous Convolution)、BN層及池化層等,最終輸入圖片的預(yù)測(cè)分類,具體網(wǎng)絡(luò)結(jié)構(gòu)流程如圖6所示。

圖6 實(shí)驗(yàn)3網(wǎng)絡(luò)結(jié)構(gòu)流程框圖

實(shí)驗(yàn)4數(shù)據(jù)集為衛(wèi)星圖片數(shù)據(jù)集,其中每張圖片大小為576*384,通道數(shù)為16通道,共約50萬(wàn)張圖片,每張圖片大小為300萬(wàn)個(gè)像素點(diǎn),訓(xùn)練的標(biāo)簽是一種掩膜的圖片[12],其中有約300個(gè)像素點(diǎn)被打上標(biāo)簽1,其余像素全是0,這些標(biāo)簽1的位置是熱帶氣旋的坐標(biāo)點(diǎn)。實(shí)驗(yàn)4的網(wǎng)絡(luò)模型采用DeepLabv3+的模型[11-12],屬于圖像的語(yǔ)義分割,張量的輸入大小為batch size*576*384*16,網(wǎng)絡(luò)結(jié)構(gòu)包含卷積層、池化層、空洞卷積層以及反卷積層(deconvolution layer),網(wǎng)絡(luò)模型引入經(jīng)典的ASPP思想、殘差網(wǎng)絡(luò)以及encode+decoder方法[11],網(wǎng)絡(luò)的輸出是同等規(guī)模的掩膜圖片,通過(guò)計(jì)算miou得出熱帶氣旋的坐標(biāo)覆蓋率,模型如圖7所示。

圖7 實(shí)驗(yàn)4網(wǎng)絡(luò)結(jié)構(gòu)流程框圖

2.3 實(shí)驗(yàn)結(jié)果的對(duì)比與分析

針對(duì)實(shí)驗(yàn)1~4的數(shù)據(jù)集以及網(wǎng)絡(luò)模型,通過(guò)多次實(shí)驗(yàn)分別統(tǒng)計(jì)出了單機(jī)、多機(jī)(4個(gè)節(jié)點(diǎn))以及改進(jìn)之后的多機(jī)(4個(gè)節(jié)點(diǎn))的耗時(shí)(單位:s),實(shí)驗(yàn)結(jié)果如表1所示。

表1 實(shí)驗(yàn)耗時(shí)統(tǒng)計(jì)結(jié)果 s

從實(shí)驗(yàn)結(jié)果可以看出:多機(jī)訓(xùn)練相對(duì)于單機(jī)訓(xùn)練可以提升模型的訓(xùn)練速度,但是由于在同步梯度下降法中的梯度的更新取決于能力最差的計(jì)算節(jié)點(diǎn),所以在異構(gòu)的集群中的加速效果并不理想,但是在引入所提出的優(yōu)化算法之后可以大幅度提升訓(xùn)練速度,在實(shí)驗(yàn)1~4中均可得出相同的結(jié)論[13]。

準(zhǔn)確率統(tǒng)計(jì)結(jié)果如表2所示,從圖中可以看出誤差控制在范圍之內(nèi)。

表2 實(shí)驗(yàn)準(zhǔn)確率統(tǒng)計(jì)結(jié)果

2.4 實(shí)驗(yàn)參數(shù)設(shè)置

改進(jìn)的同步梯度下降法中有3個(gè)敏感參數(shù),分別是物理設(shè)備數(shù)(n)、計(jì)算副本數(shù)(m)以及合計(jì)副本數(shù)(m)。本次實(shí)驗(yàn)中的物理設(shè)備數(shù)n為4(3個(gè)GPU計(jì)算節(jié)點(diǎn)+1個(gè)CPU計(jì)算節(jié)點(diǎn)),計(jì)算副本數(shù)與合計(jì)副本數(shù)都為m,物理設(shè)備數(shù)n與m之間的關(guān)系如式(4)所示。

式中:α代表m和n之間的系數(shù)關(guān)系。針對(duì)實(shí)驗(yàn)1、2、3、4對(duì)參數(shù)α進(jìn)行敏感分析,實(shí)驗(yàn)結(jié)果如圖8、9、10、11所示,其中橫坐標(biāo)代表α參數(shù),縱坐標(biāo)代表訓(xùn)練模型的耗時(shí),圖中可以直觀地表示出α參數(shù)對(duì)訓(xùn)練模型耗時(shí)的影響。

圖8 實(shí)驗(yàn)1中α參數(shù)對(duì)耗時(shí)的影響曲線

圖9 實(shí)驗(yàn)2中參數(shù)對(duì)耗時(shí)的影響曲線

圖10 實(shí)驗(yàn)3中α參數(shù)對(duì)耗時(shí)的影響曲線

圖11 實(shí)驗(yàn)4中α參數(shù)對(duì)耗時(shí)的影響曲線

對(duì)比圖8~11的參數(shù)α敏感實(shí)驗(yàn)數(shù)據(jù)與表1中的多機(jī)耗時(shí)以及優(yōu)化的多機(jī)耗時(shí),發(fā)現(xiàn)當(dāng)參數(shù)α等于1時(shí),即物理設(shè)備數(shù)(n)=計(jì)算副本數(shù)(m)=合計(jì)副本數(shù)(m),耗時(shí)等同于傳統(tǒng)非優(yōu)化的方法。隨著α參數(shù)的增加,各個(gè)實(shí)驗(yàn)集群耗時(shí)出現(xiàn)降低狀況,代表優(yōu)化的同步梯度下降法相比傳統(tǒng)方法已經(jīng)表現(xiàn)出了更加出色的加速效果,當(dāng)參數(shù)α控制在2~2.25之間,出現(xiàn)了訓(xùn)練耗時(shí)最低的情況,這代表加速狀態(tài)到達(dá)理想最優(yōu)值。隨著α參數(shù)繼續(xù)增大,耗時(shí)開(kāi)始逐步提升,這表明加速效果已經(jīng)過(guò)了峰值。

對(duì)實(shí)驗(yàn)1~4參照?qǐng)D8~11按照平均加速比的方式繪制α對(duì)加速比的影響圖,平均加速比如式(5)所示。

式中:Rα(mean)代表實(shí)驗(yàn)1、2、3、4中參數(shù)α對(duì)應(yīng)的平均加速比;N代表實(shí)驗(yàn)序號(hào),本次實(shí)驗(yàn)中N=4;Tαi代表在第i次實(shí)驗(yàn)中α參數(shù)對(duì)應(yīng)的耗時(shí);Ti(α=1)代表在第i次實(shí)驗(yàn)中α=1的耗時(shí)量,即非優(yōu)化的多機(jī)耗時(shí)。通過(guò)式(5)繪制出圖12,其中橫坐標(biāo)代表α,縱坐標(biāo)代表Rα(mean)。

圖12 α參數(shù)對(duì)應(yīng)加速比曲線

圖12的實(shí)驗(yàn)結(jié)果顯示:當(dāng)α等于1時(shí),Rα(mean)表示傳統(tǒng)方法與改進(jìn)方法相同,隨著α的增大,加速比不斷提高,大約在2.25左右到達(dá)加速比最大值1.9,即表示相對(duì)傳統(tǒng)多機(jī)算法,改進(jìn)后的算法可以提升1.9倍的模型訓(xùn)練速度。

3 結(jié)論

提出了一種改進(jìn)的同步梯度下降法,擬在分布式神經(jīng)網(wǎng)絡(luò)訓(xùn)練中有更快速的訓(xùn)練。該方法主要通過(guò)添加一個(gè)容器來(lái)實(shí)現(xiàn)對(duì)樣本的切分,進(jìn)而使訓(xùn)練模型中存在一個(gè)樣本動(dòng)態(tài)分配機(jī)制,最終使各個(gè)工作節(jié)點(diǎn)能夠被充分利用,避免了同步梯度下降中的等待機(jī)制,克服了異構(gòu)集群中各個(gè)計(jì)算節(jié)點(diǎn)存在差距的缺點(diǎn),加速模型訓(xùn)練。對(duì)于計(jì)算副本數(shù)與物理設(shè)備數(shù)之間的α參數(shù)關(guān)系,進(jìn)行實(shí)驗(yàn)分析,得出了能更好地控制加速模型訓(xùn)練的參數(shù)。引入更復(fù)雜的備份節(jié)點(diǎn)以及α參數(shù)對(duì)神經(jīng)網(wǎng)絡(luò)其他超參數(shù)的影響將是下一步的研究?jī)?nèi)容。

猜你喜歡
實(shí)驗(yàn)模型
一半模型
記一次有趣的實(shí)驗(yàn)
微型實(shí)驗(yàn)里看“燃燒”
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
做個(gè)怪怪長(zhǎng)實(shí)驗(yàn)
3D打印中的模型分割與打包
NO與NO2相互轉(zhuǎn)化實(shí)驗(yàn)的改進(jìn)
實(shí)踐十號(hào)上的19項(xiàng)實(shí)驗(yàn)
太空探索(2016年5期)2016-07-12 15:17:55
FLUKA幾何模型到CAD幾何模型轉(zhuǎn)換方法初步研究
主站蜘蛛池模板: 国产精品99在线观看| 久久永久精品免费视频| 午夜精品久久久久久久99热下载 | 婷婷五月在线| 亚洲综合精品香蕉久久网| 久久国产香蕉| 国产午夜无码专区喷水| 亚洲中文字幕国产av| 久久久黄色片| 色综合天天操| 国产又粗又猛又爽视频| 青青热久麻豆精品视频在线观看| 国产SUV精品一区二区6| 国产精品吹潮在线观看中文| 国产AV无码专区亚洲A∨毛片| 久久黄色影院| 国产视频一区二区在线观看| 国产精品爽爽va在线无码观看 | 国产波多野结衣中文在线播放 | 人妻丝袜无码视频| 久久伊人操| 久久亚洲天堂| 欧美色综合久久| 久久精品国产国语对白| 一区二区午夜| 一本久道久综合久久鬼色| 九色视频最新网址| 啪啪啪亚洲无码| 日韩久草视频| 日本尹人综合香蕉在线观看| 亚洲视频一区在线| 成人小视频网| 精品91在线| 欧美在线精品一区二区三区| 久久中文字幕不卡一二区| 久久性妇女精品免费| 国产免费好大好硬视频| 欧美特级AAAAAA视频免费观看| 国产精品任我爽爆在线播放6080 | 1769国产精品免费视频| 亚卅精品无码久久毛片乌克兰| 亚洲精品午夜天堂网页| 亚洲日韩精品无码专区97| 91久久偷偷做嫩草影院| 美女无遮挡免费视频网站| 91精品在线视频观看| 婷婷99视频精品全部在线观看| 国产国语一级毛片| 日韩欧美国产成人| 亚洲国产精品VA在线看黑人| 久久99精品国产麻豆宅宅| 99re精彩视频| 91丝袜乱伦| 亚洲乱亚洲乱妇24p| 国产又色又刺激高潮免费看| 免费一级α片在线观看| 亚洲中文无码h在线观看| 午夜少妇精品视频小电影| 91精品久久久无码中文字幕vr| 久久免费视频6| 成人毛片在线播放| 99久久性生片| 亚洲人成色在线观看| 国产综合亚洲欧洲区精品无码| 国产精品久久久久久久久久98| 国产成人精品一区二区免费看京| 日本免费福利视频| 国产无吗一区二区三区在线欢| 国产一线在线| 国产成人艳妇AA视频在线| 99热最新网址| 国产免费看久久久| 亚洲精品国产首次亮相| 久久夜色精品国产嚕嚕亚洲av| 国产成年无码AⅤ片在线| 国产理论最新国产精品视频| 精品国产香蕉在线播出| 国产Av无码精品色午夜| 亚洲人成影视在线观看| 日韩免费毛片| 日本尹人综合香蕉在线观看 | 91网址在线播放|