《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > Facebook新研究優化硬件浮點運算,強化AI模型運行速率

Facebook新研究優化硬件浮點運算,強化AI模型運行速率

2018-11-30

近日,Facebook 發布文章,介紹了一項新研究,該研究提出了一種使人工智能模型高效運行的方法,從根本上優化了浮點運算。


近年來,計算密集型的人工智能任務推動了各種用于高效運行這些強大的新型系統的定制化硬件的出現。我們采用浮點運算來訓練深度學習模型,如 ResNet-50 卷積神經網絡。但是,由于浮點數十分消耗資源,真正部署的人工智能系統通常依賴于使用 int8/32 數學運算的少數幾個流行的整型量化技術。


Facebook 開發了一種使人工智能模型高效運行的方法?;?70 多年前計算機科學發展初期的思想,該方法從根本上優化了浮點運算。


Facebook 對浮點數進行了徹底的改造,使它比 int8/32 數學運算的效率高出 16%。該方法用于卷積神經網絡時,網絡仍能達到很高的準確率,此外它還具備以下優勢:


該技術可以提高人工智能研發的速度。當該方法被應用于人工智能模型訓練中使用的更高精度的浮點數時,模型訓練的效率能夠提高 69%。

如今,模型通常使用浮點數進行訓練,但是之后它們必須轉換成更高效的、可以部署到生產環境中的量化格式。如果使用該方法,在部署模型時就不需要重新訓練或重新學習。這樣一來,人工智能開發者就可以更容易地部署高效的新模型。

現在的整型量化方法正變得越來越復雜。在某些情況下,這些方法可能對某些特定任務「過擬合」(因此不能維持通用性)。高效的通用浮點運算可以在保持準確率的情況下避免過擬合問題。


論文「Rethinking float point for deep learning」詳細介紹了 Facebook 的這項技術。開發使用這些新技術執行浮點運算的新芯片需要耗費一定的時間。但這樣做可能得到的好處包括使數據中心的人工智能計算速度更快,在移動設備上獲得更好的人工智能運算性能的低功耗設計,以及在進行較少的軟件更改的情況下以更簡單、迅速的方法達到性能目標。摩爾定律正在逐漸減速,而「暗硅」(dark silicon)時代即將到來。持續的性能提升需要重新考慮幾十年前的底層硬件設計決策(比如 IEEE 754 浮點標準),以及在合適的情況下使用數學近似(mathematical approximation)。尤其是神經網絡的出現成為對它們進行重新評估的絕佳契機,因為神經網絡對數值運算的變化和實驗具有相當大的容忍度。


Facebook 為 ASIC/FPGA 做出的硬件設計和為評估編寫的 C++/PyTorch 代碼已經向人工智能社區開放。


地址:http://github.com/facebookresearch/deepfloat


傳統的浮點運算


眾所周知,浮點數可以在合理的計算機存儲空間中表示大小實數,其使用的系統與科學計數法大體相似。這種格式可用于以固定寬度的編碼和基數(通常是二進制)表示 1,000,000 和 0.0625 這樣的值。需要注意的是,浮點數只能精確地表示有限的實數,因為我們擁有的比特位數是有限的。所有其他值都可以用一種四舍五入的形式表示為最接近的可以表示出來的浮點值。


傳統的二進制浮點格式包含符號(sign)、尾數(significand)和指數(exponent)。符號位表示數字是正的還是負的。尾數(其小數部分通常稱為尾數)是形如 0.bbb... 或 1.bbb... 的二進制定點數,其中小數部分 bbb… 由若干二進制位在基數點之后表示的。(在十進制運算中,基數點也稱為小數點,將整數與小數部分分開。)指數是一個有符號整數,它表示尾數需要乘以 2 的多少次冪。尾數有前導二進制 1(1.bbb…)的情況是規格化的,而尾數有前導二進制 0(0.bbb…)的情況是非規格化的(二者可以相互轉化)?,F代計算機中常用的 IEEE 754 浮點標準有規格化和非規格化兩種尾數表示方法。尾數的前導位不需要被顯式存儲;在 IEEE 754 中,指數域決定前導位是 1 還是 0。


下圖顯示了以 16 位 IEEE 754 的 binary16 半精度浮點數對 -1.625 進行的編碼,它具有固定大小的 5 位指數和 10 位的尾數部分。IEEE 指數的偏置值為 -15,因此下面編碼的指數 15 實際上表示(15-15)即 0。

微信圖片_20181130193232.jpg


人工智能運算的現狀和未來


為許多人工智能系統賦能的神經網絡通常使用 32 位 IEEE 754 binary32 單精度浮點數進行訓練。將位數降低到 16 位(半精度浮點數或類似 bfloat16 的格式)會獲得一定的性能提升,但與同樣位寬整數運算的效率相比,它仍然相形見絀。這些浮點變量可以很容易地使用原來的 32 位浮點神經網絡數據,但要將整數量化到 8 位(或更少)常常需要學習量化參數并對模型進行再訓練。許多 int8/32 量化方案可以像原始的浮點模型達到同樣的準確率,但是它們也可能在處理任務時發生過擬合現象,從而無法在 ImageNet 驗證集以外的任務上保證其準確率。


但是對于今天的計算機運算來說,除了整數、定點或浮點運算外,還有許多其他的選擇。其中一些方法可以追溯到 20 世紀 50 年代:


非線性尾數映射

二進制隨機數

熵編碼


Facebook 使用這一思路創造出了一種浮點運算,其性能超過 int8/32。該方法的實現與目前硬件中的浮點運算及其變體(如非規格化的清零行為或字大小/字段位寬度變化,如 bfloat16 或 minifloat)有很大的區別。與 int8/32 量化不同的是,該實現仍然是一種通用的浮點運算,可以直接對其運算結果進行解釋。


實現更高效浮點運算的關鍵


為了開發一種高效浮點運算的新方法,Facebook 研究人員認真分析了硬件浮點數低效的各種原因:


字(word)大小過大:有很大一部分算力被用于移動數據:從外部的 DRAM 到內部的 SRAM,從 SRAM 到寄存器,或從寄存器到寄存器(觸發器)。浮點的字大小越大,消耗的算力就越多。

通用的定點數機制:尾數是定點數,定點數的加法器、乘法器和除法器是算術運算所必需的。浮點類型的精度(尾數長度)越高,這些組件就越大。硬件乘法器和除法器通常比硬件加法器更消耗資源(芯片面積、功耗和延遲)。

通用的浮點數機制:該機制處理基數點的「浮點」,因此是浮點表示法的一部分。例如,用于重新規格化的前導零(LZ)計數器、用于尾數對齊的移位器和舍入邏輯。浮點精度也對該機制所使用的硬件資源有很大的影響。

IEEE 754 的專有機制:這為 IEEE 754 標準中實現的逐漸下溢提供了非規格化的支持,并提供了額外的移位器、LZ 計數器和尾數重新規格化所需要的其他修改。非規格化的處理增加了大多數浮點操作的復雜性和計算開銷。


減小字大小


縮小字(word)的大小可以顯著地提升算力的利用率。我們可以嘗試將 32 位數據壓縮為 8 位或 16 位。典型的浮點數固定大小字段編碼迫使我們做出困難的選擇,是減少動態范圍(指數)還是減小精度(尾數),而我們需要的是二者的折中。


我們可以用不同的方式來處理這種權衡。浮點數本身就是(無限精度)實數的量化形式。適用于見過的數據分布的量化器在數據復制的過程中誤差會較小。對于在通用計算機上遇到的數據分布,我們通常沒有太多的先驗知識。然而,神經網絡的分布在實際中是接近高斯分布的,有時還會受到批歸一化等過程的控制。標準浮點數盡可能保證尾數在 10^-5 的精度與在 10^5 的精度相當,但大多數神經網絡在一個相對較小的范圍內(如 -10.0 到 10.00)執行計算。這個范圍內的小數字(例如 0.0001)會被頻繁使用,而大數字的使用頻率較低。理想情況下,我們可以改變量化器,在需要的地方提供更高的精度,并保持一定的小數字動態范圍。


縮減(tapered)浮點數可以幫助實現這些目標并減小字的大小。Gustafson 提出的 Posit 方法是一種效果很好的縮減形式。Posit 使用無前綴編碼將指數編碼為可變位數,其余部分為尾數。它在+/-1.0 左右將精度最大化,而在 0 或+/-∞ 處的精度則較低。它的壓縮和擴展都是有損的,以損失某些地方的精度為代價來保證在其他地方的動態范圍。因此,與 IEEE 風格的浮點數相比,它可以提供更高的精度(在某些地方)和更大的動態范圍。當我們不知道待處理數據的數據分布時,posit 可以擴展到其他無前綴編碼中(比如霍夫曼編碼)。


定點數機制


我們可以設法避免在尾數上進行的乘法和除法運算。尾數可以被看作是小數部分的映射 f(x),它將取值范圍在 [0, 1) 間的定點數 x 映射到 [1, 2) 中。(這種方法在 Lindstrom 等人 2018 年的論文《Universal Coding of the Reals: Alternatives to IEEE Floating Point》中有詳細的介紹。)在典型的規格化浮點運算中,f(x) 是仿射函數 1+x(我們稱之為線性域數)。


當 f(x) = 2^x 時,我們可以使用對數數字系統(LNS)將乘法和除法變成加法和減法。不過,添加 LNS 需要大量的硬件查找表來計算兩個對數域數的和或差。這是采用 LNS 的一個主要問題,因為這些表可能比硬件乘法器更難以處理。注意,典型的浮點數已經是對數(指數)和線性(尾數)表示的組合,但是 LNS 表示完全是基于對數的。


浮點數機制


在計算機線性代數中,有效的操作是「乘加」:計算值「c」和 a 與 b 乘積「a x b」的和,得到「c + a x b」。通常情況下,對于 ResNet-50 等模型,單個累加器中可能會對數千個這樣的乘積求和;在部署過程中運行一個模型時涉及數百萬獨立累加操作,而訓練模型時則需要進行數以億計的累加操作。


浮點融合乘加(FMA)是一種常見的乘加方法,它能夠減小誤差,但它比標準的浮點加法器或乘法器復雜得多。一種稱為 Kulisch 累加的技術可以避免 FMA 的復雜操作。類似的操作在第一臺可編程數字計算機 Konrad Zuse Z3 上被采用過。Gustafson 也在他最近的浮點研究中提出了 Kulisch 累加的標準用法(https://www.crcpress.com/The-End-of-Error-Unum-Computing/Gustafson/p/book/9781482239867)。其思想不是在浮點運算中進行累加,而是在定點運算中維護一個運行時的和(running sum),這個和需要足夠大以避免下溢或溢出。與浮點加法不同的是,Kulisch 累加可以精確地表示任意數量的浮點值的和。不論順序如何,求和方法都是滿足結合率并可復現的。在完成所有求和工作之后,我們通過尾數對齊和舍入將其轉換回浮點數。


下圖顯示了一個累加步驟的示例。Kulisch 累加器當前包含值 35.5,我們將其與 0.84375 相加,表示為線性域浮點值。這個被求和的浮點值可能以前來自于標量值的乘積,或者只是我們希望累加的單個值。在浮點指數的基礎上,通過對齊尾數的基數點,將浮點數轉換為定點數。該轉換使用了一個調整因子,它是累加器最多尾數位(在下面的例子中是 6)的有效指數。然后將對齊后的尾數和累加器與進位相加。(為簡單起見,此處省略了 Kulisch 累加器可能支持下溢和溢出所需的額外精度位)。在高于 32 位的浮點數中,Kulisch 累加的代價很高,因為累加器、移位器和加法器的大小可能大于 500 位,但是對于較小的浮點類型來說,它是非常實用的。

微信圖片_20181130193352.jpg


Kulisch 累加不能直接用于對數域求和。但是,正如 Kulisch 累加以不同于參數(浮點數)的形式(定點數)執行求和運算一樣,這里也可以采用類似的方法,因此我們不需要一個巨大的 LNS 和/差查找表。我們可以在線性域中對 log 值取近似,在線性域中做 Kulisch 累加,然后在所有求和工作都完成時將其轉換回 log 域。這種方法對于通用線性代數非常有效,因為向量內積需要在累加器中多次重復求和。


IEEE 754 的專有機制


有助于減小字大小的 posit 編碼也避免了這個問題,因為 posit 的尾數總是規格化的。緩慢的下溢立刻防止了精度下降,而不是逐漸緩解精度下降,這在 IEEE 754 非規格化表示中是通過尾數部分中前導一的位置解決的。Posit 逐漸減小到更小的數字上,導致在指數上使用尾數部分的位,從而擴展了動態范圍并降低了精度。Posit 的縮減(taper)技術在功能上類似于非規格化的逐漸下溢,但是沒有重新規格化尾數的開銷。Posit 緩慢溢出也以類似的方式支持縮減。


融合這些方法


為了獲得性能的提升,研究人員考慮將這四種技術結合起來。對數域表示避免了硬件乘法器,我們將 posit 用于對數。為了與 int8/32 抗衡,研究人員考慮使用一種稱為 (8, 1, alpha, beta, gamma) 對數的 8-bit 格式,其中 (8,1) 是 posit 參數。這種編碼在最大和最小正值之間提供了超過 1600 萬:1 的比率,同時在 1.0 左右保留了 4 位(對數域)精度,所有這些都是用 8 位表示的(只有 256 個可能的值)。alpha、beta 和 gamma 值可以控制對數到線性以及線性到對數的轉換準確率。

微信圖片_20181130193416.jpg


如上所述,我們在線性域中執行對數域的求和。這個結果是非常近似的,但與 FMA 不同的是,對于序列和,這里沒有 Kulisch 累加的線性域誤差。我們稱這種技術為 ELMA,或精確的對數線性乘加。對數域乘法是精確的,所有的線性域求和過程也都是精確的,但是對數到線性的轉換是近似的,返回的線性到對數的轉換也是近似的。這種折中在實踐中是可以接受的。

微信圖片_20181130193443.jpg


硬件查找表用于轉換,但它們要比 LNS 加法所需表小得多。使用更大的 alpha、beta 和 gamma 參數會得到更精確的結果,但也會消耗更多的芯片面積和功耗。與浮點型 FMA 相比,ELMA 乘加電路及其核心更加簡單。它使用三個加法器、一個查找表和一個移位器就完成了大部分工作:

微信圖片_20181130193503.jpg


直接替代方法


與 int8/32 不同,Facebook 研究人員針對神經網絡的 8 位對數格式不需要學習量化參數、激活采樣或對原始網絡進行再訓練。只需要獲取網絡(如 ResNet-50)的 32 位浮點參數,然后使用「取與該參數最近的偶數」的規則對其進行轉換。使用 posit 編碼可以在如此小的類型中保證所需的動態范圍和精度。


使用 ELMA 的 (8, 1, 5, 5, 7) 對數與原始的 ResNet-50 的運算方法相同,在 ImageNet 驗證集上獲得了 75.23% 的 top-1 準確率和 92.66% 的 top-5 準確率,分別比原始網絡的準確率降低了 0.9% 和 0.2%。這些結果與許多現有的 int8/32 量化方法類似。在 int8/32 量化中使用的調優訓練和模型調整可以進一步提高該方法的性能,但是這里基線的結果是在對軟件進行最少修改的情況下實現的。所有的數學仍然在通用浮點運算中執行,使用壓縮編碼作為量化器。ELMA 設計也可以被用于非線性代數任務(如多項式計算)。


硬件效率


研究人員使用一種商用 28 納米 ASIC 工藝技術將 (8, 1, 5, 5, 7) 對數的 ELMA 以 int8/32 乘加 0.96 倍的功耗作用于獨立的處理單元(PE)。在一個完整的 32×32 矩陣乘法的脈動陣列中,使用對數 ELMA 處理單元方案的功耗是使用 int8/32 處理單元版本的 0.865 倍。該方案之所以能夠省電主要是因為取消了硬件乘法器。


擴展到 16 位后,即使沒有非規格化的支持(這在很大程度上降低了 IEEE 754 的效率),這種方法使用的功耗是 IEEE 754 半精度 FMA 的 0.59 倍,而使用的芯片面積是后者的 0.68 倍,同時還降低了延遲。得益于這些 16 位浮點數上的性能提升,我們可以在相同的時間內支持更復雜的人工智能模型的訓練。然而,與 32 位的 IEEE 754 單精度 FMA 相比,ELMA 并沒有更加有效,這是由于 Kulisch 累加器過于龐大(增加了加法器/移位器尺寸和觸發器功率),而且禁止使用從對數到線性的查找表。


未來的工作


實現人工智能技術的極大發展需要計算效率的顯著提高,而這只有通過新方法才能實現,而不僅僅是建立在舊方法的基礎上。例如,軟件仿真工作常常很慢,無法有效地在前沿的人工智能模型上測試新的運算方法。不幸的是,在 FPGA/ASIC 硬件上進行實驗比在軟件上還要困難得多,這使得這些潛在的提升空間在很大程度上沒有得到充分的開發。然而,如果開發出利用這些技術的新硬件,它將有利于廣泛的人工智能研究和應用。


Facebook 計劃研究硬件上的 16 位 ELMA 的設計,并將其在人工智能模型訓練和其他任務上的性能表現與 IEEE 754 半精度浮點數和 bfloat16 進行對比。這些新想法和數值近似方法并不總是適用的,但是人工智能提供了一個獨特的機會來探索它們的邊界,并幫助推翻人們關于硬件可能完成的任務的舊有看法。


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          一区精品久久| 欧美日本高清| 国产精品国产精品国产专区不蜜| 亚洲精品在线看| 99人久久精品视频最新地址| 国产欧美日本一区二区三区| 国产精品亚洲综合色区韩国| 欧美日韩在线视频一区二区| 亚洲级视频在线观看免费1级| 午夜国产精品视频免费体验区| 国产伦精品一区| 欧美午夜精品久久久久久孕妇| 亚洲电影免费观看高清完整版在线观看| 国内精品久久久久国产盗摄免费观看完整版| 欧美精品在线免费观看| 女同性一区二区三区人了人一| 欧美性大战久久久久久久蜜臀| 欧美一区国产在线| 欧美精品久久久久久久| 国产日韩欧美在线播放| 91久久综合亚洲鲁鲁五月天| 亚洲国产成人精品视频| 亚洲另类自拍| 国产一区二区三区四区五区美女| 小黄鸭精品密入口导航| 亚洲国产小视频| 国产欧美日韩三级| 国产精品成人v| 母乳一区在线观看| 亚洲欧美日韩在线观看a三区| 美女图片一区二区| 国产乱码精品一区二区三区不卡| 国产一区亚洲| 欧美一区二区三区免费在线看| 国产精品久久久久久久久久久久| 欧美黑人一区二区三区| 欧美高清在线| 亚洲国产精品成人va在线观看| 久久香蕉精品| 久久精品噜噜噜成人av农村| 一区二区三区在线观看欧美| 免费日韩一区二区| 免费精品视频| 亚洲伦理中文字幕| 狠狠网亚洲精品| 伊人成人网在线看| 欧美欧美天天天天操| 亚洲人成毛片在线播放| 国产精品久久国产精品99gif| 国产九九精品视频| 亚洲国产美国国产综合一区二区| 亚洲激情一区二区三区| 久久精品免费| 亚洲韩日在线| 99国内精品久久久久久久软件| 国产亚洲激情在线| 在线播放亚洲一区| 久久久天天操| 国产亚洲精品一区二区| 免费成人av资源网| 在线免费日韩片| 亚洲精品视频啊美女在线直播| 亚洲一区精品在线| 欧美一区二区三区在线免费观看| 久久国产精品久久久| 欧美高清在线播放| 久久午夜精品| 一本色道久久88亚洲综合88| 欧美日韩国产在线一区| 欧美激情综合五月色丁香小说| 91久久国产综合久久蜜月精品| 久久国产欧美精品| 欧美精品123区| 国产视频丨精品|在线观看| 欧美亚州韩日在线看免费版国语版| 一本色道久久综合亚洲精品不| 欧美精品网站| 国产精品久久久久久久免费软件| 亚洲国产高清aⅴ视频| 亚洲欧美日韩一区在线观看| 欧美一区激情视频在线观看| 日韩系列欧美系列| 免费观看亚洲视频大全| 国产一区二区三区久久| 亚洲精品美女在线| 亚洲午夜免费视频| 日韩亚洲欧美中文三级| 国产视频在线一区二区| 国产精品日韩在线观看| 国产精品chinese| 红桃视频成人| 国产女同一区二区| 欧美激情一区三区| 欧美三级乱码| 欧美aa国产视频| 亚洲精品在线观| 鲁大师影院一区二区三区| 亚洲性夜色噜噜噜7777| 久久亚洲综合网| 欧美视频二区| 亚洲特级片在线| 国产精品免费观看视频| 亚洲激情欧美激情| 亚洲第一久久影院| 国产精品综合不卡av| 久久精品国产96久久久香蕉| 黄色精品一区二区| 久久成年人视频| 久久久久久久波多野高潮日日| 国产性色一区二区| 欧美国产亚洲另类动漫| 一本一本久久a久久精品牛牛影视| 久久手机免费观看| 欧美精品一区二区三区久久久竹菊| 国产喷白浆一区二区三区| 久久激情视频免费观看| 欧美亚洲一区二区三区| 亚洲黑丝在线| 欧美激情亚洲自拍| 亚洲一区区二区| 亚洲精品美女在线观看| 亚洲巨乳在线| 欧美α欧美αv大片| 日韩一区二区精品在线观看| 亚洲电影免费观看高清完整版在线观看| 欧美日韩视频专区在线播放| 一区二区久久久久| 日韩视频在线观看国产| 欧美大片免费观看在线观看网站推荐| 亚洲欧美一级二级三级| 欧美日韩一区二区三区四区在线观看| 欧美日韩视频在线观看一区二区三区| 国产精品免费一区二区三区观看| 欧美精品91| 欧美不卡激情三级在线观看| 欧美性猛交xxxx乱大交退制版| 久久精品一区| 亚洲一区二区三区四区五区黄| 老司机精品福利视频| 国产精品人成在线观看免费| 国产一区二区三区观看| 影音先锋亚洲电影| 欧美激情91| 亚洲高清久久| 一区二区三区免费看| 久久精品免费观看| 亚洲欧美日韩一区在线观看| 国产一区深夜福利| 日韩一二三区视频| 国产一区二区三区在线免费观看| 亚洲欧美日本日韩| 欧美午夜三级| 欧美高清视频一区二区| 亚洲视频在线二区| 亚洲国产成人久久综合一区| 国产一区二区三区日韩欧美| 亚洲精品一线二线三线无人区| 欧美福利视频网站| 国产一区二区欧美日韩| 在线播放中文一区| 一区二区在线观看视频| 一区二区三区日韩精品| 亚洲一区二区三区在线| 亚洲高清精品中出| 国内免费精品永久在线视频| 国产精品国产三级国产普通话三级| 欧美另类在线播放| 国产日产精品一区二区三区四区的观看方式| 欧美高清成人| 夜夜爽www精品| 国产日韩一区在线| 国产精品国产三级国产| 国产一区二区三区电影在线观看| 国产乱码精品1区2区3区| 国产欧美激情| 欧美四级在线观看| 伊人久久综合97精品| 欧美午夜精品久久久久久久| 欧美日本免费一区二区三区| 在线日韩成人| 亚洲黄色免费网站| 麻豆久久久9性大片| 99riav国产精品| 好吊妞**欧美| 久久久精品2019中文字幕神马| 亚洲性视频网站| 国产精品乱码| 欧美乱人伦中文字幕在线| 国产精品国产三级国产普通话三级| 欧美日韩中文字幕日韩欧美| 久久激情视频久久| 国产精品自拍三区| 欧美视频日韩视频在线观看| 国产一区二区三区视频在线观看| 国外成人网址| 国产午夜精品视频免费不卡69堂| 欧美日韩在线观看一区二区三区| 午夜精品久久久99热福利| 国产亚洲va综合人人澡精品| 性欧美videos另类喷潮| 两个人的视频www国产精品| 亚洲精品免费一区二区三区| 欧美激情成人在线视频| 欧美国产精品中文字幕| 麻豆久久婷婷| 欧美在线视频观看免费网站| 尤物视频一区二区| 99视频精品免费观看| 国产欧美日本| 欧美日韩福利在线观看| 最新亚洲视频| 亚洲视频大全| 伊人久久大香线蕉综合热线| 久久久久久成人| 午夜精品久久久久久久99樱桃| 亚洲日本欧美在线| 国产精品高清在线| 性伦欧美刺激片在线观看| 国产美女精品人人做人人爽| 最新高清无码专区| 国产一区二区看久久| 亚洲成在人线av| 欧美在线资源| 欧美在线日韩精品| 欧美国产在线观看| 亚洲视频电影在线| 欧美性片在线观看| 国产日产欧美a一级在线| 伊人成人在线| 久久免费国产精品| 久久久久久久久久看片| 欧美成人在线免费观看| 欧美一区在线视频| 亚洲国产精品久久91精品| 欧美日韩在线综合| 午夜视频在线观看一区二区| 国产女主播在线一区二区| 欧美深夜影院| 国产精品一区二区久久精品| 亚洲视频碰碰| 亚洲免费在线观看| 亚洲男人第一av网站| 国产精品久久波多野结衣| 国产视频一区在线| 国产一区二区三区久久久久久久久| 欧美午夜女人视频在线| 久久久久久自在自线| 久久精品99国产精品| 国产麻豆91精品| 欧美日韩在线视频一区二区| 亚洲激情av在线| 精品成人免费| 久久一区激情| 欧美—级高清免费播放| 国产精品一级二级三级| 欧美日韩中文字幕在线| 国产一区二区电影在线观看| 亚洲图片激情小说| 久久精品国产77777蜜臀| 国产伦理一区| 国产欧美不卡| 一本色道婷婷久久欧美| 国内精品美女在线观看| 久热国产精品| 欧美午夜一区二区福利视频| 国产精品理论片在线观看| 欧美日韩1区| 国产精品久久9| 久久超碰97中文字幕| 久久免费精品日本久久中文字幕| 亚洲乱码精品一二三四区日韩在线| 蜜臀av一级做a爰片久久| 国产精品扒开腿做爽爽爽软件| 久久久久久久一区| 亚洲一区二区在线视频| 国产精品99久久久久久人| 亚洲日韩中文字幕在线播放| 媚黑女一区二区| 欧美激情亚洲国产| 欧美成人在线免费视频| 久久只精品国产| 国产精品综合av一区二区国产馆| 欧美日韩午夜在线视频| 亚洲一区999| 亚洲国产午夜| 欧美午夜精品久久久久久浪潮| 亚洲国产一区二区三区在线播| 久久亚洲综合色| 在线观看视频一区二区欧美日韩| 亚洲欧美一区二区三区久久| 国产精品成人一区二区三区夜夜夜| 亚洲欧美日韩国产另类专区| 久久久久久夜精品精品免费| 欧美精品在线播放| 免费不卡在线观看av| 欧美ab在线视频| 激情伊人五月天久久综合| 国产欧美69| 伊人婷婷欧美激情| 一道本一区二区| 久久国产精品色婷婷| 亚洲欧洲精品一区二区三区不卡| 亚洲精品男同| 亚洲图片欧美一区| 国产日韩欧美一区在线| 国产精品一区久久久久| 欧美一区二区精品久久911| 国产精品影院在线观看| 国产日韩欧美综合精品| 中日韩男男gay无套| 国产精品入口麻豆原神| 久久精选视频| 免费永久网站黄欧美| 国产精品免费一区二区三区在线观看| 永久91嫩草亚洲精品人人| 亚洲欧美一区二区视频| 国语自产精品视频在线看8查询8| 欧美久久久久久久| 亚洲高清精品中出| 久久精品亚洲精品国产欧美kt∨| 久久九九有精品国产23| 欧美二区不卡| 亚洲国产精品久久精品怡红院| 亚洲成色最大综合在线| 欧美mv日韩mv国产网站app| 亚洲美女精品久久| 狠狠色狠狠色综合日日91app| 午夜精品一区二区三区在线视|