成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一文詳解大語言模型的流行架構與訓練技術

發布于 2024-7-3 09:55
瀏覽
0收藏

這篇博客全面介紹了大型語言模型(LLMs)的構建流程,從流行架構的選擇到實際建模的每個關鍵步驟。文章首先探討了LLMs的模型架構,然后詳細闡述了數據準備過程,包括數據的收集、清洗和去重,接著是關于如何進行有效標記化的討論。在模型構建方面,博客詳細解釋了采用自監督學習方法的預訓練過程,以及對模型進行指令微調和對齊的重要性。每個環節都被細致地講解,使讀者能夠深入理解LLMs的構建和優化過程。這篇博客為那些對LLMs工作方式感興趣的讀者提供了一個指導。

訓練流程示意

一文詳解大語言模型的流行架構與訓練技術-AI.x社區

1. 主流的LLM架構

  • 常見架構類型:最廣泛使用的LLM架構包括僅編碼器、僅解碼器和編碼器-解碼器。
  • 基礎架構:大多數LLM架構都基于Transformer(Transformer)作為構建模塊。
  • Transformer架構回顧:因此,我們也將在這里回顧Transformer架構。

Transformer

  • 開創性工作:Vaswani等人提出Transformer框架,具有里程碑的意義,最初設計用于使用GPU進行有效的并行計算。
  • 核心機制:Transformer的核心是(自)注意力機制,相比遞歸和卷積機制,它能夠更有效地利用GPU捕捉長期上下文信息。
  • Transformer語言模型架構:最初為機器翻譯提出的Transformer語言模型架構,包括一個編碼器和一個解碼器。編碼器由N=6個相同的Transformer層堆疊組成。每層有兩個子層:第一個是多頭自注意力層,另一個是簡單的逐位置全連接前饋網絡。解碼器由6個相同的層堆疊組成。除了編碼器層中的兩個子層外,解碼器還有第三個子層,它對編碼器堆棧的輸出執行多頭注意力。注意力函數可以描述為將查詢和一組鍵值對映射到一個輸出,其中查詢、鍵、值和輸出都是向量。輸出計算為值的加權和,其中每個值的權重由查詢與相應鍵的兼容性函數計算得出。與執行一個具有dmodel維鍵、值和查詢的單一注意力函數不同,發現將查詢、鍵和值h通過不同的學習線性投影分別映射到dk、dk和dv維是有益的。位置編碼被加入以融合有關序列中標記的相對或絕對位置的信息。

僅編碼器架構

  • 注意力層特點:在這個家族的模型中,每個階段的注意力層都能訪問初始句子中的所有詞語。
  • 預訓練方法:這些模型的預訓練通常包括以某種方式破壞給定句子(例如,通過掩蓋句子中隨機的單詞),然后讓模型找出或重構初始句子。
  • 適用任務:編碼器模型非常適合需要理解整個序列的任務,如句子分類、命名實體識別和抽取式問答。
  • 代表模型:一個突出的僅編碼器模型是BERT(Bidirectional Encoder Representations from Transformers。

僅解碼器架構

  • 注意力層特點:對于這些模型,每個階段的注意力層只能訪問句子中該詞之前的詞語。這些模型有時也被稱為自回歸模型。
  • 預訓練方法:這些模型的預訓練通常被構建為預測序列中的下一個詞(或標記)。
  • 適用任務:僅解碼器模型最適合涉及文本生成的任務。GPT模型是這一類別的突出例子。

編碼器-解碼器架構

  • 架構特點:這些模型使用編碼器和解碼器,有時被稱為序列到序列模型。在每個階段,編碼器的注意力層可以訪問初始句子中的所有詞語,而解碼器的注意力層只訪問輸入中給定詞之前的詞語。
  • 預訓練目標:這些模型通常使用編碼器或解碼器模型的目標進行預訓練,但通常涉及更復雜的內容。例如,一些模型通過用單個掩碼特殊詞替換文本中的隨機文本跨度(可能包含幾個詞)進行預訓練,目標是預測這個掩碼詞替換的文本。
  • 適用任務:編碼器-解碼器模型最適合涉及基于給定輸入生成新句子的任務,如摘要、翻譯或生成式問答。

2. 數據清理

  • 數據清理的重要性:數據質量對于基于其訓練的語言模型的性能至關重要。數據清理技術,如過濾和去重,已被證明對模型性能有很大影響。
  • 實例研究:作為一個例子,在Falcon40B中,Penedo等人展示了經過適當過濾和去重的網絡數據單獨可以構建強大的模型,甚至在性能上顯著超過在The Pile上訓練的最先進模型。盡管進行了廣泛過濾,他們仍然從CommonCrawl獲取了五萬億個標記。他們還發布了來自REFINEDWEB數據集的6000億標記的提取物,以及在此基礎上訓練的1.3/7.5B參數語言模型。
  • 數據精煉過程示意

一文詳解大語言模型的流行架構與訓練技術-AI.x社區

圖:宏觀數據精煉的后續階段剔除了最初在CommonCrawl中的近90%文檔。

2.1 數據過濾

數據過濾的目的是提高訓練數據的質量和訓練數據的有效性。常見的數據過濾技術包括:

  • 去除噪聲:指消除可能影響模型良好泛化能力的無關或噪聲數據。例如,可以考慮從訓練數據中刪除錯誤信息,以降低模型生成錯誤回應的可能性。質量過濾的兩種主流方法包括:基于分類器的和基于啟發式的框架。
  • 處理離群值:識別并處理數據中的離群值或異常,以防止它們對模型產生不成比例的影響。
  • 處理數據不平衡:平衡數據集中類別或類別的分布,避免偏見,確保公平代表性。這對于負責任的模型訓練和評估特別有用。
  • 文本預處理:通過去除停用詞、標點符號或可能不會顯著貢獻于模型學習的其他元素,來清潔和標準化文本數據。
  • 處理模糊性:解決或排除可能在訓練過程中混淆模型的模糊或矛盾數據。這可以幫助模型提供更確定和可靠的答案。

2.2 數據去重

  • 去重的意義:去重指的是移除數據集中的重復實例或重復出現的相同數據的過程。重復的數據點可能會在模型訓練過程中引入偏見,并減少多樣性,因為模型可能多次從相同的示例中學習,可能導致對那些特定實例的過擬合。
  • 改善泛化能力:去重改善了模型對新的、未見過的數據的泛化能力。
  • 大數據集中的重要性:在處理大型數據集時,去重尤其重要,因為重復數據可能無意中放大了某些模式或特征的重要性。這在NLP任務中尤其相關,因為多樣化和具有代表性的訓練數據對于構建健壯的語言模型至關重要。
  • 具體方法:具體的去重方法可能根據數據的性質和特定語言模型的訓練需求而有所不同。它可能涉及比較整個數據點或特定特征來識別和消除重復數據。在文檔層面,現有工作主要依賴于文檔之間高級特征(例如n-gram重疊)的重疊比率來檢測重復樣本。

3 分詞

  • 基本概念:分詞是將文本序列轉換成稱為標記的更小部分的過程。盡管最簡單的分詞工具僅基于空格將文本切分成標記,但大多數分詞工具依賴于詞典。
  • 詞典外問題(OOV):在這種情況下,詞典外(out-of-vocabulary,OOV)問題是一個挑戰,因為分詞器只能識別其詞典中的詞匯。
  • 增加詞典覆蓋率:為了增加詞典的覆蓋率,用于LLMs的流行分詞器基于子詞,這些子詞可以組合形成大量詞匯,包括訓練數據中未出現的詞匯或不同語言的詞匯。
  • 流行分詞器簡介:以下將描述三種流行的分詞器。

3.1 BytePairEncoding(字節對編碼)

  • 算法起源:BytePairEncoding最初是一種數據壓縮算法,使用字節級別的頻繁模式來壓縮數據。
  • 算法特點:該算法主要嘗試保持頻繁出現的單詞的原始形式,并分解不常見的單詞。這種簡單的范式使得詞匯表不會很大,同時也足以代表常見單詞。如果訓練數據中的后綴或前綴也常見,則頻繁單詞的形態變化也可以很好地表示。

3.2 WordPieceEncoding(詞片編碼)

  • 應用模型:這種算法主要用于眾所周知的模型,如BERT和Electra。
  • 訓練過程:在訓練開始時,算法取訓練數據中的所有字母表,確保沒有任何內容會被標記為UNK(未知)。
  • 算法特點:當模型給出一個無法由標記器標記的輸入時,會出現這種情況。這種情況多發生在某些字符無法被標記時。與BytePairEncoding類似,它嘗試根據頻率最大化將所有標記放入詞匯表的可能性。

3.3 SentencePieceEncoding(句子片編碼)

  • 與前兩者對比:盡管前兩種標記器強大且與空白標記相比有許多優勢,它們仍然假設單詞總是由空格分隔。這個假設并非總是成立,在某些語言中,單詞可能會被不需要的空格或甚至是捏造的單詞等噪聲元素破壞。
  • 解決問題:SentencePieceEncoding試圖解決這個問題。

4. 位置嵌入

4.1 絕對位置嵌入(Absolute Positional Embeddings, APE)

  • 原理與應用:APE用于原始Transformer模型,以保留序列順序信息。因此,單詞的位置信息被添加到編碼器和解碼器堆棧底部的輸入嵌入中。
  • 位置編碼的選擇:位置編碼有多種選擇,可以是學習的或固定的。在標準Transformer中,使用正弦和余弦函數來實現這一目的。
  • 主要缺點:使用APE的主要缺點是限制了特定數量的標記。此外,APE無法考慮標記之間的相對距離。

4.2 相對位置嵌入(Relative Positional Embeddings, RPE)

  • 方法和實現:RPE通過擴展自注意力來考慮輸入元素之間的成對鏈接。RPE在兩個層面上被添加到模型中:首先作為鍵的額外組成部分,然后作為值矩陣的子組成部分。
  • 輸入視角:這種方法將輸入視為一個帶標簽和有向邊的完全連接圖。在線性序列的情況下,邊可以捕獲輸入元素之間相對位置差異的信息。
  • 剪輯距離:剪輯距離k()指定了相對位置的最大限制。這允許模型對訓練數據中未包含的序列長度進行合理預測。

4.3 旋轉位置嵌入(Rotary Position Embeddings, RoPE)

  • 解決問題:RoPE解決了現有方法的問題。學習的絕對位置編碼在句子短時可能缺乏泛化性和意義。此外,當前方法如T5的位置嵌入在構建位置之間的完整注意力矩陣方面面臨挑戰。
  • 實現方法:RoPE使用旋轉矩陣來編碼單詞的絕對位置,并在自注意力中同時包含顯式的相對位置細節。
  • 特點:RoPE帶來了一些有用的特性,如靈活應對句子長度、隨著相對距離的增加降低詞匯依賴性,以及通過相對位置編碼改善線性自注意力的能力。GPT-NeoX-20B、PaLM、CODEGEN和LLaMA等模型在其架構中利用了RoPE。

4.4 相對位置偏置(Relative Positional Bias)

  • 背景與概念:這種類型的位置嵌入旨在在推理過程中為比訓練中遇到的序列更長的序列提供外推。
  • 實現方法:Press等人提出了帶線性偏置的注意力(ALiBi)。他們不是簡單地將位置嵌入添加到詞嵌入中,而是為查詢鍵對的注意力分數引入偏置,根據它們的距離施加比例懲罰。BLOOM模型中利用了ALiBi。

5. 模型預訓練

預訓練是大型語言模型訓練流程的第一步,幫助LLMs獲得基本的語言理解能力,適用于廣泛的語言相關任務。在預訓練期間,LLM通常在大量(通常是未標記的)文本上以自監督的方式進行訓練。預訓練的方法有多種,包括下一句預測,最常見的兩種包括下一個標記預測(自回歸語言建模)和遮蔽語言建模。

5.1 自回歸語言建模

  • 定義與方法:在這種框架下,給定n個標記的序列,模型試圖以自回歸方式預測下一個標記(有時是下一序列的標記)。
  • 損失函數:這種情況下常用的損失函數是預測標記的對數似然:

一文詳解大語言模型的流行架構與訓練技術-AI.x社區

  • 適用性:由于框架的自回歸特性,僅解碼器模型更適合學習完成這些任務。

5.2 遮蔽語言建模

  • 定義與方法:在這種方法中,序列中的一些詞被遮蔽,模型訓練預測基于周圍上下文的遮蔽詞。有時也被稱為去噪自編碼。
  • 訓練目標:如果將序列x中被遮蔽/損壞的樣本表示為,該方法的訓練目標可以表示為:
  • 一文詳解大語言模型的流行架構與訓練技術-AI.x社區

5.3 專家混合(Mixture of Experts, MoE)

  • 最近趨勢:MoE近來在LLM領域也變得非常流行,它允許模型以較少的計算進行預訓練,意味著可以在相同的計算預算下顯著擴大模型或數據集的規模。
  • 主要元素:
  • 稀疏MoE層:代替密集前饋網絡(FFN)層使用,擁有一定數量的“專家”(例如8個),每個- 專家都是一個神經網絡。實踐中,專家通常是FFN,但也可以是更復雜的網絡。
  • 門控網絡或路由器:決定哪些標記發送給哪個專家。一個標記可以發送給多個專家。路由標記至專家的決策至關重要,路由器由學習的參數組成,并與網絡的其余部分同時進行預訓練。
  • 圖示說明:下圖展示了MoE中使用的Switch Transformer編碼器塊。

一文詳解大語言模型的流行架構與訓練技術-AI.x社區

圖:Switch Transformer編碼器塊示意圖。它們用稀疏Switch FFN層(淺藍色)替換了Transformer中的密集前饋網絡(FFN)層。

6. 微調和指令微調

微調和指令微調是大型語言模型訓練流程中的重要步驟,這些技術展示了微調和指令微調在提高LLMs性能、提升模型適應特定任務和遵循指令的能力方面的關鍵作用。

6.1 微調

  • 概念與應用:早期語言模型如BERT使用自監督學習,但無法執行特定任務。為使基礎模型實用,需要使用帶標簽的數據針對特定任務進行微調(監督式微調,SFT)。例如,在BERT原論文中,模型被微調以適應11種不同任務。
  • 微調的影響:盡管最新的LLMs不再需要微調即可使用,但它們仍可從特定任務或數據的微調中受益。如GPT-3.5 Turbo在特定任務數據微調后,性能可超過GPT-4。

6.2 指令微調

  • 目的與方法:為使LLMs的響應符合通過提示給出的指令期望,進行指令微調非常重要。這被稱為指令微調。例如,Natural Instructions數據集包含任務定義、正/負示例或需避免事項等組件。
  • 效果與比較:通常,經過指令微調的模型性能優于它們基于的原始基礎模型。例如,InstructGPT在大多數基準測試上優于GPT-3。

6.3 Self-Instruct方法

  • 框架與實現:Wang等人提出的Self-Instruct方法,通過引導自身生成來提高預訓練語言模型的指令遵循能力。其流程包括從語言模型生成指令、輸入和輸出樣本,然后過濾掉無效或相似的樣本,用于微調原始模型。

7. 對齊

7.1 對齊

AI對齊是指引導AI系統朝向人類的目標、偏好和原則的過程。預訓練的LLMs,雖然針對詞預測,但經常會展現出非預期行為,如生成有毒、有害、誤導性和帶有偏見的內容。

7.2 指令微調

指令微調是使LLMs更接近對齊的一步。然而,在許多情況下,還需要進一步的步驟來改善模型的對齊,避免非預期行為。最新研究表明,除SFT外的進一步對齊主要改善至少7B參數的模型。對于較小的模型,SFT已足夠。以下是最流行的對齊方法:

7.3 RLHF和RLAIF

  • RLHF:基于人類反饋的強化學習(RLHF)使用獎勵模型從人類反饋中學習對齊。經調整后的獎勵模型能夠根據人類給出的對齊偏好評分不同輸出,并將反饋用于進一步調整LLM。
  • RLAIF:基于AI反饋的強化學習(RLAIF)將預訓練且良好對齊的模型直接連接到LLM,幫助它從更大和更對齊的模型中學習。

7.4 DPO

  • 方法與效果:Rafailov等人提出的DPO方法針對RLHF的復雜性和不穩定性提出了新的解決方案。他們使用獎勵函數和最優策略之間的映射,表明可以通過單階段的策略訓練精確優化受限獎勵最大化問題,本質上在人類偏好數據上解決分類問題。DPO方法穩定、高效、計算輕量,無需擬合獎勵模型、在微調期間采樣或進行大量超參數調整。DPO微調在控制生成情感和提高摘要響應質量方面超過了RLHF。

一文詳解大語言模型的流行架構與訓練技術-AI.x社區

圖:DPO優化人類偏好,避免強化學習。現有方法首先對人類反饋數據集中的提示和對響應對的人類偏好進行獎勵模型擬合,然后使用RL找到最大化學習獎勵的策略。相比之下,DPO直接針對最佳滿足偏好的策略進行優化,具有簡單的分類目標,無需顯式獎勵函數或RL。

7.5 KTO

  • 方法與優勢:Ethayarajh等人提出的Kahneman-Tversky優化(KTO)方法,不需要成對偏好數據,只需(x,y)和知識判斷y是可取還是不可取。KTO對齊的模型在1B到30B的規模上表現良好,盡管沒有使用成對偏好。KTO更適用于現實世界,因為所需數據類型更加豐富。例如,每家零售公司都有大量客戶互動數據以及這些互動是成功(例如,購買)還是失敗(例如,未購買)。但他們幾乎沒有反事實數據(即,如何將不成功的客戶互動轉變為成功的)。

一文詳解大語言模型的流行架構與訓練技術-AI.x社區

圖:LLM對齊涉及監督微調,然后優化以人為中心的損失(HALO)。然而,現有方法需要的成對偏好數據難以獲取。相比之下,KTO使用一種更加豐富的數據類型,使其在現實世界中更易于使用。

8. 解碼策略

解碼是指使用預訓練的LLMs進行文本生成的過程。在處理輸入提示后,標記器將文本中的每個標記轉換為相應的標記ID。語言模型隨后使用這些ID預測下一個最可能的標記或標記序列。最后,模型產生邏輯值,通過softmax函數轉換為概率。已經開發了多種解碼策略,包括Greedy Search、Beam Search以及Top-K和Top-P (Nucleus sampling)等采樣技術。

8.1 Greedy Search

  • 方法:Greedy Search在每一步選擇最可能的標記作為序列中的下一個標記,舍棄所有其他選擇。
  • 特點與局限:這是一種簡單的方法,但可能會丟失時間上的連貫性和一致性。Greedy Search只考慮每一步最可能的標記,忽視了對整體序列的影響。雖然快速,但它可能錯過更好的序列,這些序列可能會出現在稍不那么可能的后續標記中。

8.2 Beam Search

  • 方法:與只考慮下一個最可能標記的Greedy Search不同,Beam Search在每一步考慮了N個最可能的標記,其中N是束的數量。
  • 特點:例如,對于束大小為2且最大長度為5的情況,Beam Search需要跟蹤 個可能的序列。因此,它比Greedy Search更耗費計算資源。

8.3 Top-K采樣

  • 方法:Top-K采樣使用語言模型生成的概率分布,從k個最可能的選項中隨機選擇一個標記。
  • 實現與隨機性:假設有6個標記(A, B, C, D, E, F),k=2,且P(A)=30%,P(B)=20%,P(C)等于P(D)、P(E)和P(F)的12.5%。在Top-K采樣中,C、D、E、F被忽略,模型輸出A的概率為60%,B的概率為40%。這種方法在選擇過程中引入了隨機性,同時優先考慮最可能的標記。<scripttpe = "math/tex;mode=display">  溫度參數T影響softmax函數生成的概率,使得最可能的標記更具影響力。低溫度設置顯著改變概率分布,高溫度優先考慮概率較高的標記。

8.4 Top-P采樣

  • 方法與特點:Top-P采樣(也稱為Nucleus采樣)采用與Top-K不同的方法。它選擇一個截斷值p,使得選定標記的概率之和超過p,形成一個“核心”,從中隨機選擇下一個標記。這種方法在Top-K標記不具有大概率質量的情況下可能更好。
  • 變化性與多樣性:與Top-K不同,Nucleus采樣中包含的標記數量不固定,這種變化性通常導致更多樣化和創造性的輸出,使Nucleus采樣在文本生成任務中受歡迎。

9. 費效比優化訓練/推理/適應/壓縮

在這部分中,我們回顧了一些用于更經濟、更高效計算地訓練和使用LLMs的流行方法。

9.1 優化訓練

為了更經濟、更高效地訓練LLMs,已經開發了許多框架。這些優化訓練框架有助于更經濟高效地訓練和使用LLMs,降低成本的同時保持或提升性能。這里我們介紹一些主要的框架。

ZeRO

  • 概述:Rajbhandari等人開發了Zero Redundancy Optimizer(ZeRO),旨在優化內存,顯著提高LLMs的訓練速度,同時增加可以高效訓練的模型大小。
  • 優勢:ZeRO消除了數據和模型并行訓練中的內存冗余,同時保持了低通信量和高計算粒度。它允許按比例擴大模型大小以適應設備數量,保持高效率。

RWKV

  • 概述:Peng等人提出了Receptance Weighted Key Value(RWKV),結合了Transformers的高效并行訓練和RNNs的高效推理。
  • 技術細節:RWKV利用線性注意力機制,可以作為Transformer或RNN進行構建,在訓練期間實現并行計算,在推理期間保持恒定的計算和內存復雜度。
  • 架構及時間復雜度比較

一文詳解大語言模型的流行架構與訓練技術-AI.x社區

RWKV架構

一文詳解大語言模型的流行架構與訓練技術-AI.x社區

RWKV與不同Transformers的時間復雜度比較

9.2 低秩適應(LoRA)

  • 概述:低秩適應是一種流行且輕量級的訓練技術,顯著減少了可訓練參數的數量,基于關鍵洞察:針對特定任務微調的權重與初始預訓練權重之間的差異通常表現為“低內在秩”。
  • 實現與優勢:使用LoRA訓練更快、更節省內存,產生更小的模型權重,易于存儲和共享。LoRA基于低秩矩陣可以表示為兩個較小矩陣的乘積這一事實,通過專注于更新這兩個較小矩陣而非整個原始權重矩陣,顯著提高了計算效率。
  • 技術細節:對于預訓練的權重矩陣,LoRA通過低秩分解約束其更新:,其中,,且秩。在訓練期間,被凍結,而和包含可訓練參數。
  • 重參數化示意

一文詳解大語言模型的流行架構與訓練技術-AI.x社區

圖:LoRA的重參數化過程。

9.3 知識蒸餾

  • 概述:知識蒸餾是從更大模型中學習的過程,通過將多個模型的知識蒸餾到一個更小的模型中,創建可在邊緣設備上使用的更小模型。
  • 蒸餾方法:知識蒸餾通常包括響應蒸餾、特征蒸餾和API蒸餾。響應蒸餾專注于教師模型的輸出,教導學生模型執行類似的操作;特征蒸餾使用中間層,以便為學生模型創建更好的內部表示;API蒸餾是使用API訓練更小的模型,類似于響應蒸餾。
  • 蒸餾框架示意

一文詳解大語言模型的流行架構與訓練技術-AI.x社區

圖:具有學生和教師的通用知識蒸餾框架。

9.4 量化

量化是減少模型大小和提升運算速度的關鍵技術。在深度學習的核心,是一系列應用于具有特定精度的模型權重的數學函數。降低權重的精度可以用于減小模型大小,并使其運算更快。例如,與Int-8操作相比,Float-32操作更慢。量化可以在不同階段應用。

主要量化方法:

  • 分類:模型量化的主要方法可分為訓練后量化和量化感知訓練。
  • 訓練后量化:關注于量化訓練好的模型,有兩種著名方法:動態和靜態。動態訓練后量化在運行時計算量化范圍,與靜態相比較慢。
  • 量化感知訓練:在訓練過程中加入量化標準,訓練和優化一個量化模型。這種方法確保最終模型具有良好性能,且不需要在訓練后進行量化。

結束語

到這里關于LLMs的流行架構與訓練技術的介紹就要接近尾聲了, 這個博客是大語言模型教程系列的第六篇,之后會陸續把大語言模型相關的知識點做更多的整理,在本次大語言模型的探索之旅的尾聲,感謝每位朋友的陪伴,我是@APlayBoy,期待與您一起在AI的世界里不斷成長!


本文轉自 AI生成未來 ,作者:APlayBoy


原文鏈接:??https://mp.weixin.qq.com/s/I-P_RuErXfJAc9KrzMGlOA??


本文轉自 AI生成未來 ,作者:APlayBoy


原文鏈接:??https://mp.weixin.qq.com/s/I-P_RuErXfJAc9KrzMGlOA??

標簽
收藏
回復
舉報
回復
相關推薦
主站蜘蛛池模板: 精品国产乱码久久久久久闺蜜 | 亚洲精品中文字幕在线观看 | 欧美一区二区三区精品免费 | 另类专区成人 | 久久精品国产一区 | 黄网站在线播放 | 欧美成年黄网站色视频 | 人妖一区 | 国产精品免费一区二区三区四区 | 亚洲欧美日韩在线一区二区 | 久久久久亚洲视频 | 中文字幕免费观看 | 免费黄色a视频 | 日韩欧美在线观看 | 全部免费毛片在线播放网站 | 日韩激情视频一区 | 91热爆在线观看 | 国产日韩一区二区三免费高清 | 日本中文在线视频 | 正在播放国产精品 | 国产精品成人一区二区 | 国产精品一区在线观看你懂的 | 亚洲免费在线观看av | 欧美一区不卡 | 久久久久久久久久久丰满 | 午夜精品视频 | 91麻豆精品国产91久久久更新资源速度超快 | 午夜激情小视频 | 91av视频在线播放 | 成人欧美一区二区三区在线播放 | 久久免费看 | 日本天堂一区 | 日韩午夜一区二区三区 | 四虎成人免费视频 | 国产精品久久久久久久久久久免费看 | 天天天天天天操 | 日本高清中文字幕 | 国产欧美精品 | 在线只有精品 | 成人动漫一区二区 | 91精品国产手机 |