免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

從零搭建AI工程:環(huán)境、數(shù)據(jù)、訓(xùn)練與部署的全流程實(shí)戰(zhàn)指南

從零搭建AI工程:環(huán)境、數(shù)據(jù)、訓(xùn)練與部署的全流程實(shí)戰(zhàn)指南 1. 先搞明白AI工程和“調(diào)模型”到底差在哪1.1 什么是真正的 ai-engineering而不是跑通一個(gè) demo先說(shuō)個(gè)我自己的經(jīng)歷。前兩年我第一次接觸一個(gè)所謂的“AI項(xiàng)目”實(shí)際上就是拿到一個(gè)公開(kāi)的模型權(quán)重寫(xiě)了個(gè)30行的Python腳本調(diào)用了一下輸出了幾個(gè)結(jié)果。那叫“用AI”不叫“AI工程”。真正讓我意識(shí)到兩者差距的是后來(lái)接了一個(gè)內(nèi)部需求公司想讓員工在一個(gè)集中式入口里用自然語(yǔ)言提問(wèn)然后系統(tǒng)從幾十萬(wàn)份技術(shù)文檔里找到答案還要帶著來(lái)源引用返回。一開(kāi)始我覺(jué)得這有什么難的——模型加載起來(lái)做個(gè)embedding接個(gè)向量庫(kù)完事了。結(jié)果真正做下去才發(fā)現(xiàn)模型加載跑通只是這個(gè)項(xiàng)目里最不起眼的5%。剩下95%的時(shí)間都在處理數(shù)據(jù)質(zhì)量、環(huán)境一致性、訓(xùn)練穩(wěn)定性、線(xiàn)上延遲、評(píng)測(cè)標(biāo)準(zhǔn)、回歸回歸回歸——這才是ai-engineering from scratch的核心。所以這篇文章想分享的不是某一個(gè)模型的調(diào)用代碼而是當(dāng)你決定“從零開(kāi)始把一條AI產(chǎn)品線(xiàn)真正落地”時(shí)你需要面對(duì)的那些繞不開(kāi)的問(wèn)題以及我踩過(guò)之后留下的方案。適合剛?cè)腴T(mén)的算法工程師、想把模型產(chǎn)品化的后端開(kāi)發(fā)以及正在復(fù)現(xiàn)論文或開(kāi)源項(xiàng)目、卻被環(huán)境、數(shù)據(jù)、部署折磨到懷疑人生的學(xué)生。標(biāo)題里的“from scratch”有兩層含義技術(shù)棧上的從零不是用別人封裝好的Paas平臺(tái)拖幾個(gè)組件而是自己掌握鏈路里的每一個(gè)關(guān)鍵環(huán)節(jié)。認(rèn)知上的從零打破“模型就是一切”的幻覺(jué)建立工程化思維。1.2 為什么選擇自建而不是直接套現(xiàn)成平臺(tái)做AI工程第一件事通常是選型用現(xiàn)成的大模型API還是自己微調(diào)部署用托管的向量數(shù)據(jù)庫(kù)還是自己起一個(gè)這里沒(méi)有標(biāo)準(zhǔn)答案但有決策框架。我當(dāng)時(shí)的判斷標(biāo)準(zhǔn)是四看看數(shù)據(jù)敏感性企業(yè)內(nèi)部文檔涉及業(yè)務(wù)細(xì)節(jié)不能隨便出網(wǎng)??炊ㄖ粕疃葐?wèn)答效果依賴(lài)對(duì)私有術(shù)語(yǔ)的理解通用模型明顯不夠??撮L(zhǎng)期成本調(diào)用量上來(lái)之后按token付費(fèi)的費(fèi)用遠(yuǎn)高于自建推理??磮F(tuán)隊(duì)成長(zhǎng)希望團(tuán)隊(duì)借這個(gè)項(xiàng)目真正建立AI工程能力而不是變成一個(gè)API轉(zhuǎn)發(fā)器。四條下來(lái)“自建 開(kāi)源模型微調(diào) 私有部署”是唯一合理的路徑。但自建有一個(gè)被嚴(yán)重低估的代價(jià)鏈路變長(zhǎng)了。以前用一個(gè)API只需要關(guān)注輸入輸出自建之后你要關(guān)注數(shù)據(jù)管道、GPU資源、訓(xùn)練穩(wěn)定性、推理吞吐、監(jiān)控告警。每多一個(gè)環(huán)節(jié)就多了一批潛在的故障點(diǎn)。這是所有從零開(kāi)始的人要先做好的心理建設(shè)。1.3 一個(gè)貫穿全文的實(shí)例內(nèi)部文檔問(wèn)答機(jī)器人為了讓下面的內(nèi)容不至于飄在理論上我以“企業(yè)內(nèi)部文檔問(wèn)答機(jī)器人”作為貫穿案例。項(xiàng)目目標(biāo)很明確用戶(hù)輸入一個(gè)問(wèn)題系統(tǒng)返回一段答案并附帶來(lái)源文檔和頁(yè)碼。業(yè)務(wù)上要求準(zhǔn)確率不低于85%首字節(jié)延遲低于2秒支持30個(gè)并發(fā)。訓(xùn)練數(shù)據(jù)來(lái)自公司內(nèi)部的技術(shù)文檔、產(chǎn)品手冊(cè)、歷史工單大約50萬(wàn)條。這個(gè)例子覆蓋了AI工程的主要模塊數(shù)據(jù)管道、模型微調(diào)、推理部署、評(píng)測(cè)反饋。后面每個(gè)章節(jié)都會(huì)用它來(lái)說(shuō)明“為什么這么做”“參數(shù)怎么定”“踩了什么坑”。2. 環(huán)境與基礎(chǔ)設(shè)施搭地基的姿勢(shì)決定上層建筑的穩(wěn)定程度2.1 GPU選型與驅(qū)動(dòng)別一上來(lái)就被顯存卡死做AI工程第一道坎通常是硬件環(huán)境。我當(dāng)時(shí)拿到的是一臺(tái)雙卡機(jī)器配置是2塊24G顯存的GPU。很多人會(huì)問(wèn)“顯存選多大”其實(shí)這個(gè)問(wèn)題不應(yīng)該脫離模型規(guī)模去談。如果目標(biāo)是微調(diào)一個(gè)7B參數(shù)量的模型采用LoRA方式24G顯存跑fp16是夠的如果要全參數(shù)微調(diào)24G會(huì)很吃力。訓(xùn)練和推理的顯存需求差異也很大推理階段可以用量化大幅壓縮。選型的時(shí)候我列過(guò)一個(gè)粗略的評(píng)估表模型規(guī)模推理最低顯存FP16微調(diào)推薦顯存LoRA全參微調(diào)推薦顯存1B以下4G8G16G7B16G24G80G13B32G48G160G注意這只是經(jīng)驗(yàn)值實(shí)際要看序列長(zhǎng)度和batch size。序列越長(zhǎng)、batch越大顯存需求越高。驅(qū)動(dòng)和CUDA版本這塊我吃過(guò)一次虧?rùn)C(jī)器上預(yù)裝了CUDA 11.8但PyTorch版本要求CUDA 12.1結(jié)果程序沒(méi)有報(bào)CUDA錯(cuò)誤而是直接報(bào)“illegal memory access”排查了一天最后才發(fā)現(xiàn)是版本不匹配。現(xiàn)在我的原則是先查PyTorch官方對(duì)應(yīng)的CUDA版本再回過(guò)頭配置驅(qū)動(dòng)。跑一個(gè)簡(jiǎn)單的驗(yàn)證命令確認(rèn)環(huán)境正常python -c import torch; print(torch.__version__, torch.cuda.is_available(), torch.cuda.get_device_name(0))如果輸出顯示的GPU名稱(chēng)正確CUDA可用再開(kāi)始裝模型能省掉一大半玄學(xué)問(wèn)題。2.2 用Docker把環(huán)境固化下來(lái)不要相信“在我電腦上是好的”AI工程的復(fù)現(xiàn)性有一個(gè)大敵環(huán)境漂移。“在我電腦上跑得好好的”這句話(huà)在AI項(xiàng)目里出現(xiàn)的頻率遠(yuǎn)超其他軟件項(xiàng)目。原因很簡(jiǎn)單訓(xùn)練腳本依賴(lài)的Python包有幾百個(gè)每個(gè)包又有不同版本某次升級(jí)一個(gè)小版本可能就帶來(lái)數(shù)值變化。為了把環(huán)境固化我強(qiáng)烈建議從第一步就引入Docker。我用的基礎(chǔ)鏡像形如FROM pytorch/pytorch:2.1.0-cuda12.1-cudnn8-runtime RUN apt-get update apt-get install -y git curl RUN pip install --no-cache-dir transformers datasets accelerate peft trl COPY ./requirements.txt /app/ RUN pip install --no-cache-dir -r /app/requirements.txt這樣做的好處有三個(gè)環(huán)境與宿主隔離不會(huì)再因?yàn)橄到y(tǒng)Python升級(jí)導(dǎo)致依賴(lài)崩掉。訓(xùn)練、推理、測(cè)試用同一個(gè)鏡像結(jié)果可以對(duì)比。部署的時(shí)候直接把鏡像推到內(nèi)部倉(cāng)庫(kù)生產(chǎn)機(jī)和開(kāi)發(fā)機(jī)環(huán)境完全一致。我用的是conda還是Docker答案是都要。conda負(fù)責(zé)創(chuàng)建Python虛擬環(huán)境Docker負(fù)責(zé)把整個(gè)系統(tǒng)層傳下去。在Docker里面再用conda管理Python環(huán)境可以兼顧靈活與可復(fù)現(xiàn)。2.3 實(shí)驗(yàn)跟蹤沒(méi)有記錄的訓(xùn)練都是白訓(xùn)從零開(kāi)始做AI工程最容易忽略的一個(gè)環(huán)節(jié)是實(shí)驗(yàn)記錄。我早期就是這樣改個(gè)參數(shù)跑一晚上第二天醒來(lái)發(fā)現(xiàn)效果好了但忘了昨天改了什么。那種“明明前一天還在變好現(xiàn)在怎么退步了”的困惑基本都源于沒(méi)有做好跟蹤。后來(lái)我引入了MLflow配合一套簡(jiǎn)單的命名規(guī)范。每個(gè)實(shí)驗(yàn)記錄三樣?xùn)|西超參數(shù)學(xué)習(xí)率、batch size、epoch數(shù)、LoRA rank指標(biāo)訓(xùn)練loss、驗(yàn)證loss、準(zhǔn)確率、F1產(chǎn)物模型檢查點(diǎn)路徑、評(píng)測(cè)報(bào)告、日志文件命名規(guī)范是“日期-模型-版本-說(shuō)明”比如“20240601-bert-base-zh-v01-lr2e5”。不要小看命名一個(gè)清晰的名字能讓你三個(gè)月后翻記錄時(shí)省下大量時(shí)間。如果你不想引入額外的服務(wù)也可以用最簡(jiǎn)單的CSV記錄表。核心不是工具而是“每次改動(dòng)都有跡可循”這個(gè)習(xí)慣。2.4 項(xiàng)目目錄結(jié)構(gòu)讓數(shù)據(jù)、代碼、模型、實(shí)驗(yàn)各歸其位從零搭建AI工程第一個(gè)該建立的不是模型而是目錄結(jié)構(gòu)?;靵y的目錄是后期維護(hù)的地獄。我最后固定的結(jié)構(gòu)是這樣的ai-engineering/ ├── configs/ # 所有訓(xùn)練、推理、評(píng)測(cè)的配置 ├── data/ # 數(shù)據(jù)原始、清洗后、切分后 ├── src/ # 代碼 │ ├── data/ # 數(shù)據(jù)處理邏輯 │ ├── models/ # 模型定義 │ ├── train/ # 訓(xùn)練腳本 │ ├── infer/ # 推理邏輯 │ └── eval/ # 評(píng)測(cè)邏輯 ├── experiments/ # 實(shí)驗(yàn)記錄與產(chǎn)物 ├── models/ # 最終模型權(quán)重 └── scripts/ # 運(yùn)行入口腳本這個(gè)結(jié)構(gòu)的原則是數(shù)據(jù)和模型不跟代碼混在一起配置和實(shí)驗(yàn)結(jié)果又跟代碼分開(kāi)。實(shí)際用下來(lái)的好處是很多時(shí)候只需要拷貝某個(gè)子目錄就能完成交接不用把“那一堆亂七八糟的文件”一起拷走。3. 數(shù)據(jù)是真正的上線(xiàn)難點(diǎn)清洗、版本化、切分3.1 從原始文檔到訓(xùn)練數(shù)據(jù)清洗規(guī)則怎么定很多從零開(kāi)始做AI工程的人會(huì)低估數(shù)據(jù)處理的比重。真實(shí)情況是一個(gè)生產(chǎn)中可用的模型其數(shù)據(jù)工程耗時(shí)往往占總工時(shí)的60%以上。尤其像文檔問(wèn)答這種場(chǎng)景原始數(shù)據(jù)是PDF、Word、HTML混在一起排版各異直接拿去訓(xùn)練根本不可能。我的清洗分四步走第一步做格式轉(zhuǎn)換。PDF用解析工具抽出文本W(wǎng)ord轉(zhuǎn)成純文本HTML剝掉標(biāo)簽。這里要注意PDF雙欄排版很容易抽取錯(cuò)亂需要按欄切分再拼接。第二步做段落切分。按標(biāo)題層級(jí)和段落邊界把文檔切成“語(yǔ)塊”而不是簡(jiǎn)單按字符數(shù)硬切。我當(dāng)時(shí)用了一套基于標(biāo)題編號(hào)的規(guī)則同時(shí)保留每塊的來(lái)源元數(shù)據(jù)文檔名、章節(jié)路徑、頁(yè)碼。第三步做規(guī)則過(guò)濾。批量去掉頁(yè)眉頁(yè)腳、導(dǎo)航重復(fù)段落、空行、亂碼字符。規(guī)則要寫(xiě)成腳本反復(fù)迭代不要手動(dòng)刪。第四步做人工抽檢。每清洗完一批數(shù)據(jù)隨機(jī)抽100條檢查質(zhì)量。如果錯(cuò)誤率超過(guò)2%說(shuō)明清洗規(guī)則還需要補(bǔ)。一點(diǎn)心得清洗規(guī)則寧多勿少因?yàn)榕K數(shù)據(jù)給模型帶來(lái)的傷害是隱性的——它不會(huì)報(bào)錯(cuò)只會(huì)讓效果差一點(diǎn)、再差一點(diǎn)最終你根本不知道是模型的問(wèn)題還是數(shù)據(jù)的問(wèn)題。3.2 數(shù)據(jù)版本管理改過(guò)什么永遠(yuǎn)要能查談到數(shù)據(jù)AI工程師圈子里流傳著一句話(huà)“模型是數(shù)據(jù)的影子。”你改了一版數(shù)據(jù)模型效果完全不同。這時(shí)如果你沒(méi)記錄數(shù)據(jù)版本那么復(fù)現(xiàn)就是一個(gè)笑話(huà)。我做數(shù)據(jù)版本管理的辦法不復(fù)雜用類(lèi)似DVC的方式但核心是把兩樣?xùn)|西固定下來(lái)——數(shù)據(jù)文件的哈希值和一份數(shù)據(jù)清單。每當(dāng)數(shù)據(jù)變更我會(huì)生成一個(gè)新的數(shù)據(jù)版本號(hào)格式是“v日期-序號(hào)”并記錄原始數(shù)據(jù)來(lái)源清洗腳本版本清洗參數(shù)清洗后樣本數(shù)量人工抽檢結(jié)果這份記錄放在數(shù)據(jù)目錄的“CHANGELOG.md”里。為什么這么在意因?yàn)楫?dāng)我發(fā)現(xiàn)模型效果下降時(shí)第一件事就是檢查數(shù)據(jù)版本是否被動(dòng)過(guò)。有一次團(tuán)隊(duì)同事順手“優(yōu)化”了清洗腳本去掉了一個(gè)去重步驟結(jié)果數(shù)據(jù)量從50萬(wàn)變成55萬(wàn)模型準(zhǔn)確率掉了3個(gè)點(diǎn)。查了兩天最后定位到就是數(shù)據(jù)版本變了。如果一開(kāi)始就查CHANGELOG十分鐘就能解決。3.3 切分與分布檢查訓(xùn)練集驗(yàn)證集的劃分要防止“作弊”數(shù)據(jù)切分看起來(lái)是個(gè)簡(jiǎn)單問(wèn)題——隨機(jī)分一下就行其實(shí)不是。文檔問(wèn)答場(chǎng)景有一個(gè)典型風(fēng)險(xiǎn)同一份文檔的不同段落可能既出現(xiàn)在訓(xùn)練集又出現(xiàn)在驗(yàn)證集。模型見(jiàn)過(guò)相關(guān)內(nèi)容驗(yàn)證集分?jǐn)?shù)虛高上線(xiàn)后面對(duì)新文檔效果驟降。這就是數(shù)據(jù)泄露。我的切分原則是按文檔級(jí)別切分而不是按段落切分。同一篇文檔的段落放進(jìn)同一個(gè)集合。驗(yàn)證集和測(cè)試集不使用同一批文檔。切分之后人工檢查類(lèi)別分布。比如工單類(lèi)的數(shù)據(jù)占了60%驗(yàn)證集也要保持類(lèi)似的占比否則指標(biāo)會(huì)有偏。切分完一定要跑一個(gè)簡(jiǎn)單的分布檢查腳本輸出訓(xùn)練/驗(yàn)證/測(cè)試三個(gè)集合的樣本量、來(lái)源分布、平均長(zhǎng)度??吹饺M數(shù)字大致匹配再進(jìn)入訓(xùn)練環(huán)節(jié)。這里特別提醒一點(diǎn)不要反復(fù)在測(cè)試集上調(diào)參。測(cè)試集的唯一使命是最終評(píng)估一次。想調(diào)參用驗(yàn)證集。這個(gè)原則違反了你的指標(biāo)就只是“對(duì)測(cè)試集的記憶”不是真實(shí)能力。4. 模型訓(xùn)練與微調(diào)的實(shí)操?gòu)募虞d到收斂4.1 訓(xùn)練循環(huán)骨架每一行都有存在的理由從零開(kāi)始寫(xiě)訓(xùn)練循環(huán)不是把模型的forward和backward拼在一起就完事。一個(gè)生產(chǎn)可用的訓(xùn)練腳本要考慮的東西比教科書(shū)示例多得多梯度累積、混合精度、梯度裁剪、checkpoint保存、日志頻率。我用的訓(xùn)練循環(huán)骨架大致長(zhǎng)這樣for epoch in range(num_epochs): model.train() for step, batch in enumerate(train_loader): batch {k: v.to(device) for k, v in batch.items()} outputs model(**batch) loss outputs.loss / grad_accum_steps loss.backward() if (step 1) % grad_accum_steps 0: torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm1.0) optimizer.step() scheduler.step() optimizer.zero_grad() if step % log_steps 0: logger.info(fepoch {epoch}, step {step}, loss {loss.item():.4f}) # 每N步做一次驗(yàn)證 evaluate(model, val_loader)看起來(lái)平平無(wú)奇但有幾個(gè)點(diǎn)值得展開(kāi)。梯度累積是為了在單卡顯存受限時(shí)用多個(gè)小batch模擬大batch的效果。grad_accum_steps 理想batch size / 實(shí)際batch size。比如理想batch是32顯存只放得下8那accum_steps就是4?;旌暇華MP可以讓訓(xùn)練加速且省顯存。PyTorch里用torch.cuda.amp即可一般不改業(yè)務(wù)代碼。但要注意部分模型在FP16下數(shù)值不穩(wěn)定loss會(huì)突變成nan。如果你遇到這種問(wèn)題可以退回FP32或者用BF16在許多新卡上更穩(wěn)。4.2 超參數(shù)的起點(diǎn)以及調(diào)參的順序邏輯超參數(shù)是玄學(xué)嗎某種意義上是的但調(diào)參順序是有邏輯的。我的經(jīng)驗(yàn)是從學(xué)習(xí)率開(kāi)始調(diào)。找一個(gè)大致的范圍比如1e-5到5e-5先用小數(shù)據(jù)集快速跑幾個(gè)epoch觀察loss走勢(shì)。loss不降說(shuō)明學(xué)習(xí)率太小或者模型結(jié)構(gòu)有問(wèn)題loss震蕩說(shuō)明學(xué)習(xí)率太大。選定學(xué)習(xí)率之后再調(diào)batch size。batch size主要影響訓(xùn)練穩(wěn)定性和收斂速度太大會(huì)顯存爆炸太小會(huì)導(dǎo)致梯度噪聲大、收斂慢。再然后是epoch數(shù)。epoch數(shù)其實(shí)不是一個(gè)需要“調(diào)”的參數(shù)而是和早停early stopping配合的概念。我一般設(shè)置一個(gè)上限比如10個(gè)epoch如果驗(yàn)證指標(biāo)連續(xù)3個(gè)epoch沒(méi)有提升就提前結(jié)束訓(xùn)練并保存驗(yàn)證集上表現(xiàn)最好的那個(gè)檢查點(diǎn)。warmup比例也值得一說(shuō)。很多模型微調(diào)時(shí)會(huì)設(shè)置一段“預(yù)熱期”學(xué)習(xí)率從零線(xiàn)性上升到目標(biāo)值再按余弦曲線(xiàn)下降。warmup的比例我習(xí)慣設(shè)為總步數(shù)的3%到5%。它的作用是防止訓(xùn)練初期由于學(xué)習(xí)率過(guò)大導(dǎo)致模型參數(shù)劇烈震蕩。4.3 什么時(shí)候上分布式單卡能解決的事別浪費(fèi)時(shí)間在多卡上很多從零開(kāi)始的人有個(gè)誤區(qū)一上來(lái)就研究分布式訓(xùn)練框架。其實(shí)大多數(shù)項(xiàng)目單卡就能搞定。我的判斷標(biāo)準(zhǔn)是如果單卡訓(xùn)練一輪的時(shí)間在可接受范圍內(nèi)比如一個(gè)晚上能跑完就絕對(duì)不要上分布式。分布式訓(xùn)練帶來(lái)的增益不是沒(méi)有但它同時(shí)引入通信開(kāi)銷(xiāo)、調(diào)試難度和版本兼容問(wèn)題。性?xún)r(jià)比極低。只有當(dāng)訓(xùn)練時(shí)間超過(guò)資源容忍度比如單卡要跑一周以上才是考慮DDPDistributedDataParallel的時(shí)機(jī)。如果可以?xún)?yōu)先用LoRA這種參數(shù)高效微調(diào)技術(shù)而不是全參微調(diào)。它在保持效果接近的情況下顯存占用和訓(xùn)練時(shí)間都能大幅降低。微調(diào)一個(gè)7B模型的LoRA24G單卡完全夠用。這個(gè)決策讓我的團(tuán)隊(duì)省下了一整臺(tái)A100預(yù)算。4.4 模型產(chǎn)物管理檢查點(diǎn)怎么存選哪個(gè)版本上線(xiàn)一個(gè)訓(xùn)練任務(wù)跑完會(huì)留下很多檢查點(diǎn)每個(gè)epoch保存一次加上早停保存的最佳檢查點(diǎn)以及最后一輪檢查點(diǎn)。不可能全部上線(xiàn)需要一套選擇邏輯。我現(xiàn)在的規(guī)則是候選檢查點(diǎn)都跑一遍評(píng)測(cè)集記錄核心指標(biāo)準(zhǔn)確率、F1、延遲。上線(xiàn)選擇不只看單一指標(biāo)。比如準(zhǔn)確率最高的檢查點(diǎn)可能在某類(lèi)問(wèn)題上的穩(wěn)定性很差我會(huì)看分項(xiàng)指標(biāo)再?zèng)Q定。所有檢查點(diǎn)統(tǒng)一命名格式模型名-訓(xùn)練數(shù)據(jù)版本-epoch號(hào)-指標(biāo)值。這個(gè)格式保證三個(gè)月后還能定位到“為什么選它”。保存檢查點(diǎn)的時(shí)候不只是存權(quán)重還要把訓(xùn)練配置和tokenizer一起打包。有過(guò)一次教訓(xùn)三個(gè)月后想恢復(fù)一個(gè)模型繼續(xù)訓(xùn)練結(jié)果只找到權(quán)重文件tokenizer配置丟了那個(gè)模型直接報(bào)廢。權(quán)重可以不要tokenizer和config一定要留在模型目錄里。5. 推理部署與性能調(diào)優(yōu)模型跑起來(lái)只是開(kāi)始5.1 在線(xiàn)服務(wù)還是離線(xiàn)批量先想清楚業(yè)務(wù)形態(tài)部署的第一步不是寫(xiě)API而是判斷業(yè)務(wù)到底需要什么形態(tài)。文檔問(wèn)答這個(gè)場(chǎng)景用戶(hù)需要實(shí)時(shí)交互所以必須是在線(xiàn)服務(wù)接口響應(yīng)要快。而像“每周自動(dòng)給全量工單打標(biāo)簽”這種就不需要API跑一個(gè)批量腳本就行。在線(xiàn)服務(wù)又分同步和異步。同步返回適合單次問(wèn)答場(chǎng)景簡(jiǎn)單直接。異步適合處理慢操作比如生成很長(zhǎng)的答案先返回任務(wù)ID用戶(hù)再通過(guò)輪詢(xún)拿結(jié)果。我當(dāng)時(shí)的業(yè)務(wù)首字節(jié)延遲要求是2秒同步就夠用沒(méi)有引入額外的消息隊(duì)列。這里提醒一點(diǎn)不要為了“看起來(lái)高級(jí)”而加消息隊(duì)列。每多一個(gè)組件就多一層運(yùn)維負(fù)擔(dān)。先把同步接口做好發(fā)現(xiàn)瓶頸再演進(jìn)。5.2 推理加速量化、批處理、緩存三板斧模型部署之后第一件事就是壓測(cè)。我的經(jīng)驗(yàn)是不要憑感覺(jué)判斷性能直接用壓測(cè)工具跑指標(biāo)。壓測(cè)看三個(gè)數(shù)字QPS每秒能處理多少請(qǐng)求、P99延遲最慢的1%請(qǐng)求耗時(shí)、顯存占用。我的壓測(cè)結(jié)果是單卡初始QPS只有5P99延遲4秒遠(yuǎn)遠(yuǎn)不夠。之后我做了三板斧優(yōu)化第一板斧是量化。把模型從FP16量化到INT8或INT4顯存占用直接下降50%以上推理速度提升明顯。當(dāng)時(shí)用的是類(lèi)似GPTQ的思路通過(guò)校準(zhǔn)集選擇量化參數(shù)。INT4的量化會(huì)讓效果略有下降但在這個(gè)業(yè)務(wù)場(chǎng)景下可接受。第二板斧是批處理。在線(xiàn)推理服務(wù)默認(rèn)是一個(gè)請(qǐng)求一個(gè)請(qǐng)求地過(guò)模型GPU利用率很低。改成動(dòng)態(tài)批處理服務(wù)在極短的時(shí)間窗口比如50ms內(nèi)收集多個(gè)請(qǐng)求合并成一個(gè)batch同時(shí)推理。這個(gè)改動(dòng)把GPU利用率從20%拉到80%以上QPS直接翻了幾倍。第三板斧是結(jié)果緩存。高頻問(wèn)題往往占線(xiàn)上請(qǐng)求的大頭。對(duì)完全相同或高度相似的query直接用Redis緩存之前的結(jié)果。這個(gè)改動(dòng)把30%的請(qǐng)求變成“零推理”效果立竿見(jiàn)影。優(yōu)化后我的最終指標(biāo)是QPS 25P99延遲1.2秒滿(mǎn)足業(yè)務(wù)需求。別小看這些優(yōu)化它們是“從能跑到能扛流量”的關(guān)鍵。5.3 API服務(wù)怎么做才像話(huà)模型推理服務(wù)本質(zhì)上是一個(gè)高并發(fā)的接口服務(wù)工程上不能裸奔。我用FastAPI搭的服務(wù)骨架大概長(zhǎng)這樣from fastapi import FastAPI, HTTPException from pydantic import BaseModel app FastAPI() class Query(BaseModel): question: str top_k: int 3 app.post(/v1/qa) async def qa(query: Query): try: result pipeline.run(query.question, top_kquery.top_k) return {answer: result[answer], sources: result[sources]} except Exception: raise HTTPException(status_code500, detailinternal error)但光有這個(gè)還不行生產(chǎn)環(huán)境至少還要有超時(shí)控制每個(gè)推理請(qǐng)求設(shè)置超時(shí)上限比如5秒避免慢請(qǐng)求拖垮線(xiàn)程池。重試策略對(duì)偶發(fā)的GPU顯存不足、臨時(shí)CUDA錯(cuò)誤做有限重試。限流對(duì)用戶(hù)或客戶(hù)端IP做每分鐘請(qǐng)求數(shù)限制防止惡意調(diào)用。隊(duì)列上限當(dāng)并發(fā)過(guò)大時(shí)服務(wù)的策略是“快速失敗”還是“排隊(duì)等待”要提前定好。我當(dāng)時(shí)選的是快速失敗返回503讓調(diào)用方自己退避。5.4 上線(xiàn)后的監(jiān)控沒(méi)有監(jiān)控的服務(wù)是一顆定時(shí)炸彈服務(wù)上線(xiàn)后我開(kāi)始搭建最基本的監(jiān)控指標(biāo)。不是要什么花哨的可觀測(cè)性平臺(tái)而是先把最關(guān)鍵的指標(biāo)看住。GPU監(jiān)控利用工具每10秒采集一次顯存使用率、GPU利用率和溫度寫(xiě)入時(shí)序數(shù)據(jù)庫(kù)畫(huà)到面板上。顯存持續(xù)上漲是泄漏的典型信號(hào)基本可以斷定服務(wù)代碼或推理框架有內(nèi)存管理問(wèn)題。請(qǐng)求監(jiān)控記錄QPS、P99/平均延遲、超時(shí)率和5xx錯(cuò)誤率。延遲突增和錯(cuò)誤率飆升是兩大核心告警。數(shù)據(jù)漂移監(jiān)控上線(xiàn)后的模型會(huì)面對(duì)未知的線(xiàn)上數(shù)據(jù)分布。我的做法是定期從線(xiàn)上日志里取最新的query樣本和訓(xùn)練時(shí)的query做embedding距離分布對(duì)比。如果分布偏移過(guò)大就需要考慮重新訓(xùn)練。這個(gè)問(wèn)題在文檔問(wèn)答場(chǎng)景很常見(jiàn)——業(yè)務(wù)人員提問(wèn)習(xí)慣會(huì)隨時(shí)間變化。不做監(jiān)控模型就像蒙著眼開(kāi)車(chē)。你永遠(yuǎn)不知道它在生產(chǎn)環(huán)境里已經(jīng)被用戶(hù)的真實(shí)請(qǐng)求折磨成什么樣了。6. 評(píng)測(cè)體系與回歸測(cè)試不評(píng)測(cè)等于白做6.1 評(píng)測(cè)集是AI工程的“法律文件”模型好用不好用不是訓(xùn)練指標(biāo)說(shuō)了算而是評(píng)測(cè)集說(shuō)了算。很多人只盯著訓(xùn)練集上的loss降沒(méi)降這是最大的誤區(qū)。Loss降了可能是過(guò)擬合可能是數(shù)據(jù)泄漏可能只是“背題”。真正衡量模型能力的是一份和訓(xùn)練集完全獨(dú)立、由人工標(biāo)注、覆蓋真實(shí)業(yè)務(wù)場(chǎng)景的評(píng)測(cè)集。我當(dāng)時(shí)花了兩周時(shí)間做評(píng)測(cè)集。從50萬(wàn)條數(shù)據(jù)里挑出2000條作為評(píng)測(cè)樣本覆蓋幾十種問(wèn)題類(lèi)型每條由三個(gè)人獨(dú)立標(biāo)注取多數(shù)作為最終答案。同時(shí)保證評(píng)測(cè)集里的文檔不會(huì)出現(xiàn)在訓(xùn)練集里。評(píng)測(cè)集要包含兩類(lèi)樣本常規(guī)樣本絕大多數(shù)線(xiàn)上請(qǐng)求長(zhǎng)什么樣評(píng)測(cè)集就長(zhǎng)什么樣。邊界樣本故意放一些模糊問(wèn)題、帶錯(cuò)別字的query、語(yǔ)義相近但答案不同的陷阱題。沒(méi)有邊界樣本你的評(píng)測(cè)分?jǐn)?shù)會(huì)很漂亮但上線(xiàn)后被真實(shí)用戶(hù)一問(wèn)就原形畢露。6.2 自動(dòng)化回歸測(cè)試改一個(gè)參數(shù)不要把全線(xiàn)上搞掛有了評(píng)測(cè)集下一步是把評(píng)測(cè)自動(dòng)化。我設(shè)計(jì)了一套回歸測(cè)試流程每次模型更新或者數(shù)據(jù)更新都會(huì)跑一遍。流程分三段第一段是冒煙測(cè)試。用10條左右的高置信度樣本驗(yàn)證模型能不能正常加載、推理會(huì)不會(huì)報(bào)錯(cuò)。耗時(shí)兩分鐘作用是把明顯的代碼問(wèn)題擋在門(mén)口。第二段是核心評(píng)測(cè)。用完整的2000條評(píng)測(cè)集跑一遍生成詳細(xì)報(bào)告。包括總體準(zhǔn)確率、分類(lèi)型準(zhǔn)確率、和上一版模型的對(duì)比。如果新版模型總體指標(biāo)下降超過(guò)1%除非有明確理由否則默認(rèn)不通過(guò)。第三段是錯(cuò)誤case留檔。每次評(píng)測(cè)失敗的樣本自動(dòng)記錄下來(lái)標(biāo)記“待人工分析”。這些case是數(shù)據(jù)迭代最寶貴的來(lái)源。我從這個(gè)流程里吃到最大的甜頭是再也不用擔(dān)心團(tuán)隊(duì)里任何人“偷偷把參數(shù)改了”之后影響線(xiàn)上效果看不到——自動(dòng)化測(cè)試會(huì)用指標(biāo)說(shuō)話(huà)。6.3 基于bad case的迭代閉環(huán)AI工程的“永動(dòng)機(jī)”效果提升不是靠突然的靈感而是靠對(duì)bad case的持續(xù)分析。我的操作流程是收集錯(cuò)誤樣本從評(píng)測(cè)失敗和線(xiàn)上日志里匯總bad case。聚類(lèi)分析把bad case歸類(lèi)。比如“模型分不清‘退款’和‘退貨’的區(qū)別”“模型對(duì)縮寫(xiě)理解錯(cuò)誤”“檢索結(jié)果缺失導(dǎo)致生成失敗”。每類(lèi)給一個(gè)標(biāo)簽。定位根因有些bad case是數(shù)據(jù)問(wèn)題有些是檢索問(wèn)題有些是模型能力邊界。根因不同解決方案完全不同。數(shù)據(jù)補(bǔ)強(qiáng)針對(duì)根因補(bǔ)充對(duì)應(yīng)的訓(xùn)練數(shù)據(jù)或調(diào)整清洗規(guī)則。重新訓(xùn)練和評(píng)測(cè)回到訓(xùn)練階段跑完自動(dòng)化測(cè)試看是否解決。這個(gè)循環(huán)跑上個(gè)10輪模型效果就會(huì)逐步逼近業(yè)務(wù)預(yù)期。數(shù)據(jù)版本管理、實(shí)驗(yàn)記錄、自動(dòng)化評(píng)測(cè)的意義在這個(gè)閉環(huán)里全部體現(xiàn)出來(lái)。7. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄7.1 環(huán)境與訓(xùn)練階段的高頻問(wèn)題現(xiàn)象常見(jiàn)原因排查思路啟動(dòng)就報(bào)“illegal memory access”CUDA版本與PyTorch不匹配先核對(duì)PyTorch官方要求的CUDA版本再檢查驅(qū)動(dòng)與CUDA訓(xùn)練中途顯存OOMbatch size過(guò)大或顯存碎片化先減小batch size或開(kāi)啟梯度累積再檢查是否有變量未釋放loss是NaN學(xué)習(xí)率過(guò)大、FP16數(shù)值不穩(wěn)定、數(shù)據(jù)里有臟標(biāo)簽降低學(xué)習(xí)率可嘗試BF16檢查數(shù)據(jù)清洗loss一直不降學(xué)習(xí)率太小或訓(xùn)練數(shù)據(jù)分布混亂快速跑5個(gè)epoch看loss斜率排除數(shù)據(jù)標(biāo)簽大量錯(cuò)誤訓(xùn)練完指標(biāo)高線(xiàn)上效果差數(shù)據(jù)泄漏或評(píng)測(cè)集覆蓋不足檢查切分是否按文檔級(jí)別補(bǔ)充邊界樣本OOM是我遇到最多的。一開(kāi)始我以為是GPU顯存不夠排查老半天發(fā)現(xiàn)是某個(gè)代碼片段把中間結(jié)果列表全部積在內(nèi)存里batch的loss都正常但內(nèi)存先爆了。用free -g看一眼系統(tǒng)內(nèi)存能快速區(qū)分是顯存還是內(nèi)存問(wèn)題。7.2 部署與服務(wù)階段的高頻問(wèn)題現(xiàn)象常見(jiàn)原因排查思路P99延遲持續(xù)走高并發(fā)排隊(duì)過(guò)多或批處理窗口設(shè)置不合理看隊(duì)列長(zhǎng)度調(diào)整動(dòng)態(tài)批處理最大等待時(shí)間GPU顯存使用率只增不減推理框架或服務(wù)代碼內(nèi)存泄漏用監(jiān)控工具觀察顯存曲線(xiàn)最小化復(fù)現(xiàn)定位是框架還是業(yè)務(wù)代碼請(qǐng)求大量返回503隊(duì)列上限觸發(fā)快速失敗放寬隊(duì)列上限或增加實(shí)例檢查限流配置是否誤傷正常用戶(hù)修改代碼后推理結(jié)果變了未固定隨機(jī)種子或模型未加載同一檢查點(diǎn)固定PYTHONHASHSEED和隨機(jī)種子核對(duì)模型路徑與config服務(wù)重啟后首次請(qǐng)求特別慢模型冷加載上線(xiàn)時(shí)寫(xiě)預(yù)熱腳本啟動(dòng)后發(fā)送幾條請(qǐng)求讓模型預(yù)熱再對(duì)外服務(wù)部署階段有個(gè)細(xì)節(jié)容易被忽視模型文件的加載路徑。我犯過(guò)一次錯(cuò)部署時(shí)從網(wǎng)盤(pán)下載模型下載完成度沒(méi)有校驗(yàn)結(jié)果服務(wù)用的是一半的權(quán)重文件準(zhǔn)確率低到不可思議還沒(méi)有報(bào)錯(cuò)。后來(lái)我在所有模型加載環(huán)節(jié)都加了一步校驗(yàn)加載后跑一遍冒煙測(cè)試檢查輸出是否符合預(yù)期。這個(gè)習(xí)慣救了我好幾次。7.3 數(shù)據(jù)層面的問(wèn)題排查數(shù)據(jù)的問(wèn)題最隱蔽因?yàn)椴粓?bào)錯(cuò)。我發(fā)現(xiàn)過(guò)一個(gè)現(xiàn)象模型對(duì)英文縮寫(xiě)理解特別差一開(kāi)始以為是模型能力問(wèn)題后來(lái)分析是清洗腳本把所有句點(diǎn)都去掉了導(dǎo)致“U.S.A”這種詞被粘連成“USA”含義還算對(duì)但“app.v1.2.3”這種版本號(hào)被破壞訓(xùn)練樣本全亂了。這類(lèi)問(wèn)題只能靠“清洗后人工抽檢”和“數(shù)據(jù)分布統(tǒng)計(jì)”這類(lèi)預(yù)防機(jī)制出了再查往往為時(shí)已晚。另一個(gè)高發(fā)問(wèn)題是重復(fù)數(shù)據(jù)。很多文檔的內(nèi)容是重復(fù)粘貼的如果不做去重某些句子在訓(xùn)練集中出現(xiàn)幾十次模型就會(huì)嚴(yán)重偏向這些說(shuō)法對(duì)其他同義表達(dá)不敏感。至少做一次MinHash或simhash去重比任何調(diào)參都管用。8. 最后分享兩個(gè)親測(cè)有效的習(xí)慣寫(xiě)到最后說(shuō)點(diǎn)不太能寫(xiě)進(jìn)項(xiàng)目匯報(bào)里的體會(huì)。第一個(gè)習(xí)慣是把每一步的關(guān)鍵決策和踩坑記錄下來(lái)。不是寫(xiě)API文檔那種而是記錄“為什么當(dāng)時(shí)那么選”“后來(lái)發(fā)現(xiàn)有什么問(wèn)題”“下次怎么做更好”。這種草根筆記看著不起眼但在項(xiàng)目中期回頭查問(wèn)題時(shí)它的價(jià)值超過(guò)任何一本教科書(shū)。第二個(gè)習(xí)慣是永遠(yuǎn)從最小閉環(huán)開(kāi)始。不要一開(kāi)始就規(guī)劃一個(gè)完美的大系統(tǒng)而是先做一個(gè)丑但通全鏈路的版本10條數(shù)據(jù)、1個(gè)模型、1個(gè)接口、10條評(píng)測(cè)樣本。跑通之后再一步步把工程化能力加進(jìn)去。所有大的AI工程問(wèn)題都是在閉環(huán)里逐個(gè)暴露、逐個(gè)解決的。從零到一搭建AI工程確實(shí)不容易但這個(gè)過(guò)程建立的工程判斷力和排錯(cuò)能力才是真正的資產(chǎn)。項(xiàng)目會(huì)結(jié)束模型會(huì)迭代但這些能力會(huì)留在這個(gè)團(tuán)隊(duì)的血液里后面的路自然會(huì)越走越穩(wěn)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
婷婷丁香成人色综合| 国产乱子轮XXX农村| 婷婷五月电影| 色香蕉精品五夜婷| 久久婷婷色| 久久婷婷五月草视频| 综合网啪| 久久婷婷五月天大香蕉| 丁香六月婷婷| 超碰93在线观看| Www.狠狠| 伊人婷婷色激情丁香| 99啪99| 欧洲色| 天天爱天天做天天操| 天天色综和网| 五月丁香日本一抹本| 极品五月天| 亚洲无码色色| 九热视频| 国产又黄又爽又色的免费| 在线观看中文字幕| 九九热思思| 亚洲色激婷| 91九色无码日韩 | 国产亚洲99久久精品熟| 成人五月丁香花| 思思久久99| 人人草人人看| 国产九九一区二区三区| 国产精品爽爽久久久久久| 六月香五月婷| 婷婷六月开心网| 国产av影片| 丁香五月色激情| 国产精品99久久久久久久女警| 九九99九九99偷拍视频免费看| 永久AⅤ1| 欧美成人va| 常久最新免费的色吊丝| 99热这里只有精彩| 九九热视频99| 久久激情五月| 亚洲精品无AMM毛片| 91久久99久久91熟女精品| 天天影视天天爽天天草| 五月丁香亭亭操逼| 思思热在线观看| 99热免| 久久久.COM| 97色女人在线| 婷婷色婷婷| 99在线热| 成人综合网站| 色五月噜噜| 射婷婷中文字幕| 狠狠色色| 久久33视频| 人妻在线网站| 五月婷婷性爱| 2023天天日夜夜爽| 人人摸人人| 婷婷六月丁香欧美视频在线| 九九干视频| 色99热| 六月婷婷av| 久大香蕉| 中字幕视频在线永久在线观看免费| 日日干日日| 成人综合网站| 怡红院成人AV| 天天操夜夜爽天天操| 色综合爽| 婷婷五月激情中文字幕| 五月婷婷综合网| 九九视频在线观看视频6| 人人操超碰| 97操女视频| 日韩情色在线观看| 狠狠艹狠狠艹| 色色色9| 激情网婷婷五月天| 婷婷五月天激情四射| 国产FREESEXVIDEOS性中国| 激情综合丁香六| 欧美日本99| 成人在线综合| 26uuu亚洲欧美日本| 六月丁丁香| 9l视频自拍9l九色成人| 国产av第一专区| 亚洲人人操| 亚洲天堂久久| www激情| 日韩啪啪网| 大地9中文在线观看免费高清| 超碰A V在线| 日韩黄黄| 亚洲av日韩无码| 精品夜夜澡人妻无码AV| 色色五月天网站| 热久久思思热思思| 99热99干| 99re在线免费视频| 99成人无码| 91精品久久久久久久久| 亚洲视频在线网| 婷婷色网| 色五月天堂| 1024国产在线| 天天干天天 亚洲| 狠狠五月激情丁香六月| 97超碰在线观看免费| 久久久婷婷| 五月天婷婷丁香六月| 久久激情五月| 激情综合啪啪啪| 99热成人在线| 五月停停99| 开心久久xxx色| 99这里热| 欧洲一区二区| 丁香花色色网| 九九热精品| 国产精品a无线| 九色自拍| 67194国产| 久久婷婷丁香视频网| 久久五月人人摸| 欧美六月| 97天堂| 婷婷五月天伊人| 91中文狠狠综合| 婷婷激情丁香五月婷婷激情丁香五月婷婷| 91色在线/日韩| 久热爱大香蕉在线蜜臀悦色 | 99热6精品| 色444综合网| 天天舔天天插天天干| 夜夜撸夜夜骑| ji'qing'luan'ren'lun| 婷婷六月天国产综合| 婷婷激情五月天综合| 欧美在线操| 五月丁香婷婷啪啪网| 亚洲色婷婷五月| 国产日产亚洲系列最新| 婷婷射图五月天| 日本女色人人| 夜夜躁爽日| 色婷婷亚洲在线| 亚洲国产精品SUV| 天天插天天插天天日| 中文字幕综合网| 婷婷丁香激情综合色情| 婷婷五月天亚洲| 丁香五月另类色婷婷麻豆| 婷婷的色色五月天| 婷婷久久五月天| WWW.婷婷五月天.COM| 天天肏高清在线| 久久怡红院| 色99免费视频中文| 天天操婷婷| 掩去也综合五月视频| 91精品综合久久久久久五月丁香| 另类激情五月| 97在线干| 九九这里有精品| 国产VA播放| 婷婷五月激情五月激情| 久久这里都是精品视频| 色婷婷色五月综合| 五月丁香久久| renrencaoav| 久久加勤综合| 丁香婷婷五月天激情四射| 九九黄色网| 99这里有精品| 97五月天婷婷| 淫视馆AV在线| 久久狠狠色| 麻豆123区| 99热综合色图| 白天AV月月| 欧美性爱专区| 99这里| 婷婷五月激情欧美大胆视频| 五月婷婷影院| 久久久潮喷-久久久九九-成人AV| www.久久爱| 国产热精品| www狠狠爱com| 成人综合网站| 久久人人九| 亚洲激情99| 五月黄色婷婷| 婷婷久久综合| 五月色色网| 五月婷婷就去色| 色综合色综合色综合| 久久98| 六月丁香五月激情网| 1024在线观看免费视频| 亚洲无AV在线中文字幕| 日本三级大片| 日日撸夜夜操| 天天干天天射综合网| 91精品人妻少妇无码影院| 久99久视频| 亚洲色色香蕉| 538久久| 手机旧版看人妻1025| 丁香五月婷婷啪啪| 婷婷色色网| 人人爽亚洲| 九九久久精品| 97久久人人操| 久久久久亚洲AV无码网影音先锋| 日韩AC在线免费观看| 91啪啪视频| 婷婷香五月| 亚洲视频a| 人人干99| 超碰在线精品| 欧洲不卡视频| 亚洲午夜视频| 人人操91| 成人网址在线观看| 五月婷婷AV| 日本一区二区三区精品视频| 婷婷五月综合中文字幕| 婷婷亚洲在线| 久9热在线免费观看| 粉嫩AV久久一区二区三区| 五月丁香综合啪啪| 婷婷综合五月天| 丁香五月五月婷婷| 99热这里有精品| 激情五月天伊人av| 人妻久久久久久久 | 激情黄色五月天| 五月天开心色情网| 激情五月婷婷丁香六月| 婷婷97| 久久婷婷五月天蜜桃| 天堂网亚洲色图| 97色干在线观看| 黄桃AV无码免费一区二区三区| 色婷婷综合久久久久| 超碰人人操| 亚洲五月色| 婷婷丁香激情五月天色色| 五月婷婷六月丁香综合视频在线| 激情伊人五月婷婷久久| 婷婷五月天综合中文| 五月色婷婷AV| 激情六月一二| 综合99综合久久久久久久| www.久热| 九九综合九九| 激情五月天综合网| 香蕉五月婷婷| 美女激情综合| 五月丁六月香av| 四色 爱 婷婷 精品 亚洲 五月天| 国产Va视频| 婷婷的五月天另类视频| 色色色色网色色网色色| 女人被男人吃奶到高潮| 天天插天天射| 五月激情婷婷偷拍| 久久大香蕉同僚| 五月色色网| 激情网站五月| 丁香五月婷婷色| 五月天激情无码| 激情六月天婷婷| 91久久电影| 色99自拍| 日本操天堂| 91碰操| 久久婷婷夜| 丁香五月香蕉| 久久丁香久久| 色偷偷综合| 99热99艹在线观看| 五月天色综合| 国产资源91在线| 96丁香六月婷婷蜜桃综合久久| 91人操| 成人在线视频网| 狠狠婷婷色| 99久久色| 九九热视频免费观看| 尔尔AV一区| 色情五月丁香| 五他月天啪啪啪| 久碰久操| jizzdr| 激情亚洲网| 思思9久久| 国产激情在线观看| 婷婷丁香五月天亚洲| 丁香五月婷婷基地| 丁香五月欧美婷婷综合| 六月丁香婷婷色狠狠久久| 激情五月天之六月婷婷| 天天干狠狠| 99色在线观看视频者| 午夜成人AV在线| 五月丁香网站在线播放| 日本久久综合| 色婷婷综合在线| 性爱先锋AV| 久久五月天激情| 五月天开心激情综合网| 婷婷六月综合| 亚洲热视频在线| 色色国产| 超碰在线国产| 久久婷五月综合| 538在线精品| 久久综合首页| 久久丁香五月天| 做爰丰满少妇1313| 久久狠狠欧美| 综合色色婷婷| 亚洲色综合| 色狠狠婷婷| 99国产精品久久久久久久久久久| 日操| 激情综合五月天| 日本系列_4页_777FP| 狠色色狠网| 激情综合五月天| 操操人人| 色情婷婷五月天| 69精品人人人人人人| 色 五月俺去也| 欧美成人va| 91九色国产在线| 婷婷五月天天爽| 97干资源在线观看| 美女天天爽| 九九爱精品网站| 婷婷六月丁香久| jiZZdr| 久婷| 亭亭玉月丁香| 亚洲小视频免费看| 丁香六月婷婷久久综合| 人人人人人人人人人草| 怡红院AV亚洲一区二区三区H | 国产日韩欧美| 色99亚洲| 熟女色色一区二区| 色狠久| av婷婷丁香| 五月婷在线视频免费播放| 丁香综合婷婷开心激情网| 婷婷丁香久久五月综合| www久久99com| 久久久99精品免费观看| 天天拍夜夜爽日日| 五月婷婷香蕉| 思思热AV| 美女激情综合| 久久婷婷六月综合综合| 99在线观看这里都是精品| 99热这里只有精品5| 色情·com| 国产无遮挡又黄又爽免费网站| 天天日日天天| 欧在线一区| 五月天播播中文字幕| 1区2区视频| 67194成I人在线观看线路1| 超碰成人电影| 香蕉AV777XXX色综合一区| 很操日本7| 9999热在线| 久久狠狠干| 日本WWW九九九| 久久网日本| 噜噜噜噜婷婷五月天| 久久免费精彩视频| 第四色五月天| 色五月网址| 在线观看国产高清视频免费网站 | 人妻久久久久久| 任你爽精品免费视频6| 色一情一乱一乱一区91Av| 色久婷婷五月| 亚洲韩国日产综合AV| 六月激情网| 色色五月天婷婷| 青青草视频免费观看| dingxiangtingtingliuyue| 秋霞av不能| 超碰在线看| 丁香六月爱综合| 狠狠色噜噜狠狠| 婷婷五月色播放| 婷婷开心激情综合五月天| 色婷av| 日本色婷婷| 99色 色| 97色热| 99视频在线观看地址| 五月婷婷在线视频观看| 婷婷色系婷色| 色五月激情视频在线综合| 99热草草| 色婷婷综合网| 国产成人在线精品| 可以免费看AV网站| 99在线观看视频蜜臀| 婷婷综合另类| 秋霞少妇AV网站| 91丨九色丨白浆秘| 五月天婷婷视频| 婷婷五月中文在线| 久久天堂网| 丁香六月婷婷基地| 99精品在线| 激情五月天色播| 丁香婷婷五月天色播| 國語久久婷| 婷婷综合玖玖五月| 老师高潮流白浆喷水的A片| 色色99| 天天做天天爱天天爽综合网| site:publishdd.com| 大香蕉啪啪| 激情性爱婷婷| 六月色丁香婷婷| 激情五月久久| 欧美va在线| 五月激情婷婷播播开心| 成人丁香五月| 色激情五月| 色婷婷五月天堂资源| 噜综合| www.日韩国产| 久久精品婷婷五月丁香| www.sebowuyue| 热99热久| 潮汕成人AV片在线| txt五月激情四射网综合俺也来了| 天天综合色| 色五月天在线观看| 久久婷婷综合五月天| 在线看片av| 中文字幕丰满人妻无码专区| 综合久久高清| 五月婷婷99热| 五月丁香六月激情在线| AAA久久| 日日夜夜干| 99热在这里只有精品| 久久九九爽| 色综合中文| 婷婷色九月| 91色噜噜狠狠狠狠色综合| 综合99视频| 五月综合激情网| 日韩在线观看亚洲| 超碰99在线观看| AV电影在线播放| 欧美日韩91| 夜夜撸夜夜骑| 国产做爰视频免费播放| 香蕉99网| 男人天堂AV在线一区二区| 婷婷综合在线视频| 天天摸天天肏| 伊人成人宗合网| 人人看人人草人人摸| 五月丁香婷庭在线| 99在线视频资源| 五月天激情四射| 开心五月婷婷| 亚洲一二三网| 91九色无码日韩| 五月天激情综合首页| 99re在线观看视频| 婷婷色五月色| 第四色激情网| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 99热综合在线观看| 色五月综合在线| 91九色熟女| 久久XX| 电影91久久久| 99啪啪网| 色婷婷深爱五月| 天天夜夜六月丁香五月婷婷老师| 久99久精品视频| 丁香六月激情综合| 色婷婷播放| 色欲九区| 婷婷五月天天aV| 操逼巨乳91| 操一区| 卡视频1区2区| 婷婷区日本| 色婷婷成人五月| 开心五月激情网| 久久五月婷天天干| 超碰免费人妻| 五月天婷婷高清无码| 伊人五月综合网| 精品无码久久久久久久久| 综合久久综合五月天婷婷| 狠狠色丁香久久婷婷综合五月| 久久九九99| www.亚洲激情| 天天爱天天操| 色五月综合在线| 五月丁香另类网| 丁香色婷婷| 狠狠爱丁香婷| 99成人精品| 九九99九九99偷拍视频免费看| 日本视频不卡123区| 91成人视频| 99免费视频在线观看爱| 99热超碰在线| 婷婷四色五月| 免费AV在线| 91免费啪视频| 国产丁香五月天婷婷| 国产99久久久| 综合色色综合| 99久久喉9| 激情五月天婷婷激情| 99精吕视频在线观看了| 亚洲三A| 五月丁香 六月婷婷a| 99狠狠色| 欧美超级视频97| 色五月丁香六月婷婷| 婷婷五月综合在线| 激情婷婷丁香五月天小说| 婷婷五月天激情开心网| www.玖玖婷婷在线| 五月天色裸体视频| 狠狠爱青青草| 丁香五月网| 99久热| 丁香五月激情六月欧亚激情综合导航 | 午夜激情婷婷| 久久久久久久97| 五月天停婷基地| 天天日,天天插| 91日在线视频| 亚洲丁香五月| 97超碰99热99| 婷婷播5月| www.久99| 996日日爱| 色色999三级片| 伊人狠狠综合| 人妻在线观看视频| 深爱激清网| 超碰人人妻| dingxiangtingtingliuyue| 久久R激情| 精品福利911| 9久久狠狠的| 99热这里只有精品热| 国产精品第一国产精品| av网站中文| 五月丁香六月婷婷婷婷| 丁香五月 性爱| 色婷婷久综合久久一本国产AV| 五月天色色色网| 狠狠色噜噜色狠狠狠综合久久成人波 | 99在线精品免费视频| 亚洲第一色色色色| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 久久婷婷人人| 婷婷久久五月| 激情综合网,婷婷| 日产精品一线二线三线芒果| 五月婷精品| 性色av大香综合| 国产67194| 色五月丁香五月五月婷婷| 午夜69成人做爰视频| 亚洲精| 停停六月 综合| 五月天婷婷操逼视频| 色综合久| 人操综合| 亚州色婷婷| 欧美婷婷五月无砖| 1囯产午夜仑鲁鲁| 99久.| 丁香五月成人论坛| 色久一| 欧美97色| 婷婷五月天成人基地| 婷婷亚洲久久| 丁香久久| 久热99热| 五月伊人视频在线看| 亚洲AV电影美洲AV电影| 激情综合五月婷婷| 色五月综合在线| 啪啪91| 狠狠狠狠狠狠草| www.91.com黄| 丁香影院五月综合| 亚洲a色| 成人性爱无码| 六月丁香成人| 婷婷色六月| 天天操综合网| 亚洲另类日本| 五月丁香六月停停| 成人av免费观看| 9热成人在线视频| 热久久91| 色色AV色色色东莞| 六月婷婷私欲| 天天插天天狠| 婷婷五月天丁香社区| 六月成人网| 91碰视频| 丁香婷婷激情| 思思国产99| 五月丁香五月丁香| 99ri在线视频| 美欧成人视频| 就去色色五月丁香婷婷久久久| 97 A I色色| 欧美色色色色色| 丁香亚洲婷婷五月| 色五月婷婷天天干| 婷婷天堂综合| 色哟哟性爱av| 婷婷五月激情综合啪啪| 婷婷五月天久草在线| 99爱爱| 色九网| 99热综合| 五月天伊人网| 九九精品视频在线观看| 婷婷五月天亚洲综合网| 五月天激情在线视频| 人妻人人操| 大香蕉婷婷五月| 微拍92| AA片在线观看视频在线播放| 日日夜夜狠狠| 婷婷九月色| 天天玩夜夜操| 五月丁香啪啪综合| 久久九九免费视频| 国产午夜一区二区三区| 久久99综合| 婷婷情色五月天| 色五月成人| 色狠狠婷婷| 色色射| 色狠狠色综合| 五月丁香婷婷AV| 狠狠综合色网| 五月色亚洲| 婷婷九九视频| 99热精品99| 国产.亚洲.欧洲视频在线| 热九九九九| 六月婷欧美| 久久久久网站| 色色五月婷婷| 五月色丁香综合| 五月婷婷六月丁香激情综合网| 激情综合五月色在线| ,99视频久久| 伊人五月人妻精品| 丁香六月激情综合啪啪| 亚洲最大视频| 超碰成人电影| 婷婷色在线| 日韩国产在线精品| 亚洲第二AV| 999精品乱码77777| 丁香六月婷婷开心| 五月丁香六月婷婷a v| 快色t v在线入口| 久久久久丁香婷婷五月天| 超碰国产在线观看| 丁香婷婷六月| 精品日本视频444| av第一二区| 婷婷亚洲天堂| 99性爱无码| 特级西西4444www无码| 激情综合网五月丁香| 亚洲九九夜夜| 黄色短视频在线观看| 激情av在线| 五月天丁香啪啪综合| 五月丁香色婷婷熟女| 色停停五月,在线观看| 日韩成人精品中文字幕| 日本一級黃色一級片| www91久久| 深爱女色婷婷丁香五月亚洲图区| 婷婷色丁香六月| 99在线视频精品| 欧美在线| 91干在线| 国产精品成人AV在线观看春天| 久久艹网| 婷婷五月综合欧美在线播放| 激情五月婷婷视频一区二区三区| 99操视频| 金品在线视频99| 天天日狠狠| 五月天婷婷丁香导航| 日日夜夜天天| 91视频精品99| 99久久大片| 五月丁香五月综合欧美| 超碰9在| 五月在在观看| 99天堂网| 色综合久久综合| 五月丁香婷色| 天天射综合网站| 色婷婷激情视频| www.夜夜操.con| 婷婷五月天福利| 国产真人做爰视频免费| 久久精品婷婷| 婷婷五月天基地| 激情6月| 日日噜狠狠色综| 日韩成人AV在线播放| 91色综合网站在线| 色久婷婷网| 国产超碰在线| 香蕉视频91| 日日夜夜爽| 八戒青柠影视剧在线观看| 超碰97免费在线| 五月天成人在线播放丁香| 伊人在线视频| 久草天堂| 婷婷精品在线| 婷婷五月色综合| 婷婷色五月天在线| 丁香五月瑟瑟| 伊人深爱综合| 丁香五月天大香蕉啪啪| 成人婷婷五月| 中文字幕精品无码一区二区| 深爱 五月天| 五月香婷婷| 琪琪色五月天| 91色在线/日韩| 五月天三级久久| 丁香五月欧美午夜视频| 国产第99页| 99久久五月婷婷| 久久精品永久免费| 欧美天堂婷婷日韩| 亚洲色综久久五月| 婷婷字幕在线| 激情久久综合网| 99碰碰。| 99免费在线| 久久99jiu9| 五月丁香六月情| 久久一级免费黄色片| 日韩在线aaa| 日韩精品呦呦va| 亚洲狠狠干| 色五月婷婷影视| 精品人妻一区| 91丨九色丨熟女|老版| 最新av在线观看| 成人电影一区| 五月丁香综合激情| 久久婷婷婷婷伊人| 五月天大香蕉婷| 人妻内射视频| 91互操| 久久一热| 五月丁香天天| 97操碰在线97| 色五月婷婷91| 新久久五月天激情| 激情AV网| 成人丁香五月天Av| 日韩啪啪视频| 99re在线播放| 色激情五月| 91操在线视频| 99网| 久久这里有精品| 99福利导航| 欧美成人精品三区综合A片| 久久这里99| 婷婷综合在线视频| 色色色色色综合| 中国AV性爱观看| 欧美激情久| 五月丁香啪啪啪| 婷婷五月激情欧美大胆视频| 99热九九在线| 丁香五月天堂| 五月婷婷激情综合视频| 99色网站| 日本久久激情| caop在线| 九九免费在线视频| 九九十99视频| 夜精品无码A片一区二区蜜桃| www.99成人视频| 成人欧美日韩| 俺来也狠狠| 久久精品4| 色色网站免费观看| 婷婷五月天黄色| 国产av一区二区三区| 丁香婷婷色九月| 精品色色网| 九九综合伊人| 婷婷五月丁香99| 天天爽天天日| 五月天婷婷综合| 五月在在观看| 另类激情综合| 五月丁香天堂| 激情婷婷| 亚洲激情综| 特级片神马电影| 91久操| 超碰在线网站| 综合AV网| 天天插天天爽| 97碰人人操| 亚洲狠狠操| 天天做天天爱天天摸| 狠狠综合区| 国产一级视频a| 久久精品性爱| 伊人玖玖精品| 天天天久久人人人合| 99热九九这里只有精品10| 9热在线观看| 99热个人在线| 天天干天天拍| 91一起操| 秋霞AV淫| 99热这里只有精品在线观看| 99只有这里是精品| 亚洲激情 久久| 色99视频| 91偷拍视频| 六月丁香停| 91九九热| 超碰妻人人| 国外亚洲成AV人片在线观看| 色五月成人| 午夜一区| 9热视频在线观看| 日本的α片xxxwww| 婷婷成年人免费视频| 五月香蕉婷婷| 99热这是里只有精品| 婷婷色综合| 91vip在线观看| xx久久| 国产一区18| 九九九九中文字幕| 日韩三级高清无码| 亚洲av电影网站| 日韩ww| 9热网站| 五月婷婷色欲| 69凹凸成人综合网| 亚洲婷婷性爱| 91九九九九九九| 欧美色必爱| 97操女视频| 99五丁香月| 人操91在线| 丁香五月婷婷亚洲激情四射| 色噜噜五月丁香婷婷| 免费人人操| 色婷久九| 97av在线视频| 99惹在线精品免费观看| 五月天日日操夜夜操 | 九九色影院| 激情综合啪啪| 亚洲五月丁香综合网| 亚洲精品操一操、噜一噜、摸一摸、爽| 五月天色导航婷婷资源婷婷| 久久这里在精品视频| www.91有码.com| 能直接看的AV网站| 天天狠狠六月婷丁香影院| 亚洲美女网Va| 婷婷九月丁香| 天天爽夜夜操| 波多婷婷久久| 超碰97免费在线| 色色操| 欧美天天综合网站上去吧| 五月久久亚洲| 久久激情网| 欧美内射AA| 99色色| 狠狠爱丁香婷| 99九九在线观看免费| 99色综合网| 五月色情婷婷开心五月色情| 久色五月| 99riAV国产精品视频| 色爱亚洲| 色狠狠婷婷| 久久久久久久久久久97| 好好干Av| 久久机热这里只有精品| 99碰网站| 熟女人妻一区二区三区免费看| 91综合视频丁香| 九热视频在线精品15| 久久久er热| 99热这里有精力| 色综合婷婷| 变态 另类 在线 | 色色色色色色色色综合网| 无码免费人妻A片AAA毛片西瓜| 色色综合网。| 青草网在线观看| 欧美成人精品老美女噜噜噜| 97狠狠色| 4399无码视频二区| 色九月婷婷| 婷婷激情五月天视频在线| 天堂A∨在线| 亚洲九九99精品视频在线播放| 久久看婷婷| 五月天综合区| 91ncom.色| 丁香亭亭激情四射| 色情五月综合婷婷| 五月婷婷六月开心| 五月天社区| 2016日日夜夜操| Va另类视频| 婷婷激情综合| 六月色 亚洲| 狠狠干2007| 中文无码婷婷| 亚洲AV永久无码影院黑人 | 人人摸人人搞| 中国女人做爰A片| 亚洲最大在线| 色女伊人| 夜夜穞天天穞狠狠穞AV美女按摩| 色欲影香| 亚洲精品午夜国产va久久成人| 开心五月激情网| 久久新| 玖玖资源站中文| 欧美日本日韩| 丁香六月婷婷综合色| 九月婷婷色色| 久热天堂| 1010日日无码| 久久精品国产AV一区二区三区 | 丁香五月激情婷婷| 婷婷六月亚洲综合| 丁香亭亭激情四射| 日在线V视频在线播放| 亚洲色99| 婷婷伊人网| 99九九在线观看免费| 日韩情色在线观看| 丁香五月婷婷色偷偷| 五月天久久色| 岛国资源网| 色就是色婷婷五月亚洲激情| 狼人婷婷久久| www.99热这里精品| 五月天综合婷婷| 色九月综合| 色爱终和网| 色无婷婷| 五月婷婷免费| 日韩在线看AV| 久久五月婷婷开心网| 国产乱妇乱子在线播视频播放网站| 色玖玖| www.色婷婷.com| 噜噜色天天开心| 丁香五月六月综合激情| 九九热这里只有精品7| 五月丁香六月婷综合成人综合| 国产精品视频免费看| 久热 91| 欧洲综合视频| 色色色色色色色色综合网| 婷婷色在线观看| 激情婷婷五月| 成人久久天天x资源站| 亚洲妇女熟BBW| 婷婷五月丁香五月天| 日本黄色三级片内射| 五月天停停基地| 日韩AV免费| 一级黄色尤物综合视频手机在线观看| 超碰啪啪网| 天天综合色| 97碰免费视频在线| 99激情| 久久精品小视频| 新激情五月天| 噜噜网免费视频| 丁香密臀AV激情网| 婷婷丁香五月亚洲| 深夜婷婷五月丁香| 丁香五月婷中字在线| 综合久久五月天| 另类激情五| 久久丁香五月天| 狠狠色狠狠鲁| 色偷偷人人| 综合AV在线| 丁香狠狠| 婷婷丁香婷婷97| 91九色国产在线| 色婷婷五月天亚洲| 激情小说色五月| 丁香色婷婷五月天| 五月婷婷激情网| 中文字幕乱码亚洲精品一区| 婷婷伊人五月天| 色色色99| AV在线不卡播放| 欧美成人精品A片免费一区99| 成人在线视频网| 色伊人91在线视频| 亚洲人成色A777777在线观看| 超碰av在线| 日本综合99| 五月天操逼网| wwccc久久久| 亚洲AV无码一区二| 日本99视频| 亚洲天天操| 激情五月天激情网| 国产三级在线播放| 狠狠干,狠狠操| 开心五月天激情网站| 91vip在线观看| 久久91久久精品久久| 另类视频综合| 人人人舔人人人操人人人摸人人人97| 99九九热在线观看| 天堂久热| 婷婷六月激情| 思思久久精品| 婷婷激情鹿城五月天| 婷婷五月丁香欧洲| 亚洲欧洲中文日韩久久AV乱码| 五月丁香婷婷视频| 先锋资源996| 五月婷婷与六月丁香图片激情| www.色色色com| 夜夜谢天天干| 日本狠狠干| 台湾佬天天日丁香婷婷五月天| 人妻AV在线观看| 热久免费视频9| www.色婷婷| 亚洲综合五月天婷婷丁香| www。五月,com| 色色热| 永久免费视频| 99精吕视频在线观看了| 天天做天天爱天天爽在| 欧美综合五月丁香六月婷| 婷婷色综合中心站| 国产精品VIDEOSSEX久久发布| 欧洲综合视频| 色五月在线播放| 日日噜狠狠色综合久久| 思思久久网| 激情五月天综合网| 九九久久污| 性色九九| 成人午夜天| 天天爽天天| 午夜免费试看| 五月开心网| 狠狠干无码| 亚洲色综久久五月| 丁香五月综合图片在线观看| 国产片天天爽夜夜爽| 最新久久网址| 97丁香五月| 日韩AV中文字幕在线| 99九九这里有免费视频| 97碰碰碰免费公开在线视频| 99久久这里只有精品| 97碰在线| 91碰碰视频| 97五月久久丁香婷婷| 天天爽天天日| 夜夜躁爽日日| 激情五月丁香婷婷| 2025色婷婷| 色五月影视| 91人人爽久久涩噜噜噜| 色欲AV导航| 99热99色| 婷婷六月久久综合导航| 亚洲色婷婷五月| 开心五月激情婷婷| 久热播这里只有精品| 激情五月婷在线精品| 婷婷丁香色情| 婷婷六月激情在线视频| cc精品国产性传播| 天天婷婷| 26uuu日韩| 五月婷婷九九热| 婷婷娌伦网| 97狠狠色| 激情四射五月天偷偷看婷婷| WWW色综合| 深爱激情四射| 99爱免费视频在线观看| 六月丁香影院| 久久免费精彩视频| 久久婷婷五月天激情四射| www.91.com黄| 九九在线精点品| 亚洲成av人影院| 97碰碰九九视频| 综合网网欲色| 一区视频网站| 天天搽天天射| 激情婷婷五月天在线观看| 天天干天天干天天干天天干天| 人人干av| 激情综合网址| 开心五月婷婷激情| 2018夜夜草| 大香蕉伊然在亚洲90| 丁香婷婷午夜| 九色婷婷| 天色综合网站| 久热这里只有精品6| 9l视频自拍九色9l视频自拍九色9l社区| 五月激情小说网| 99热 精品在线| 99伊人婷婷在线| 91蜜桃婷婷狠狠久久综合9色| 五月综亚洲| 99re鈥哸鈥唙| 中文字幕av久久爽一区| 五月丁香色综合| 伊人激情网| 97碰在线视频| 丁香五月天激情综合网| 岛国av网站| 99九九视频| 操逼亚洲天堂| 大香蕉伊人99| 综合狠狠干| 婷婷色在线视频| 五月丁香啪| 97久久精品视频| 97操操| 26uuu另类亚洲欧美日本一| 综合AV在线| 色婷婷伊人激情在线观看| 开心五月婷婷婷美女| 午夜九九电影| 激情婷婷五月天| 国产亚洲成AV人片在线观黄桃| 玖玖五月| 中文字幕无码AV| 五月停停999| 久久99成人性爱高清视频| 五月婷婷性爱| 丁香操逼| 久热这里只有精品在线观看 | 亚州色婷婷| 国产一级黄色影片,| 国产67194| 日本色色视频| 久久免费精彩视频| 婷婷内射视频在线| 久久久久久综合五月婷婷| 91超级碰| 色婷婷AⅤ| 99热九九在线| 可以免费观看的AV| 美欧成人视频| 婷婷丁香激情| 久久久网站| 任你爽免费视频| 99综合视频| AV片一区在线观看| 五月激情丁香五月| 天堂综合久久| 丁香五月成人自拍| 天天操天天操天天操| 99热97| 在线成人网址| 亚洲激情网| 色婷婷狠狠18yy| 五月天另类综合网| 色色日本| 日韩啪| 天天日天天舔| 最新国产AV| 婷婷狠狠五月综合| 丁香五月天激情综合| 婷婷精品视频| 8区视频在线| 天天色综| 狠狠色综合精品视频在线| 色五月色综合| 日夜夜天天| 亚洲爆乳无码精品AAA片蜜桃| 激情久久久| 综合网色| 色婷操逼| 另类A片| 97人人操| 九九热视频99| 五月综合激情| 丁香久久综合| 九九久久高清| 丁香五月天堂| 色一情一乱一乱一区9| 六月丁香婷婷五月| 大香蕉久久伊人网| 天天舔天天摸视频| 欧美色必爱| 五月婷婷综合久久| 亚洲啪| 六月丁AV| 91久久免费| 九九大香蕉黄色影院| www.婷婷,com| 婷婷色色丁香五月天| 天堂色婷婷| 色综合激情| 六月丁香婷婷综合色播| 色色五月婷婷| 色狠狠图片| 激情婷婷五月社区|