精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

最高加速9倍!字節跳動開源8比特混合精度Transformer引擎

人工智能 新聞
近年來,Transformer 已經成為了 NLP 和 CV 等領域的主流模型,但龐大的模型參數限制了它的高效訓練和推理。于是字節跳動在 2019 年 12 月和 2021 年 6 月分別推出了高效推理和訓練引擎 LightSeq,大大加速了 Transformer 系列模型的訓練和推理。


  • SC22 接收論文:https://sc22.supercomputing.org/presentation/?id=pap211&sess=sess154
  • 代碼地址:https://github.com/bytedance/lightseq

如何繼續提升速度?降低計算精度是比較直接的方法。2017 年以來,fp16 混合精度技術 [2] 獲得了廣泛應用。在對模型效果無損的前提下,將模型訓練和推理的速度提升了 50% 以上。而為了維持模型效果,更低精度的方法(例如 int8)通常需要使用如下傳統方案:

  1. 首先使用 fp16 混合精度將模型訓練至收斂;
  2. 然后在模型計算密集型算子的權重、輸入和輸出位置處,插入偽量化結點,進行量化感知訓練;
  3. 最后將帶有偽量化結點的模型計算圖轉換到專用的 int8 推理引擎中,進行服務部署和模型推理。

雖然在多數任務上,上述方案可以實現模型效果無損,但還是存在以下問題:

  1. 使用方法復雜。例如要多一次量化感知訓練 [4] 的過程,并且帶有偽量化節點的計算圖轉換復雜。
  2. 訓練速度慢。由于目前流行的深度學習框架不支持 int8 精度,所以量化感知訓練需要插入 fp16 的偽量化結點來模擬 int8 量化,導致量化感知訓練反而比 fp16 混合精度訓練慢 2-3 倍。
  3. 推理部署難且加速比低。對比 fp32、fp16 等類型,int8 硬件和底層軟件庫優化相對滯后。例如在 NVIDIA GPU 上,int8 矩陣乘法加速受限于硬件架構和特定 shape,實際加速比遠遠低于理論值。

在下文中,如無特殊說明,量化都是指的 int8 精度的量化

圖片

針對這些問題,字節跳動推出了全新版本的 LightSeq GPU 量化訓練與推理引擎。支持 Transformer 系列模型的量化訓練與推理,并做到了開箱即用,用戶友好。LightSeq 快準狠地實現了 int8 精度的量化訓練和推理:

  1. 快:A100 多卡訓練最高加速 5.2 倍,T4 單卡推理最高加速 8.9 倍。
  2. 準:訓練和推理效果基本無損。
  3. 狠:相同數據量下,顯存占用最高減少 68%,模型存儲空間減少 75%。

總體來說,LightSeq 新版量化訓練與推理引擎具有如下幾個優點:

1. 豐富的支持

支持完整的 Transformer 模塊和多種解碼算法,支持 Transformer、BERT、GPT、BART、ViT 等多種模型結構,支持 Fairseq、Hugging Face、NeurST 等多種訓練框架接入量化訓練、導出模型以及量化推理,提供了豐富的樣例供用戶參考。

2. 卓越的性能

相比于 fp16 精度的 LightSeq 推理引擎,int8 量化還可以進一步加速最高 70%,相比于 PyTorch 推理更是達到了最高 8.9 倍的加速比。同時顯存占用相比 fp16 推理引擎降低了 30% 左右,模型存儲空間只需要原來的四分之一。最后經過多個任務的驗證,推理效果幾乎無損。

3. 便捷的使用

LightSeq 已經針對多個訓練庫進行了量化支持,可以一鍵開啟量化訓練,然后輕松導出為 LightSeq 支持的模型格式,最后實現量化推理。除此之外,LightSeq 還支持訓練后量化,無需額外訓練即可體驗量化推理。

使用方法

圖片

如上圖所示,為了最大程度減小量化帶來的損失,首先需要用 fp16 精度訓練一個浮點數模型,將模型效果訓到最好。然后開啟量化進行 finetune,得到微調過的量化模型,此時模型效果已經基本恢復到浮點數模型的水平。接著將量化模型轉換為 LightSeq 支持的 PB 或者 HDF5 模型格式,最后用 LightSeq 進行量化推理。

安裝方法

LightSeq 安裝非常簡單,只需要一行命令即可:

pip install lightseq

量化訓練

LightSeq 支持 Fairseq、Hugging Face、NeurST 等訓練框架的量化接入,同時也可以自定義模型并開啟量化訓練。以 encoder 層為例,只需要先定義浮點數模型,然后開啟量化即可:

from lightseq.training import LSTransformerEncoderLayer
from lightseq.training.ops.pytorch.quantization import enable_quant


config = LSTransformerEncoderLayer.get_config(
    model="bert-base",
    max_batch_tokens=4096,
    max_seq_len=512,
    fp16=True,
    local_rank=0,
)
layer = LSTransformerEncoderLayer(config)
# 開啟量化
layer.apply(enable_quant)

量化推理

LightSeq 提供了便捷的 python 推理接口,只需要三行代碼即可實現快速的量化推理:

import lightseq.inference as lsi


model = lsi.QuantTransformer(pb_path, batch_size)
result = model.infer(input)

此外 LightSeq 還提供了 BERT、GPT、ViT 等模型的 python 接口,分別調用 QuantBert、QuantGpt 和 QuanVit 即可體驗。

梯度通信量化

LightSeq 支持 Transformer 模型的梯度通信量化[5],使用 Fairseq 或者 Hugging Face 即可輕松開啟分布式量化訓練,并同時支持浮點數模型和量化模型。在構建模型后,只需要為模型注冊一個 communication hook 即可開啟梯度通信量化,再開始訓練過程。

from lightseq.training.gradient_comm_quantization import encode_and_decode, GCQState
from torch.nn.parallel import DistributedDataParallel 

# model could be from Fairseq or Hugging Face, wrapped by DDP
model = DistributedDataParallel(model)
state =  GCQState(process_group)
# register hook
model.register_comm_hook(state=state, hook=encode_and_decode)

性能測試

LightSeq 在多個任務上測試了量化訓練、量化推理和梯度通信量化的速度,并且分析了顯存占用情況和量化模型的效果。

量化訓練速度

圖片

LightSeq 在 8 張 A100 顯卡上進行了訓練實驗,主要對比對象是 Fairseq 的 Transformer、Hugging Face 的 BERT、GPT2 和 ViT。

可以看出,四種模型結構加速趨勢都是類似的,加速比都會隨著數據量的增大而減小,原因有三點:

  1. 隨著數據量的增大,矩陣乘法 GEMM 的占比會明顯增加,因此 PyTorch QAT 增加的額外的偽量化結點時間占比會逐漸減小,最后速度會和 PyTorch fp16 無限接近。
  2. 與此同時,隨著 GEMM 占比升高,LightSeq fp16 自定義算子的提速效果也逐漸減小,因此時間上也會和 PyTorch fp16 無限接近。
  3. 由于 Ampere 架構顯卡上 int8 GEMM 在 shape 較小時甚至不如 fp16 GEMM 快,在大 shape 下才能稍快一點,因此隨著數據量增大,LightSeq int8 也會無限接近 LightSeq fp16 的速度。

量化推理速度

圖片

LightSeq 在單張 T4 顯卡上進行了推理實驗,主要對比對象是 Hugging Face 的 Transformer、BERT、GPT2 和 ViT。

可以看出,隨著輸入數據量的增大,LightSeq 與 PyTorch 的差距會逐漸減小,這也是 GEMM 占比升高造成的。比較 LightSeq fp16 和 LightSeq int8,可以看出隨著數據量的增大,LightSeq int8 越來越快。這是因為在 T4 顯卡上,int8 GEMM 的加速會隨著 shape 的增大而有明顯增加。因此在 T4 顯卡上進行量化推理時,輸入數據量越大,加速效果越好。

圖片

LightSeq 還針對機器翻譯多個語向和多個測試集,測試了不同 batch size 下,LightSeq int8 推理相對于 LightSeq fp16 推理的加速比,實驗同樣是在單張 T4 顯卡上進行的,采用的模型都是標準的 Transformer-Big。

可以得到和上文中相同的結論,隨著 batch size 的增大,量化推理的加速比會逐漸升高。相比于 LightSeq fp16,最高還可以再加速近 70%,這極大地縮短了線上翻譯模型的推理延時。

圖片

最后如上圖所示,為了展示自動 GEMM 調優技術的效果,LightSeq 測試對比了 A100 顯卡上 Transformer 和 BERT 模型 fp16、int8 調優前和 int8 調優后的延時。可以看出調優前某些 shape 的 int8 GEMM 速度甚至比 fp16 還要慢,而調優后全面超越了 fp16。

顯存占用

圖片LightSeq 分析了不同 batch size 下,量化模型相對于浮點數模型顯存占用的加速比。可以看出隨著 batch size 的增大,量化模型的顯存占用優勢更明顯,最高可以減少 30% 左右。而 LightSeq fp16 引擎相對于 PyTorch 模型也極大程度減少了顯存占用,因此 LightSeq int8 引擎最終能夠減少最多 68% 左右的顯存。

量化模型效果

圖片

針對機器翻譯多個語向和多個測試集,LightSeq 測試了量化模型推理相對于浮點數模型 BLEU 的損失,采用的模型都是標準的 Transformer-Big。

在數據量較大的語向 en2zh 上,LightSeq int8 相對 BLEU 損失較大些,最大達到了 - 0.4。而在數據量較小的語向 en2es 上,LightSeq int8 不僅沒有任何效果損失,反而比浮點數模型更好。總體而言,int8 量化模型的平均 BLEU 相比浮點數模型基本無損。在 GLUE 和 SQuAD 等多個任務上,LightSeq 也驗證了量化模型的效果。

梯度通信量化

圖片

由于在多機多卡場景下通信瓶頸更加明顯,所以梯度通信量化主要應用在分布式訓練場景。因此 LightSeq 在 2 機 8 卡的 A100 上進行了分布式訓練的速度測試。

可以看出,梯度通信量化的訓練加速效果整體上隨著輸入數據的增大而減弱。這主要是因為隨著輸入數據的增大,計算時間占比升高,梯度通信時間占比減少,梯度量化的收益也隨之減小。

LightSeq 還額外增加了不同數量網卡(NIC)下的訓練速度測試。可以看到使用梯度通信量化的分布式訓練速度相比原始的 LightSeq fp16 有大幅度提升。

量化技術

int8 量化的加速收益主要來自如下幾個方面:

  1. GEMM 精度從 fp16 降低到 int8 后,計算時間縮短;
  2. 自定義算子采用 int8 輸入輸出后,數據讀寫時間縮短;
  3. 梯度采用 int8 存儲后,多機之間通信時間縮短。

以 Transformer 模型為例,經過 LightSeq fp16 引擎加速后,自定義算子時間大大縮短,而 GEMM 時間占比提升到了 90% 左右,因此優化的重點轉移到了 GEMM 提速。將 fp16 GEMM 替換為 int8 GEMM 不僅可以縮短 GEMM 時間,還可以減小前后算子的輸入輸出位寬,從而減小讀寫數據的時間。最后多機訓練的瓶頸主要在梯度的通信,將梯度量化為 int8 精度可以大大加快分布式訓練的速度。

量化原理

圖片

為了彌補量化帶來的精度損失,通常需要用量化感知訓練來模擬量化過程。如上圖所示,量化感知訓練就是將 float GEMM 的兩個 float 輸入分別做一遍量化和反量化(稱之為偽量化結點),離散化成分段的浮點數輸入,然后進行 float GEMM 運算。得到結果后再次進行量化與反量化,得到最終的浮點數結果。而量化的過程是不可導的,因此需要用 STE 方法來估計量化參數的梯度。之所以量化感知訓練中需要插入偽量化結點,然后用 float GEMM 去模擬量化過程,是因為 TensorFlow 和 PyTorch 等訓練框架不支持 int8 GEMM。

圖片

而 LightSeq 量化訓練直接采用 int8 GEMM 來真實還原量化過程,因此相比傳統的實現要更快,且更加節省顯存。在推理的時候,同樣采用離散化后的整數進行 int8 GEMM 運算,最后再反量化回浮點數結果。量化推理過程和量化訓練完全一致,并且和傳統的量化感知訓練是完全等價的。

量化位置

圖片

整個量化 Transformer 的網絡結構如上圖所示,紅色箭頭表示需要加上量化和反量化結點的位置。

首先所有 int8 GEMM 的輸入和輸出都需要進行量化。由于 int8 GEMM 的 shape 限制,部分 GEMM(例如注意力分數的計算)仍然采用 float GEMM。此外第二層 FFN 的 GEMM 采用的是 int32 的輸出,因為它的 GEMM 輸入是 ReLU 激活函數的輸出結果,只包含正數,非對稱,因此如果采用 int8 輸出的 GEMM,將無法反量化為正確的浮點數結果。

然后所有的模型權重 weight 都需要存儲為 int8 類型,因此需要對 weight 做量化。而權重 bias 參數量較小,無需量化,保留 float 精度反而可以提升模型效果。

最后需要對 decoder 端的 cache 進行量化。因為在推理時,decoder 端的 cache 需要頻繁進行讀寫,因此將 cache 量化為 int8 可以大大加快解碼的速度。

量化策略

圖片

將一個浮點數矩陣量化為 int8 整數矩陣有很多方法,LightSeq 采用的是對稱量化,即將正負數范圍對稱的浮點數區間等比例地映射到整數區間 [-127, 127] 上。

而實際上浮點數矩陣的數值范圍通常并不對稱,存在極少的離群值。如果直接按照離群值的范圍來量化矩陣,會影響到量化后的精度,所以需要先對矩陣進行數值截斷。

LightSeq 采用 PACT 方法進行截斷[6],將截斷的范圍當作模型可學習的參數,然后利用 STE 算法去估計參數的梯度,并進行反向傳播優化。根據實踐經驗,權重 weight 的初始截斷范圍設為[-1, 1],中間結果的初始截斷范圍設為[-16, 16],可以在大部分任務上達到最好的效果。最后經過截斷范圍和其他模型參數的聯合優化,量化模型的效果可以達到基本無損。

梯度通信量化

針對分布式訓練場景,LightSeq 推出了梯度量化壓縮技術。即對浮點精度的梯度進行 int8 量化,以減少梯度通信的時間消耗,從而加速訓練,這就是梯度通信量化(GCQ)。

圖片

如上圖所示,梯度通信量化的主要流程如下:

  1. 計算每張卡上各自梯度的截斷范圍;
  2. 對截斷范圍執行 all-reduce max 操作;
  3. 每張卡使用統一的截斷范圍對各自梯度進行 int8 量化;
  4. 對 int8 梯度執行 all-reduce sum 操作;
  5. 每張卡對 all-reduce 后的梯度進行反量化,還原為浮點數梯度,并進行參數更新。

為了解決 int8 梯度在 all-reduce 過程中溢出的問題,LightSeq 首先將每張卡上的浮點數梯度除以卡數,再使用除之前的截斷范圍進行量化,最后進行 all-reduce 操作。這樣每張卡上量化后的 int8 整數 all-reduce 完就不會溢出,但是單卡實際用于量化的比特數也因此而減少,所以目前方案在 2 機 8 卡效果幾乎無損,但隨著卡數的上漲,訓練效果會有所下降。以 en2de 和 en2fr 翻譯任務為例,在 4 機 8 卡上進行分布式量化訓練,BLEU 值分別會下降 0.4 和 1.5 左右。未來 LightSeq 將會持續探索更好的方法來解決這一問題。

通用技術

除了上一章節中提到的量化技術以外,此次更新 LightSeq 還提出了幾種通用的優化技術,不僅可以應用在量化模型中,也適用于其它所有精度模型的訓練與推理。

算子融合

圖片

上圖是 encoder 模塊量化訓練的計算圖,LightSeq 將兩次 GEMM 運算之間的所有操作融合成一個算子[7],減少了 kernel 調用的次數,因此減少了總的計算時間。

圖中黃色矩形表示 int8 GEMM,綠色矩形表示 float GEMM。這里采用 float GEMM 是由于 shape 的限制,不適合使用 int8 GEMM 加速。紅色箭頭表示流動數據的類型是 int8,綠色箭頭表示第二層 FFN 的 GEMM 輸出是 int32 數據類型。int8 GEMM 輸入輸出的量化與反量化操作都被融合到了前后 kernel 里,這不僅可以減少數據搬運,還可以減小顯存占用。

圖片

在推理時,LightSeq 還針對 decoder 做了優化。如上圖所示,在計算 self-attention 時,注意力得分的維度是(batch size, 1, sequence length)。因此在計算 value 乘積時,可以不采用 GEMM 運算,而直接手寫加權求和的算子,從而將圖中虛線框中的計算融合成一個 kernel。

自動顯存管理

圖片

模型量化引入了更復雜的張量類型和張量依賴關系,這給顯存管理帶來新的挑戰。為此,LightSeq 設計了新的顯存管理機制。如上圖所示,主要包括以下過程:

  1. 訓練啟動前,根據每個算子的拓撲依賴關系,自動計算每個張量的生命周期及顯存空間大小。其中,包含動態維度的張量按照此維度的最大量進行計算,例如機器翻譯任務中的最大句長和最大 batch 句子數量。這些最大量在訓練前已被指定;
  2. 張量確定生命周期和大小后,分析顯存復用關系。其中,無生命周期重合的張量可以共用一片顯存空間,所有顯存空間都是無數據類型的,可以被分配到任意數據類型的張量上;
  3. 根據張量顯存復用關系,申請多段顯存空間,為每個張量分配實際的顯存起止地址。

張量顯存復用的分析,LightSeq 借鑒了論文 [3] 中提出的 Greedy by Size for Offset Calculation 方法,做了三個改進:

  1. 支持了整個訓練過程的顯存復用(forward/backward);
  2. 不同數據類型能做到顯存復用(int8/fp16/fp32);
  3. 在多段顯存空間上容納所有張量,而非一段非常大的顯存空間,這樣能有效提升顯存利用率。

自動 GEMM 調優

LightSeq 的 int8 GEMM 采用了 NVIDIA 的 cuBLASLt 庫,這也是目前 NVIDIA 顯卡上最為高效的矩陣運算庫。但是輸入數據的 shape 或者顯卡不同的話,GEMM 所采用的最優配置(例如數據排布、GEMM 算法等等)也可能不同,因此需要進行自動選取。LightSeq 采取的自動調優方案如下:

  1. 在多種型號顯卡上(例如 T4 和 A100)進行不同 shape 的 GEMM 最優配置搜索,并將結果保存到配置文件中,用戶只需要下載即可;
  2. 模型初始化時,加載對應型號顯卡的配置文件,解析并保存到鍵值對為 (shape, 最優配置) 的字典中。如果沒有對應型號顯卡的配置文件,或者沒有需要的 GEMM shape,那么用戶可以選擇自己搜索并保存,或者直接使用默認配置;
  3. 模型前向或后向計算時,根據輸入的 shape 在字典中尋找最優配置,然后進行 GEMM 計算。如果沒有找到對應的 shape,那么直接采用默認的配置。

未來工作

未來 LightSeq 還將繼續探索移動端的低精度量化、反向傳播中梯度的量化、大模型量化等方向。

責任編輯:張燕妮 來源: 計算機視覺研究院
相關推薦

2022-10-31 15:35:16

開源引擎

2022-04-26 15:09:14

優化模型訓練

2022-03-21 17:56:59

大模型訓練訓練框架

2022-03-21 15:06:10

模型字節跳動框架

2022-07-18 17:37:27

字節跳動人工智能AI模型

2022-11-02 10:02:24

BitSail字節跳動數據集成

2020-10-24 07:30:05

開源字節跳動模型

2021-09-17 13:05:55

模型人工智能框架

2023-10-18 11:56:17

開源AI

2024-09-23 08:15:11

2021-01-29 10:33:34

存儲

2019-08-06 17:19:22

開源技術 趨勢

2022-06-22 06:49:39

Hertz開源HTTP 框架

2021-09-09 09:05:30

開源字節跳動CloudWeGo

2024-11-08 15:00:00

AI模型

2021-09-06 14:57:24

AI 數據人工智能

2022-08-25 18:48:29

字節跳動CSS開源

2025-04-09 09:20:00

2020-09-11 15:37:18

GitHub代碼開發者

2024-02-19 00:00:00

前端開源項目
點贊
收藏

51CTO技術棧公眾號

91香蕉视频污| 成人av动漫在线| 日韩一级完整毛片| 激情小视频网站| 免费国产在线观看| 久久精品国产色蜜蜜麻豆| 欧美大奶子在线| 国产福利在线观看视频| 日韩一区二区三区四区五区| 一区二区三区在线看| 美国av一区二区三区| 国产一区二区麻豆| 亚洲色诱最新| 欧美xxxx做受欧美.88| 日本aaa视频| 奇米一区二区| 欧美性感一区二区三区| 波多野结衣综合网| 黄色av电影在线观看| 91视频免费看| 超碰97人人在线| 中文无码精品一区二区三区| 亚洲一本视频| 美日韩在线视频| 国产一级淫片久久久片a级| 国产精品白浆| 日韩一区二区三区观看| 99热手机在线| www.精品| 欧美日韩在线视频一区二区| 国产树林野战在线播放| av基地在线| 久久久精品tv| 精品久久久久亚洲| 亚洲精品国产一区二| 黄色日韩网站视频| 国产精品爽黄69| 中文字幕xxxx| 久久高清一区| 欧美一级片久久久久久久| 成人免费看片98| 欧美成人嫩草网站| 美女少妇精品视频| 欧美在线视频第一页| 天天做天天爱天天爽综合网| 一区二区三区精品99久久| 国产精品无码在线| 偷窥自拍亚洲色图精选| 亚洲第一精品自拍| 久久久午夜精品福利内容| 成人偷拍自拍| 亚洲第一综合天堂另类专| www.黄色网| 亚洲高清在线一区| 精品捆绑美女sm三区| 中文字幕永久免费| 国产精品白丝av嫩草影院| 精品99久久久久久| 中文字幕第3页| 黄色免费大全亚洲| 日韩激情在线视频| 成人无码www在线看免费| 三区在线观看| 久久久久久久久久久久久久久久久久久久| 欧美日韩亚州综合| 亚洲国产成人va在线观看麻豆| 日韩视频网站在线观看| 在线观看国产日韩| 99sesese| 韩国一区二区三区视频| 欧美日韩二区三区| 在线观看免费av网址| 天堂久久一区| 欧美videofree性高清杂交| 伊人久久久久久久久| 999国产精品一区| 日韩国产高清污视频在线观看| 六十路息与子猛烈交尾| 精品视频97| 久久综合久久八八| 国产精品9191| 视频在线观看91| 91免费精品国偷自产在线| 亚洲国产av一区二区| 狠狠操综合网| 色婷婷久久久综合中文字幕| 日韩中文字幕免费在线| 精品久久久网| 亚洲精品一区二区三区精华液 | 午夜视频精品| 久久全国免费视频| 中文字幕在线观看视频一区| 国产丶欧美丶日本不卡视频| 久久久久久久久久久久久9999| 98在线视频| 亚洲国产欧美另类丝袜| 别急慢慢来1978如如2| 嫩呦国产一区二区三区av| 亚洲国产日韩精品在线| 国产在线免费av| 欧美视频不卡| 国产精品视频久久久久| 免费av一级片| 国产精品卡一卡二| 无码人妻精品一区二区三区在线 | 国产专区精品| 日韩成人久久久| 日韩三级在线观看视频| 亚洲区第一页| 亚洲xxxxx性| 国产香蕉视频在线看| 亚洲一区二区三区国产| 中文字幕 91| 天天躁日日躁成人字幕aⅴ| 另类少妇人与禽zozz0性伦| 国产精品一区二区三区四| 国产乱子伦视频一区二区三区| 蜜桃视频在线观看91| 婷婷色在线播放| 欧美性做爰猛烈叫床潮| xxxx黄色片| 亚洲午夜久久久久久尤物| 国产免费久久av| 国产精品久久一区二区三区不卡| 无码av中文一区二区三区桃花岛| 日本网站在线看| 日韩中文在线电影| 国产精品igao视频| 久青草国产在线| 久草在线青青草| 免费一级片91| 日本视频一区在线观看| 嗯啊主人调教在线播放视频| 欧美一卡2卡三卡4卡5免费| 久久久久亚洲AV成人无在 | 国产精品久久久久久久久图文区| 欧美牲交a欧美牲交aⅴ免费真| 2023国产精华国产精品| 欧美成aaa人片免费看| 这里只有精品9| 国产精品日韩成人| 日韩肉感妇bbwbbwbbw| 精品一二三区| 国产精品女主播| 国产精品二线| 欧美日韩夫妻久久| av最新在线观看| 国内精品第一页| 992tv成人免费观看| 国产不卡精品| 久久69精品久久久久久国产越南| 国产美女裸体无遮挡免费视频| 中文字幕在线不卡| 韩国三级hd中文字幕有哪些| 中文字幕一区二区三区乱码图片| 亚洲最大福利视频网| 91cn在线观看| 亚洲国产欧美一区| 午夜精品一区二| 国产欧美日韩在线观看| jizzzz日本| 综合五月婷婷| www.成人三级视频| 国产高潮在线| 亚洲欧美一区二区三区情侣bbw| 亚洲欧美综合自拍| 中文字幕av一区 二区| 加勒比av中文字幕| 黄色亚洲免费| 欧美日韩精品一区| 91欧美精品| 久久视频在线播放| 殴美一级特黄aaaaaa| 色综合天天综合狠狠| 亚洲少妇xxx| 国产精品亚洲午夜一区二区三区| 六月婷婷激情综合| 蜜桃一区二区| 91欧美视频网站| 日本黄色免费在线| 中日韩美女免费视频网站在线观看| 国产免费一区二区| 亚洲精品国偷拍自产在线观看蜜桃| 五月天网站亚洲| 大吊一区二区三区| 国产91精品一区二区麻豆网站| 六月丁香激情网| 国产精品久久观看| 国产在线视频欧美一区二区三区| 成人自拍视频网| 久久久久久久999| 国产二区视频在线观看| 日韩女优av电影| 一级黄色av片| 日韩av成人| 欧美日韩亚洲综合一区二区三区| 曰本女人与公拘交酡| 国产亚洲精品精华液| 亚洲国产午夜精品| 另类国产ts人妖高潮视频| 在线观看精品视频| 欧美日日夜夜| 91成人免费视频| 日韩一区二区三区免费视频| 九色精品免费永久在线| yw视频在线观看| 亚洲国产精品va在线看黑人| 91国产免费视频| 欧美性猛交xxxx乱大交| 欧美日韩一级大片| 国产精品国产自产拍在线| 风间由美一二三区av片| 国产真实乱对白精彩久久| 久久久精品在线视频| 午夜精品偷拍| 一本色道久久99精品综合| 亚洲精品国模| 国产一区二区三区高清视频| av日韩在线免费观看| 国产精品久久av| 中文字幕这里只有精品| 高清欧美性猛交| 性欧美videos高清hd4k| 最近2019年日本中文免费字幕 | 久久精品一区二区三区av| 国产精品无码自拍| 国产真实精品久久二三区| 亚洲欧美自偷自拍另类| 久久亚洲不卡| 国产成人无码一二三区视频| 亚洲作爱视频| 五十路熟女丰满大屁股| 国产在线成人| a级片一区二区| 国产精品久久久乱弄| 亚洲一区二区三区精品在线观看| 特级西西人体wwwww| 美女脱光内衣内裤视频久久网站| 亚洲乱码国产一区三区| 亚洲永久免费| 女人和拘做爰正片视频| 欧美亚洲免费| 欧美成人免费高清视频| 免费国产自线拍一欧美视频| 亚洲 高清 成人 动漫| 夜夜爽av福利精品导航| 乱人伦xxxx国语对白| 亚洲美女色禁图| 日本www在线视频| 欧美专区一区二区三区| 国产aaa一级片| 丝瓜av网站精品一区二区 | 亚洲色图官网| 欧美在线播放视频| 天天免费亚洲黑人免费| 国产精品成人在线| 成人精品国产| 成人免费直播live| 97人人澡人人爽91综合色| 激情一区二区三区| 久久超碰99| 亚洲va韩国va欧美va精四季| 久久高清精品| 成人av在线播放观看| 欧美日韩理论| 俄罗斯av网站| 老司机精品视频导航| 中文字幕亚洲影院| 成人免费看黄yyy456| 国产 xxxx| 国产欧美一区二区三区鸳鸯浴 | 亚洲国产精品影院| 国产无人区码熟妇毛片多| 色屁屁一区二区| 91亚洲国产成人精品一区| 日韩欧美一级片| 亚洲人视频在线观看| 色老头一区二区三区在线观看| 怡红院红怡院欧美aⅴ怡春院| 欧美激情在线视频二区| 成人性生交大片免费观看网站| 国产精选久久久久久| av动漫精品一区二区| 美女三级99| 亚洲精品888| 欧美女人性生活视频| 精品一区中文字幕| 超碰97在线资源站| 国产精品色哟哟| 国产主播在线观看| 欧美色爱综合网| 日韩在线观看视频一区二区三区| 亚洲区一区二区| 欧洲黄色一区| 国产精品入口免费视| 成人精品动漫一区二区三区| 日本免费高清不卡| 国产一区观看| 五月激情婷婷在线| 久久综合久色欧美综合狠狠| 亚洲 欧美 变态 另类 综合| 欧美性猛交丰臀xxxxx网站| 97人妻人人澡人人爽人人精品 | 在线免费看黄| 3344国产精品免费看| 日本免费成人| 欧美中日韩免费视频| 韩日欧美一区| 福利视频999| 国产午夜一区二区三区| 国产精品不卡av| 91精品福利在线一区二区三区 | 久久国产精品影视| 国产精品字幕| 欧美高清视频一区二区三区在线观看 | 欧美大黄免费观看| 成人免费看aa片| 精品国产午夜| 99国产精品白浆在线观看免费| 日本午夜精品一区二区三区电影 | 岳乳丰满一区二区三区| 日韩电影免费在线观看中文字幕 | 91精品国产调教在线观看| 久久久久免费精品| 91色porny| 日韩三级视频在线播放| 精品国产亚洲在线| 污片视频在线免费观看| 亚洲精品欧美极品| 91综合在线| 日本在线播放一区二区| 亚洲国产精华液网站w| 亚洲无码精品一区二区三区| 亚洲精品在线视频| 性xxxxfreexxxxx欧美丶| 国产精品一 二 三| 伊人蜜桃色噜噜激情综合| 精品人妻一区二区免费| 亚洲一区二区三区不卡国产欧美| 国产黄色高清视频| 欧美精品情趣视频| 麻豆精品国产| 久久亚洲国产成人精品无码区 | 日韩一级av毛片| 91久久香蕉国产日韩欧美9色| 免费在线高清av| 国产成人在线视频| 欧美日中文字幕| 亚洲天堂网一区| 中文字幕一区日韩精品欧美| 一道本在线视频| 麻豆国产精品va在线观看不卡| 电影一区中文字幕| 久操手机在线视频| 成人自拍视频在线| 久久国产视频播放| 欧美成年网站| 神马影院一区二区三区| 美腿丝袜亚洲综合| 久久av红桃一区二区禁漫| 91精品国产一区二区三区蜜臀| 青青草原国产在线| 久久久综合香蕉尹人综合网| 性感少妇一区| 亚洲女同二女同志奶水| 欧美一级免费观看| av中文字幕在线观看第一页| 麻豆av一区二区| 老司机午夜精品99久久| 久久综合亚洲色hezyo国产| 亚洲精品国产综合久久| 日韩一区二区三区在线免费观看| 亚洲成人在线视频网站| 国产精品综合二区| 可以免费在线观看的av| 国产小视频国产精品| 国产精品日韩精品在线播放| 日韩a级在线观看| 日本一区二区三区国色天香| 国产强伦人妻毛片| 国产91成人video| 97视频热人人精品免费| 少妇熟女视频一区二区三区| 欧美性videos高清精品| 日韩专区在线| 国产综合 伊人色| 另类小说一区二区三区| 国产在线观看成人| 一区二区三区视频在线| 亚洲国产欧美国产第一区| 国产无套粉嫩白浆内谢的出处| 亚洲嫩草精品久久| 国产在线视频资源| 成人看片视频| 日本v片在线高清不卡在线观看| 欧美久久久久久久久久久久| 一区二区三区天堂av| gogo人体一区| 国内国产精品天干天干| 精品女同一区二区三区在线播放|