色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

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

大模型推理優(yōu)化:Prefill 與 Decode 兩階段瓶頸及調(diào)優(yōu)實(shí)踐

大模型推理優(yōu)化:Prefill 與 Decode 兩階段瓶頸及調(diào)優(yōu)實(shí)踐 你大概見(jiàn)過(guò)這種曲線服務(wù)剛上線時(shí)首 token 延遲兩百毫秒上下看著挺體面并發(fā)一上來(lái)這個(gè)數(shù)字開(kāi)始抖抖到兩秒、五秒可每 token 的輸出延遲卻穩(wěn)得很四五十毫秒沒(méi)怎么變。運(yùn)維查了網(wǎng)卡、查了顯存占用、查了卡上的利用率指標(biāo)都不難看但用戶就是在反饋卡。遇到這種情況我一般先不碰硬件也不急著換推理框架而是把一次請(qǐng)求拆成兩個(gè)性質(zhì)完全不同的階段來(lái)看——**Prefill預(yù)填充**和Decode解碼。這兩個(gè)詞在大模型推理里出現(xiàn)的頻率極高但真正搞清楚它們?cè)谟?jì)算上差在哪、為什么要用兩套策略去伺候的人并不多。Prefill 是一次性把整段 prompt 塞進(jìn)網(wǎng)絡(luò)一次前向算完所有 token 并行過(guò)模型Decode 是每步只吐一個(gè) token一步一循環(huán)直到遇到結(jié)束符。前者是典型的算力密集型后者是典型的訪存密集型兩者的瓶頸、優(yōu)化手段、調(diào)參方向幾乎是相反的。你把它們當(dāng)成一件事來(lái)調(diào)用同一套批處理策略、同一個(gè)顯存預(yù)算、同一種量化方案結(jié)果必然是兩頭不討好。這篇內(nèi)容就是把這層窗戶紙捅破從矩陣乘的形態(tài)講到顯存帶寬的賬從 KV Cache 怎么長(zhǎng)出來(lái)講到分塊預(yù)填充和 PD 分離怎么落地中間插一些我自己踩過(guò)的坑和可以直接抄的壓測(cè)腳本。不需要你先懂 CUDA 算子只要你會(huì)寫(xiě)幾行 Python、跑過(guò)模型服務(wù)就能順著往下讀如果你已經(jīng)在做推理部署第 4、5 部分應(yīng)該能直接對(duì)上你監(jiān)控里的那些異常曲線。1. 把兩個(gè)階段掰開(kāi)看一次請(qǐng)求到底發(fā)生了什么1.1 從輸入到第一個(gè) tokenPrefill 到底干了什么用戶發(fā)來(lái)一句話比如三百個(gè) token推理引擎收到的是一整個(gè) token 序列而不是一個(gè)一個(gè)喂進(jìn)去。Prefill 做的事情就是把這個(gè)長(zhǎng)度 300 的序列當(dāng)成一個(gè)整體走一遍完整的前向embedding 查表得到 300 個(gè)向量每一層做自注意力、做前饋網(wǎng)絡(luò)一路往上最后只取最后一個(gè)位置的輸出去算下一個(gè) token 的概率分布。注意這里的關(guān)鍵——300 個(gè)位置全部參與了計(jì)算但它們之間不是獨(dú)立的自注意力里的每個(gè)位置都要看到它前面所有位置的信息所以這一層的計(jì)算量隨序列長(zhǎng)度是平方級(jí)增長(zhǎng)的。用生活化的說(shuō)法Prefill 像是一次性把一整篇文章讀進(jìn)去理解讀的時(shí)候前后文互相對(duì)照讀完整篇才寫(xiě)出第一個(gè)字。這個(gè)過(guò)程里模型權(quán)重只需要被讀取一遍但是要參與大量的乘加運(yùn)算所以它對(duì)算力的胃口極大對(duì)顯存帶寬反而不那么敏感。這也是為什么在 Prefill 階段你會(huì)看到加速卡的算力利用率SM 占用、Tensor Core 活躍度能跑到比較高的水位而顯存控制器沒(méi)那么忙。還有一點(diǎn)容易被忽略Prefill 階段要一次性寫(xiě)入全量 KV Cache。300 個(gè) token每一層都要存下它們的 Key 和 Value這些數(shù)據(jù)后面 Decode 階段要反復(fù)讀取所以 Prefill 不只是算還是一次大規(guī)模的顯存寫(xiě)操作。這個(gè)寫(xiě)的量級(jí)我在 2.4 節(jié)會(huì)算給你看先記住這個(gè)動(dòng)作的存在。1.2 從第二個(gè) token 開(kāi)始Decode 為什么是一個(gè)繞不開(kāi)的循環(huán)第一個(gè) token 吐出來(lái)之后流程就變了。第二步的輸入只有一個(gè) token上一步生成的那個(gè)但它要跟前面 300 個(gè) token 的 KV 拼在一起做注意力。這里就體現(xiàn)出 KV Cache 的價(jià)值了前面 300 個(gè) token 的 K 和 V 在 Prefill 階段已經(jīng)算好存下來(lái)了Decode 每一步只需要算當(dāng)前這一個(gè) token 的 Q、K、V然后把新 K、V 追加到緩存尾部再用當(dāng)前 Q 去跟全部 301 個(gè)位置做注意力。如果沒(méi)有 KV Cache每一步都要把全部歷史重新算一遍代價(jià)會(huì)大到?jīng)]法用。關(guān)鍵是這個(gè)動(dòng)作要重復(fù)幾百上千次。每生成一個(gè) token你就要把整個(gè)模型的權(quán)重從頭到尾讀一遍但在當(dāng)前這一步里真正參與計(jì)算的新 token 只有一個(gè)。權(quán)重讀了幾十 GB算的卻只是一次矩陣乘向量這就是 Decode 階段的根本矛盾——算力大量閑置帶寬被榨干。你可以把它想象成每次只為了查一個(gè)字就把整本字典從頭翻一遍。字典的內(nèi)容權(quán)重沒(méi)有變翻的動(dòng)作顯存讀取卻是實(shí)打?qū)嵉某杀尽?.3 兩個(gè)階段的本質(zhì)差異用一張表說(shuō)清楚把上面的描述收斂成對(duì)照表后面所有的優(yōu)化手段幾乎都能從這張表里推出來(lái)維度Prefill預(yù)填充Decode解碼輸入形態(tài)長(zhǎng)度 T 的完整序列單 token每步計(jì)算量與 T 成正比線性層 與 T2 成正比注意力每步固定與歷史長(zhǎng)度成正比注意力部分權(quán)重讀取一次前向讀一遍每生成一個(gè) token 讀一遍核心瓶頸算力compute-bound顯存帶寬memory-bound矩陣形態(tài)大 GEMM瘦高矩陣乘胖矩陣GEMV 退化矩陣乘向量KV Cache批量寫(xiě)入逐步追加、全量讀取批處理收益中等主要攤薄權(quán)重讀取極高權(quán)重讀取被 batch 攤薄優(yōu)化重點(diǎn)提高算力利用率、減少無(wú)效計(jì)算提高帶寬利用率、增大有效 batch量化敏感度中注意激活值精度高權(quán)重位寬直接決定速度這張表建議你貼在工位上。后面遇到任何優(yōu)化方案先問(wèn)一句它作用在哪一列答案清楚了方案值不值得試也就清楚了。比如有人跟你說(shuō)把權(quán)重量化到 4bit 能提速一倍你心里應(yīng)該有數(shù)這是沖著右列去的對(duì) Prefill 的收益非常有限甚至可能因?yàn)榉戳炕_(kāi)銷反而變慢。2. 算力賬本為什么 Prefill 吃算力、Decode 吃帶寬2.1 算術(shù)強(qiáng)度一個(gè)能解釋大部分現(xiàn)象的比值要判斷一段計(jì)算是吃算力還是吃帶寬標(biāo)準(zhǔn)工具是算術(shù)強(qiáng)度Arithmetic Intensity定義很簡(jiǎn)單每從顯存里搬一個(gè)字節(jié)的數(shù)據(jù)能順帶做多少次浮點(diǎn)運(yùn)算。單位是 FLOP/Byte。拿它去和硬件的脊點(diǎn)Ridge Point比脊點(diǎn)等于硬件峰值算力除以峰值帶寬超過(guò)脊點(diǎn)的計(jì)算就是算力受限低于脊點(diǎn)的就是帶寬受限。拿一塊常見(jiàn)的數(shù)據(jù)中心加速卡舉例FP16 稠密算力按 300 TFLOPS 估顯存帶寬按 2000 GB/s 估脊點(diǎn)大約是 150 FLOP/Byte。意思是每搬 1 個(gè)字節(jié)的數(shù)據(jù)你得做夠 150 次浮點(diǎn)運(yùn)算才算沒(méi)浪費(fèi)這塊卡的算力。現(xiàn)在看 Prefill。假設(shè) 7B 參數(shù)模型輸入 2048 個(gè) tokenFP16。權(quán)重總量約 13.4 GB只讀一遍計(jì)算量按經(jīng)驗(yàn)公式 2 × 參數(shù)量 × token 數(shù)估2 × 6.7e9 × 2048 ≈ 2.74e13 FLOPs也就是 27.4 TFLOP。算術(shù)強(qiáng)度 2.74e13 / 1.34e10 ≈ 2045 FLOP/Byte。遠(yuǎn)遠(yuǎn)高于 150妥妥的算力受限。所以 Prefill 該做的事是把算力榨干而不是省顯存讀取。再看 Decodebatch 1。每生成一個(gè) token權(quán)重還是讀 13.4 GB計(jì)算量只有 2 × 6.7e9 ≈ 1.34e10 FLOPs。算術(shù)強(qiáng)度 1.34e10 / 1.34e10 1 FLOP/Byte。連脊點(diǎn)的百分之一都不到。這就是為什么單請(qǐng)求跑 Decode 的時(shí)候你看顯卡的算力利用率會(huì)低得離譜而顯存帶寬可能已經(jīng)跑滿。這組數(shù)字帶來(lái)的直覺(jué)是Decode 階段要提升吞吐唯一的出路是把 batch 做大讓同一份權(quán)重讀取服務(wù)多個(gè)請(qǐng)求把算術(shù)強(qiáng)度拉回來(lái)。batch 16 時(shí)算術(shù)強(qiáng)度能到 16雖然離脊點(diǎn)還遠(yuǎn)但吞吐已經(jīng)是 batch 1 的十幾倍了。2.2 Prefill 的 FLOPs 拆解線性層和注意力各占多少很多人以為 Prefill 的耗時(shí)大頭永遠(yuǎn)是注意力這個(gè)認(rèn)知在短上下文下是錯(cuò)的在長(zhǎng)上下文下才對(duì)。我們把 2.74 TFLOP 拆開(kāi)看。線性層部分QKV 投影、輸出投影、FFN 的兩層總共接近 2 × 參數(shù)量 × T就是上面算的 27.4 TFLOP 里的大頭。注意力部分單獨(dú)算QK^T 的乘加是 2 × T2 × d加權(quán)求和 AV 也是 2 × T2 × d兩層注意力矩陣乘加起來(lái) 4 × T2 × d再乘層數(shù) L。代入 T 2048、d 4096、L 324 × 20482 × 4096 × 32 ≈ 2.2e12也就是 2.2 TFLOP。占比約 8%。但注意力是平方增長(zhǎng)的線性層是線性增長(zhǎng)的。把 T 拉到 8192注意力部分乘 16 變成 35 TFLOP線性層只乘 4 變成 110 TFLOP注意力占比升到 24%。再拉到 32768注意力變成 560 TFLOP線性層 440 TFLOP注意力占比過(guò)半。這份賬解釋了為什么同一個(gè)服務(wù)短 prompt 場(chǎng)景跑得好好的一接長(zhǎng)文檔場(chǎng)景就崩。不是你的框架不行是計(jì)算結(jié)構(gòu)變了原來(lái)可以忽略的那一項(xiàng)變成主項(xiàng)了。對(duì)應(yīng)的優(yōu)化手段也就不一樣短上下文該優(yōu)化 GEMM 的分塊和融合長(zhǎng)上下文得先想辦法把注意力的平方項(xiàng)壓下去。2.3 Decode 的訪存賬本單卡吞吐的理論上限D(zhuǎn)ecode 每一步要讀什么權(quán)重 13.4 GB加上當(dāng)前上下文的 KV Cache。上下文 2048 時(shí)KV Cache 大小在 1 GB 量級(jí)算法見(jiàn)下節(jié)總計(jì)約 14.4 GB。顯存帶寬 2000 GB/s理論耗時(shí) 14.4 / 2000 ≈ 7.2 毫秒換算成單請(qǐng)求速度約 139 token/s。這是理論天花板實(shí)際因?yàn)榱魉€氣泡、kernel 啟動(dòng)開(kāi)銷、帶寬利用率達(dá)不到 100%通常是這個(gè)數(shù)字的三分之一到二分之一也就是 40 到 70 token/s。你線上看到的單請(qǐng)求解碼速度基本就在這個(gè)區(qū)間。再看 batch 16。權(quán)重還是讀 13.4 GB但 KV 變成 16 × 1 GB 16 GB總計(jì) 29.4 GB耗時(shí) 14.7 毫秒。注意這 14.7 毫秒里16 個(gè)請(qǐng)求各自都推進(jìn)了一個(gè) token所以吞吐是 16 / 0.0147 ≈ 1088 token/s是單請(qǐng)求的 7.8 倍。這就是連續(xù)批處理的價(jià)值所在。順便說(shuō)個(gè)反直覺(jué)的現(xiàn)象batch 增大時(shí)單個(gè)請(qǐng)求的 TPOT每 token 延遲實(shí)際上是變差的。batch 1 時(shí) 7.2 msbatch 16 時(shí)每個(gè)請(qǐng)求還是要等 14.7 ms 才拿到自己的那個(gè) token。吞吐和延遲在 Decode 階段是明確的 trade-off不是雙贏。這一點(diǎn)在 4.1 節(jié)還要展開(kāi)。2.4 KV Cache 的顯存賬被大多數(shù)人低估的那部分KV Cache 到底多大公式是每 token 每層存一對(duì) K 和 V每個(gè)張量的元素?cái)?shù)是 n_kv_heads × head_dim數(shù)據(jù)類型 FP16 占 2 字節(jié)。所以每 token 大小 2K 和 V× n_kv_heads × head_dim × 2 字節(jié) × 層數(shù)以 32 層、32 個(gè) KV 頭、head_dim 128 的模型為例2 × 32 × 128 × 2 × 32 524288 字節(jié)正好 512 KB/token。2048 個(gè) token 就是 1 GB8192 個(gè) token 就是 4 GB32768 token 就是 16 GB已經(jīng)超過(guò)模型權(quán)重本身了。如果模型用了分組查詢注意力GQA把 KV 頭從 32 組減到 8 組每 token 直接降到 128 KB同樣的顯存能撐四倍上下文。這是現(xiàn)在主流模型幾乎都上 GQA 的核心原因省的不是算力是 KV Cache。做容量規(guī)劃時(shí)可以這樣估一塊 80 GB 顯存的卡模型權(quán)重 13.4 GB留給 KV 的按 60 GB 算還要留激活值和臨時(shí)緩沖區(qū)如果每 token 128 KB能裝下約 46 萬(wàn)個(gè) token 的總量。這個(gè)總量是所有并發(fā)請(qǐng)求共享的8 個(gè)并發(fā)各 8192 上下文就用掉 65 萬(wàn)個(gè) token直接爆。這就是為什么長(zhǎng)上下文并發(fā)一高就 OOM而單純把 batch 調(diào)小只是把問(wèn)題往后推。3. 算子視角從 GEMM 到 GEMV 的性能落差3.1 Prefill 階段是大矩陣乘的堆疊Prefill 里最主要的計(jì)算形態(tài)是 GEMM通用矩陣乘。以 FFN 層為例輸入是一個(gè) [T, d] 的矩陣權(quán)重是 [d, 4d] 的矩陣輸出 [T, 4d]。T 動(dòng)輒幾百上千兩個(gè)維度都足夠大GPU 的 Tensor Core 可以做很好的分塊數(shù)據(jù)復(fù)用率高算力能跑到峰值的相當(dāng)比例。QKV 投影同理輸入 [T, d] 乘權(quán)重 [d, 3d]也是大 GEMM。這類計(jì)算的優(yōu)化方向很成熟算子融合把 QKV 三個(gè)投影合成一個(gè)、分塊大小調(diào)優(yōu)、用更寬的累加精度。你去看推理框架的日志Prefill 階段耗時(shí)基本都花在少數(shù)幾個(gè)大 kernel 上每個(gè) kernel 的耗時(shí)是可以預(yù)測(cè)的優(yōu)化空間主要在于減少 kernel 數(shù)量和減少中間結(jié)果的顯存往返。3.2 Decode 階段退化成矩陣乘向量Decode 的輸入只有一個(gè) token也就是 [1, d] 的向量去乘 [d, 4d] 的權(quán)重矩陣。這在形態(tài)上叫 GEMV矩陣乘向量。問(wèn)題是 GEMV 的訪存模式極不友好權(quán)重的每一行只用一次沒(méi)有任何復(fù)用相當(dāng)于純粹把權(quán)重從顯存搬到計(jì)算單元搬完就扔。這在 GPU 上是最浪費(fèi)的場(chǎng)景之一。這也是為什么很多框架在 Decode 階段會(huì)做批量化 GEMV把 batch 個(gè)請(qǐng)求的向量拼成 [B, d]退化成一個(gè)小 GEMM。B 越大越接近 GEMM 的效率。但 B 受限于顯存和延遲要求實(shí)際很難做大通常在 8 到 64 之間徘徊。還有一個(gè)經(jīng)常被忽視的成本kernel 啟動(dòng)開(kāi)銷。Decode 每生成一個(gè) token都要走完全部層幾十個(gè) kernel 挨個(gè)啟動(dòng)。如果每個(gè) kernel 只有幾十微秒啟動(dòng)開(kāi)銷和調(diào)度開(kāi)銷的占比就很可觀了。所以 Decode 階段特別吃算子融合和CUDA Graph 捕獲這類手段把整段前向固化成一張圖一次性提交能省掉大量 CPU 側(cè)的調(diào)度開(kāi)銷。這一點(diǎn)在 batch 小的時(shí)候尤其明顯我自己實(shí)測(cè)過(guò)只加圖捕獲這一項(xiàng)小 batch 場(chǎng)景的 TPOT 能降一到兩成。3.3 注意力部分兩種截然不同的數(shù)據(jù)流動(dòng)Prefill 的注意力是一整塊下三角的因果掩碼矩陣。T 個(gè) query 對(duì) T 個(gè) key 做注意力掩碼保證每個(gè)位置只能看到自己和前面。這個(gè)形態(tài)適合做分塊計(jì)算把一個(gè) T×T 的大矩陣切成小塊只算下三角部分跳過(guò)被掩碼的上三角。分塊注意力的核心思路就是避免把整個(gè) T×T 的注意力分?jǐn)?shù)矩陣物化到顯存里——那個(gè)矩陣在 T 8192 時(shí)是 81922 × 2 字節(jié) ≈ 128 MB 每頭每層物化出來(lái)直接爆。Decode 的注意力則簡(jiǎn)單得多當(dāng)前這一個(gè) query對(duì)長(zhǎng)度為 L 的全部 key 做注意力。分?jǐn)?shù)向量長(zhǎng)度是 L不涉及平方項(xiàng)。但它是純讀取操作——要把 KV Cache 里 L 個(gè)位置的數(shù)據(jù)全讀一遍。上下文 2048 時(shí)讀 1 GB耗時(shí) 0.5 ms看著不多上下文 32768 時(shí)讀 16 GB耗時(shí) 8 ms已經(jīng)超過(guò)讀權(quán)重的 6.7 ms 了。這時(shí)候 Decode 的瓶頸從權(quán)重帶寬變成了KV 帶寬。這就是長(zhǎng)上下文解碼慢的底層原因不是模型變復(fù)雜了是每步要搬的數(shù)據(jù)變多了。對(duì)應(yīng)的手段有 GQA直接減少 KV 體積、KV 量化FP16 降到 INT8體積減半、稀疏注意力只讀部分 KV、以及滑動(dòng)窗口限制窗口大小老 KV 直接丟棄。每一樣都是在拿精度或能力換速度沒(méi)有免費(fèi)的午餐。3.4 分頁(yè)式 KV 管理與前綴復(fù)用傳統(tǒng)做法是給每個(gè)請(qǐng)求預(yù)分配一塊連續(xù)的顯存放 KV長(zhǎng)度按最大可能值留實(shí)際用不完也不給別人。這會(huì)造成嚴(yán)重的內(nèi)部碎片——一個(gè)請(qǐng)求只要 200 token你按 8192 預(yù)留剩下 7992 的空位全浪費(fèi)了。當(dāng)并發(fā)上來(lái)顯存被一堆半空的塊占滿明明還有余量卻接不了新請(qǐng)求。分頁(yè)式管理借鑒了操作系統(tǒng)的虛擬內(nèi)存思路把 KV Cache 切成固定大小的塊比如每塊存 16 個(gè) token 的 KV按需分配不要求物理連續(xù)用一張映射表記錄邏輯位置到物理塊的對(duì)應(yīng)關(guān)系。好處有三個(gè)碎片幾乎消失顯存利用率能到 90% 以上請(qǐng)求長(zhǎng)度可以動(dòng)態(tài)增長(zhǎng)不用預(yù)留最重要的是塊可以共享。塊共享這點(diǎn)衍生出一個(gè)非常實(shí)用的功能前綴緩存。很多線上場(chǎng)景的 prompt 有大量相同前綴比如固定的系統(tǒng)提示詞、固定的知識(shí)庫(kù)文檔頭。這些前綴算出來(lái)的 KV 完全一樣沒(méi)必要每個(gè)請(qǐng)求都重算一遍。分頁(yè)管理下只要把相同前綴的塊標(biāo)成共享后續(xù)請(qǐng)求直接跳過(guò)這部分 Prefill只算新增的部分。我在一個(gè)客服類場(chǎng)景里試過(guò)系統(tǒng)提示詞加固定說(shuō)明有 1500 token命中前綴緩存后首 token 延遲從 600 ms 降到 180 ms效果立竿見(jiàn)影。注意前綴緩存的前提是前綴逐 token 完全一致差一個(gè)字符都會(huì)失效。實(shí)際落地時(shí)要把動(dòng)態(tài)內(nèi)容時(shí)間戳、用戶名挪到 prompt 末尾否則命中率會(huì)低得讓你懷疑人生。4. 工程實(shí)踐把兩階段調(diào)順手的幾個(gè)關(guān)鍵動(dòng)作4.1 首 token 延遲與單 token 延遲的取舍衡量推理服務(wù)質(zhì)量?jī)蓚€(gè)核心指標(biāo)必須分開(kāi)看TTFTTime To First Token首 token 延遲主要由 Prefill 決定加上排隊(duì)時(shí)間TPOTTime Per Output Token每 token 延遲主要由 Decode 決定加上調(diào)度間隔。用戶體感上TTFT 決定點(diǎn)完之后多久有反應(yīng)TPOT 決定吐字流不流暢。這兩個(gè)指標(biāo)是互相打架的。你真要壓低 TTFT就得讓 Prefill 優(yōu)先跑把 Decode 請(qǐng)求掛起等著Preill 一跑就是幾十上百毫秒這期間所有正在解碼的請(qǐng)求全都停頓用戶看到的就是打字機(jī)卡住。反過(guò)來(lái)你為了保證 TPOT 平穩(wěn)就得限制 Prefill 的頻率和批量TTFT 自然上去。我的經(jīng)驗(yàn)是做分檔交互式場(chǎng)景聊天、助手優(yōu)先保 TPOT把 Prefill 切碎混進(jìn) Decode 的批里TTFT 允許 300 到 800 ms批處理場(chǎng)景文檔摘要、批量翻譯優(yōu)先保吞吐Prefill 可以大批量跑滿TTFT 到幾秒也無(wú)所謂。這兩類流量最好在入口就做好路由別混在一個(gè)池子里否則兩邊的指標(biāo)都會(huì)難看。4.2 分塊預(yù)填充讓長(zhǎng) prompt 不再堵車分塊預(yù)填充Chunked Prefill是我認(rèn)為性價(jià)比最高的一個(gè)改動(dòng)。做法很簡(jiǎn)單把一個(gè)長(zhǎng) prompt 的 Prefill 拆成若干塊比如每塊 512 個(gè) token然后每一輪調(diào)度時(shí)把一塊 Prefill 和當(dāng)前所有 Decode 請(qǐng)求拼成一個(gè)混合批一起跑一次前向。這樣做的效果是把原來(lái)一次獨(dú)占式的大 Prefill變成多次小塊 Prefill代價(jià)是 TTFT 稍微變長(zhǎng)因?yàn)榉至藥纵喪找媸?Decode 請(qǐng)求幾乎感受不到停頓TPOT 曲線會(huì)變得平滑。對(duì)于那些既要處理長(zhǎng)文檔又要同時(shí)服務(wù)多個(gè)短對(duì)話的服務(wù)這個(gè)改動(dòng)能直接把尾延遲壓下去一大截。參數(shù)選擇上有講究塊太小調(diào)度次數(shù)變多每次的固定開(kāi)銷占比上升整體吞吐下降塊太大Decode 被擠占的時(shí)間變長(zhǎng)TPOT 抖動(dòng)回來(lái)了。我的經(jīng)驗(yàn)是從 512 開(kāi)始試觀察 TPOT 的 P99 和整體吞吐如果 P99 抖得厲害就往下調(diào)到 256如果吞吐掉得多就往上調(diào)到 1024。這個(gè)值和硬件、模型大小強(qiáng)相關(guān)沒(méi)有一個(gè)通用最優(yōu)解。4.3 連續(xù)批處理與顯存水位控制連續(xù)批處理Continuous Batching解決的是一個(gè)批里最快的請(qǐng)求要等最慢的這個(gè)浪費(fèi)問(wèn)題。傳統(tǒng)靜態(tài)批處理一批里 8 個(gè)請(qǐng)求7 個(gè)已經(jīng)生成完了在等第 8 個(gè)這 7 個(gè)占著顯存不干活。連續(xù)批處理的做法是每生成一步就檢查一次誰(shuí)結(jié)束了立刻踢出去空出來(lái)的位置馬上塞新請(qǐng)求進(jìn)來(lái)。這個(gè)機(jī)制對(duì) Decode 階段意義巨大因?yàn)?Decode 的每一步是一個(gè)天然的調(diào)度點(diǎn)。但要注意一個(gè)細(xì)節(jié)新請(qǐng)求進(jìn)來(lái)通常先要跑 Prefill如果它一進(jìn)來(lái)就獨(dú)占正在解碼的請(qǐng)求又要停。所以連續(xù)批處理必須和分塊預(yù)填充配合使用否則等于把堵車點(diǎn)從入口挪到了中途。顯存水位控制是配套的另一個(gè)動(dòng)作。引擎一般會(huì)設(shè)一個(gè)閾值比如顯存占用的 90%超過(guò)就拒絕新請(qǐng)求或者排隊(duì)。這個(gè)閾值不能設(shè)太滿因?yàn)?Prefill 的激活值峰值比 Decode 高很多——處理一個(gè) 8192 token 的 Prefill中間激活值可能要吃幾 GB如果你按 Decode 的用量把顯存占到 95%一個(gè)長(zhǎng) prompt 進(jìn)來(lái)直接 OOM。我一般留 10% 到 15% 的余量并且對(duì)超過(guò)某個(gè)長(zhǎng)度的 prompt 單獨(dú)做限流。4.4 量化與推測(cè)解碼分別作用在哪一段量化怎么影響這兩個(gè)階段值得單獨(dú)說(shuō)因?yàn)楹芏嗳肆炕臧l(fā)現(xiàn)沒(méi)提速以為是量化沒(méi)用其實(shí)是作用錯(cuò)了地方。權(quán)重量化比如 4bit、8bit 只量化權(quán)重激活值還是 FP16主要收益在 Decode。因?yàn)?Decode 是帶寬受限權(quán)重從 16bit 降到 8bit讀取量直接減半速度理論上接近翻倍實(shí)測(cè)常見(jiàn) 1.4 到 1.8 倍。而 Prefill 是算力受限權(quán)重量化省下的帶寬它用不上反而要額外做反量化可能還慢一點(diǎn)。權(quán)重加激活全量化W8A8才有可能同時(shí)惠及 Prefill因?yàn)榧せ钜沧兂傻途群缶仃嚦丝梢杂玫途鹊?Tensor Core算力翻倍。但這條路對(duì)精度的影響要仔細(xì)評(píng)估特別是激活值的離群點(diǎn)問(wèn)題很多模型直接上 W8A8 會(huì)掉點(diǎn)得厲害需要配合平滑或裁剪手段。推測(cè)解碼Speculative Decoding是另一個(gè)思路用一個(gè)小模型快速草擬幾個(gè) token再用大模型一次性并行驗(yàn)證。它本質(zhì)上是把 Decode 的多個(gè)串行步驟轉(zhuǎn)化成一次 Prefill 形態(tài)的并行驗(yàn)證——因?yàn)轵?yàn)證階段可以把 k 個(gè)候選 token 當(dāng)成一個(gè)長(zhǎng)度為 k 的序列一次性過(guò)模型這正好是 Prefill 的形態(tài)。所以推測(cè)解碼特別適合 Decode 帶寬打滿、算力閑置的場(chǎng)景能把閑置的算力利用起來(lái)。代價(jià)是要多一份小模型的權(quán)重顯存并且在草稿命中率低的時(shí)候收益歸零。4.5 一套可復(fù)現(xiàn)的壓測(cè)方法調(diào)參不能靠感覺(jué)得有一套能量化 TTFT 和 TPOT 的壓測(cè)。下面這段是我常用的骨架思路是流式接收、記錄首塊到達(dá)時(shí)間和總耗時(shí)然后取中位數(shù)和 P99 看穩(wěn)定性import time import statistics def bench_one(client, prompt, max_new_tokens128): t0 time.perf_counter() ttft None n_tokens 0 for chunk in client.stream(prompt, max_tokensmax_new_tokens): now time.perf_counter() if ttft is None: ttft now - t0 # 首塊到達(dá) n_tokens 1 total time.perf_counter() - t0 # 減去 TTFT 得到純解碼耗時(shí)再除以生成的 token 數(shù) tpot (total - ttft) / max(n_tokens - 1, 1) return ttft, tpot def bench(client, prompt, runs30): ttfts, tpots [], [] for _ in range(runs): a, b bench_one(client, prompt) ttfts.append(a) tpots.append(b) ttfts.sort(); tpots.sort() p99 lambda xs: xs[int(len(xs) * 0.99) - 1] return { ttft_median: statistics.median(ttfts), ttft_p99: p99(ttfts), tpot_median: statistics.median(tpots), tpot_p99: p99(tpots), }壓測(cè)時(shí)有幾個(gè)細(xì)節(jié)必須控制住否則數(shù)據(jù)沒(méi)有可比性。第一固定輸入長(zhǎng)度和輸出長(zhǎng)度別讓模型自由發(fā)揮不然每次生成的 token 數(shù)不同TPOT 沒(méi)法比。第二并發(fā)梯度測(cè)試從 1 并發(fā)測(cè)到目標(biāo)并發(fā)每一檔都記錄你會(huì)看到一條清晰的曲線并發(fā)上升吞吐先漲后平TTFT 和 TPOT 單調(diào)上升拐點(diǎn)就是這套配置的合理水位。第三區(qū)分冷啟動(dòng)和熱態(tài)第一次請(qǐng)求要加載權(quán)重、要編譯圖數(shù)據(jù)不能用。還有一點(diǎn)壓測(cè)客戶端本身別成為瓶頸。Python 的同步 HTTP 客戶端在高并發(fā)下會(huì)被 GIL 和連接管理拖垮測(cè)出來(lái)的延遲里有一大半是客戶端自己的開(kāi)銷。并發(fā)超過(guò)幾十就要用異步客戶端或者多進(jìn)程壓我吃過(guò)這個(gè)虧一度以為服務(wù)端有問(wèn)題查了兩天才發(fā)現(xiàn)是壓測(cè)腳本自己在排隊(duì)。5. 問(wèn)題排查實(shí)錄那些監(jiān)控看不出原因的卡頓5.1 癥狀速查表線上一旦出現(xiàn)延遲異常先對(duì)照這張表定位能省掉大量瞎猜的時(shí)間癥狀大概率原因優(yōu)先檢查項(xiàng)TTFT 高但 TPOT 正常Prefill 排隊(duì)、批太大、前綴緩存沒(méi)命中排隊(duì)深度、Prefill 批大小、緩存命中率TTFT 正常但 TPOT 抖動(dòng)Prefill 搶占、塊大小設(shè)置不當(dāng)分塊預(yù)填充是否開(kāi)啟、塊大小TTFT 和 TPOT 同時(shí)劣化顯存接近上限、觸發(fā)換頁(yè)或拒絕顯存水位、KV 塊分配失敗率長(zhǎng) prompt 直接超時(shí)激活值峰值 OOM、單請(qǐng)求限流最大輸入長(zhǎng)度限制、顯存余量并發(fā)上不去但顯存沒(méi)滿KV 碎片、塊分配器配置過(guò)小塊大小、可用塊數(shù)量量化后吞吐沒(méi)變化量化只作用在權(quán)重瓶頸在算力側(cè)是 Prefill 還是 Decode 慢單請(qǐng)求快、多請(qǐng)求慢批處理未生效或 batch 上限太低連續(xù)批處理開(kāi)關(guān)、最大批大小首字很快但中途卡住KV 緩存被回收、請(qǐng)求被搶占重算搶占策略、優(yōu)先級(jí)配置這張表不是窮舉但覆蓋了我遇到過(guò)的大部分情況。用法是從左列找最像的然后按右列逐項(xiàng)排除通常兩三輪就能定位。5.2 幾個(gè)反直覺(jué)的坑第一個(gè)坑加大 batch 不一定提升吞吐。很多人看到吞吐不夠就把最大批大小往大了調(diào)結(jié)果發(fā)現(xiàn)吞吐反而降了。原因是 batch 大到一定程度后KV Cache 的讀取量超過(guò)了權(quán)重讀取量邊際收益遞減更糟的是顯存接近上限塊分配失敗率上升觸發(fā)請(qǐng)求搶占和重算實(shí)際干了雙份活。我一般的做法是找到那條吞吐曲線的平臺(tái)段停在平臺(tái)的 80% 位置留出余量應(yīng)對(duì)突發(fā)。第二個(gè)坑Prefill 的耗時(shí)不是線性的。有人按每 token 均攤?cè)ス浪阌X(jué)得 4096 token 的 prompt 應(yīng)該是 2048 的兩倍耗時(shí)。實(shí)際不是因?yàn)樽⒁饬Φ钠椒巾?xiàng)在長(zhǎng)上下文下占比上升4096 的 Prefill 耗時(shí)可能是 2048 的兩倍半甚至三倍。做容量規(guī)劃時(shí)一定要按實(shí)際長(zhǎng)度壓測(cè)別用線性外推。第三個(gè)坑流式輸出的第一個(gè)塊不一定是真首 token。有些客戶端或網(wǎng)關(guān)會(huì)先發(fā)一個(gè)空的心跳塊或者角色聲明塊你在客戶端計(jì)時(shí)會(huì)把這段時(shí)間算進(jìn) TTFT測(cè)出來(lái)的數(shù)字比服務(wù)端真實(shí)值高出一截。排查時(shí)要在服務(wù)端也埋一份計(jì)時(shí)兩邊對(duì)不上就說(shuō)明中間有額外緩沖。這個(gè)問(wèn)題很隱蔽因?yàn)榍€看起來(lái)只是TTFT 偏高你會(huì)一直往服務(wù)端查。第四個(gè)坑KV Cache 量化之后長(zhǎng)上下文的精度下降比短上下文明顯得多。因?yàn)?KV 量化誤差會(huì)隨著讀取的位置數(shù)量累積上下文越長(zhǎng)注意力加權(quán)時(shí)引入的偏差越大。短問(wèn)答場(chǎng)景測(cè)不出問(wèn)題一上長(zhǎng)文檔就發(fā)現(xiàn)模型開(kāi)始記不住前面的內(nèi)容。要做 KV 量化必須用長(zhǎng)上下文任務(wù)做驗(yàn)證不能只跑短 prompt 的評(píng)測(cè)集。第五個(gè)坑多卡張量并行的通信開(kāi)銷在 Decode 階段占比極高。張量并行把每一層的矩陣乘切到多卡上每層要做兩次全歸約。Prefill 階段計(jì)算量大通信能被掩蓋Decode 階段每層的計(jì)算只有幾十微秒通信延遲直接暴露出來(lái)。所以你會(huì)看到 4 卡部署的 Prefill 快了 3 倍多Decode 只快了 1.5 倍。小模型做 Decode 尤其不劃算寧可單卡多實(shí)例。最后分享一個(gè)我覺(jué)得最實(shí)用的觀察方式把 TTFT 和 TPOT 畫(huà)成兩條隨時(shí)間變化的曲線疊上并發(fā)數(shù)。正常情況下三條線的形狀應(yīng)該是同步的——并發(fā)漲、兩條延遲漲、并發(fā)落、延遲落。如果是 TTFT 跟著并發(fā)漲但 TPOT 是平的問(wèn)題在入口調(diào)度如果 TPOT 出現(xiàn)周期性尖峰而并發(fā)沒(méi)變多半是分塊預(yù)填充的塊太大或者在跑定期任務(wù)如果兩條線一起抖且幅度很大去看顯存水位十有八九是塊分配器在掙扎。這套看圖方法比翻日志快得多尤其是在你沒(méi)時(shí)間深挖的時(shí)候能讓你在幾分鐘內(nèi)把范圍縮到一兩個(gè)模塊。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久直播国产| 天天天天操| 九九这里只有精品| 国产精品肉丝自拍| 日韩成人在线性爱视频| 九九九九九九亚洲| 91久久婷婷| 亚洲蜜乳av| 884t在线| 新婚人妻扶着粗大强行坐下| 欧美瑟综合| 人人人人插| 天天流夜夜操| 亚洲欧美综合图片| 91天堂色男人的天堂| 日韩超碰精品综合| 人人操人人色人人摸| 色区久久| 国产精品扒开腿做爽爽爽视频| 综合自拍| 日韩 欧美 另类 人妻| 国产欧美第五页| 大但人体久久久久| 成人性爱美曰韩| 成人精品一区二区三区| 亚洲无线码欧洲精品区别| 欧美亚洲丝袜美女电影| 国产白嫩漂亮KTV在线| 麻豆性爱视频在线播放| 国产精品久久久久久高清无码免费看| 亚洲操逼视频网站| 98超碰日本| 老司机天天操| 蜜桃久久久久久久| 亚洲码在线中文在线观看| 国产精品制服丝袜清纯唯美| 校园激情狠狠四射| 操学生天天| 日韩黄色av中文字幕| 欧美综合网1| www色色色com| 91肉片| 精品国产乱码久久久久久影片| 九七超碰人人乐| 色综合久久av| 偷拍亚洲情色| 加勒比在线视频| 久久久久久久久久va| 校园春色亚洲无码| 人妻啊啊人妻啊啊| 熟妇视频一区二区三区在线| 精产国品一区二三产品| 一区二区三区国产在线播放| 97国产超湿| 青娱乐淫乱1314| 超碰碰97| 96精品在线| 综合伊人网12色| 久久亚码| 九九色色| 97香蕉网| 久久久四区| 亚州乱码中文字幕综合久久久| 强奸乱伦亚洲第一页| 日本97久久| 亚洲,欧美,春色,另类| 日韩一区二区精彩视频| 亚洲在线观看| 久久亚州高清| 人妻熟女av国产网站| 97手机日韩| 久久綜合很很很| 久久性爱免费送| 热99这里有精品综合久久 | 九九热九九| 蜜臀av在线播放一区二区三区| 91中文字幕| 97欧美色综合| 精品射1999| 1024人妻熟女一区二区三区| 色牛aV| 欧美论理片| 6080yy午夜理论三级一区二区三区无码 | 超碰免费在线| 无码操逼网| 天天干嫩逼网| 天天干1区2区在线| 日本三级韩三级99久久| 五月婷在线| 尤物网址| 天天干天天燥| 精品欧美老熟女一二区| 亚洲综合20p| 中文字幕色AV| 久久精品视频在线观看| 久9热| 日韩欧美一级特黄大片| 日韩综合无码色欲vv| 99热线麻豆 | 亚洲中文字母在线播放| 91综合网站| 2020中文字幕在线| 熟女一区二区三区| 另类亚洲图色| 日本高清久久| 亚洲第一在线视频| 亚洲av淫乱| 豆花视频操逼网址| 影视综合无码少妇| 26uuu欧美日韩| 极品色| 99热18这里只有精品| 蜜臀色乳| 久久久久久久9最新免费视频观看| 99热免费| 日韩偷拍色图| 99热精品在线| 色五月丁香五月| 久妇网| 亚洲男人天堂2017| 国产性爱欧美性爱在线| 四虎884a| 欧洲精品人妻| 亚洲熟女少妇免费视频| 亚洲综合在线91| 福利大香蕉| 欧洲大香蕉| 欧美日韩天堂| 高清孕妇孕交 交孕妇| 2019亚洲男人天堂| 激情欧美日韩女同久久| 9久精品视频在线观看| 免费网站观看www在线观| 日韩人妻网站| 亚洲色欧| 国产精品ww久久| 日韩激情电影中文字幕| 国产传媒一区二区三区| 国产精品懂色tv影视免费观看| 欧美狠狠| 久热精品在线国产| 久久毛卡| 色五月婷婷在线| 天天流夜夜操| 综合天天网| 色香欲天天天天综合色| 十八禁黄色| 91无码西班牙视频在线| 一级aaaaa欧美中文字幕录像片| 亚洲欧美高清无码| 国产精品久久久久中文字幕| 婷婷久月| 超碰在线人妻不卡| 搡老女人老91妇女熟女| 久久激情四射婷婷丁香五月天| 蜜臀va69| 欧美日韩电影成人在线| 伦理片秋霞免费影院| 国产精品色色| 精品久久9| 国产日韩怡红院| 国产品精品自在在线午夜免费| 国产精品视频自拍在线| 色色五月天婷婷| 97在线精品| 蜜伊人色综合97| a片亚洲一本通视频| 最新制服中文第一页| 97色综合中文网| 欧美一区二区一级岛国大片| 人妻22p| 欧美后进式| 日日黄色三级网站| 久久久偷拍| 日韩欧美成人午夜福利| 亚洲综合小说另类图欧美视频激情小说色五月天 | 成人五月天丁香激情综合| 69精品| 夜夜天天噜狠狠爱2021| 久久久A∨| 成人热久久精品| 色色97爱| 欧美成人黄网色网站| 国产精品久久发布| 欧美日本不卡| AV天堂国产| 中文激情网| 国产午夜视频| 日韩欧美大片免费高清啪啪| 国产精品宅男免费| 麻豆国产原创AV色哟哟| 欧美亚洲丝袜人妻制服中文99| 久热精品在线国产| 色老汉色| 成人午夜高潮av猛片| 欧美性爱1080p| 狠狠 91| 色99久草| 亚洲欧美在线观看2021 | 99国产女人| 黄色av一区二区在线| 爱欲AV| 亚州男人天堂| 天天流夜夜操| 黄片www视频免费| 国产免费久久久久| 91白虎| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 夜夜嗨一区二区三区三州加勒比| 亚洲电影中字一区二区| 狼人综合婷婷激情四射 | 国产毛片毛片4p懂色| 五月天开心网| 91暧暧| 大奶的诱惑| 3P乱轮视频| 精品国产自在在线99| 97欧美综合| 91九九| 91青青| 亚洲色图殴美色图激情乱伦| 中文字幕精品三级久久久| 国产三级多多影院2022国产AA一级毛片无码 | 性猛交| 伊人五月天| 狠狠干妹子| 日韩人妻中文视频| 久久风骚城市| 激情久久av一区av二区av| 97综合在线观看| 99热在线观看| 久久中出在线| 国产区91柔拿会所技师| 欧美综合色图片| 五月婷婷五月天| 神马麻豆福利院| 日本天天吊| 啪啪性爱免费视频| 91超碰碰在线| 色婷婷丁香五月天| 日本阿v天堂在线观看| 九一综合精品视品av| 国产精品久久久吖| 欧美青青视频| 99在线精品视频| 久久人妻| 极品丝袜无码| 99久在线精品99re8| 哈哈操电影| 亚洲 中文 女同| 6080YYY午夜理论片在线观看| 欧美少妇高潮久久91| 亚洲精品无码久久AV| 国产熟女自拍| 婷婷五月天色| av天堂精品久久| 超碰在线1234区| 九九99精品| 亚洲影院成人| 丝袜美腿91| 亚洲有码 欧美精品| 国产高清免费不卡av| 久久久久久久久久久久97| 高树玛利亚无码流出| 九九九精品| 污电影在线观看| 破苞ⅩXXX性无码动漫无码| 97香蕉网| 午夜福利合集| 亚洲熟女乱色一区二区三区久久久| 精品78| 风骚少妇视频中文字幕| 亚洲一二三精品久久网 | 自拍第一页| 日本日日色视频| 人妻中文在线| 94色色电影网| www.高清无码诱惑一区.com | 国产老熟女| 亚洲中文字幕熟女| 久九九九九九九九热| 欧美午夜视频| 亚洲激情天堂网| 亚洲综合色男人网| www.婷婷| 女同性恋久久| 懂色Av| 51一区二区三区| 91成人社区| 久久男人的天堂国产| 无码在线亚洲| 福利伊人玖玖国产| 牛牛操视频逼| 992大香蕉| 精品九九九九九九九九九| 国产在线不卡导航| 国产乱码久久| 成人免费福利在线观看| 91色欧美| 9久9久| 亚洲极品| 国产2.3.4区| 日本 情色 1区2区3区| 2017大香蕉国产精品久久| 久久久久9久久久久| 凹凸视频在线观看伊人| 久久成人午夜精品影院| 日韩欧美大力操| 日语五十路和六十路亚洲国产精品| 91少妇高潮| 九九亚洲精品| 风月影院男女十八禁| 东北女人操比视频| 在线小视频| 色婷婷久久| 丁香五月自拍| 色婷婷狠狠18禁| 婷婷色中文字幕| 99热国产| 一区二区三区日韩欧美| 麻豆性爱视频在线播放| 亚洲熟女一区| 夜夜无码| 九九九九九九九九九国产精品| 日韩97超碰| 亚洲色电影在线| 丁香九月婷婷| 黄片qw| 久久最新免费视频23| 东京日日夜夜| 中文字幕一区二区三区蜜臀| 丰满精品人妻少妇久久字幕| 天天日熟妇| 玖玖资源视频一区二区三区| 久久久久久久| 一级人妻性爱视频| 天天天天天天天天天天干美女| a级免费在线观看| 一区二区精品日韩欧美在线观看| 操迟操逼在巾线Fre看| 日本日皮视频逼| 开心五月深爱五月| 大香蕉伊人网WWWn0n| 乱欲性色| 色姑娘综合网| 日欧亚洲二三区大片不卡| 日韩操人| 黄色不卡视频| 亚洲精品99999| 欧美亚洲自拍另类人妻| 丁香六月东京热| 欧美日本中字另类在线| 成人情色一区二区| 女色视频社区| 99re热| 精品在线蜜臀| 亚洲天堂人妻熟妇视频| 超碰碰碰碰| 99自拍B亚洲 | 天天看,天天做| 成人性爱AV在线免费观看| 亚洲精品无码成人久久久99| 狠狠五月天| 亚洲美女 晚间男人天堂| 97在线/亚洲| 亚洲人体视频在线观看| 大香蕉啪啪啪| 热热色AV| 美女尤物人人操| www.夜夜操| 蜜桃视频一区二区三区在线观看| 男人天堂毛片| 26uuu欧美| 人妻酒店出差被中出免费在线播放| 久热伊人| 91强奸乱轮| 久久99精品国产| 亚洲性综合11| 激情网色| 色999人与兽| 亚洲影视高清第一页| 思思热在线视频免费| 97色碰| 欧美成人国产精品| 日本布卡一区二三区| 黄色电影在线播放综合网站| 亚洲免费精品一区| 不卡视频一区蜜桃视频 | 欧美大香蕉卡久久| 色约约一区=区三区| 国产精品极品美女视频| 美女高潮视频91| 亚洲视频精选| 四虎AV在线观看| 天天综合91入口| 日本五十路熟女一区二区| 国产久久日韩网站导航| 蜜臀久久99精品久久久久| 欧美日韩国产高清在线一二三区 | 91日韩| 婷婷久久久| 久久人妇| 精品久久无码午夜福利| 国产精品午夜福利亚洲综合网| 精品一级| 日韩一级成人毛片免费观看 | 97视频免费在线| 手机在线视频国内精品| 亚州熟妇精品| 亚洲中文日韩欧美大香蕉视频| 成人日韩中文字幕| 中文字幕日韩精品久久| 日韩天堂av电影在线观看| 国产精品天堂| 中文字幕日韩精品一区二区三区| 久久久久亚洲av综合波多野制衣| 色天堂在线观看| 综合欧美日韩在线观看| 精品美女少妇一区二区| 女同在线视频一区| 91综合网| 中文字幕人乱码中文字的预防方法| 国产欧美另类久久久精品课程| 五月丁香婷婷综合| 天天射日日干| 欧洲一区二区三区免费| 亚洲精品国产无码高清| 中文字幕诱惑制服人妻丝袜美丝袜美| 搡老女人老妇女AAA一VU麻豆| 少妇诱惑视频| 操逼操逼视频操逼| 91老熟女91老女人| 91久久精品蜜臀| AⅤ片水多多| 日本伦理一区二区| 亚洲AV噜噜狠狠网址蜜桃动漫| 公司1区2区3区精产精| 多乙久久久久久| 人妻少妇无码| 欧美天天综| 黑人无码一区二区| 精品九九九九| 色综合20p| 99无码视频| 国产精品点击进入在线影院高清 | HEYZO高无码国产精品227| 精品少妇99| 久久熟女人| 噜噜噜在线视频| 密臀在线视频| 青青久操| 在线观看综合精品亚洲| 91岛国动作片| 亚洲天天影视色综合| 涩五月婷婷| 国产亚洲色婷婷久久99精品91 - 百度| 日本人体九九九九九九| 黑人精品一区二区在线播放| 在线情色电影 91大| 久久久久久亚洲Av无码| 色99久草| 国产精品亚洲四五区在线观看| 思思在线免费视频| 夜夜草我| 激情在线青青操| 91丝袜在线视频| 日本午夜久久电影| www.色婷婷| 福利操逼| 黄色免费网| 亚洲人妻日日日| 9 9无尺码天堂网| 国产视频一区二区在线| 亚洲av无码成人精品国产| 国产黄色小视频网站| 春色综合网| 久操| 97爱欧美| 中文字幕二区日韩天堂| 一区二区三区机械有限公司| 亚洲AV性爱电影| 免费观看性欧美一级| 精品熟女呻吟久久91| 久久亚洲人妻| 色色99| 久久久不能久久久久| 丁香五月自拍| 无码操逼网| 操逼日批| 人人操人人摸人人看人人插| 男女啪啪啪18禁网站| 欧美天天搞| 国产伊人精品在线| 欧美丰满少妇交换91欧美精品| 日日噜噜夜夜久久亚洲一区二区 | 人妻少妇久久| 四虎精品一区| 亚洲综合草草| 欧美第五页| 少妇九九九九| 大香蕉一人| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 亚洲国产麻豆一区二区三区| 男人高清无码一区二区| 人人操人人摸人人看人人干| 3P乱轮视频| 欧美人人曰人人操人人射射| 中文字幕乱码在线| AⅤ片水多多| 男女做爰猛烈动高潮A片免费应用 少妇厨房愉情理伦片bd在线观看 不卡中文字幕aⅴ在线 | 四季av一区二区凹凸精品小说| 欧美色66| 天美传媒国产原创中文字幕亚洲欧美另类 | 国产高清午夜成人在线观看| 国产福利一区二| 亚洲加勒比| 青青操网| 亚洲少妇中文字幕网址| 色五月婷婷久久| 伊人亚洲国产一成人久久精品,久久| 精品久久久久av影院| 人人摸人人叼| AV 少妇 人妻 偷拍| 丁香五月性爱| 一区二区久久天天干狠狠| 欧洲精品在线播放| 蜜臀av网址| 久久岛国| 97精品熟女少妇一区| 影音先锋中文字幕日本好一区二区 | 午夜大香蕉| 婷婷丁香五月激情啪啪| 日本熟妇熟色97一本在线观看| 操美女人妻| 久偷拍| 骚女高跟AV在线| 欧洲乱码一区二区| 乱伦av国产| 97中文字幕一区| 国产青一二三| 精品午夜福利国产一区二区在线观看| 久久欧美按摩999| 26uuu最新| 国产91丝袜 在线播放| 神马久久中文字幕| 亚洲五月婷婷| 操逼1区| a片 xxxx受爽视频| 男人的天堂com| 鸥美极品| A啊啊在线观看| 韩国一区二区精品亚洲| 99热国产| 久久xxxx| 国产久久久久久久久一区二区| 亚洲啪AⅤ永久无码| 97精品| 人妻少妇精品视频一区二区三区| 天天操福利视频综合网站| 久操在97| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 日韩精品人妻中文字幕不卡乱码| 亚洲综合888| 免费视频无码| 久久直播国产| 三级AV入口| 大香蕉一区二区在线观看.| 在线免费观看高清无码视频| 精品一区二区三区丰满熟女-亚洲欧美一区| 久艹99| 超碰在97| 国产自产22区| 高潮综合网| 男人天堂综合| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 天美传媒AV在线播放| 新怡红院| 日韩91网站| 好涩综合| 啊啊啊啊啊啊在线观看| 色五月AV| 91网站18禁| 亚洲在线a| 蜜臀在线网站| 91丰满| 婷婷爽人人婷婷爽视频| 屁股久久久久久| 亚洲精品一区二区日本| 亚洲av无码成电影在线播放| 国产精品女生av| 精品人妻av在线播放| 极品尤物自安慰| 天天草夜夜草高潮片| 久久av成人无码免费| 成人免费不卡在线视频| 色色婷婷丁香| 狠狠干婷婷| 爱射综合| 亚洲熟女乱色| 后入式在线免费观看60秒| 久久9亚洲| 粉嫩AV一区夜夜嗨| 日本精品九九九| 草B在线| 天天噜| 国产一级137片内射麻豆| 久久精品国产亚洲AV嘿嘿| 国产日韩欧美亚洲精品95| 爽极品影院| 91久久久久久久久18| 国产av高清版| 久久鲁夜| 操淫穴亚洲五月丁香 | 精品中文日韩字幕视频| 啊啊在线| 成年人黄色视频免费| 麻豆 美女 丝袜 人妻 中文| 国产精品乱码久久久久| 日本色色视频网站| 亚欧无码在线| 97久久久久久久精| 久久久久久久久久久999| 玖日综合网| 男人午夜天堂| 乱伦3P视频| 2001天天操| 久久妇| 欧美色欧美| 日本女优在线视频福利| 麻豆视频test| 日日黄色三级网站| 后入国产| 成 人片 黄色大片| 99精品在线| 操逼999| 亚洲天天操| 亚洲中文国际强奸字幕| 国产蜜臀精品一区免费尤物| 久久成人网站| 国产美女口爆吞精视频| 欧美操人| 亚洲色丰满少妇高潮| 94色色电影网| 国产无码一二三区| 色噜噜人妻av 中文字幕| av草草在线电影| 久久久久久亚洲Av无码精| 欧美精品999| 好舒服视频| 综合网欧美| 伊人久久大香大香线蕉中文| 国产精品熟女九九九| 97亚洲中文| 亚洲日韩成人性爱视频| 一区,二区,三区视频| 国产精品久久久 | 在线情色电影 91大| 很狠操| 嫩草在线视频| 九九玖玖精品| 农村少妇久久久久久久| 欧美日韩另类在线播放| 99热综合| 五月天精品| 欧美日韩激情无码专区| 精品一区二区三区四区女| 亚洲97在线观看| 97在线视频观看| 丰满精品人妻少妇久久字幕| 亚洲色婷婷久久91| 欧美嗯啊……在线观看视频免费| 97国产|免费| 国产亚洲禁久一区二区| 欧美日韩人妻少妇 一区二区三区| 久欲AV| 浪人综合网| 99色骚| 超碰无码加勒比| 亚洲色偷偷色噜噜狠狠99网| 香蕉99秘 一区精品蜜桃臀| av网页一区二区三区| 日本不卡二三区| 超碰免费人妻人人| 高树玛利亚无码流出| 国产高清成人免费视频| 九九成人| 久久亚洲天堂| 国产极品美女高潮无套在线观看| 日日噜噜夜夜久久亚洲一区二区| 国产传媒操逼视频| 粉嫩小泬久久久一区二区| 色网在线视频观看免费| 久草热制服丝袜在线观看| 成人激情无码在线视频| 屁股久久久久久久久| 无码av永久免费专区网站| 视频在线中文字幕| 亚洲 欧美 手机在线观看| 男人天堂网手机版婷婷| 91人妻素女| 91老熟女91老女人| 操屄不卡视频| 色九久| 亚洲综合中文字幕有码| 性欧美| 91大学精品激情戏| 人人操欧美风骚| 日韩美脚一区二区网站| 色悠久久久av| 97久久视频| 91操操| 清纯唯美亚洲| 啊啊啊啊啊操我视频| 日本人妻伦在线中文字幕| 97视频在| 亚洲成人久久美女| 日韩9区| 亚洲精品视频在线| 久久久久亚洲Av无码专区老牛影视 | 99热9| 久久天堂| 老女人老91妇女老热女| 在线观看国产黄色| www亚洲欧美| 少妇天堂网络| 在免费jIzzjIzz在线视频| 淫穴高潮色图| 国产日本熟女顶级一区二区三区视频| 欧美自拍偷拍综合图片| 91天美传媒精品| 久久久久九九九| 99999亚洲| 日逼五月天| 天堂中文资源在线bt| 亚洲欧美日韩不卡人妻| 东京成人一区| 手机在线A片| 欧美se综合| 国产精品网站免费| 欧美一区二区亚洲天堂| 日本一道在线播放高清| 亚洲s色图| 97免费在线视频在线观看| 国产一区二区a毛片| 麻豆a'v电影| 九久久九精品视频| 精品一二三区久久AAA片| 清纯唯美亚洲综合| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 一区超碰一区| 超碰在线974| 亚洲成人久久美女| 你懂的在线观看区国产| 国产尤物在线三区| 97公开久久| 丰满人妻一区二区三区免费,| 久久久久亚洲Av无码专区老牛影视| 操逼啊啊啊91| 东京成人一区| 丰满人妻无码一区二区三区| 一本久道久久综合狠狠爱一密臀精| 啊灬快c我灬啊灬用力灬啊灬-国产精品性做久久久久久-成人AV | 国产熟女无套内射| 91少妇香蕉久久精品| 国产一区二区啪啪视频| 男人精品区| 91肏屄网| 三级三久久线久久99久目本WW| 26uuu国产亚洲综合| 欧美亚洲手机在线| 九一性生活免费视频| 四虎AV无码| 久久性爱视频| 黄片不用下载在线观看| 免费av在线播放二区| 成人情色综合网| 好爽,再快点啊哈嗯嗯嗯嗯| 超碰91在线| 伊人丁香五月婷婷| 囯产精品久久久久久久久久梁医生| 深爱伊人影院| 久久↗↗| 99re这里| 95精品在线| 激情五月天网| 91精品久久久久久77777| 丰满人妻一区二区三区| 东京热毛片调教| 国产女主播视频在线观看| 日日夜夜草草草| 毛片17S| 开心五月深爱五月| 一起草欧美| yiqicaoav| 亚洲天堂男人天堂网| 96久久久久久久| 91亚洲丝袜| 亚洲限制级| www.99热在线只有精品| 一个人在线看的黄色电影网站| 五月天久久久| 久久九九综合| 清柠毛片| 成人AV在线电影| 欧美人人AAA| 在线观看亚洲专区| 91人妻做a观看视频| 午夜120视频在线观看| 熟女五十路一区二区三| 日本www操操操| 中文字幕精品一区二| 国产狂喷潮在线精品| 国产无吗在线播放| 熟妇xxxxx性春色| 国产一区二区在线播放量| 国产91会所女技师在线观看| 级做a爱无码性色永久免费| 97爱综合| 国内精品嫩模A∨私拍小视频| 超碰诱惑| 久久香蕉国产传媒一区剧情天美| 色综合天天| 好淫网一二三视区| 九热大香蕉| 曰本精品久久久| 欧美国产有色电影| 国产AB视频| 午夜精品久久久久久久第一页按摩| 91九色丨风韵犹存| 3PAV乱伦视频| 国产精品 久久久精品一牛| 中文字幕一区二区韩| 秋霞一级视频在线观看免费| 日B操| AAAAAAAAA黄片| 色综合色欲色综合色综合色综合| 大香蕉啪啪网| 成人婷婷丁香| 亚熟在线| 青青操视频在线| 欧美综合色图片| 中文字幕av亚洲精品| 国产av激情无码久久天堂| 亚洲色 国产 欧美 日韩| 亚洲欧洲网站免费观看| 人人喜人人妻| 啊啊啊97视频| 天天综合网亚洲综合网| 性色亚洲| 青椒国产97在线熟女| 日韩久久.一级黄色片| 亚洲熟女中文字幕在线| 日韩性爱网址| 台欧久久精品视频| 色悠久久久av| 午夜噜噜噜| 蜜乳AV免费观看| 亚洲精品乱码久久久久久蜜桃麻豆 | 亚洲无码一二三区| 九九色色| 青青草成人视频在线观看二区| 久九9精品| 久久精品一区二区| 黄色免费网| 亚洲欧洲网站免费观看| 久久久精品日本一道| 亚洲成人精品久久久| 舔人妻中文免费视频| 91制服丝袜中文字幕| 精品欧美乱码久| 91精品国产日韩欧美综合| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 国产精品视频白浆免费| 日韩中字av一区| 久久久九| 日韩av不卡在线看| 日韩午夜精品一区二区三区电影| 麻豆 欧美 日韩| 欧美在线|亚洲| 久九九九| 性爱免费视频成人| 天天肏美女| 4虎在线视频| 一区二区三区美女超清| 国产激情久久| 按摩中文字幕| 亚洲欧美综合网| 草草影院日本第一页| 91久久久久久久久久久| 亚洲天天自拍| 日韩色欲久久一二三四区| 97日本超碰综合| 欧美 日韩第一性色| 都市久久精品激情亚洲| 亚洲色天堂日韩中| 久久超碰天天| 三级网色| 久插综合| 精品人妻视频一区二区在线播放| 国内亚洲高清无码| 97人妻碰碰中文无码久热丝袜| 人妻精品4K4K4K4K4| 98久久超碰| 国产情侣自拍在线播放| 日韩熟女精品无码专区一区二区 | 综合97久久| 91中文精品日韩欧美在线 | 人妻精品视频一区二区| 精品丰满人妻一区二区三区免费观| 欧美人妻另类在线| 制度丝袜99| 麻豆 亚洲 97| 手机看片日韩人妻| 亚洲欧美九九九| 99久久久无码国产精品性啊聊| a久久| 高颜值美女口爆高潮浪叫| 91精品啪在线观看国产城中村| 亚洲五区熟女| 偷拍 欧美 日韩| AV一二区| 黄页| 久久久久久午夜男人的天堂| 99超碰碰| 91欧美| 男人的天堂1024| 欧美成人一区二区三区在线播放| 劲爆欧美人妖三区91| 日本操逼二区| 丁香五月天啪啪| 欧美少妇人妻| 九九激情网| 精品人妻一区二区三区不卡断| 综合欧美日本三级| 久热精品在线| 五月丁香大香蕉| 91欧美 | 九色视频91| 超碰97久| 日本在线不卡v二区| 97草草| 国产欧美岛国精品一区| 久久精品男人的天堂| 福利在线黄片| 五月天欧美色图| 6080YYY午夜理论片在线观看| 蜜臀久久99精品| 青娱乐亚洲自拍| 中文欧丝袜诱惑| 97欧美资源| 天天热精品| 秋霞 色色| 亚洲精品视频在线播放| 蜜桃网熟妇| 99热在线播放| 精品国产一区探花在线观看| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 9999伦理视频| www.av在线视频| 丰满欧美放荡少妇在线| 五月婷婷性爱| 五月丁香黄色网| 九九热免费国产视频婷婷伊人| 亚洲欧美首页| 精品97精品97| 2017人人操,人人摸| 91真人天天在线| wwwcaobibi| 女人久久久| 天天插天天射| AA级电影三区| 欧美性天天影院| 91精品久久久久久综合五月天| 五月天婷婷社区| 九月AV| 92午夜免费福利视频| 久九九九九九九九热| 亚洲欧美精品一区天堂久久| 无码精品久久| 欧美熟女妇同| 超碰91在线| 天天伊人| 伊人991| 丁香婷婷久久 | 无码外流操逼视频| 国产偷人妻精品一区二区在线| 五月丁香激情综合网| 一级片视频啪啪| 亚洲AV不卡在线观看| 色av中文字| 久久精品店| 性videos欧美熟妇hdx| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 99久久久久| 免费?级毛片无码?∨蜜芽试看| 欧美九九九九九| 欧美综合色站| 中文字幕在线观看丝袜| 日日日日做夜夜夜夜无码| 欧美性暴力猛交| 五月婷婷青青草娱乐伊人| 啪啪91| 欧美日韩国产中文精品字幕自在自线| 91日韩| 一区二区三区四区在线不卡| 少妇被玩视频二三区| 亚洲第一在线视频| 午夜无遮挡男女啪啪视频| 欧美极品| aV中文麻| 好爽要喷了| 日日橹狠狠爱欧美超碰| 91亚洲人电影| 国产三级在线现体验区| 麻豆天美传媒毛片| 麻豆色99999| 亚洲精品蜜桃久久久久久久| 中文字幕片| 丁香五月激情综合| 色综合久久久久| 色香伊人| 色色婷婷丁香| caoni国产亚洲av| 欧美日韩啪啪电影| 韩国三级色呦呦| 骚女天天综合网| 在线亚洲丝袜视频网站| 国产婷婷一区| 夜夜嗨av午夜成人| 日本久操视频| 久操视频免费在线观看| www.色婷婷| 免费在线观看国内色片网站网址| 亚洲日本激情| 老熟女乱伦片| 午夜操一视频一区| 少妇丝袜在线观看AV| 青青草国产盗摄一二三区| 97国产精品国| 婷婷综合网| 小情侣高清国产在线视频| 韩国黄片aaaa| 国产精品毛片?v一区二区三区| 欧美gv在线观看| 无码78| 91性感在线| 久久久久久无码人妻中文字幕| 久久精品男人的天堂| 色拍偷亚洲| 超碰69| 亚洲电影91| 亚洲高清少妇| 好爽要喷了| 热热色国产一二区AV| 亚洲精品97久久中文字幕| 人妻喷水| 成人草草视频| 欲香欲色综合天天伊人| 亚洲少妇免费视频\| 在线洲亚线| 性感美女91影视| 日韩97P| 久伊人网78| 五十路熟女人妻一区二区在线观看| 欧洲精品二区| 97超碰护士| 亚洲成人在线高清| 草莓精品视频在线免费观看| 中文字幕中文字幕一区二区| 日韩中文字幕人妻视频| 欧美一区二区三区日韩| 欧美国产日韩高清在线| 操逼操操操91| 超碰97精品在线| 99青草| 日韩操呦呦影院在线观看| 色悠久久久av| 欧美写真视频一区| 97视频在线免费观看| 夜间福利片1000无码| 在线无码操| 亚洲综合小说另类图欧美视频激情小说色五月天 | 亚洲欧美综合| 91国产操逼视频| 一级AV性爱| 婷婷去俺也去六月色| 久久老子无码午夜伦不卡| 综合五月天| 婷婷五月av| 殴美牲| 97视频620| 久9爱精品| 97欧美精品| 国产成人一级av88| 色色色99| 日日干夜夜操视频h| 亚洲男人的天堂一区二区| 四虎国产成人精品免费一女五男| 超碰午夜| 另类小说欧美激情校园春色| 97超碰人人操人人操| 九色精品视频导航1| 静品嫩模一区二区| 欧美色66| 亚洲在钱| 欧美色999| 丰满人妻一区二区三区四区| 婷婷丁香成人| 国产AV高清AV无码| julia在线观看久久| 久操影视| 婷婷综合伊人一区| 性久久| 蜜桃久久综合视频| 天天操人人操骚逼网站| 老熟乱一区二区三区四区| 激情黄色片在线观看| 殴美大黄片| 久久只有精品一区二区三区| 久久超碰天天| 岛国黄| 91free福利| 国产av热热色| 99热在线只有精品| 精品亚洲成人免费在线| 欧美一区二区三区日韩| 天天香香欲综合| 人妻少妇无码 | 91xingse| 超碰在线综合97| 思思热在线视频免费| 免费人成?大片在线播放| 中 文字幕一区二区三四 五 区日 日 骚| 中文字幕免费在线观看| 欧洲在线性爱视频| 不卡免费av在线播放| 99精品丰满人妻| 欧美色亚洲| 色色激情五月天| 男人的亚洲天堂| 国产视频人人网| 日本综合久久| 五月天综合网| 神马久久午夜| 六月婷婷激情| 久久久成人免费av电影| 欧美激情另类一区二区| 欧美老熟另类| 97久久超碰国产精品| 草草网站影院白丝内射| 中文字幕狠狠玩| 神马久久网| 啊啊啊啊啊在线| 成人丁香五月| 99热这里只有精品1| 亚洲成人日韩小说| 天天做天天爱天天爽AV| 网友自拍第一页| 99视频内射三四|