久久久精品2019中文字幕神马_欧美亚洲一区三区_欧美大人香蕉在线_精品88久久久久88久久久_中文字幕一区二区三区在线播放 _精品国产一区二区三区久久影院_欧洲av在线精品_粉嫩av一区二区三区_亚洲欧美一区二区三区极速播放_国产亚洲精品久久

首頁 > 家電

DeepMind 新作 AlphaDev ---- 強化學習探索更優(yōu)排序算法

來源:程序員客棧 時間:2023-06-24 00:39:13

前言

DeepMind 最近在 Nature 發(fā)表了一篇論文 AlphaDev[2, 3],一個利用強化學習來探索更優(yōu)排序算法的AI系統(tǒng)。

AlphaDev 系統(tǒng)直接從 CPU 匯編指令的層面入手去探索更優(yōu)的排序算法,因為相對于高級編程語言來說,在匯編指令層級對存儲和寄存器的操作可以更加的靈活,所以能發(fā)現(xiàn)更多潛在的調(diào)優(yōu)策略。


【資料圖】

在 AlphaDev 的論文中,只關(guān)注探索短序列排序:

定長序列排序(比如 sort3 算法只能對長度為3的序列進行排序)變長序列排序(比如 variable sort5 算法可以對長度為1~5的變長序列進行排序)

而對于長序列的排序,可以被分解為短序列的排序。

DeepMind 通過 AlphaDev 發(fā)現(xiàn)了比目前人工調(diào)優(yōu)算法更優(yōu)的定長短序列排序算法 sort3,sort4 和 sort5 ,并且已經(jīng)將代碼提交到了 LLVM 標準 C++ 庫[4]。

簡單來說,AlphaDev 將探索更高效排序算法的過程,建模為一個單玩家的匯編游戲(single-player game, AssemblyGame)。

游戲的過程就是玩家從 CPU 匯編指令集合中,選取一系列的指令組合得到一個新的排序算法。不過這個過程是非常有挑戰(zhàn)的,玩家需要考慮,匯編指令的組合空間并最終得得到一個正確和高效的算法。

該游戲主要包括以下難點:

匯編游戲的搜索空間和圍棋類似(10^700)只要有一條指令沒弄對,可能就會導致整個算法錯誤AlphaDev 系統(tǒng)詳解將排序算法表示為 CPU 匯編指令

首先來看一個簡單的變長(variable sort2)短排序函數(shù)的 C 代碼實現(xiàn),排序結(jié)果從小到大:

voidvariable_sort_2(intlength,int*a){switch(length){case0:case1:return;case2:inttmp=a[0];//a[0]保存兩者之間的最小值a[0]=(a[1]

通過 gcc生成對應的匯編代碼,我用的 gcc版本是 11.3.0,命令 gcc -S -O1 -o sort2.s sort2.c

匯編代碼只保留了核心部分,生成的結(jié)果和論文中的示例有些許不同但是原理是一致的:

variable_sort_2:  .LFB0:; %edi 寄存器保存參數(shù) length 的值; cmpl 指令對比 %edi 和 常量 2cmpl$2, %edi ; 相等就跳轉(zhuǎn)到 .L3 標簽處,        ; 對應 C 代碼的 case 2je.L3.L1:; 不等于 2 就直接返回,        ; 對應 C 代碼 case 0 和 1ret .L3:; 將 a[0] 賦值給寄存器 %edx movl(%rsi), %edx; 將 a[1] 賦值給寄存器 %eax movl4(%rsi), %eax; 對比 %edx 和 %eaxcmpl%edx, %eax; 將 %edx 賦值給 %ecxmovl%edx, %ecx; cmov 是條件移動指令根據(jù) cmpl ; 指令的結(jié)果判斷是否執(zhí)行; 如果 %eax <= %edx ; 則將 %eax 賦值給 %ecxcmovle%eax, %ecx; 此時 %ecx 保存了最小值; 將 %ecx 賦值給 a[0]movl%ecx, (%rsi); 如果 %eax 小于 %edx; 則將 %edx 賦值給 %eaxcmovl%edx, %eax; 此時 %eax 保存了最大值; 將 %eax 賦值給 a[1]movl%eax, 4(%rsi)jmp.L1

一般來說匯編程序所做的事情基本都是,將內(nèi)存的值復制到寄存器,然后對寄存器的值作修改,再將寄存器的值寫回到內(nèi)存中。

而 AlphaDev 系統(tǒng)只關(guān)注 x86 處理器架構(gòu)所支持的匯編指令集合的一個子集。

每條匯編指令的格式均為:操作碼<操作數(shù)A, 操作數(shù)B>比如:

mov移動指令,表示將 A 的值賦值給 B

cmp比較指令,相當于 執(zhí)行 A - B 操作,但是不會對 A 和 B 做修改,而是根據(jù)相減的結(jié)果設置特殊的 flag 寄存器,更多內(nèi)容可以參考[5]

cmovX條件移動指令,根據(jù) X和 flag 寄存器的值判斷是否執(zhí)行將 A 賦值給 B 的操作,一般都是出現(xiàn)在 cmp指令之后。X可以是 L(是否滿足小于條件), G(是否滿足大于條件),LE(是否滿足小于或等于條件),GE(是否滿足大于等于條件)。

jX條件跳轉(zhuǎn)指令,根據(jù) X和 flag 寄存器的值判斷是否執(zhí)行跳轉(zhuǎn)到指定標記位置操作,A 可以是匯編程序代碼中的標記位置,如上面所示匯編代碼的 .L1和 .L3。X可以是 NE(是否不等于),E(是否等于)或者可以填表示無條件跳轉(zhuǎn)。

將探索更優(yōu)排序算法表示為強化學習問題

AlphaDev 將 CPU 匯編指令層面的算法優(yōu)化過程轉(zhuǎn)化為一個單玩家的游戲。

游戲每一步的狀態(tài)定義為 : St =

其中, Pt表示游戲到至今為止所生成的算法,Zt則表示在給定輸入的前提下執(zhí)行完 Pt里的指令之后,內(nèi)存和寄存器的狀態(tài)。

如上圖所示,在時間步 t,AlphaDev 接受到當前狀態(tài) St和 所要執(zhí)行的動作 at(比如 mov),也就是往當前生成的算法 Pt中添加的合法匯編指令。

在添加完指令之后,就是計算獎勵分數(shù) rt(包括評估算法的正確性和延遲)。

算法正確性評估

正確性評估就是將 N組測試序列輸入到算法 Pt中,得到N組輸出,和正確的排序結(jié)果最比較來計算獎勵分數(shù)。

論文中給出了3種正確性評估函數(shù),首先定義 P為輸入序列長度, PCt為在時間步 t序列中,位置正確的值的個數(shù),這里我理解應該是和正確的排序結(jié)果逐個位置對比,統(tǒng)計相等的個數(shù)。

三個函數(shù)分別定義如下:

func1 = (P - PCt) / Pfunc2 = sqrt(func1)func3 = sqrt(PCt)

論文中提到采用第三個函數(shù)效果最好。

延遲評估

延遲分數(shù)的計算可以是:

對系統(tǒng)增加代碼長度計算懲罰,因為代碼的長度一般都是和耗時高度相關(guān)直接計算算法的真實耗時

整個強化學習的游戲在執(zhí)行有限步驟之后就會被終止。只有生成正確而又低延遲的匯編代碼才算贏得游戲。而不管是生成了錯誤的代碼還是正確但低效的實現(xiàn)都視為游戲輸了。

AlphaDev 采用的強化學習算法是對 AlphqaZero 算法的擴展,也是采用深度神經(jīng)網(wǎng)絡來引導蒙特卡洛樹搜索(MCTS)的規(guī)劃過程。網(wǎng)絡模型的輸入是 St,輸出是對動作策略和獎勵的預測。

整個游戲過程簡單來說就是,用一個固定參數(shù)的網(wǎng)絡模型,通過給定的當前狀態(tài)執(zhí)行一個蒙特卡洛樹搜索過程,然后采取下一步動作。然后可以用生成的游戲過程(包含每一步的狀態(tài)和獎勵)去訓練和更新網(wǎng)絡的參數(shù)。

網(wǎng)絡模型結(jié)構(gòu)

模型包含兩部分:

一個 Transformer 編碼器模塊,用于建模算法,輸入是至今為止生成的匯編指令序列一個 CPU 狀態(tài)編碼器 MLP 模塊,輸入當前寄存器和內(nèi)存的狀態(tài)

兩個網(wǎng)絡的輸出 embedding 會合并在一起來表示當前的狀態(tài)。

網(wǎng)絡模型整體的結(jié)構(gòu)如下:

Transformer 編碼器模塊具體圖示

如上圖所示,把當前生成的匯編代碼序列的每一條指令的操作碼和操作數(shù)都轉(zhuǎn)換為 one-hot 編碼序列,然后輸入到網(wǎng)絡中。

但是具體的 one-hot 編碼規(guī)則、詞表怎么設置、還有對于 CPU 狀態(tài)編碼網(wǎng)絡寄存器和內(nèi)存的狀態(tài)是怎么表示為網(wǎng)絡的輸入的等等,這些細節(jié)我在論文里沒找到。

然后兩個網(wǎng)絡的輸出 embedding 會合并到一起接著輸入到幾個函數(shù)頭里計算,分別是預測下一步策略的函數(shù)頭,預測算法正確性的函數(shù)頭和預測算法真實延遲的函數(shù)頭。

網(wǎng)絡參數(shù)超參設置

論文的補充資料中提供了網(wǎng)絡的參數(shù)和三個函數(shù)頭的具體配置。

而對于策略的預測,論文中提到為了簡化問題和提高收斂性,而對動作空間做了一些限制,規(guī)則如下:

必須按照升序方式讀取內(nèi)存寄存器按照升序分配cmp和 cmovX指令的操作數(shù)不能出現(xiàn)內(nèi)存地址對每個內(nèi)存位置,只能讀取和寫入一次每個寄存器在使用之前,必須初始化不能連續(xù)調(diào)用 cmp指令

訓練細節(jié)

AlphaDev 的訓練采用了 TPU v3,每個 TPU 核的 batch size 是 1024 ,總共用了 16 個 TPU 核,總共訓練了 100 萬次迭代。而在對于玩游戲積累訓練數(shù)據(jù)來說,則是在 TPU v4 上進行,總共用了 512 個 TPU 核。

實驗結(jié)果表明,最多只需2天模型就能訓收斂。

實驗結(jié)果生成的算法和人工調(diào)優(yōu)對比

從實驗結(jié)果表格可以看到,對于短序列排序算法 AlphaDev 生成的代碼長度更短,而且平均耗時也更低。

對生成算法延遲的評估方式,比如對于 sort3則是在 100 臺機器上做評估,每臺機器隨機生成 1000 條 3個數(shù)的序列,然后每條序列輸入到算法中,對這 1000 次評估取第5百分位數(shù)作為最終的評估結(jié)果(排除 cache miss 和 任務搶占 等因素)。

耗時采用的是 CPU_CLK_UNHALTED.CORE這個計數(shù)器結(jié)果, 其計數(shù)值表示在一個特定時間段內(nèi),處理器內(nèi)核的時鐘周期數(shù)。這個值越高,意味著處理器內(nèi)核在該時間段內(nèi)執(zhí)行了更多的指令。

AlphaDev 發(fā)現(xiàn)新的算法

對于定長序列排序,當應用到排序網(wǎng)絡算法[6](sorting network algorithm)的時候 AlphaDev 生成的代碼中包含了一些有趣指令序列,相對于原始指令序列可以減少一條匯編指令,論文中稱之為:

AlphaDev swap moveAlphaDev copy move

啥是排序網(wǎng)絡算法?

排序網(wǎng)絡算法(Sorting Network Algorithm)是一種能夠?qū)σ唤M輸入數(shù)據(jù)進行排序的并行算法,其具有較好的并行性能適用于多處理器或多核心系統(tǒng)。

該算法的特點是,它將所有的比較和交換操作預先規(guī)劃好形成一個固定的結(jié)構(gòu),然后將輸入數(shù)據(jù)按照這個結(jié)構(gòu)進行排序。

排序網(wǎng)絡由比較器(comparator)和線(wire)組成,如下圖所示:

水平線表示 wire,每條水平線持有一個待排序的值。兩條 wire 之間的垂直線段就表示一個比較器,比較器對比兩條水平線的值,如果比較器下方的值小于上方的值則交換兩條橫線的值,否則則不交換。

一個優(yōu)化過的排序網(wǎng)絡可以以最少的比較器,并將這些比較器放置在特定位置上,來實現(xiàn)對任意序列進行排序。

下圖是對一個構(gòu)造好的排序網(wǎng)絡,輸入真實待排序序列的例子:

可見初始輸入是 [2, 3, 1, 4],這些隨機數(shù)從左到右按順序經(jīng)過這些比較器之后,就得到了排序好的序列 [1, 2, 3, 4]。

AlphaDev swap move

先來看這個排序網(wǎng)絡,只看紅圈部分的功能就是對給定的輸入 [A, B, C]將其轉(zhuǎn)換為 [min(A,B,C), max(min(A,C),B), max(A,C)]。

然后經(jīng)過 AlphaDev 優(yōu)化之后,可以將第一個輸出的 min(A,B,C)改為只計算 min(A,B),原因是因為前面的 B和 C橫線之間經(jīng)過比較器之后已經(jīng)有了前置條件 B <= C。

而通過這個優(yōu)化就能省去一條匯編指令,下圖是紅圈部分的偽代碼實現(xiàn):

左邊是原始偽代碼實現(xiàn),右邊是經(jīng)過 AlphaDev 優(yōu)化之后的實現(xiàn),可以看到少了一條匯編指令 mov S P。

AlphaDev copy move

接下來看對4個元素進行排序的排序網(wǎng)絡,是在對 sort8這個算法優(yōu)化過程中發(fā)現(xiàn)的。該排序網(wǎng)絡對于輸入序列 [A, B, C, D]轉(zhuǎn)換為 [min(A, B, C, D), max(B, min(A, C, D), max(C, min(A, D)), max(A, D) ]。

該排序網(wǎng)絡是 sort8的一個子排序網(wǎng)絡,而根據(jù)比較器的放置位置來看,A和 D比較之后后續(xù)就不再和其他元素比較了,所以D出來的結(jié)果就是四個元素中最大的,所以隱含了一個條件就是 D >= min(A, C)。

因此對第二個輸出元素的計算可以從 max(B, min(A, C, D))改為 max(B, min(A, C)),就可以節(jié)省一條匯編指令。

偽代碼如下:

左邊是原始偽代碼實現(xiàn),右邊是經(jīng)過 AlphaDev 優(yōu)化之后的實現(xiàn),可以看到少了一條匯編指令 mov P T。

總結(jié)

這篇文章只是對 AlphaDev 論文中的主要內(nèi)容作解讀,對于更多的內(nèi)容和細節(jié)感興趣的讀者可以查閱原論文和論文的補充資料 [2,3],DeepMind 也也開源了一份偽代碼實現(xiàn) [7]。

參考資料[1] https://ee.usc.edu/~redekopp/cs356/slides/CS356Unit5_x86_Control[2] https://www.nature.com/articles/s41586-023-06004-9#MOESM1[3] https://static-content.springer.com/esm/art%3A10.1038%2Fs41586-023-06004-9/MediaObjects/41586_2023_6004_MOESM1_ESM.pdf[4] ? D118029 Introduce branchless sorting functions for sort3, sort4 and sort5. (llvm.org)[5] 小信豬的原始部落: PC Assembly Language 學習筆記(5) - Control Structures (godleon.blogspot.com)[6] https://en.wikipedia.org/wiki/Sorting_network#:~:text=as%20the%20contrapositive.-,Constructing%20sorting%20networks,are%20often%20used%20in%20practice.[7] https://github.com/deepmind/alphadev

相關(guān)稿件

DeepMind 新作 AlphaDev ---- 強化學習探索更優(yōu)排序算法

張頌文新片點映,觀眾直呼太敢拍,它的尺度真不小 全球熱頭條

黔西南州安龍縣公安局聚力破“小案” 守護大民生-全球要聞

當前速遞!小街“藏”著大市場 成都“粽子一條街”粽香浮動

擴展機器學習知識新書

中央財經(jīng)“國際組織人才培養(yǎng)實驗班”開班_世界熱門

天天新資訊:平昌縣岳家小學:多舉措做細考核學科教學質(zhì)量考評工作

“萌心童趣 與‘粽’不同” ——彭山區(qū)機關(guān)幼兒園開展端午節(jié)主題活動-焦點簡訊

2023年中國乒乓球俱樂部甲A比賽在威海南海新區(qū)開賽

浪莎股份06月21日漲停分析

林州電視臺在線直播_林州電視臺官方網(wǎng)站-世界獨家

熱門:ST恒久06月21日漲停分析

手機位置實時共享功能_共享位置怎么用 當前速讀

vivo X90s「青漾」圖賞:真被這色彩涼爽到了 世界熱文

央行本周開展4160億元逆回購 專家預計資金面有望平穩(wěn)跨季

環(huán)球熱門:加油站也賣現(xiàn)磨咖啡了,你想喝嗎

天天短訊!滬指失守3200點,市場底在何方?分析稱節(jié)后大概率將企穩(wěn)

巨頭互打小報告?谷歌(GOOGL.US)給美政府寫信稱微軟(MSFT.US)壟斷云行業(yè) 每日快播

【世界新要聞】gts450顯卡驅(qū)動_gts450

利亞德加碼AI戰(zhàn)略,與光年無限圖靈機器人全面開展AI研發(fā)業(yè)務合作-每日速讀

誡子書選自哪里《 》 誡子書選自

報告:綜藝節(jié)目助推露營成為大眾潮流生活方式

universityccbcom universityccb

杯弓蛇影文言文閱讀理解以及答案 杯弓蛇影文言文(原文翻譯注釋)

阿里云與浙大斬獲數(shù)據(jù)庫頂會最佳論文 成果已在PolarDB中落地

俗語:“男怕屬雞,女怕屬羊”老祖宗為何這樣說?有啥道理嗎?-天天快資訊

熬過7月,3生肖運勢好的惹不起,橫財偏財俱佳,注定腰纏萬貫!

十二星座專屬古裝女子,白羊座絕色,金牛座的盛世美顏!

海南簽發(fā)全國首張外國船長適任證書承認簽證 全球今頭條

焦點短訊!焊接鋼管dn200國標厚度是多少 dn200焊接鋼管壁厚多少


久久久精品2019中文字幕神马_欧美亚洲一区三区_欧美大人香蕉在线_精品88久久久久88久久久_中文字幕一区二区三区在线播放 _精品国产一区二区三区久久影院_欧洲av在线精品_粉嫩av一区二区三区_亚洲欧美一区二区三区极速播放_国产亚洲精品久久
成人午夜av在线| 伊人夜夜躁av伊人久久| 国产精品久久久久婷婷二区次| 欧洲精品在线观看| 91视频一区二区三区| 不卡av免费在线观看| 国产成人亚洲综合色影视| 国产在线精品一区二区不卡了| 久久精品久久综合| 韩国三级在线一区| 久久精品免费观看| 国产一区二区看久久| 成人精品国产免费网站| 色综合天天做天天爱| 在线视频国内自拍亚洲视频| 欧美午夜一区二区三区免费大片| 欧美日韩亚州综合| 日韩三级视频在线观看| 久久久夜色精品亚洲| 国产喂奶挤奶一区二区三区| 国产精品色哟哟网站| 一区二区高清免费观看影视大全| 日韩精彩视频在线观看| 狠狠色丁香婷婷综合久久片| 成人激情文学综合网| 欧美亚洲综合色| 日韩三级精品电影久久久| 国产精品美日韩| 午夜私人影院久久久久| 韩国一区二区三区| 91免费观看视频| 欧美大胆人体bbbb| 亚洲日本中文字幕区| 视频在线观看一区二区三区| 国产精品123区| 欧美日韩国产综合一区二区三区| 久久蜜桃香蕉精品一区二区三区| 亚洲欧美一区二区三区孕妇| 麻豆精品在线观看| 在线影视一区二区三区| 精品久久五月天| 一区二区三区日韩精品视频| 国产自产2019最新不卡| 欧美偷拍一区二区| 久久久国产综合精品女国产盗摄| 亚洲午夜免费电影| 成人av在线电影| 日韩三级电影网址| 亚洲国产成人精品视频| 国产91精品一区二区| 7777精品伊人久久久大香线蕉完整版 | 亚洲国产综合在线| 国产一区激情在线| 欧美三级日韩三级| 国产精品久久久久桃色tv| 日本不卡中文字幕| 欧美怡红院视频| 国产精品三级av| 国产在线一区二区| 欧美日韩一区在线| 亚洲色图欧洲色图婷婷| 国产suv一区二区三区88区| 欧美一区二区三区在线看| 亚洲欧美日韩一区| 成人污视频在线观看| 精品国产乱码久久久久久牛牛| 一级做a爱片久久| 91色porny在线视频| 国产精品色哟哟网站| 国产乱码字幕精品高清av| 这里只有精品视频在线观看| 亚洲国产精品自拍| 欧美性欧美巨大黑白大战| 亚洲日本韩国一区| 99re6这里只有精品视频在线观看| 国产欧美日韩综合| 国产成人av一区二区三区在线| 久久综合色鬼综合色| 激情综合色综合久久综合| 精品久久久久久最新网址| 久久99深爱久久99精品| 欧美精品一区二区三区蜜臀| 黄色成人免费在线| 国产丝袜美腿一区二区三区| 久久精品免费观看| 精品黑人一区二区三区久久| 国产乱国产乱300精品| 欧美国产精品劲爆| 99麻豆久久久国产精品免费优播| 一区在线中文字幕| 欧美三级电影一区| 蜜臀99久久精品久久久久久软件| 日韩欧美一级二级| 国产在线精品一区二区三区不卡| 国产亚洲欧美在线| 成人h动漫精品| 亚洲影视资源网| 7777精品伊人久久久大香线蕉超级流畅 | 久久综合成人精品亚洲另类欧美 | 成人福利在线看| 亚洲精品国产第一综合99久久 | 激情图区综合网| 中文字幕av一区二区三区高| 91蝌蚪porny| 琪琪一区二区三区| 久久免费精品国产久精品久久久久| 岛国一区二区在线观看| 一卡二卡三卡日韩欧美| 日韩精品最新网址| 成人av电影在线网| 午夜精品福利在线| 日韩欧美国产综合一区| 99v久久综合狠狠综合久久| 午夜精品福利一区二区三区蜜桃| 欧美va亚洲va国产综合| 99久久婷婷国产精品综合| 亚洲成av人在线观看| 精品国产一二三| 色激情天天射综合网| 看片的网站亚洲| 一区二区三区在线视频观看| 欧美sm极限捆绑bd| 日本二三区不卡| 国产一区二区精品久久99| 亚洲综合视频在线观看| 精品国产免费一区二区三区香蕉| 91网站视频在线观看| 美洲天堂一区二卡三卡四卡视频| 亚洲欧美一区二区久久| 精品99久久久久久| 欧美私模裸体表演在线观看| 国产成人aaa| 久久国产精品第一页| 亚洲第一在线综合网站| 中文字幕乱码日本亚洲一区二区| 日韩视频免费直播| 欧美午夜影院一区| 成人午夜在线播放| 精品一区二区精品| 三级影片在线观看欧美日韩一区二区| 国产精品高清亚洲| 国产视频一区二区三区在线观看| 3atv一区二区三区| 欧洲国产伦久久久久久久| 99久久精品免费精品国产| 国产精品综合网| 九色综合国产一区二区三区| 日韩国产欧美三级| 亚洲成人免费视频| 一区二区不卡在线视频 午夜欧美不卡在 | 色综合久久久久综合99| 国产成人午夜视频| 国产美女娇喘av呻吟久久| 久久精品99久久久| 蜜桃久久久久久久| 麻豆91在线播放| 免费久久99精品国产| 蜜桃视频一区二区| 蜜桃久久久久久| 精品亚洲国内自在自线福利| 麻豆国产精品777777在线| 美国av一区二区| 久草这里只有精品视频| 久久99精品久久久久久国产越南| 美洲天堂一区二卡三卡四卡视频| 美国十次了思思久久精品导航| 蜜臀精品久久久久久蜜臀| 美国毛片一区二区| 精品一区二区免费| 国产xxx精品视频大全| 国产福利一区二区三区视频在线 | 久久精品欧美日韩精品 | 欧美日韩国产精品成人| 欧美日韩亚洲综合一区| 欧美精品18+| 精品免费国产一区二区三区四区| 欧美精品一区二区三区蜜臀| 国产欧美日韩激情| 亚洲日本va在线观看| 亚洲国产美女搞黄色| 日本色综合中文字幕| 国产一区二区0| 99久久精品国产一区| 欧美少妇xxx| 精品久久人人做人人爽| 国产精品狼人久久影院观看方式| 一区二区三区四区不卡在线 | 精品久久五月天| 国产精品成人免费| 亚洲一二三四在线| 精品影视av免费| 91农村精品一区二区在线| 91精品国产综合久久香蕉的特点 | 欧美男女性生活在线直播观看| 日韩免费性生活视频播放| 中文字幕乱码日本亚洲一区二区 | 中文一区一区三区高中清不卡| 日韩毛片在线免费观看| 麻豆精品久久久| 一本色道久久加勒比精品 |