亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

SFT監(jiān)督微調(diào)實(shí)戰(zhàn):從數(shù)據(jù)構(gòu)建到LoRA訓(xùn)練踩坑全解

SFT監(jiān)督微調(diào)實(shí)戰(zhàn):從數(shù)據(jù)構(gòu)建到LoRA訓(xùn)練踩坑全解 在本地部署過幾個(gè)開源基座模型之后很多程序員的感受其實(shí)高度一致模型確實(shí)能跑起來但回答總不如官方Demo里那么“聽話”。你問它東它給你續(xù)寫西你要它按JSON格式輸出它偏要自由發(fā)揮加一段解釋。這個(gè)差距十有八九出在監(jiān)督微調(diào)SFT這一環(huán)上。SFT全稱是Supervised Fine-Tuning簡單說就是拿一批人工標(biāo)注好的“指令-回答”數(shù)據(jù)對預(yù)訓(xùn)練基座模型做有監(jiān)督的再訓(xùn)練讓模型學(xué)會人類期望的交互方式。這篇內(nèi)容我會把SFT的原理、數(shù)據(jù)構(gòu)造、超參數(shù)、訓(xùn)練配置、實(shí)操流程和踩坑記錄一次性講透。它不是泛泛的科普而是對著能做事的實(shí)踐總結(jié)寫下來之前已經(jīng)在多臺機(jī)器上反復(fù)驗(yàn)證過建議直接存下來備查。1. 先搞清楚SFT在整條鏈路里的位置1.1 基座模型只會“續(xù)寫”不會“干活”很多人第一次玩開源基座模型時(shí)都會有這個(gè)困惑模型明明很大常識也很豐富為什么跟它對話就特別別扭這是因?yàn)榛P驮陬A(yù)訓(xùn)練階段的唯一目標(biāo)函數(shù)是“下一個(gè)詞預(yù)測”。它學(xué)到的本質(zhì)是詞與詞之間的統(tǒng)計(jì)關(guān)聯(lián)你輸入一段文本它就按照統(tǒng)計(jì)規(guī)律往后接最可能的詞而不是“理解你的問題然后給出答案”。拿生活化的例子來說基座模型像一個(gè)博覽群書但沒參加過考試的學(xué)生。你問他一道題他憑記憶和語感展開長篇大論卻不知道答案應(yīng)該是一句話、一段代碼還是一個(gè)JSON對象。他不知道考試有固定格式、有標(biāo)準(zhǔn)答案、有答題邊界。這些“約定俗成”的東西預(yù)訓(xùn)練階段沒有專門教過只能靠SFT來補(bǔ)課。這種能力差距在實(shí)際部署中非常致命。比如你打算做一個(gè)代碼助手希望模型根據(jù)需求生成Python腳本基座模型可能會輸出一大段自然語言解釋再夾幾行偽代碼甚至把問題換個(gè)說法又重復(fù)一遍。而經(jīng)過SFT的模型才知道用戶問代碼時(shí)應(yīng)該先給代碼塊再給簡要說明。所以SFT解決的是“形式對齊”和“指令跟隨”問題不是知識注入問題。1.2 SFT、預(yù)訓(xùn)練和RLHF的分工關(guān)系大模型從零到可用的鏈路一般可以拆成三個(gè)階段預(yù)訓(xùn)練、SFT、偏好對齊常見手段是RLHF/DPO。這三者分工完全不同。預(yù)訓(xùn)練負(fù)責(zé)往里灌知識讓模型具備語言能力、事實(shí)記憶和推理基礎(chǔ)這一步成本最高通常需要幾千億token和成百上千張顯卡。SFT負(fù)責(zé)教模型“怎么把知識組織成用戶想要的樣子”用幾千到幾萬條高質(zhì)量的指令數(shù)據(jù)就能完成任務(wù)。偏好對齊則更進(jìn)一步它解決的是“模型知道答案是什么但不一定知道哪個(gè)答案更符合人類品味”的問題。SFT給的是標(biāo)準(zhǔn)答案就像教科書上的參考答案偏好對齊給的是一堆答案排序就像閱卷老師告訴你“這個(gè)回答比那個(gè)更流暢、更有用”。SFT是基礎(chǔ)沒有好的SFT模型偏好對齊做起來會非常吃力因?yàn)槟P瓦B基本的指令格式都沒學(xué)好。我見過不少團(tuán)隊(duì)為了省事跳過SFT直接嘗試用偏好優(yōu)化方法調(diào)基座模型結(jié)果模型學(xué)會了說漂亮話但依然不會嚴(yán)格按要求辦事。原因很簡單排序?qū)W習(xí)只能調(diào)整回答風(fēng)格的傾向無法補(bǔ)上“格式不對齊就是聽不懂人話”這個(gè)根本短板。SFT是讓模型“聽得懂人話”的最低成本方案。1.3 為什么SFT數(shù)據(jù)不多卻能改變模型行為一個(gè)值得思考的問題預(yù)訓(xùn)練看了幾千億token為什么SFT只用幾萬條數(shù)據(jù)就能明顯改變模型行為這里的關(guān)鍵在于SFT改變的不是知識量而是“概率分布的輸出模式”。模型在預(yù)訓(xùn)練階段其實(shí)已經(jīng)見過大量問答類文本它具備回答問題的潛力只是不知道怎么判斷“當(dāng)前這是在問我問題我應(yīng)該認(rèn)真回答而不是繼續(xù)編故事”。SFT相當(dāng)于給模型做了行為示范看到指令停止發(fā)散按格式輸出。因?yàn)轭A(yù)訓(xùn)練已經(jīng)給了它足夠的語言能力和知識儲備SFT只需要“撥動(dòng)開關(guān)”把回答模式從續(xù)寫切換到指令跟隨。這也是為什么SFT數(shù)據(jù)不需要海量但必須高質(zhì)量、格式統(tǒng)一、覆蓋充分。理解了這一點(diǎn)就不會盲目堆數(shù)據(jù)量了。2. SFT數(shù)據(jù)工程成敗的關(guān)鍵不在模型而在數(shù)據(jù)2.1 數(shù)據(jù)長什么樣三種主流格式必須掌握SFT數(shù)據(jù)的組織方式目前大體上有三種主流格式。第一種是“instruction/input/output”三段式適合任務(wù)型微調(diào)一條樣本就是一個(gè)獨(dú)立問題可以附帶輸入內(nèi)容。第二種是messages對話格式按角色區(qū)分user和assistant消息適合訓(xùn)練多輪對話能力。第三種是ShareGPT風(fēng)格用conversations數(shù)組保存完整對話歷史很多開源訓(xùn)練框架默認(rèn)用這種格式。我在實(shí)際項(xiàng)目中習(xí)慣把數(shù)據(jù)統(tǒng)一轉(zhuǎn)成對話格式因?yàn)榧幢銌屋喨蝿?wù)也可以看成一輪對話。統(tǒng)一格式的好處是方便后續(xù)增加多輪樣本模型在推理時(shí)也容易保持上下文連貫。這里有個(gè)新手經(jīng)常踩的坑不同格式混在一起喂給模型模型會學(xué)到混亂的交互預(yù)期。今天學(xué)的是“首輪直接答”明天學(xué)的是“設(shè)身處地寒暄兩句”最后表現(xiàn)就是時(shí)靈時(shí)不靈。舉個(gè)例子一條標(biāo)準(zhǔn)的對話格式樣本大概長這樣{ conversations: [ {role: system, content: 你是一個(gè)專業(yè)的Python開發(fā)助手。}, {role: user, content: 寫一個(gè)函數(shù)輸入一個(gè)整數(shù)列表返回所有偶數(shù)的平方。要求用列表推導(dǎo)式。}, {role: assistant, content: python\ndef square_evens(nums):\n return [x*x for x in nums if x % 2 0]\n\n\n這個(gè)實(shí)現(xiàn)用列表推導(dǎo)式一次完成過濾和映射兩個(gè)操作時(shí)間復(fù)雜度為O(n)。} ] }這個(gè)格式里system字段很重要它定義了模型的人設(shè)和行為約束。很多項(xiàng)目為了省事不寫system模型也能跑但泛化性和穩(wěn)定性會差很多。我通常會讓每條樣本都帶system并且準(zhǔn)備一個(gè)默認(rèn)的system兜底避免推理時(shí)傳空值導(dǎo)致模板錯(cuò)亂。2.2 數(shù)據(jù)從哪來開源數(shù)據(jù)集、日志清洗與模型構(gòu)造SFT數(shù)據(jù)來源大致有三條路。第一條是直接用社區(qū)已有的開源SFT數(shù)據(jù)集適合快速驗(yàn)證流程。但這類數(shù)據(jù)集往往質(zhì)量參差不齊可能有回答錯(cuò)誤、格式混亂、重復(fù)過高等問題直接拿來訓(xùn)練模型很容易學(xué)到臟模式。第二條是從自己業(yè)務(wù)里撈真實(shí)數(shù)據(jù)這是最推薦的方式。比如你做客服機(jī)器人就把歷史工單里優(yōu)質(zhì)的“用戶問題-客服回答”對挑出來清洗。真實(shí)業(yè)務(wù)數(shù)據(jù)與目標(biāo)場景高度匹配微調(diào)效果通常是最好的。第三條是用強(qiáng)模型構(gòu)造數(shù)據(jù)思路是用能力更強(qiáng)的模型批量生成問答對再人工或者自動(dòng)篩選。這種方式能快速擴(kuò)充數(shù)據(jù)規(guī)模但有個(gè)隱患強(qiáng)模型自己可能也會犯錯(cuò)錯(cuò)誤會原樣傳給學(xué)生模型。我見過有團(tuán)隊(duì)用這種方式一天造了幾萬條數(shù)據(jù)訓(xùn)完模型回答流暢但事實(shí)錯(cuò)誤率很高最后排查才發(fā)現(xiàn)數(shù)據(jù)源頭就錯(cuò)了。所以用強(qiáng)模型造數(shù)據(jù)抽樣審核環(huán)節(jié)必須跟上。還有一個(gè)值得注意的點(diǎn)數(shù)據(jù)構(gòu)造時(shí)要考慮分布。如果你做的助手要覆蓋技術(shù)問答、閑聊、拒答三類場景數(shù)據(jù)比例就要和實(shí)際使用場景接近。我見過有項(xiàng)目把閑聊數(shù)據(jù)堆到80%結(jié)果模型變得很油滑正事不愛干了。數(shù)據(jù)分布偏了就改不回來重訓(xùn)成本非常昂貴。2.3 清洗與質(zhì)量控制這些細(xì)節(jié)決定微調(diào)上限數(shù)據(jù)清洗是SFT里最枯燥但最重要的一環(huán)。我一般按下面的順序處理先做全局去重重復(fù)樣本會讓模型對特定句式過擬合訓(xùn)練時(shí)看起來loss很低實(shí)際泛化很差。然后做長度過濾過短的樣本沒有學(xué)習(xí)價(jià)值過長的樣本會拖慢訓(xùn)練還要處理超過max length的截?cái)鄦栴}。接著做格式標(biāo)準(zhǔn)化統(tǒng)一標(biāo)點(diǎn)符號、統(tǒng)一換行、統(tǒng)一代碼塊的標(biāo)記語言讓模型學(xué)到干凈的模式。更關(guān)鍵的是內(nèi)容校驗(yàn)。如果數(shù)據(jù)里有明顯的錯(cuò)誤答案模型會當(dāng)作正確答案來學(xué)。這塊我建議人力抽檢加規(guī)則過濾雙管齊下。比如代碼類數(shù)據(jù)可以嘗試直接執(zhí)行樣本來驗(yàn)證正確性知識類數(shù)據(jù)可以用關(guān)鍵詞匹配或交叉驗(yàn)證來做粗篩。用腳本刪掉明顯答非所問的樣本比多訓(xùn)幾百條數(shù)據(jù)有用得多。另外提醒一下編碼問題中文數(shù)據(jù)最容易在清洗時(shí)踩這個(gè)坑。統(tǒng)一轉(zhuǎn)成UTF-8去掉不可見字符和亂七八糟的空格檢查有沒有打斷JSON解析的轉(zhuǎn)義符。這些小事在幾百條數(shù)據(jù)時(shí)看不出問題數(shù)據(jù)量到幾萬條時(shí)任何一個(gè)臟字符都可能讓訓(xùn)練中斷或者模型輸出亂碼。2.4 用多少數(shù)據(jù)最合適不是多多益善SFT數(shù)據(jù)量沒有一個(gè)固定標(biāo)準(zhǔn)但可以給一個(gè)經(jīng)驗(yàn)區(qū)間場景單一的任務(wù)型微調(diào)幾千條高質(zhì)量樣本就夠通用助手的對話能力微調(diào)一到三萬條比較合適再往上增加數(shù)據(jù)收益會明顯遞減。原因前面說過SFT主要是行為對齊模型不需要通過SFT學(xué)海量新知識它只需要足夠多的示范來理解你的指令格式和輸出偏好。我實(shí)操下來的體會是數(shù)據(jù)質(zhì)量每提升一檔對最終效果的影響遠(yuǎn)大于數(shù)據(jù)量翻倍。同樣一萬條數(shù)據(jù)粗洗和精洗之后的模型效果完全不是一個(gè)級別。寧可只有五千條高質(zhì)量數(shù)據(jù)也別硬湊兩萬條垃圾數(shù)據(jù)。額外的數(shù)據(jù)有時(shí)反而會引入噪聲讓模型在部分場景下的表現(xiàn)倒退。還有一個(gè)容易被忽略的事情驗(yàn)證集的劃分。SFT不是用完全部數(shù)據(jù)就萬事大吉要留出一部分樣本做驗(yàn)證。我在每次訓(xùn)練前都固定切出5%-10%的數(shù)據(jù)做驗(yàn)證集訓(xùn)練過程中持續(xù)觀察驗(yàn)證集loss。如果訓(xùn)練集loss在降驗(yàn)證集loss在漲那就說明過擬合了及時(shí)停掉可以省下大量時(shí)間。3. 訓(xùn)練配置與超參數(shù)把SFT跑穩(wěn)的核心3.1 全參微調(diào)還是LoRA看條件選方案SFT的實(shí)現(xiàn)方式主要分成全參微調(diào)和參數(shù)高效微調(diào)兩大類LoRA是后者的典型代表。全參微調(diào)是讓基座模型的全部參數(shù)都參與更新效果上限最高但顯存和算力要求也最狠。以7B模型為例全參微調(diào)用AdamW優(yōu)化器動(dòng)輒需要60GB以上的顯存單張消費(fèi)級顯卡基本做不了。LoRA則是凍結(jié)原始權(quán)重只訓(xùn)練注入的低秩矩陣顯存占用大幅下降7B模型的LoRA訓(xùn)練在24GB顯存下就能跑起來。從效果角度說如果數(shù)據(jù)量足夠大、任務(wù)足夠復(fù)雜全參微調(diào)確實(shí)能學(xué)到更多細(xì)微變化。但對于大多數(shù)業(yè)務(wù)場景LoRA的效果已經(jīng)非常接近全參微調(diào)而且資源消耗少一個(gè)量級。我個(gè)人的選擇標(biāo)準(zhǔn)是24GB以下顯存無腦用LoRA能上全參微調(diào)的資源優(yōu)先把多余算力投給數(shù)據(jù)清洗和評估而不是一味追求全參更新。LoRA還有一個(gè)額外優(yōu)勢就是多個(gè)adapter可以共用一個(gè)基座模型不同任務(wù)切換非常方便。不過LoRA有個(gè)小坑如果基座模型本身難以通過低秩更新達(dá)到理想效果比如領(lǐng)域知識嚴(yán)重不足LoRA的表現(xiàn)就會比全參微調(diào)差一截。這種情況你得先評估是“不會聽指令”還是“不懂這個(gè)領(lǐng)域”前者LoRA能解決后者可能需要考慮增量預(yù)訓(xùn)練或者換更強(qiáng)的基座。3.2 關(guān)鍵超參數(shù)選擇與背后的邏輯SFT常用的超參數(shù)并不復(fù)雜但每個(gè)參數(shù)的取值范圍和背后邏輯一定要清楚。學(xué)習(xí)率是第一個(gè)要小心設(shè)置的參數(shù)。全參微調(diào)一般用1e-5到2e-5LoRA則可以用到1e-4到2e-4。因?yàn)長oRA只更新很少的參數(shù)學(xué)習(xí)率可以步子大一點(diǎn)。如果學(xué)習(xí)率設(shè)得太高模型會快速忘掉預(yù)訓(xùn)練學(xué)到的知識表現(xiàn)出來就是loss降低很快但輸出開始胡言亂語。訓(xùn)練輪數(shù)同樣需要克制。高質(zhì)量SFT數(shù)據(jù)集2到4個(gè)epoch是比較穩(wěn)的范圍。數(shù)據(jù)量很大時(shí)甚至1個(gè)epoch就夠了。這里有個(gè)常見的認(rèn)知誤區(qū)多訓(xùn)幾輪不一定是好事。模型反復(fù)看過同一批樣本后會對訓(xùn)練集的表達(dá)方式過度擬合導(dǎo)致泛化能力下降。我在訓(xùn)練時(shí)會同時(shí)盯著訓(xùn)練loss和驗(yàn)證loss一旦驗(yàn)證loss開始回升就立即停止通常能比固定epoch訓(xùn)練得到更好的結(jié)果。批大小和梯度累積對SFT也很關(guān)鍵。因?yàn)轱@存限制單卡一般只能放很小batch但batch太小會導(dǎo)致梯度噪聲大、訓(xùn)練不穩(wěn)定。解決辦法是設(shè)置一個(gè)較小的per_device_batch_size然后用梯度累積湊到等效batch size。比如per_device_batch_size1gradient_accumulation_steps16等效batch size就是16。我習(xí)慣把等效batch size控制在32到64之間既穩(wěn)定又不會太慢。權(quán)重衰減一般設(shè)為0.01warmup ratio設(shè)0.03左右這些是經(jīng)驗(yàn)值大多數(shù)場景直接照用不會出錯(cuò)。學(xué)習(xí)率調(diào)度器推薦cosine它在訓(xùn)練末期能把學(xué)習(xí)率平滑降到很低有助于收斂到更好的局部最優(yōu)。3.3 LoRA的rank、alpha和target_modules怎么定LoRA的rank是低秩矩陣的維度直接影響可訓(xùn)練參數(shù)量和表達(dá)能力。常見的實(shí)踐值是8、16、32。rank太小模型學(xué)不到足夠復(fù)雜的映射rank太大訓(xùn)練參數(shù)變多但收益不一定成比例提升。我通常先用16跑一個(gè)小實(shí)驗(yàn)觀察效果后再?zèng)Q定要不要加大。alpha是縮放系數(shù)一般設(shè)置為rank的兩倍比如rank16時(shí)alpha32。這個(gè)比例在大多數(shù)情況下表現(xiàn)良好。target_modules的選擇是個(gè)容易被忽視的細(xì)節(jié)。在Transformer結(jié)構(gòu)里L(fēng)oRA可以注入到自注意力層的q/k/v/o投影矩陣也可以注入到前饋網(wǎng)絡(luò)的gate/up/down投影。我測試下來同時(shí)注入注意力模塊和前饋模塊效果比只注入注意力要好尤其在做中文指令跟隨任務(wù)時(shí)。原因是前饋網(wǎng)絡(luò)承擔(dān)了大量知識記憶的功能通過低秩更新微調(diào)這部分能讓模型更快適應(yīng)訓(xùn)練數(shù)據(jù)里出現(xiàn)的表達(dá)習(xí)慣。還有兩個(gè)細(xì)節(jié)值得提。第一bias參數(shù)通常設(shè)成not update保持和基座模型一致減少訓(xùn)練參數(shù)總量。第二lora_dropout建議設(shè)置0.05到0.1防止過擬合但如果驗(yàn)證集表現(xiàn)正常dropout設(shè)小一點(diǎn)也能提升收斂速度這個(gè)可以微調(diào)。3.4 顯存與訓(xùn)練穩(wěn)定性配置跑SFT之前先想清楚兩個(gè)問題用不用梯度檢查點(diǎn)用不用混合精度。梯度檢查點(diǎn)是個(gè)顯存換速度的手段開啟后顯存占用可以降低大約30%-40%代價(jià)是訓(xùn)練速度變慢。對7B模型加LoRA的場景我建議開啟它因?yàn)轱@存往往比時(shí)間更緊張?;旌暇确矫嬗ミ_(dá)較新的卡建議直接用bf16它的動(dòng)態(tài)范圍和穩(wěn)定性都優(yōu)于fp16不容易出現(xiàn)loss溢出為NaN的問題。老顯卡只支持fp16時(shí)記得加上loss scale策略并持續(xù)監(jiān)控訓(xùn)練日志。序列長度max seq length是另一個(gè)需要仔細(xì)權(quán)衡的配置。它決定模型能看到多長的上下文。設(shè)得太短長對話會被截?cái)嗄P蛯W(xué)不到完整的依賴關(guān)系設(shè)得太長顯存占用隨長度線性增長訓(xùn)練速度也會下降。我建議先統(tǒng)計(jì)一下訓(xùn)練數(shù)據(jù)中最長的樣本長度然后設(shè)定為覆蓋80%-90%樣本的長度值剩下的長樣本做截?cái)嗵幚磉@樣性價(jià)比最高。還有兩個(gè)工程層面的配置容易出問題。一個(gè)是保存間隔建議同時(shí)按“步數(shù)”和“時(shí)間”兩個(gè)維度設(shè)置長時(shí)間訓(xùn)練時(shí)至少每小時(shí)能看到一個(gè)可用的checkpoint避免意外中斷后白白浪費(fèi)時(shí)間。另一個(gè)是日志打印頻率打開日志打印每10步打一次loss監(jiān)控文本生成。因?yàn)橛袝r(shí)候loss很漂亮實(shí)際生成的文本已經(jīng)完全崩壞只看數(shù)字發(fā)現(xiàn)不了問題。4. 完整實(shí)操從原始問答到微調(diào)上線4.1 環(huán)境準(zhǔn)備與最低硬件要求實(shí)操第一步是準(zhǔn)備環(huán)境。我的建議是先建一個(gè)獨(dú)立的Python環(huán)境避免依賴沖突。核心依賴就是深度學(xué)習(xí)框架、模型加載庫、數(shù)據(jù)集庫和LoRA庫這幾樣就能跑通整個(gè)流程。GPU方面如果你想微調(diào)7B量級的開源基座模型24GB顯存是甜點(diǎn)位用LoRA加梯度檢查點(diǎn)可以比較舒服地跑起來。如果顯存只有16GB可以通過4bit量化加載基座模型仍然能完成LoRA訓(xùn)練只是量化后訓(xùn)練精度略有損失。這里有個(gè)建議第一次跑通全流程時(shí)不要直接上大模型。先用幾億參數(shù)量級的小模型跑通數(shù)據(jù)加載、訓(xùn)練、保存、推理的閉環(huán)再換成目標(biāo)模型。小模型調(diào)試成本低跑完一個(gè)epoch只需幾分鐘任何代碼問題都能快速暴露。我每次接到新任務(wù)都先用小模型驗(yàn)證數(shù)據(jù)和代碼確認(rèn)無誤后再換大模型訓(xùn)練這套流程幫我省下了大量調(diào)試時(shí)間。基座模型選擇的核心原則是中英文、代碼、數(shù)學(xué)能力匹配你的目標(biāo)場景且盡量選擇指令跟隨能力已經(jīng)不錯(cuò)的版本。如果底子太差SFT要補(bǔ)的課太多效果必然受限。4.2 數(shù)據(jù)格式轉(zhuǎn)換腳本不管原始數(shù)據(jù)是Excel、JSON還是數(shù)據(jù)庫導(dǎo)出的CSV第一步都要統(tǒng)一轉(zhuǎn)成訓(xùn)練框架能讀入的格式。下面這個(gè)腳本可以把簡單的“問題-答案”列表轉(zhuǎn)成對話格式的JSONL文件import json # 原始數(shù)據(jù)假設(shè)每條是 {question: ..., answer: ...} raw_data [ { question: 什么是列表推導(dǎo)式, answer: 列表推導(dǎo)式是Python中一種簡潔地創(chuàng)建列表的語法格式為 [表達(dá)式 for 元素 in 可迭代對象 if 條件]。 }, # 更多樣本... ] SYSTEM_PROMPT 你是一個(gè)專業(yè)的中文技術(shù)助手請用簡潔準(zhǔn)確的語言回答用戶的問題。 def convert_to_sharegpt(item): return { conversations: [ {role: system, content: SYSTEM_PROMPT}, {role: user, content: item[question]}, {role: assistant, content: item[answer]}, ] } with open(sft_train.jsonl, w, encodingutf-8) as f: for item in raw_data: f.write(json.dumps(convert_to_sharegpt(item), ensure_asciiFalse) \n) print(f轉(zhuǎn)換完成共 {len(raw_data)} 條樣本)轉(zhuǎn)換腳本的核心邏輯就是把每條樣本包成system、user、assistant三段。有人問system每次都要寫嗎我的建議是默認(rèn)都寫哪怕內(nèi)容一樣。這樣模型在訓(xùn)練中會穩(wěn)定學(xué)習(xí)到“先讀人設(shè)再看問題”的行為模式。另外寫入文件時(shí)一定加ensure_asciiFalse否則中文會被轉(zhuǎn)成\uXXXX的Unicode轉(zhuǎn)義序列可讀性極差后續(xù)檢查數(shù)據(jù)非常痛苦。4.3 訓(xùn)練腳本與關(guān)鍵配置數(shù)據(jù)準(zhǔn)備好之后訓(xùn)練腳本的核心部分如下。這個(gè)腳本以加載基座模型為基礎(chǔ)套上LoRA配置然后通過訓(xùn)練參數(shù)控制訓(xùn)練過程from transformers import AutoModelForCausalLM, AutoTokenizer, TrainingArguments, Trainer from peft import LoraConfig, get_peft_model, prepare_model_for_kbit_training from datasets import load_dataset # 1. 加載基座模型和tokenizer # base_model_path 換成你手中的基座模型路徑 model AutoModelForCausalLM.from_pretrained( base_model_path, torch_dtypebf16, device_mapauto, ) tokenizer AutoTokenizer.from_pretrained(base_model_path) # 2. 設(shè)置pad token。如果tokenizer沒有pad token用eos代替 if tokenizer.pad_token is None: tokenizer.pad_token tokenizer.eos_token model.config.pad_token_id tokenizer.eos_token_id # 3. 配置LoRA lora_config LoraConfig( r16, lora_alpha32, target_modules[ q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj, ], lora_dropout0.05, biasnone, task_typeCAUSAL_LM, ) model get_peft_model(model, lora_config) model.print_trainable_parameters() # 打印可訓(xùn)練參數(shù)量 # 4. 定義訓(xùn)練參數(shù) training_args TrainingArguments( output_dir./sft_checkpoints, per_device_train_batch_size1, gradient_accumulation_steps16, learning_rate1e-4, num_train_epochs3, logging_steps10, save_steps200, save_total_limit3, bf16True, gradient_checkpointingTrue, optimadamw_torch, lr_scheduler_typecosine, warmup_ratio0.03, weight_decay0.01, report_tonone, ) # 5. 加載數(shù)據(jù)集并按模板格式處理 dataset load_dataset(json, data_filessft_train.jsonl, splittrain) def format_chat(example): # 把conversations拼成模型需要的模板文本 # 這里用簡單的拼接方式實(shí)際項(xiàng)目中建議使用tokenizer.apply_chat_template messages example[conversations] text for msg in messages: role msg[role] content msg[content] if role system: text f系統(tǒng){content}\n elif role user: text f用戶{content}\n else: text f助手{content}\n text 助手 return {text: text} tokenized_dataset dataset.map( lambda x: tokenizer( format_chat(x)[text], truncationTrue, max_length2048, paddingFalse, ), remove_columnsdataset.column_names, ) # 6. 創(chuàng)建Trainer并開始訓(xùn)練 trainer Trainer( modelmodel, argstraining_args, train_datasettokenized_dataset, tokenizertokenizer, ) trainer.train()這套配置有幾個(gè)數(shù)值值得解釋一下。per_device_train_batch_size1配gradient_accumulation_steps16的組合是為了在24GB顯存下跑7B模型的同時(shí)保持batch size不至過小。學(xué)習(xí)率1e-4是LoRA的常見起點(diǎn)如果你發(fā)現(xiàn)訓(xùn)練早期loss出現(xiàn)明顯波動(dòng)可以降到5e-5繼續(xù)試。max_length設(shè)2048是因?yàn)榇蠖鄶?shù)SFT樣本并不需要那么長的上下文這個(gè)長度在顯存和表達(dá)能力之間比較均衡。另外訓(xùn)練時(shí)打印可訓(xùn)練參數(shù)量是一個(gè)好習(xí)慣。一個(gè)7B模型的LoRA訓(xùn)練可訓(xùn)練參數(shù)通常只在幾千萬到一億左右占比不到2%??吹竭@個(gè)數(shù)字你就明白為什么LoRA這么快了。4.4 推理驗(yàn)證與adapter合并訓(xùn)練完成后LoRA的權(quán)重是單獨(dú)保存的并不會直接寫回基座模型。推理之前需要先加載adapter驗(yàn)證效果。加載方式有兩種一種是直接生成適合快速驗(yàn)證另一種是把a(bǔ)dapter合并回基座模型生成一個(gè)新模型適合部署上線。from peft import PeftModel # 加載基座模型 base_model AutoModelForCausalLM.from_pretrained( base_model_path, torch_dtypebf16, device_mapauto, ) tokenizer AutoTokenizer.from_pretrained(base_model_path) if tokenizer.pad_token is None: tokenizer.pad_token tokenizer.eos_token # 加載訓(xùn)練好的LoRA adapter model PeftModel.from_pretrained(base_model, ./sft_checkpoints/checkpoint-600) model.eval() # 合并adapter到基座模型部署時(shí)推薦 merged_model model.merge_and_unload() merged_model.save_pretrained(merged_model) tokenizer.save_pretrained(merged_model)合并這一步值得多說兩點(diǎn)。第一合并后的模型體積和基座模型一樣大但推理時(shí)不再需要額外的adapter管理可以直接用常規(guī)方式加載和部署。如果你用的是vLLM這類推理框架合并后的模型兼容性更好。第二合并操作會修改全部權(quán)重所以合并前一定要把原始基座模型備份好。有一次我誤操作直接覆蓋了原始權(quán)重只能重新下載模型那個(gè)下載時(shí)間足夠?qū)懸黄虏┛土?。?yàn)證模型效果時(shí)我建議同時(shí)準(zhǔn)備三組測試用例第一組是訓(xùn)練數(shù)據(jù)里沒見過的類似題目看模型泛化能力第二組是訓(xùn)練數(shù)據(jù)里出現(xiàn)過的原題看模型記住了沒有第三組是稍微挑戰(zhàn)指令格式的用例比如要求它用表格輸出、用特定語氣回答看它是不是真的理解了指令跟隨。5. 常見問題與排查技巧實(shí)錄5.1 Loss降了模型反而變傻了這個(gè)現(xiàn)象出現(xiàn)過太多次了。訓(xùn)練日志上loss一路下降看起來非常健康結(jié)果拿出去一測模型回答質(zhì)量反而比微調(diào)前更差。遇到這種情況第一個(gè)懷疑對象就是數(shù)據(jù)質(zhì)量。SFT模型會把訓(xùn)練數(shù)據(jù)中的錯(cuò)誤、噪聲和格式混亂原樣學(xué)進(jìn)去。如果loss降得很快說明模型記性好把臟數(shù)據(jù)也記住了。第二個(gè)懷疑對象是數(shù)據(jù)分布。比如訓(xùn)練數(shù)據(jù)里80%都是“知識問答”20%是“代碼生成”模型自然會偏向知識問答的輸出風(fēng)格代碼能力反而不升反降。檢查一下訓(xùn)練數(shù)據(jù)的類別占比把比例往目標(biāo)場景調(diào)整往往是這一類問題最簡單的解決辦法。第三個(gè)原因可能是驗(yàn)證集劃分不合適。如果你留出的驗(yàn)證集和訓(xùn)練集高度相似驗(yàn)證loss會一直很樂觀等到真正上線面對新數(shù)據(jù)時(shí)才暴露問題。我建議驗(yàn)證集盡量和線上場景保持一致而不是隨機(jī)抽樣。5.2 災(zāi)難性遺忘怎么控制災(zāi)難性遺忘是SFT最頭疼的問題之一表現(xiàn)是微調(diào)后模型對目標(biāo)場景表現(xiàn)很好但通用能力明顯倒退比如數(shù)學(xué)變差、常識錯(cuò)誤增多。根本原因在于SFT訓(xùn)練數(shù)據(jù)分布和預(yù)訓(xùn)練數(shù)據(jù)分布差距太大模型在擬合訓(xùn)練數(shù)據(jù)的過程中把原有的知識表達(dá)式覆蓋掉了??刂七z忘的方法有幾個(gè)第一個(gè)是降低學(xué)習(xí)率。學(xué)習(xí)率越高權(quán)重改動(dòng)幅度越大遺忘越嚴(yán)重。我遇到過把學(xué)習(xí)率從1e-4降到5e-5之后目標(biāo)任務(wù)效果只差一點(diǎn)點(diǎn)但通用能力明顯變好。第二個(gè)方法是混合通用數(shù)據(jù)。在目標(biāo)SFT數(shù)據(jù)里摻入10%-20%的通用指令數(shù)據(jù)或者預(yù)訓(xùn)練語料讓模型在原分布附近“鞏固記憶”。第三個(gè)方法是做多任務(wù)混合訓(xùn)練。把多個(gè)場景的數(shù)據(jù)混在一起訓(xùn)而不是只訓(xùn)一個(gè)單獨(dú)任務(wù)模型對指令的理解會更穩(wěn)健。如果你已經(jīng)訓(xùn)練完了發(fā)現(xiàn)模型通用能力受損還有一個(gè)補(bǔ)救手段用低學(xué)習(xí)率在通用數(shù)據(jù)上做幾輪“恢復(fù)訓(xùn)練”通常能讓通用能力回來一部分但要謹(jǐn)慎控制輪數(shù)恢復(fù)過頭了目標(biāo)任務(wù)的收益又會丟掉。5.3 輸出成了復(fù)讀機(jī)或者出現(xiàn)亂碼生成階段出現(xiàn)復(fù)讀機(jī)很多人第一反應(yīng)是調(diào)采樣參數(shù)比如降低temperature、調(diào)整repetition penalty但從SFT側(cè)來看根因常常在訓(xùn)練階段。學(xué)習(xí)率過高是常見元兇模型在訓(xùn)練集上過擬合生成的token序列容易掉進(jìn)重復(fù)循環(huán)。把學(xué)習(xí)率降下來重新訓(xùn)練復(fù)讀現(xiàn)象經(jīng)常自動(dòng)消失。數(shù)據(jù)里的重復(fù)樣本也值得排查。如果某條樣本在數(shù)據(jù)集中重復(fù)了幾十次模型對它的記憶特別深輸出時(shí)就容易反復(fù)橫跳。用去重腳本把完全重復(fù)和近似重復(fù)的樣本清理掉能有效緩解這個(gè)問題。至于亂碼問題優(yōu)先檢查tokenizer的pad token設(shè)置。很多基座模型的tokenizer沒有pad token訓(xùn)練時(shí)如果不指定系統(tǒng)會拿eos token來湊可能導(dǎo)致注意力掩碼錯(cuò)亂。另一個(gè)檢查點(diǎn)是數(shù)據(jù)文本本身確認(rèn)沒有混入非法字符或者編碼不一致的文本。5.4 顯存OOM的排查路線訓(xùn)練中途報(bào)CUDA out of memory是最常見的工程問題但解決辦法并不復(fù)雜按順序處理就好。先減per_device_batch_size從4減到2再減到1。如果batch1還是OOM說明單條樣本太大檢查max_length是不是設(shè)得過高適當(dāng)截?cái)嚅L樣本。接著開啟gradient_checkpointing這個(gè)能省不少顯存。還不行就考慮換LoRA或者上量化。從全參微調(diào)切到LoRA顯存占用能下降一半以上LoRA再加4bit量化加載7B模型的訓(xùn)練甚至可以壓到16GB顯存以內(nèi)。有一點(diǎn)要提醒batch變小后訓(xùn)練穩(wěn)定性會變差記得同步調(diào)大gradient_accumulation_steps把等效batch size維持住。用大batch換穩(wěn)定用累積換等效是解決顯存問題的通用思路。5.5 微調(diào)效果怎么評估才靠譜很多團(tuán)隊(duì)評估SFT效果只看訓(xùn)練loss這是遠(yuǎn)遠(yuǎn)不夠的。loss只能說明模型有沒有擬合訓(xùn)練數(shù)據(jù)不能說明模型能不能解決真實(shí)問題。我自己的評估體系分三層第一層是規(guī)則指標(biāo)如果任務(wù)是分類或者抽取計(jì)算準(zhǔn)確率、F1這些客觀指標(biāo)第二層是生成質(zhì)量指標(biāo)比如代碼任務(wù)的passk、文本摘要的ROUGE分但這些只能做參考不能完全替代人工第三層是人工評測準(zhǔn)備幾十條覆蓋各場景的測試用例逐個(gè)看模型輸出按有用性、正確性、格式規(guī)范度打分。人工評測雖然費(fèi)時(shí)但它最能暴露問題。我通常會讓不直接參與訓(xùn)練的人來做評測這樣能避免“自己訓(xùn)的模型怎么看都好”的主觀偏差。打分表也不要搞得太復(fù)雜三到五個(gè)維度足夠了重點(diǎn)看有沒有出現(xiàn)答非所問、格式混亂、事實(shí)錯(cuò)誤這三類致命問題。模型上線前至少做兩輪評估第一輪發(fā)現(xiàn)問題并重訓(xùn)第二輪確認(rèn)修復(fù)效果這樣形成閉環(huán)才算真正跑完一次SFT。最后說一個(gè)我個(gè)人的習(xí)慣每次SFT訓(xùn)練跑完之后把所有配置、數(shù)據(jù)統(tǒng)計(jì)結(jié)果和評測記錄整理成一個(gè)簡單的文檔留檔。別小看這一步模型效果不好時(shí)想回溯原因這份記錄能幫你快速定位是數(shù)據(jù)問題、參數(shù)問題還是訓(xùn)練代碼問題。我做過的項(xiàng)目里好幾輪模型效果倒退都是靠文檔記錄快速查出了原因。如果你正準(zhǔn)備開始自己的SFT實(shí)驗(yàn)建議也養(yǎng)成這個(gè)習(xí)慣。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
99精品高潮| 爽 好舒服 无码刺激久久| av资源在线观看少妇| 女人一区| 中文AV制服乱伦| 91精品黄在线观看| 亚洲图片在线| 成人av福利在线观看| 亚洲天堂综合AV| x97av| 欧美97爱| 口爆综合网| 熟妇一区,二区,三区。| 老熟妇一区二区三区…| 中文字幕欧洲有码| 亚洲国产麻豆一区二区三区 | 亚洲AV无码天美传媒一区| 欧美性视频二区三区| 99人妻碰碰碰久久久久禁片| 麻豆精品久久久久久久| 九色黄站| 日本美女性生活久久久久久久| 亚洲色电影在线| 色婷婷香蕉| 啊啊啊啊在线播放| av国产无码| 久久精品人妻一区二区三区| 日韩免费看黄片| 狠操91,com| 97天堂| 一区二区三区精品黑丝白丝酒店对鸡| 久久欧美激情| 超碰人人干| 成人在线午夜视频一区| 亚洲综合中文字幕有码 | 熟女色图在线| 国产一级做a爰大片免费久久| 嗯嗯啊啊好疼| 日韩无码黄色片| 久操在97| 亚洲一本色道中文无码aV天美| 日韩 女同 综合| 国产亚州高清国产拍精| 后入式福利| 人人操人人大香蕉| henhen91| 国产美女激情| 国产美女mm131爽爽爽爽| 国偷自 一区二区| 男女激情黄色网址| 漂亮人妻被强中文字幕hd| 九久9热| 91天堂色男人的天堂| 中文字幕亚洲在线一区| 国产精品一区二区密臀| 亚洲色图 欧美热图 清纯唯美 另类自拍| 97超碰色色| 五月婷婷hd| 久久久亚洲Av| 玖玖资源视频一区二区三区| 丝袜性亚洲| 美国一区二区三区视频| 精久久久| 性色avv| 精品国产乱码| 校园激情狠狠四射| 亚洲美女黄色| 亚洲瓯美色图| 亚洲色婷婷| 人人操人人93| 97视频新免费| 亚洲成人妻日韩在线| 国产精品无码在线| 午夜精品久久99蜜桃的功能章节| 黄日韩| 91久久婷婷| 黄色免费网| 97草草| 丰满翘臀美女影院视频| 一级黄色牲爱A级片| 夜夜春夜夜操| 青青色综合| 色噜噜人妻丝袜a∨先锋影 | 97超碰欧美| 黑人与人妻| 天天色播| 思思热久久成人| 91n处女在线观看| 色女综合| 日本高清电影欧美色图| 亚洲AV无线| 亚洲色阁| 91熟女视频网| 操死我了嗯嗯嗯| 欧美特大黄一级片片免费| 久久国产成人精品国产成人亚洲| 999熟女精品| 丁香五月天婷婷姐| 精品少妇一区二区三区在线视频| 精品人体无圣光凹凸| 好爽视频在线观看视频| 99re在线视频国产| 久久同城AV| 欧美大香蕉在线观看| 亚洲女毛多水多21P| 国产毛片片精品天天看视频| 天天影视综合色| 91熟女综合| 人妻久热在线| 久久秀这里有精品| 操99| www欧美性爱| 久久精品熟妇丰满人妻99| 污电影在线观看| 美女淫穴| 一区二区三区男女操逼黄色小电影| 欧美性生活综合| 色图四区| 欧美激情高清性猛交| 国产熟女二区| 久久久不卡区一区二区三区久久久| 志村玲子视频一区二区| 天天干天天干天天| 色九区| 欧美偷拍区| 白丝一区| 精品欧美老熟女一二区| 97免费在线视频| 国产视频第二页| 久久成人东京热人妻| 综合激情一一91| 久久綜合很很很| 人人摸人人干| 五月天婷婷基地| 手机在线人成免费视频| 天天插天天操| 精品久久99| 亚洲精品美女久久久久久久久| 亚洲成人性| 精品日韩中文在线| 国产乱人伦AVA麻豆软件.| 国产乱弄免费在线视频。| 伊人99热| 女同在线视频一区| 国产欧美日韩女同性恋ww喷水精品 | 另类小说五月天| 欧美操人| 老鸭窝亚洲毛片| 野狼激情网| 91亚洲不卡一区| 91蜜臀在线久久久久| 96AV精品| 亚洲 欧美 日本 国内 首页| 97超碰欧美手机| 97chaopengongkai| 91色色网站| 国产成人亚洲精品无码最新在线| 午夜精品久久久久久久久久蜜桃| 亚洲天堂 视频你懂的| 亚洲精品久久久久久久蜜桃臀| 全球成人中文在线| 午夜精品一区二区三区三上悠亚| 久久伊人网视频一区二区三区| aaa淫乱视频| 日本不卡二三区| 香蕉免费一区二区三区不读| 一区二区偷拍拍视频| 亚洲图片偷拍视频区| 久久99热这里只频精品6学生| 91亚洲不卡一区| 99抽插| 色五月激情AV在线| 91精品人妻| 婷婷av在线中文字幕| 精品午夜福利国产一区二区在线观看| 精品超碰国产| 女人妻一区| 国产亚洲日本| 91无码精品| 97超碰色情| 另类亚洲一区二区三区| 日本肉体xxxx裸交| 在线天堂999| 加勒比综合a∨| 国产久久久| 国产一级137片内射麻豆| 日本欧美亚洲高清在线看| 91国产精品在线看| 囯产精品强| 97亚洲中文| 99e久久国产精品| 日韩精品中文字幕二区| 啊啊啊要高潮了| 人妻天堂网| 国产日产精品久久快鸭的功能介绍| 亚洲黄色网址视频| 亚洲人妻熟妇三十三区| 抽插亚洲无码| 可以在线观看AV的网站| 999在线电影香蕉| 国产人伦精品一区二区三区| 日韩天天综合| 人人操人人搞人人草| 久久国产精品91| 色亚洲欧美| 国产精品成人无码av无码免费| yiren97| 东京热毛片177b2viP| 色噜噜人妻丝袜a∨先锋影 | 亚洲欧洲综合| 日韩一级片| 国模久久在线| 亚洲色图尤物视频 | 九色婷婷| 999熟女精品| 日韩啊V| 丁香九月婷婷| 极品久久久久久久久久久久久久| 日本视频在线中文字幕| 大香樵伊人网| 日日干日日摸| 久久久精品视频免费观看| 中文字幕在线观看AV| 久久精品操| 亚洲导航深夜福利| 欧美日韩222| 91中文字幕在线观看| 亚洲91在线播放影院| 中美日韩毛片| 国产一区二区成人av在线播放| 日产操逼| 天堂麻豆天美| ..日韩av毛片精品久久久| 啊啊啊啊啊在线视频| A级在线视频| 91色噜噜狠狠| 99国产在线 精品 视频| 91影视亚洲| 人妻81p| 啊灬啊灬啊灬啊灬高潮奶出了免费视 | 五月婷丁香| 欧美性夜| 91精品人妻一区二区三区蜜桃臀| 国产高清吃奶免费视频网站| 日本精品久久久久久久| 欧美成va视频网站| 久一区久久蜜桃| 国产成人亚洲精品自产在线| av黄图片在线观看| 日本中文字幕一区| 九九香蕉网| 天天日夜干| 久久99国产综合精品女同| 日韩啊V| 天堂在线一区二区| 色噜噜人妻丝袜a∨先锋影 | 97天天弄| 国产精品久久久久av| 三及片网站| 日本不卡码黄色| 欧美日韩国产另类综合| 黑白配性爱AV成| 国产11页| 亚洲av综合色区无码一| 91N综合网| 国产真乱mangent| 欧洲小说色图视频另类| 日韩在线视频1234| 美国aaaaa一级黄片| 国产又粗又长又大的视频| 91人妻人人妻| 日韩乱伦影音先锋| site:sinbotex.com| 久久久国产精品人妻丝袜| 99精品成人免费看| 在线播放成人高清免费视频| 国产自啪精品视频网站黑丝| WWW4虎| 永久免费发布性爱网| 欧美大的香蕉有线电视视频| 嫩草影院永久在线制服丝袜| 五月天婷婷基地| 手机看片日韩人妻| 久久春色| 亚洲在线A| 久久最新视频免费观看| 水澄无码AV| 奇米四色影视777久久久| 蜜区区视频79| 好舒服视频| 裸体美女国产免费久久久网站| 国产精品视频麻豆入口| 成人怡红院| 欧美一品道| 亚洲另类色图片| 亚洲国产无码精品首页久久久| 84YTCOM性无码| 东京热AV男人的天堂| 2025亚洲男人天堂| 玖玖视频在线资源一区二区三区| 欧美v亚洲v日韩v最新在线二区| 肉动漫无遮挡h在线观看| 欧美草草高清日韩视频| 999熟女精品| 人人污日韩一区二区| 六月丁香久久| 深夜激情无码| 亚洲蜜臀视频精品久久| 天天亚洲综合| 东京太热久久久| 亚洲欧美日韩综合在线尤物 | B049AV在线播放| 欧美熟妇乱码在线一区| 99久久综合| 国产激情在线观看| 婷婷影院入口| 中文字幕亚洲永久精品| AV一起草在线| asc国产精品| JuliaAnnXXX888| 女性91网站| 国产精品分类在线观看| 国产 v乱码一区二| 久久久久久亚洲精品中文字幕人妻| 亚洲中文人妻色| 国产25页| 女性91网站| 奇米四色影视777久久久| 天天综合网~91| 老女人碰碰在线碰碰视频| 久久伊人最新网址视频| 人妻少妇久久中文字幕一区二区 麻豆| 亚洲 小说 欧美 激情 另类| 无码人妻丰满热妇又大又粗| 黄色AV影视| 欧美91在线+|+欧美| 伊人9| 国产精品96| 亚洲最新av无码成人精品区| 亚洲精品一二三四区| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊 | 精品欧美А∨无码黑人大荫蒂| 曰韩av中文字幕专区| 97精品国产97久久久久久户外免费| 亚洲黄色网址| 色哟哟 日韩精品| 亚洲美女自拍偷拍视频| 日日日啊啊啊| 亚州欧美在线| 自拍偷拍 高清无码| 亚洲 日韩 欧美 国产综合体| 丰满搜索结果 -第18页- 久久高清无码| 精品蜜乳AV免费观看| 在线观看中文字幕| 日韩操p| 18禁免费视频| 日亚韩精品视频二区三| 狠狠狠狠狠狠| 男人的天堂.com| 黄色十八禁网站| 亚洲男人综合网| 日1区2区3区2020| 啊啊啊草死我| 精品毛片av一区二区| 国产麻豆福利av在线播放| 日韩不卡a级视频专区| 国产日比| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 91狠狠狠| 日本精品五区| 成人 日本A片无码8888| 天天做天天爱天天爽| 女同亚洲欧美一二三区久久电影| 青青草成人视频在线观看二区| 中文子幕一二三| 乱人乱色一区二区三区免费| 2024年最新色情网站在线观看| 免费久久9999| 日日骚av| 91色人妻| 日本欧美国内在线| 天天做天天爱天天爽AV| 大香蕉2017| 伊人影院日本| 欧美日韩性爱精品| 色综合加勒比四四季| 91国精产品| 亚洲精品99999| 偷拍亚洲熟女视频播放| 三级三级三级日本99| 韩国三级三级BD在线| 国产吹潮女在线观看| 99久久99久久免费精品蜜臀| 黄页视频网站野外| 久久99国产综合精品女同| 亚洲男人的天堂网| 色99999| 日韩精品永久在线观看| www.一本大99| 狠狠爱夜夜| 大香蕉久| 91伊人大香蕉| 亚洲自拍97| 可以免费观看的日韩av毛片| 色狠狠综合噜一二三区| 91欧| 多乙久久久久久| 国产精品肉丝自拍| 超碰色大香蕉| 日本性爱不卡视频| 欧美精品91| 大香蕉中文在线| 国产精品亚洲一区二区三区四区| 超碰精品| 精品久久无码午夜福利| 欧美综合站| 日本高清视频在线观看黄已三辽| 日韩无码a片| 精品v1区| 成年无码动漫av片无尽在线 | 乳欲人妻办公室奶水| 久久精品国产亚洲AV清纯| 久久这里只精品99re66图| 亚州 综合 色图| 国产后入| 超踫中文字幕| 偷拍视频青青草在线视频| 国产精品一区二区 尿失禁| 女生自91网站| 秋霞一级A片黄色视频| 嗯啊免费视频| 少妇一区二区三区| 亚洲天堂区| 一区二区三区一亚洲中文字幕、综合区灬| 中文字幕免费看大片| 激情视频一二三| 国产中文字幕在线点播| 玖玖爱一区在线| 国产AAAAAABBBBB| 日本三级日本三级三级人妇四虎| 久久免费少妇| 久久久不能久久久久| 91性片| 久久激情网| 天美久久久久| 午夜大香蕉| 国产一线二线三线av| 国产成人综合网| 九九九九热只有精品| 91精品国产麻豆国产自产在| 蜜桃网熟妇| 韩国黄色片精品久久久| 伊人网高清| 日本精品一区三区| 国产精品视频内谢女人| 91嫩草欧美| 人人看人人插| 91N综合网在线| 女人双腿搬开让男人桶| 国产乱码久久久| 996热| 91亚洲欧美激情| 97色伦欧美| 欧美性xxxxx狂欢| 亚洲棕合电彰| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 午夜久久无码1000合集| 亚洲色图欧美色图在线播放| 激情五月婷婷| 日本性爱视频一级| 欧美亚洲综合999| 国产精品亚洲免费| 丰满熟女一区二区三区在线播放| 久久偷拍人| 日韩激情啪啪啪| 欧美色图自拍| 日韩欧美丝袜诱惑| 97久久精品亚洲| 狠狠色婷婷7777久| 五月天开心网| 久久黄黄| 国产suv精品一区二区四区999| 色色热| 日本熟妇一区二区三区| 亚洲国产精品乱码在线观看| 日本一区二区电影网站| 日日干日日操五月天伦理视频| 久久久久久中文字幕中文字幕最新| 狠狠穞A片一區二區三區| 久久人人看| 激情五月婷婷| 奸色色 男人天堂 天天射| 青青草日本无码| 久9久| 乱码熟妇人妻久久久| 亚洲蜜臀懂色| 91国内外在线| 97操B| 好爽免费视频| 午夜超爽| 婷婷伊人綜合中文字幕小说| 精品国产自在在线99| 一区久久久二区| 五十路熟女工口 | 亚洲人妻久久| 欧美成人A√在线一区二区| 99国产在线 精品 视频| 日本性爱少妇| 欧美午夜精品久久久久久超碰| 亚洲不卡不卡中文字幕不卡 | 动漫av中文| 老色鬼成人精品视频下载大在线观看| 久久久久久人体| 亚洲无992tv| 免费一级特黄特色大片在线观看看| 国产小黄片在线免费观看| 黄色av一区二区在线| 91neishe| 久久久久国产精品人妻aⅴ天堂| 偷拍亚洲视频一区二区三区四区| 久久青青草在线视频| 国产美女自拍AV| 操逼逼无码| 秋霞免费无码视频日韩A片| 免费看国产大AB| 久久精品午夜国产亚洲AV无码| 淫穴高潮色图| 国产精品午夜福利视频| 美女淫穴| 日本人妻一区二区| 99热综合| 国产福利影视| 神马久久久久久久| 天躁夜夜躁2021| 久久久久无码一妻区| 国产专区路线| 欧美色图片91| 亚洲色堂免费视频| 亚洲 综合 欧美| 日本 欧美 国产一区| 精品偷拍13p欧美dodk视频| 日本精品中文字幕视频| 亚洲天堂一区| 懂色aV一区二区天美传媒| 精品美女少妇一区二区| 麻豆色99999| 午夜九九| 五月天人妻综合| 亚洲国产中文字幕| 蜜桃精品视频一区二区三区| 麻豆 亚洲 97| 欧美成人一区二区| 999九九精品| 久久99草| 内射中国少妇高清视频免费视频 | 亚洲射综合网| 日韩传媒在线| 夜夜嗨绯色| 97碰碰日本乱偷人妻中文的| 干B| 后入式在线免费观看60秒| 91美乳| 国产日韩人人| 日噜夜夜夜夜夜夜夜夜夜夜爽爽爽爽爽爽爽爽爽爽爽爽 | 国产第11页| 欧美青青视频| 大屁股熟女一区二区三区| 狠狠操狠狠燥| 后入合集| 日韩一级二级三级在线不卡观看完整| 999精品久久久久久久| 97干在线| 亚洲在线网站| 国产免a费看黄片在线| 免费观看的黄色的网站| 亚洲色欲天天人妻无码系列专区| 色色五月婷婷| 97国伦国色| 丁香婷婷激情五月天无毒不卡| 亚洲精品1区| 少妇熟女视频一区二区三区| 男同专区一区二区三区在线| 91久久久久久久久18| 91精品国产91久久福利| 国产成人精品无码久久| **一级毛片国产| 婷婷成人五月天| 青青草吊丝| 日韩精品三级片长长久久| 精品一区二区2| 国产9区| 人人操人人摸人人看人人插| 黄片免费看黄片免费看| 亚洲性爱高潮影院| 成人热久久精品| 婷婷激情五月综合| 97国产人人| 欧美精品日韩久久久九| 在线播放成人网站| 欧洲Au麻豆| 一区二区亚州激情久婷婷欧美| 果冻传媒A片麻豆熟妇人妻| 精品视频一区二区| aaaa黄片| 香一区二区三区| 日韩黄色小说| 亚洲国产另类在线中文| 亚洲av影音先锋| 欧美日韩国产中文超碰| 新视频sss国产| 91 丝袜在线播放| 国产精品嫩草影院免费| 五月婷在线| 欧美激情色婷婷花野真衣一区二区| 久久久78| 国产一级高跟丝袜| 日韩欧美女优电影| 91色综合色| 91av熟女人妻| 操操啪| 都市激情人妻一区二区青青操视频 | 欧美se综合| 免费的很黄很污的全部视频| 一本一道人妻久久一区二区三区| 欧亚揄拍偷拍精品视频| 东京热一区二区中文字幕| 精品亚洲国产成人AV制服丝袜| 久热久一区二区三区| 天天操天天干美女网址导航| 精品国产91内射久久| 长长久久免费视频| 色69大色97香蕉| 国产高清吃奶免费视频网站| 伊人影院中文字幕| 久久国产精品视频| 欧美日本中字另类在线| 中文字幕精品人妻丝袜| 成人性交午夜免费片| 国产美女mm131爽爽爽爽| 97超碰色屌| 欧美牲| 丁香六月婷婷综合| 欧美成人精品一区二区男人蜜臀| 嫩呦国产一区二区三区AV| 91n美女视频| 国产路线专区| 色五月婷婷色| 天天干夜夜操一区二区| 思思热在线cao| 99RE在线视频精品,这里只有精品| 亚洲丝袜诱惑| 首页亚洲国产高跟丝袜诱惑视频| 黑丝制服中文字幕| 精品人妻美妇91job| 天天综合网AV91| 五月婷婷丁香六月丁香| 亚洲天堂另类小说男人| 精品人妻一二三| 蜜桃视频精品一区二区| 91n处女在线观看| 亚洲欧美中文日韩视频中国语| 人妻激情在线视频| 日本高清_区二区三区| 精品九九九九九九九九九| 国产精品蜜臀久久久久无码AV| 116美女午夜| 亚洲综合另类| 国产青一二三| 很很操在线| 欧美九九99久久精品| 欧美日本成人一区二区| 啊嗯好大视频在线观看| 国产毛片毛片4p懂色| 蜜桃传媒一区二区亚洲| 四虎国产精品永久在线囯在线| 日本免费不卡二区| 国产精品ww久久| 97爱欧美| 午夜视频好爽啊| 色男人色天堂东京热| 国产浮力影院第1页| 国产人妻精品一区二区三区秋霞| 日本性爱少妇| 97精品一区二区视频在线观看| 日韩999| 91久| 欧美成人亚洲精品| 偷拍亚洲熟女视频播放| 天美传媒av一区二区| AV无码久久久精品| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 国产亚洲国产超碰| 精品一区二区三区麻豆| 91啪9色| 国产精品成人无码a v毛片| 国产精品久久久999| 99久久精品国产高潮| AV女优男人的天堂| 一道本东京热加勒比一区二区三区| 日本国产亚洲一区在线观看| www.男人天堂| 五月婷婷AV| 中文一区二区三区影院| 熟妇高潮一区二| 美国日韩黄色片| 美女诱惑久久| 91国产美女丝袜足交精品视频| 欧美日韩性爱无码| 资源新线在线天堂| 美国久久一二三四| 日本午夜精品理论片A级APP发布| 欧美天天射| 一区二区不卡| 日韩中文欧美| 午夜超爽| 91亚洲欧美激情| 亚洲永久AV无码精品秋霞| 亚洲二区精品在线观看| 欧美亚洲综合高清在线| 成人精品一区二区三区| 九九久久99| 亚洲无码国产精品久久| 日本ZZ高免费A级视频| av在线人气| 激情五月天社区| 精品国产Av无码久久久伦古装| 日韩美女,国产传媒,视频一区| 天天色播| 91香蕉视频在线观看免费| 欧美自拍网| 牛牛久久国产精品视频一二三| 婷婷午夜| av绯色| 亚洲国产精品无码AV久久| 97天天在线| 亚洲乱色视频一区、二区在线| 99热在线观看| 国产精品99精品视频网站| 强乱老妇中文字幕| 久久99精品国产| 人妻加勒比东京热| 国产一区二区欧美日本| 免费日韩黄片| 我要色综合网| 啊啊在线| 熟妇高潮精品一区二区三区下载| 中文字幕二区日韩天堂| 日本在线不卡v二区| 岛国免费视频在线| 草草草视频| 午夜九九| 成人久久久精品| 亚洲自拍另类丝袜综合| 97天天搞在线| 香蕉婷婷| 男男H黄动漫啪啪无遮挡网站| 欧美的性爱网站免费| 欧美日韩中文视频播放| 亚洲 欧美 日本 国内 首页| 大香蕉综合在线| AV高清一区| 日韩欧美麻豆大片| 九九热在线视频| 综合色啪| 中日韩欧美精品无码AⅤ一区二区| 欧美激情视频在线一区| 水多多映视AV| 国产400孕妇孕交群| 亚洲综合嫩| 欧美日韩人妻精品一区二区三区| 精品人妻一二三四区视频| 女人一区| 91九九九小逼| 精品视频97| 很黄很污的免费网站| 丰满人妻一区二区三区四| 激情六月婷婷| 996热| 免费看日本操逼视频| av天堂5| 黑人黄片在线免费观看| 日本精品不卡一二三区| 久久99午夜精品一区人妻| 黄色电影观看久久9| 亚洲三区视频| 国产一级操B视频| 国产高清成人mv在线观看| 探花一区二区三| 国产成人无码啪| av在线不卡一区二区三区| 秋霞成人做爱| 超97在线精品视频| AV污污污污| 国产一级αv免费看片| 亚洲午夜福利视频| 五月天色色网站| 99热18| 色999人与兽| 欧美最婬乱婬爆婬性视频| 精品久久久久瑟瑟| 妇女视频网站| 在线情色电影 91大| 久草线上视频免费看| 熟妇高潮二区三区| 人妻精品一区二区三区| 试看60秒 爽| 亚洲自拍偷拍视频在线| 久久久久久久久久久免费精品| 精品人妻中文字幕4399| 操逼操逼逼操操逼91| 久久香蕉国产线看观看猫咪av| 90后性网国产欧美| 人妻熟女一区在| 欧美色九九九| 国产精品天干天干综合网麻豆 | 久久久免费一级黄片| 99ri在线视频| 9/A片| 96免费视频在线| 国产自啪精品视频网站黑丝| 人妻天堂网| 成人蜜乳小视频网站| 九九干| 丁香九月激情啪| 国产精品青青草| 午夜毛片高清免费不卡| 97操碰| 国产成人在线观看网址| 老熟女搡BBBB搡BBBB视频| japan日本高清乱xxxx| 久99| 97久久精品亚洲中六字幕| 亚拍在线| 欧美色图亚洲色| 亚洲无码成人精品| 国产成人bd在线观看| 久久久久久久一级黄色打同平台| 东京热av男人的天堂| 玖玖资源视频一区二区三区| www国产无码| 国产精品自在线发布| 天天爽爽爽爽| 丝袜亚洲91| 丰满人妻一区二区三区免费| 麻豆国产视频精品观看| 国产精品久久久久久久久AV大片| 精品免费一区二区三区在线亚洲人成| 亚洲污污网站| 五月天亚洲色图| 国产综合网站在线播放| 国产伊人自拍| 国产超碰欧美| 综合久久久久久久久91| 99操视频| 日韩 成人 有码| 国产精品一区二区三区免费视频| 91丨豆花丨熟女| 久久色人体| 亚洲亚洲亚洲天堂天堂| 日韩三级伦理中文字幕| 亚洲乱熟女一区二区三区大香蕉| 99操| 国产精品欧美在线观看| 亚洲AV无线| 超碰 另类 欧美| 亚洲欧美综合网| 无码高清国产AV| 欧美另类色| 91美女视频直播| 久久精品中文字幕观看| 97人妻色| 日韩无码第3页| 国产操逼逼网| 日韩三级在线观看mp4| 亚洲色交| 久久九九网| 夜夜操一区二区| 欧美gv在线观看| 亚洲,欧美,春色,另类| 久久久久久中文| 日逼视频日本| 色女99一级片在线观看| 久九色| www色色色com| 精品无码一区二区三区| 久久综合资源一区二区| 欧美97在线观看| 日韩精品在线视频,日韩精品……| 日本色婷婷| 欲色啪| 国产精品无套内谢| 性性久久| 欧美人人曰人人操人人射射| caopeng97| 久久加勒比| 五月天激情小说| 91天堂丝袜美腿| 亚洲AV成人无码久久精品播放| 中文字幕AV片| 久操com| 激情综合av| 影音先锋新男人| 天堂精品小草| 一级岛国大片| 中文字幕少妇色| 亚洲日韩精品久久久久一区壹牛 | 熟人人妻少妇精品久久| 国产一区二区三区影片| 色综合 加勒比| 久久亚洲精品成人av| 久久久久国产精品人妻aⅴ天堂| 亚洲成a人片在线观看中文!!!| 极品后入免费视频| 中国大陆国产高清AⅤ毛片| 97超碰亚洲| 日韩卡一卡二卡三在线| 亚洲日韩久久精品一区| 91成人久久| 91亚洲欧美综合高清在线| 免费作爱一级视频| 色综合 加勒比| 婷婷操逼| 亚洲欧美不卡线| 香蕉99秘 精品一区丁香| 男女性无套 免费九一| 美女淫穴| 中文字幕日韩人妻视频一区二区三区| 涩涩久久精品| 欧美黄色大香蕉一区二区| 9美女超碰在线免费观看| 97啪啪| 色欧洲| 精品人妻夜夜草| 亚洲人妻在线一区| 我想要啊 啊 啊| 婷色五月天| 欧州一区二区三区四区| 日本欧美色| 精品伊人久久久大香线蕉小说| 91操熟女视频| 超碰超碰欧美| 国产乱伦亚洲| 亚洲91射| 色嘟嘟人妻天堂网| 亚洲成人在线高清| 北野未奈加勒比av| 99色综合| 国产精品露脸在线观看| 97超级色碰碰| 97爱免费插| 免费自拍三级综合| 欧美性爱伊人| 亚洲毛片久久| 97色97好| 欧美劲爆视频一区二区| 人人妻人人澡人人爽人人精品浪潮| 人妻精品综合中文字幕在线| 在线a v| 0755午夜福利视频| 伊人色综合超碰| 午夜福利精品| 91精品91久久久久77777俄罗斯老妇姓x| 在线天堂999| 中国探花熟女| 九九综合九九综合| 亚洲怡春院| 日韩人体偷拍| 最新中文字幕精品在线| 五月情色天| 中文字幕人乱码中文字的预防方法| 国产小u女在线观看| 精品人成视频在线观看| 日韩黄色小说| 红桃视频高潮| 亚洲AV成人无码一区二区三区在线观看 | 99999国产| 久久精品老司| 激情开心五月天| 一本大道不卡一二三区| 清纯唯美综合| 9久精品视频在线观看| 天美精品av| 中国一区二区亚洲人妻| 起碰97| 密臀成人视频久久久| 黑丝日韩av丝袜av| 防屏蔽在线视频| 口爆吞精在线观看| 麻豆三极片| 国产白丝网站| 精吧天堂| 一区中文字幕二区日韩| 婷婷午夜| 草莓精品视频| 啪啪视频亚洲第一| 91美女在线观看| 激情文学小说一区二区| 亚洲高清视频在线观看| 天天摸,夜夜摸| 户外裸露刺激视频第一区| 一中国女人毛片水真多| 熟女少妇一区二区三区| 色眯眯av| 夜夜狠狠躁日日躁色视频| 无码免费一区二区三区啪啪| 国产成人在线观看综合| 久久久久久电影| 国产精品女aA片爽爽视频| 亚洲图片欧美偷拍| 岛国不卡超碰护士AV在线播放| 欧美午夜色妇色鬼| 99这里有精品| 五月丁香综合激情| 亚洲精品a人片在线观看视| 亚洲阿v天堂无码z2018| 三男一女不戴套的A片| 熟女人妻一区二区三区| 国产白丝网站| 久久久久九九九九九| Aa东京男人的天堂| 欧美亚洲涩涩| 日韩人妻无码精品系列| 久久9亚洲| 小草精彩毛片| http://qxhbdz.com| 六六久久日韩不卡| 俺去也婷婷| 99热91| 五月丁香| 五月婷色| 99热免费| 亚洲丝袜色| 免费观看的av| 蜜桃臀av在线观看| 中文字幕一区av| 思思热在线视频精品| 国产激情久久久| 久久久com| 91美女丝袜诱惑视频| 婷婷久久综合| 日本三级韩国三级99| 婷婷五月天激情小说| av九九| 屌逼麻豆| 精品91摸| www.一本大99| 性欧美天天| 国产青视频| 小骚逼被操的爽不爽| 午夜理论片在线观看免费| 久草网站免费在线观看| 国产一区二区av综合| 精品亚洲国产成人AV制服丝袜| 中文字幕在线高清男人的天堂| 国产一级αv免费看片| 99天堂网| 色精品极品| 亚洲av热热色| 在线亚洲丝袜视频网站| 97国产精品久久久久 | 国产在线不卡导航| 欧美最婬乱婬爆婬性视频 | 亚洲成人激情小说视频| 妇女性内射冈站HDWWWCOM| 操逼大黄片| 天天操天天舔| 日本三级久| 亚洲网自拍| 青青伊人这里只有精品| 天堂亚洲精品| 中文视频在线观看| 18啪啪手机免费性爱| 五月天丁香婷婷综合网站| 一块操欧美性爱| 好湿好紧好爽 视频| 欧美在线55555| 一级免费精品| 亚洲色图图片| 国产久久成人| 精品成人av一区二区三区在线| 婷婷久草一区二区三区| 91网18| 亚洲天堂一区二区| 日本成人在线不卡一区二区三区| 日韩美女啪啪一区| 日韩一级片在线看| 日韩一999精品| 国产精品午夜福利视频| 一本色道人妻久久| 日韩偷拍一区二区三区| 久久久精品视频免费观看| 一区二区三区精品黑丝白丝酒店对鸡| 久久一区,青青青青草视频在线播放| 韩国国产欧美情侣视频在线| 国产又粗又长又大的视频| 在线毛片片免费观看| 立川理惠无码一区二区| 国产性感骚丝袜在线| 嗯嗯啊啊日韩精品| 91人妻少妇| 日韩av一级黄片| 久久欧美1卡2卡3| 97操综合| 色哟哟 日韩精品| 精品国产久热在线观看| 综合激情97 | 91精品国产综合久久久蜜臀酒店| 午夜.DJ高清在线观看免费7 | 97资源亚洲| 性爱Av免费| 亚洲日韩AV视色| 超碰综合97在线| 色欲Av人妻精品一区二| 婷婷色五月激情| 96久久久精品| 97爱爱爱| 一区在线观看中文字幕| 久久夜嗨| 久久精品熟妇丰满人妻99| 欧美日本国产日韩激情视频| 色哟哟国产精品免费网址| 精品无人区麻豆乱码1区2区图片| CCYY草草影院地址入口| 99热精品在线观看| 亚洲综合69| 富女玩鸭子一级毛片| 五月丁香色色网| 91女优在线观看| 少妇厨房愉情理伦片bd在线观看| 狠狠操狠狠插| 老女人91| 嗯嗯,啊啊,国产精品| 欧美天天综合站| 精品久久久av无码免费| 成人性爱电影一区二区| 天天谢天天干| 欧美拳交在线播放| 白嫩妹子国产骚| 九九久久一区二区伦理| 夜夜狼人妻| 无码人妻一区二区三区免费九色| 国产精品久久久鸭无码的功能| 色九九九综合| 亚欧高清| 按摩中文字幕| 色九久| 国产女人成人精品视频| 中文字幕一区二区三四五区日日骚| 性爱综合一区二区| 热久久精品| 国产精品久久久| 激情五月天色播| JuliaAnnXXX888| 亚洲精品日日夜夜52| 蜜桃狠狠色伊人亚洲综合| 国产99精品一区二区三区免费| 久久中出在线| 在线毛片片免费观看| 精品人妻一区二区三区-国产精品| 九九久久玖玖|