{"id":997,"date":"2026-06-24T12:59:01","date_gmt":"2026-06-24T03:59:01","guid":{"rendered":"http:\/\/kyunam.com\/?p=997"},"modified":"2026-06-24T21:08:18","modified_gmt":"2026-06-24T12:08:18","slug":"vllm%ec%9d%98-%ec%84%a4%ec%a0%95-%eb%b3%80%ea%b2%bd%ec%9c%bc%eb%a1%9c-%ec%86%8d%eb%8f%84%ec%97%90-%eb%b0%95%ec%b0%a8%eb%a5%bc-%ea%b0%80%ed%95%b4-%eb%b3%b4%ec%9e%90","status":"publish","type":"post","link":"http:\/\/kyunam.com\/?p=997","title":{"rendered":"vLLM\uc758 \uc124\uc815 \ubcc0\uacbd\uc73c\ub85c \uc18d\ub3c4\uc5d0 \ubc15\ucc28\ub97c \uac00\ud574 \ubcf4\uc790!"},"content":{"rendered":"\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n<title>CUDA\ub97c \uc704\ud55c Draft\ub97c \ub354\ubbf8\ub85c \ucc44\uc6b0\ub2c8, 70\uac1c \ucf00\uc774\uc2a4 \uc911 68\uac1c \ucf00\uc774\uc2a4\uac00 \ub4a4\uc9d1\ud614\ub2e4 \u2014 vLLM Engineering Notes 3\ud3b8<\/title>\n<style>\n  :root{\n    --ink:#1f2123;\n    --muted:#6a6d70;\n    --faint:#9a9da0;\n    --rule:#e6e7e9;\n    --rule-strong:#cfd1d3;\n    --accent:#2f6f6a;\n    --accent-deep:#244f4b;\n    --win-bg:#eef5f3;\n    --warn:#b25a2b;\n    --code-bg:#f6f7f8;\n    --page:#ffffff;\n    --maxw:740px;\n  }\n  *{box-sizing:border-box}\n  html{-webkit-text-size-adjust:100%}\n  body{\n    margin:0;background:var(--page);color:var(--ink);\n    font-family:\"Apple SD Gothic Neo\",\"Pretendard\",\"Noto Sans KR\",-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,sans-serif;\n    font-size:17px;line-height:1.82;letter-spacing:-.003em;\n    -webkit-font-smoothing:antialiased;\n  }\n  .wrap{max-width:var(--maxw);margin:0 auto;padding:60px 22px 90px}\n  a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(47,111,106,.30)}\n  a:hover{border-bottom-color:var(--accent)}\n  strong,b{font-weight:700}\n  em{font-style:italic}\n  code{background:var(--code-bg);border:1px solid var(--rule);border-radius:4px;\n    padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86em}\n\n\/* masthead *\/\n.eyebrow{font-size:13.5px;font-weight:700;letter-spacing:.04em;color:var(\u2013accent);margin-bottom:14px}\nh1.title{font-size:clamp(28px,5vw,40px);line-height:1.2;font-weight:800;letter-spacing:-.02em;margin:0 0 16px}\n.dek{font-size:18px;line-height:1.7;color:var(\u2013muted);margin:0 0 26px}\nhr{border:0;border-top:1px solid var(\u2013rule);margin:26px 0}\n.lead{font-size:17.5px;line-height:1.85;margin:26px 0 0}\n\n\/* section *\/\nsection{margin-top:56px}\n.snum{font-size:13px;font-weight:800;letter-spacing:.12em;color:var(\u2013accent);margin-bottom:3px}\nh2{font-size:23px;line-height:1.3;font-weight:800;letter-spacing:-.018em;margin:0 0 4px}\n.sub{font-style:italic;color:var(\u2013muted);font-size:16px;margin:0 0 20px}\nh3{font-size:18px;font-weight:700;margin:30px 0 4px;letter-spacing:-.01em}\np{margin:17px 0}\n.muted{color:var(\u2013muted)}\n.caveat{font-size:15.5px;line-height:1.74;border-left:3px solid var(\u2013warn);\npadding:2px 0 2px 16px;margin:24px 0;color:#46484a}\n\n\/* tables \u2014 \ubaa8\ub4e0 \ud45c \ub3d9\uc77c \ud615\uc2dd (\uc138\ub85c\uc120 \uc5c6\uc74c\u00b7\uac00\ub85c\uc904\ub9cc\u00b7\ud68c\uc0c9 \ud5e4\ub354\u00b79\uc5f4\ub3c4 \uc2a4\ud06c\ub864 \uc5c6\uc774) *\/\n.tw{overflow-x:auto;margin:22px 0;-webkit-overflow-scrolling:touch}\ntable{border-collapse:collapse;width:100%;font-family:inherit;line-height:1.5;min-width:0}\n.tw th,.tw td{font-size:12px}\nth,td{border:0;border-bottom:1px solid #e6e7e9;padding:6px 8px;\ntext-align:left;white-space:nowrap;vertical-align:top}\ntd:first-child,th:first-child{white-space:normal;min-width:8em}\nthead th{background:#eceef0;font-weight:700;color:#4a4d50;border-bottom:1px solid #d3d5d7}\ntd.l,th.l{text-align:left}\ntd.win{font-weight:700}\ntd.kk{font-weight:700}\n.k{color:var(\u2013muted);font-size:.9em}\n.tcap{font-size:13px;color:var(\u2013faint);font-style:italic;margin:9px 0 0;line-height:1.62}\n\n\/* figures *\/\nfigure{margin:30px 0}\nfigure img{width:100%;height:auto;display:block;border:1px solid var(\u2013rule);border-radius:6px}\nfigcaption{font-size:13.5px;color:var(\u2013muted);font-style:italic;margin-top:10px;line-height:1.64}\nfigcaption b{font-style:normal;font-weight:700;color:var(\u2013ink)}\n\n\/* code *\/\npre{background:var(\u2013code-bg);border:1px solid var(\u2013rule);border-radius:7px;\npadding:15px 17px;overflow-x:auto;margin:22px 0;\nfont-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;\nfont-size:13.5px;line-height:1.6}\npre .c{color:var(\u2013accent)}\n\n\/* lists *\/\nol.pit{margin:20px 0;padding-left:22px}\nol.pit li{margin:12px 0;padding-left:5px}\n\n\/* closing \/ footer *\/\n.closing{margin-top:56px;padding-top:24px;border-top:1px solid var(\u2013rule)}\n.closing .tag{font-size:12px;font-weight:800;letter-spacing:.14em;color:var(\u2013accent)}\n.closing p{font-size:17.5px;line-height:1.8;margin:10px 0 0}\n.env{margin-top:40px;padding-top:18px;border-top:1px solid var(\u2013rule);\nfont-size:13px;line-height:1.7;color:var(\u2013faint)}\n.env b{color:var(\u2013muted);font-weight:700}\n\n@media (max-width:560px){\nbody{font-size:16px}\n.wrap{padding:44px 16px 68px}\n}\n@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto}}\n<\/style>\n\n\n\n<div class=\"wrap\">\n\n  <!-- ===== MASTHEAD ===== -->\n\n  <div class=\"eyebrow\">vLLM Performance \u00b7 Engineering Notes \u2014 3\ud3b8<\/div>\n  <h1 class=\"title\">CUDA\ub97c \uc704\ud55c Draft\ub97c \ub354\ubbf8\ub85c \ucc44\uc6b0\ub2c8, 70\uac1c \ucf00\uc774\uc2a4 \uc911 68\uac1c \ucf00\uc774\uc2a4\uac00 \ub4a4\uc9d1\ud614\ub2e4<\/h1>\n  <p class=\"dek\">suffix \uc704\uc5d0 \ud55c \uc904. \uac00\ubcc0 draft\ub97c K\ub85c \uade0\uc77c \ud328\ub529\ud574 FULL cudagraph\ub97c \uc801\uc911\uc2dc\ud0a4\ub294 K-pad \u2014 2\ud3b8\uc774 \ub0a8\uae34 <strong>+36%<\/strong>\ub97c \uc774\ubc88 \ud3b8\uc5d0\uc11c\ub294 \ud55c \ubc88 \ub354 \ud0a4\uc6b4\ub2e4.<\/p>\n\n  <hr>\n\n  <p class=\"lead\"><a href=\"http:\/\/kyunam.com\/?p=967\">2\ud3b8<\/a>\uc5d0\uc11c \uc6b0\ub9ac\ub294 \uc124\uc815\uc744 \ud558\ub098\ub3c4 \ubc14\uafb8\uc9c0 \uc54a\uc558\ub294\ub370 vLLM \uae30\ubcf8 \uc124\uc815 \uce21\uc815\uac12\uc774 <strong>+36%<\/strong> \ube68\ub77c\uc84c\ub2e4\ub294 \uac83\uc744 \ud655\uc778\ud588\ub2e4. CUDA graph \uacbd\ub85c\uac00 <code>PIECEWISE<\/code>\uc5d0\uc11c <code>FULL_AND_PIECEWISE<\/code>\ub85c \ubc14\ub010 \uac83\uc774\ub2e4. \uc774\ubc88 \ud3b8\uc740 <code>PIECEWISE<\/code>\ub97c \uac15\ud654\ud560 \uc218 \uc788\ub294 \ubb34\uae30\uac00 \ubb34\uc5c7\uc778\uc9c0 \uc54c\uc544\ubcf8\ub2e4. draft\ub97c K\ubc30\ub85c \uade0\uc77c \ud328\ub529\ud574 FULL cudagraph\ub97c \uc77c\ubd80\ub7ec \uc801\uc911\uc2dc\ucf1c \uce90\uc2dc \ub77c\uc778\uc744 \ub9de\ucdb0 \uc90c\uc73c\ub85c\uc368, <strong>K-pad<\/strong>\uac00 suffix\ub97c \uac15\ud654\ud574 \uc0c8\ub85c\uc6b4 \ucc54\ud53c\uc5b8\uc774 \ud0c4\uc0dd\ud588\ub2e4.<\/p>\n\n  <!-- ===== 01 ===== -->\n\n  <section>\n    <div class=\"snum\">01<\/div>\n    <h2>\uc804\ud3b8\uc774 \ub0a8\uae34 +36%\uc758 \uc815\uccb4<\/h2>\n    <p class=\"sub\">\uc124\uc815\uc740 \uadf8\ub300\ub85c\uc600\ub2e4. \ube68\ub77c\uc9c4 \uac74 \uadf8\ub798\ud504 \uacbd\ub85c\uc600\ub2e4.<\/p>\n    <p>2\ud3b8\uc758 \ub9c8\uc9c0\ub9c9 \uc7a5\uc740 +36%\uc758 \uc758\ubb38\uc744 \ub0a8\uae30\uace0 \ub9c8\ubb34\ub9ac \ub418\uc5c8\ub2e4. \uc124\uc815\uc744 \ud558\ub098\ub3c4 \ubc14\uafb8\uc9c0 \uc54a\uc558\ub294\ub370, \ub450 \uce21\uc815 \uc0ac\uc774\uc5d0\uc11c vLLM \uae30\ubcf8 \uc124\uc815\uc774 7~8B \ubaa8\ub378 \uae30\uc900 +33~36% \ube68\ub77c\uc84c\ub2e4. \uac19\uc740 \ucf54\ub4dc, \uac19\uc740 \ubaa8\ub378, \uac19\uc740 \uc785\ub825<\/p>\n    <p>\uc815\ub2f5\uc740 <strong>cudagraph \uc2e4\ud589 \ubaa8\ub4dc<\/strong>\uc600\ub2e4. \ub450 \uce21\uc815\uc758 \ube4c\ub4dc \uacbd\ub85c\uc5d0\uc11c cudagraph\uac00 \uc7a1\ud788\ub294 \ubc29\uc2dd\uc774 \uac08\ub838\uc744 \uac00\ub2a5\uc131. FULL cudagraph\ub294 step \uc804\uccb4\ub97c \ub2e8\uc77c \uadf8\ub798\ud504\ub85c replay\ud574 \ucee4\ub110 \ub7f0\uce58 \uc624\ubc84\ud5e4\ub4dc\ub97c \uac77\uc5b4\ub0b4\ubbc0\ub85c, host-bound \uad6c\uac04\uc5d0\uc11c \uc218\uc2ed % \ub2e8\uc704\uc758 \ucc28\uc774\ub97c \ub9cc\ub4e4 \uc218 \uc788\ub2e4. \uadf8\ub7f0\ub370 cudagraph \ubaa8\ub4dc\ub294 2\ud3b8\uc774 \uc804\ud600 \ub2e4\ub8e8\uc9c0 \uc54a\uc740 \ucd95\uc774\ub2e4 \u2014 \uadf8\ub798\uc11c \uc774\ubc88 \ud3ec\uc2a4\ud305\uc5d0\uc11c \uc815\ub9ac \ud574 \ubcf8\ub2e4.<\/p>\n    <p>FULL cudagraph\uac00 \uc815\ub9d0 \uadf8\ub9cc\ud55c \ud6a8\uacfc\uac00 \uc788\ub2e4\uba74, \uadf8\uac78 \uc6b0\uc5f0\uc774 \uc544\ub2c8\ub77c \uc758\ub3c4\uc801\uc73c\ub85c \uc99d\ub300 \uc2dc\ud0a4\uba74 \ub41c\ub2e4.<\/p>\n  <\/section>\n\n  <!-- ===== 02 ===== -->\n\n  <section>\n    <div class=\"snum\">02<\/div>\n    <h2>K-pad \u2014 draft\ub97c K\ud06c\uae30\uc758 \ub370\uc774\ud130\uc640 \ube48\uacf5\uac04\uc744 \ub354\ubbf8\ub85c \ucc44\uc6cc FULL\uc744 \uae68\uc6b0\ub2e4<\/h2>\n    <p class=\"sub\">\uac00\ubcc0 draft\uac00 FULL cudagraph\ub97c \ub9c9\ub294\ub2e4. \uade0\uc77c \ud328\ub529\uc774 \uadf8 \ubb38\uc744 \uc5f0\ub2e4.<\/p>\n    <p>\uba3c\uc800 cudagraph \ubaa8\ub4dc \uc138 \uac00\uc9c0\ub2e4. <strong>PIECEWISE<\/strong>\ub294 step\uc744 \uc5ec\ub7ec \ubd80\ubd84 \uadf8\ub798\ud504\ub85c \ucabc\uac1c \ucea1\ucc98\ud55c\ub2e4 \u2014 \uc785\ub825 shape\uc774 \ubc14\ub00c\uc5b4\ub3c4 \uacac\ub514\uc9c0\ub9cc, \uadf8\ub798\ud504 \uc0ac\uc774\ub9c8\ub2e4 \ucee4\ub110 \ub7f0\uce58 \ube44\uc6a9\uc774 \ub0a8\ub294\ub2e4. <strong>FULL<\/strong>\uc740 step \uc804\uccb4\ub97c \ub2e8\uc77c \uadf8\ub798\ud504\ub85c \ucea1\ucc98\ud574 \ud55c \ubc88\uc5d0 replay\ud55c\ub2e4 \u2014 \ub7f0\uce58 \uc624\ubc84\ud5e4\ub4dc\uac00 \uc0ac\ub77c\uc838 \uac00\uc7a5 \ube60\ub974\uc9c0\ub9cc, \ud150\uc11c shape\uc774 \ub9e4 step \uace0\uc815\ub3fc\uc57c \ud55c\ub2e4. vLLM\uc758 <strong>FULL_AND_PIECEWISE<\/strong>(\uc774\ud558 <strong>FaP<\/strong>)\ub294 \ub458\uc744 \ud569\uce5c \ubaa8\ub4dc\ub2e4: shape\uc774 \uace0\uc815\uc774\uba74 FULL\ub85c replay\ud558\uace0, \uac00\ubcc0\uc774\uba74 PIECEWISE\ub85c \ub5a8\uc5b4\uc9c4\ub2e4. \uc989 \uc55e\uc5d0\uc11c \ubcf8 +36% \ub808\ubc84\uc758 \uc815\uccb4\ub294 &#8220;FULL\uc774 \uc7a1\ud614\ub290\ub0d0&#8221;\uc600\uace0, FULL\uc744 \uc4f0\ub824\uba74 shape\uc744 \uace0\uc815\ud574\uc918\uc57c \ud55c\ub2e4.<\/p>\n\n<figure>\n  <img decoding=\"async\" src=\"http:\/\/kyunam.com\/wp-content\/uploads\/2026\/06\/IMG_0929.png\" alt=\"cudagraph \ubaa8\ub4dc \u2014 PIECEWISE \/ FULL \/ FULL_AND_PIECEWISE(FaP)\">\n  <figcaption><b>Figure 1 \u00b7 cudagraph \ubaa8\ub4dc.<\/b> PIECEWISE\ub294 \ubd80\ubd84 \uadf8\ub798\ud504 \uc5ec\ub7ec \uac1c(shape \uac00\ubcc0 OK, \ub7f0\uce58 \uc624\ubc84\ud5e4\ub4dc \ub0a8\uc74c), FULL\uc740 step \uc804\uccb4 \ub2e8\uc77c \uadf8\ub798\ud504(\uac00\uc7a5 \ube60\ub984, shape \uace0\uc815 \ud544\uc694). FaP\ub294 draft shape\uc774 \uace0\uc815\uc774\uba74 FULL, \uac00\ubcc0\uc774\uba74 PIECEWISE\ub85c \ubd84\uae30\ud55c\ub2e4 \u2014 K-pad\uc774 \ub178\ub9ac\ub294 \uac74 \uadf8 FULL \ubd84\uae30\ub2e4.<\/figcaption>\n<\/figure>\n\n<p>Suffix decoding\uc740 step\ub9c8\ub2e4 <em>\uac00\ubcc0 \uae38\uc774<\/em>\uc758 draft\ub97c \ubf51\ub294\ub2e4. Suffix tree\uc5d0\uc11c match\ub41c \ub9cc\ud07c\ub9cc \u2014 \uc5b4\ub5a4 step\uc740 3\ud1a0\ud070, \uc5b4\ub5a4 step\uc740 9\ud1a0\ud070. \uadf8\ub7f0\ub370 FULL cudagraph\ub294 <strong>\uace0\uc815\ub41c \ud150\uc11c shape<\/strong>\uc744 \uc804\uc81c\ub85c replay\ud55c\ub2e4. draft \uae38\uc774\uac00 \ub9e4 step \ud754\ub4e4\ub9ac\uba74 FULL \uadf8\ub798\ud504\ub97c \ubabb \uc4f0\uace0 <code>PIECEWISE<\/code> \uacbd\ub85c\ub85c \ub5a8\uc5b4\uc9c4\ub2e4. \uc989 suffix\ub97c \ucf1c\ub294 \uc21c\uac04, \uc704\uc5d0\uc11c \ubcf8 \uadf8 +36%\uc9dc\ub9ac \ub808\ubc84\ub97c \uc2a4\uc2a4\ub85c \ubc18\ub0a9\ud558\uace0 \uc788\ub358 \uc148\uc774\ub2e4.<\/p>\n<p>K-pad\uc758 \ucc98\ubc29\uc740 \ud55c \uc904\uc774\ub2e4. draft\ub97c \ud56d\uc0c1 <strong>K\uac1c\ub85c \uade0\uc77c \ud328\ub529<\/strong>\ud574\uc11c shape\uc744 \uace0\uc815\ud55c\ub2e4. \uadf8\ub7ec\uba74 \ub9e4 step\uc774 \uac19\uc740 \ubaa8\uc591\uc774 \ub418\uc5b4 FaP\uc758 FULL \ubd84\uae30\ub97c \uc801\uc911\uc2dc\ud0a8\ub2e4. \ud328\ub529\uc73c\ub85c \ucc44\uc6b4 \uac00\uc9dc \ud1a0\ud070\uc740 \uc5b4\ub5bb\uac8c \ub418\ub098 \u2014 <strong>rejection sampler\uac00 \uc804\ubd80 \uae30\uac01<\/strong>\ud55c\ub2e4. \uadf8\ub798\uc11c \ucd9c\ub825 \ubd84\ud3ec\ub294 \ud328\ub529\ud558\uc9c0 \uc54a\uc740 suffix\uc640 <strong>\ube44\ud2b8 \ub2e8\uc704\ub85c \ub4f1\uac00<\/strong>\ub2e4(\ucd9c\ub825 \ub3d9\uc77c\uc131 \uac80\uc99d \ud1b5\uacfc). \uacf5\uc9dc\ub85c \ubaa8\uc591\ub9cc \ub9de\ucdb0 FULL\uc744 \ucf1c\ub294 \uac83\uc774\ub2e4.<\/p>\n\n<pre><span class=\"c\"># suffix + uniform K-pad + FULL_AND_PIECEWISE<\/span>\n--speculative-config '{\"method\":\"suffix\",\"num_speculative_tokens\":K}'   <span class=\"c\"># K \u2208 {4,6,8,12}<\/span>\nexport VLLM_SUFFIX_PAD_UNIFORM=1     <span class=\"c\"># draft\ub97c K\ub85c \uade0\uc77c \ud328\ub529 \u2192 FULL cudagraph \uc801\uc911<\/span>\n<span class=\"c\"># cudagraph_mode=FULL_AND_PIECEWISE (FaP) \u00b7 gmu 0.85 \u00b7 max_model_len 16,384<\/span><\/pre>\n\n<figure>\n  <img decoding=\"async\" src=\"http:\/\/kyunam.com\/wp-content\/uploads\/2026\/06\/IMG_0925.png\" alt=\"K-pad \ub3d9\uc791 \ub2e4\uc774\uc5b4\uadf8\ub7a8 \u2014 \uac00\ubcc0 draft\ub294 PIECEWISE, \uade0\uc77c K \ud328\ub529\uc740 FULL cudagraph \uc801\uc911\">\n  <figcaption><b>Figure 2 \u00b7 K-pad\uc758 \ud55c \uc904.<\/b> \uc704: suffix\ub294 step\ub9c8\ub2e4 draft \uae38\uc774\uac00 \ub2ec\ub77c FULL cudagraph\ub97c \ubabb \uc4f4\ub2e4(PIECEWISE). \uc544\ub798: \ubaa8\ub4e0 step\uc744 K(=8)\ub85c \uade0\uc77c \ud328\ub529\ud558\uba74 shape\uc774 \uace0\uc815\ub418\uc5b4 FULL\uc774 \uc801\uc911\ud55c\ub2e4. \ud328\ub529 \ud1a0\ud070(\uc810\uc120)\uc740 \uc5b4\ucc28\ud53c rejection sampler\uac00 \uae30\uac01\ud558\ubbc0\ub85c \ucd9c\ub825 \ubd84\ud3ec\ub294 \ud328\ub529 \uc804\uacfc \ub3d9\uc77c\ud558\ub2e4.<\/figcaption>\n<\/figure>\n\n<p>\uc815\ub9ac\ud558\uba74 K-pad = <strong>suffix + \uade0\uc77c K \ud328\ub529 + FaP + corpus\ubcc4 best-K<\/strong>\uc758 4\ub2e8 \uc870\ud569\uc774\ub2e4. \ud328\ub529 \uc5c6\ub294 suffix\ub97c \uae30\uc900\uc120\uc73c\ub85c, (a) K\ub97c 32 \ub300\uc2e0 {4,6,8,12}\ub85c \ub0ae\ucd94\uace0 (b) draft\ub97c \uadf8 K\ub85c \uade0\uc77c \ud328\ub529\ud55c \ubcc0\ud615. \uc774\ud558 \uc774 \ucf00\uc774\uc2a4\ub294 <strong>bestKpad<\/strong>\ub85c \uc4f4\ub2e4.<\/p>\n\n  <\/section>\n\n  <!-- ===== 03 ===== -->\n\n  <section>\n    <div class=\"snum\">03<\/div>\n    <h2>\uc804\uccb4 \uacb0\uacfc \u2014 \uc2e0\uc784 \uac15\uc790<\/h2>\n    <p class=\"sub\">11\uac1c \ubaa8\ub378 \u00d7 7\uac1c corpus = 77\uc140. bestKpad\uac00 \uadf8\uc911 68\uac1c \uc5d0\uc11c \ucd5c\ub300 \ucd9c\ub825.<\/p>\n    <p>\uc544\ub798\ub294 \uc6b4\uc601 \ubd84\ud3ec\ub97c \ud63c\ud569\ud55c mix corpus\uc5d0\uc11c \uc804\ud3b8\uc758 \ucc54\ud53c\uc5b8\uc774\uc5c8\ub358 suf(OFF)\uc640 bestKpad\ub97c \ub098\ub780\ud788 \ub454 \uac83\uc774\ub2e4. \uc140 \uc606 <code>(Kxx)<\/code>\ub294 \uadf8 \uc870\ud569\uc5d0\uc11c \uac00\uc7a5 \uc131\ub2a5\uc774 \uc88b\uc740 best-K. \ub2e8\uc704 tok\/s.<\/p>\n\n<div class=\"tw\">\n<table>\n  <thead><tr>\n    <th class=\"l\">model (mix)<\/th><th>van(OFF)<\/th><th>suf(OFF)<\/th><th>bestKpad<\/th><th>\u0394 vs suf(OFF)<\/th>\n  <\/tr><\/thead>\n  <tbody>\n    <tr><td class=\"l\">Qwen2.5-7B<\/td><td class=\"num\">4,169<\/td><td class=\"num\">7,803<\/td><td class=\"num\">7,488 (K6)<\/td><td class=\"num neg\">\u22124.0%<\/td><\/tr>\n    <tr><td class=\"l\">DS-R1-Distill-Qwen-7B<\/td><td class=\"num\">9,058<\/td><td class=\"num\">24,458<\/td><td class=\"num win\">27,664 (K12)<\/td><td class=\"num\">+13.1%<\/td><\/tr>\n    <tr><td class=\"l\">Llama-3.1-8B<\/td><td class=\"num\">8,850<\/td><td class=\"num\">27,851<\/td><td class=\"num win\">33,531 (K12)<\/td><td class=\"num\">+20.4%<\/td><\/tr>\n    <tr><td class=\"l\">Qwen2.5-32B<\/td><td class=\"num\">3,056<\/td><td class=\"num\">6,597<\/td><td class=\"num win\">7,274 (K8)<\/td><td class=\"num\">+10.3%<\/td><\/tr>\n    <tr><td class=\"l\">DS-R1-Distill-Qwen-32B<\/td><td class=\"num\">4,938<\/td><td class=\"num\">9,056<\/td><td class=\"num win\">11,750 (K12)<\/td><td class=\"num\">+29.7%<\/td><\/tr>\n    <tr><td class=\"l\">Qwen2.5-72B<\/td><td class=\"num\">2,735<\/td><td class=\"num\">5,268<\/td><td class=\"num win\">6,897 (K6)<\/td><td class=\"num\">+30.9%<\/td><\/tr>\n    <tr><td class=\"l\">Llama-3.1-70B<\/td><td class=\"num\">3,129<\/td><td class=\"num\">10,400<\/td><td class=\"num win\">14,389 (K12)<\/td><td class=\"num\">+38.4%<\/td><\/tr>\n    <tr><td class=\"l\">DS-R1-Distill-Llama-70B<\/td><td class=\"num\">3,164<\/td><td class=\"num\">6,127<\/td><td class=\"num win\">6,493 (K12)<\/td><td class=\"num\">+6.0%<\/td><\/tr>\n    <tr><td class=\"l\">Llama-3.1-405B-FP8<\/td><td class=\"num\">1,252<\/td><td class=\"num\">2,829<\/td><td class=\"num win\">3,446 (K6)<\/td><td class=\"num\">+21.8%<\/td><\/tr>\n    <tr><td class=\"l\">DeepSeek-R1 (671B MoE)<\/td><td class=\"num\">1,538<\/td><td class=\"num\">781<\/td><td class=\"num win\">2,224 (K12)<\/td><td class=\"num\">+184.8%*<\/td><\/tr>\n    <tr><td class=\"l\">K-EXAONE-236B<\/td><td class=\"num\">2,491<\/td><td class=\"num\">11,213<\/td><td class=\"num win\">11,702 (K12)<\/td><td class=\"num\">+4.4%<\/td><\/tr>\n  <\/tbody>\n<\/table>\n<\/div>\n<p class=\"tcap\"><strong>bestKpad\uac00 11\uac1c \ubaa8\ub378 \uc911 10\uac1c\uc5d0\uc11c mix winner.<\/strong> \uc608\uc678\ub294 Qwen2.5-7B(\u22124.0%) \ud558\ub098\ubfd0 \u2014 \uce21\uc815 \uc138\uc158 \uac04 drift\ub85c \ubcf4\uc774\ub294 \uc140\uc774\ub2e4. *DeepSeek-R1\uc758 \u0394\ub294 \ud68c\uadc0\ud55c suffix \ub300\ube44\ub77c \uacfc\uc7a5\ub428: vanilla \ub300\ube44\ub85c\ub294 +44.6%(1,538\u21922,224). \uc804\uccb4 77\uc140\ub85c \ub113\ud788\uba74 bestKpad\ub294 68\uc140\uc5d0\uc11c \ud589 \ucd5c\ub300, \uc608\uc678 2\uc140(Qwen2.5-7B\uc758 lmsys\u00b7mix).<\/p>\n\n<p>\ud575\uc2ec\uc740 \ub450 \uac00\uc9c0\ub2e4. \uccab\uc9f8, K-pad\uc740 \uc804\ud3b8\uc758 \ucc54\ud53c\uc5b8 suf(OFF) <strong>\uc704\uc5d0<\/strong> dense\u00b7distill \uc804\ubc18\uc5d0\uc11c +10~+38%\ub97c \ub354 \uc5b9\uc5c8\ub2e4. suffix \uc790\uccb4\uac00 \ub9cc\ub4e0 \ud070 \uc810\ud504(\uc804\ud3b8) \ub2e4\uc74c\uc5d0, \uac19\uc740 \ucd9c\ub825\uc73c\ub85c \ud55c \ubc88 \ub354 \uc810\ud504\uac00 \uc788\uc5c8\ub358 \uc148\uc774\ub2e4. \ub458\uc9f8, \uadf8 \ucd94\uac00\ubd84\uc758 \ud06c\uae30\uac00 \ubaa8\ub378\ub9c8\ub2e4 \ub2e4\ub978\ub370 \u2014 70B\uae09(+30~38%)\uc5d0\uc11c \uac00\uc7a5 \ud06c\uace0 \uc18c\ud615(+6~13%)\uc5d0\uc11c \uc791\ub2e4. host-bound \ube44\uc911\uc774 \ud070 \uad6c\uac04\uc77c\uc218\ub85d FULL cudagraph \uc131\ub2a5 \uc99d\uac10 \ud6a8\uacfc \ub354 \ud06c\ub2e4\ub294 \uc55e\uc758 \ud574\uc11d\uacfc \uc815\ud655\ud788 \ub9de\ubb3c\ub9b0\ub2e4.<\/p>\n\n<figure>\n  <img decoding=\"async\" src=\"http:\/\/kyunam.com\/wp-content\/uploads\/2026\/06\/IMG_0926.png\" alt=\"K-pad\uc774 \uc804\ud3b8 \ucc54\ud53c\uc5b8 \uc704\uc5d0 \ub354\ud55c mix \uc99d\uac00\ubd84 \ub9c9\ub300 \ucc28\ud2b8\">\n  <figcaption><b>Figure 3 \u00b7 K-pad\uc774 \uc804\ud3b8 \ucd5c\uace0 \uc131\ub2a5(suf(OFF)) \uc704\uc5d0 \ub354\ud55c mix \uc99d\uac00\ubd84.<\/b> 70B\uae09\uc5d0\uc11c \uac00\uc7a5 \ud06c\uace0 \uc791\uc740 \ubaa8\ub378\uc5d0\uc11c \ud6a8\uacfc\uac00 \uc791\ub2e4 \u2014 host-bound \ube44\uc911\uacfc FULL cudagraph \uc99d\ub300 \ud6a8\uacfc\uac00 \ube44\ub840\ud55c\ub2e4\ub294 \uc55e\uc758 \ud574\uc11d\uacfc \uc77c\uce58. \u2020DeepSeek-R1\ub9cc vanilla \ub300\ube44(suffix\uac00 \ud68c\uadc0\ud55c \ubaa8\ub378).<\/figcaption>\n<\/figure>\n\n<p class=\"caveat\"><strong>\ube44\uad50 caveat.<\/strong> bestKpad\uc640 van\u00b7suf \uce21\uc815\uc740 \uc11c\ub85c \ub2e4\ub978 \uc138\uc158\uc5d0\uc11c \uc7a1\ud614\ub2e4 \u2014 \uac19\uc740 \uba38\uc2e0\u00b7\uac19\uc740 \ud658\uacbd\uc5d0 \uce21\uc815 \uc2dc\uc810\uc774 \ub2ec\ub77c, \uc791\uc740 \ucc28(\u00b1\uba87 %)\ub294 \uce21\uc815 \uac04 drift\uc77c \uc218 \uc788\uace0 \ud070 \ucc28\uac00 best-K-pad\uc758 \uc2e4\ud6a8\uacfc\ub2e4. \ub610 bestKpad\ub294 \uc77c\ubd80 CPU \ucf54\uc5b4\ub97c \uace0\uc815(<code>taskset 0-47,56-103<\/code>)\ud574 \uce21\uc815\ud588\uc73c\ubbc0\ub85c \uc808\ub300\uac12 \uc9c1\uc811\ube44\uad50\uc5d4 \uc8fc\uc758\uac00 \ubd99\ub294\ub2e4. Qwen2.5-7B\uc758 \ub450 \uc608\uc678 \uc140\uc774 \uc815\ud655\ud788 \uc774 drift \ud6c4\ubcf4\ub2e4.<\/p>\n<p class=\"muted\">\uc704\ub294 mix \ud55c \uc5f4\uc774\ub2e4. 11\uac1c \ubaa8\ub378 \u00d7 7\uac1c corpus \uc804\uccb4\uc640 K=4\/6\/8\/12 raw sweep\uc740 <strong>\ub9e8 \ub05d \ubd80\ub85d \uc804\uccb4 \ud45c<\/strong>\uc5d0 \uc788\ub2e4.<\/p>\n\n  <\/section>\n\n  <!-- ===== 04 ===== -->\n\n  <section>\n    <div class=\"snum\">04<\/div>\n    <h2>best-K\ub294 corpus\uc5d0 \ub530\ub77c \ub2e4\ub974\ub2e4<\/h2>\n    <p class=\"sub\">K\u2208{4,6,8,12}. mix\ub294 \uac70\uc758 \ud56d\uc0c1 \ucd5c\ub300 K \u2014 2\ud3b8\uc758 K&gt;R\uc774 \uadf8\ub300\ub85c\ub2e4.<\/p>\n    <p>K-pad\uc758 K\ub294 \uace0\uc815 \uc0c1\uc218\uac00 \uc544\ub2c8\ub77c (\ubaa8\ub378, corpus)\ub9c8\ub2e4 \uac00\uc7a5 \ucd5c\ub300 \ucd9c\ub825\uc744 \uac00\uc9c4 K\uac12\uc774\ub2e4. \uadf8\ub7f0\ub370 \uadf8 \uc120\ud0dd\uc5d0 \ub610\ub837\ud55c \uacb0\uc774 \uc788\ub2e4. \uc544\ub798\ub294 \ub450 \ubaa8\ub378\uc758 corpus\ubcc4 best-K\ub2e4.<\/p>\n\n<div class=\"tw\">\n<table>\n  <thead><tr>\n    <th class=\"l\">best-K<\/th><th>sharegpt<\/th><th>wildchat<\/th><th>lmsys<\/th><th>humaneval<\/th><th>mbpp<\/th><th>swebench<\/th><th>mix<\/th>\n  <\/tr><\/thead>\n  <tbody>\n    <tr><td class=\"l\">Llama-3.1-70B<\/td><td class=\"num\">K6<\/td><td class=\"num\">K6<\/td><td class=\"num\">K8<\/td><td class=\"num\">K4<\/td><td class=\"num\">K6<\/td><td class=\"num\">K6<\/td><td class=\"num win\">K12<\/td><\/tr>\n    <tr><td class=\"l\">DS-R1-Distill-Qwen-7B<\/td><td class=\"num\">K8<\/td><td class=\"num\">K8<\/td><td class=\"num\">K8<\/td><td class=\"num\">K12<\/td><td class=\"num\">K8<\/td><td class=\"num\">K8<\/td><td class=\"num win\">K12<\/td><\/tr>\n  <\/tbody>\n<\/table>\n<\/div>\n<p class=\"tcap\">mix\uac00 \ud56d\uc0c1 \ucd5c\ub300 K\ub85c \uc218\ub834\ud55c\ub2e4. \uace0\uc218\uc6a9 \ubaa8\ub378(Llama-8B\u00b7K-EXAONE\uc740 \uc804 corpus K12)\uc740 \uc5b4\ub514\uc11c\ub098 \ud070 K\uc5d0\uc11c \ucd5c\ub300 \uc131\ub2a5\uc744 \ubcf4\uc778\ub2e4.<\/p>\n\n<figure>\n  <img decoding=\"async\" src=\"http:\/\/kyunam.com\/wp-content\/uploads\/2026\/06\/IMG_0928.png\" alt=\"best-K \ud788\ud2b8\ub9f5 \u2014 \ubaa8\ub378 \u00d7 corpus, \uc0c9\uc774 \uc9c4\ud560\uc218\ub85d \ud070 K\">\n  <figcaption><b>Figure 4 \u00b7 \ubaa8\ub378 \u00d7 corpus \ubcc4 best-K.<\/b> \uc0c9\uc774 \uc9c4\ud560\uc218\ub85d \ud070 K. mix \uc5f4\uc740 \uac70\uc758 \uc804\ubd80 K12, \uace0\uc218\uc6a9 \ubaa8\ub378(Llama-3.1-8B\u00b7K-EXAONE)\uc740 \uc804 corpus K12\ub85c \uc9d9\uace0, Qwen2.5-72B\u00b7DeepSeek-R1\ucc98\ub7fc \uc218\uc6a9\ub3c4\uac00 \ub0ae\uc740 \ucabd\uc740 \ub300\ubd80\ubd84 \uc791\uc740 K\uc5d0\uc11c \ucd5c\ub300 \uc131\ub2a5\uc744 \ubcf4\uc778\ub2e4.<\/figcaption>\n<\/figure>\n\n<p>\uc774\uac74 \uc804\ud3b8\uc758 \ubd80\ub4f1\uc2dd <strong>K&nbsp;&gt;&nbsp;R<\/strong> \u2014 \ud3c9\uade0 \ucc44\ud0dd \ud1a0\ud070 \uc218 K\u0304\uac00 spec step overhead \ubc30\uc218 R\uc744 \ub118\ub290\ub0d0 \u2014 \uc758 \uc9c1\uc811\uc801 \uacb0\uacfc\ub2e4. best-K\ub294 \uace7 &#8220;\uadf8 corpus\u00b7\ubaa8\ub378\uc774 \uacac\ub51c \uc218 \uc788\ub294 draft \uae38\uc774&#8221;\uc774\uace0, \uadf8\uac8c \ubc14\ub85c K\u0304\uc758 \ub300\ub9ac\uac12\uc774\ub2e4. mix\uac00 \ub298 \ucd5c\ub300 K\ub97c \uace0\ub974\ub294 \uac83\ub3c4 \uc804\ud3b8\uc5d0\uc11c \ubcf8 \uadf8 \ud328\ud134 \uadf8\ub300\ub85c\ub2e4: \uc774\uc9c8\uc801 \uc694\uccad\uc774 \uc11e\uc774\uba74 global suffix tree\uc758 hit \uae30\ud68c\uac00 \ub298\uc5b4 K\u0304\uac00 \ucee4\uc9c4\ub2e4. \uacbd\uacc4\ub97c \ubaa8\ub378 \ud06c\uae30\ub85c \uc678\uc6b0\uc9c0 \ub9d0\uace0 \uc790\uae30 corpus\uc5d0\uc11c K\ub97c \uc7ac\ub77c\ub358 2\ud3b8\uc758 \uad50\ud6c8\uc774, \uc774\ubc88\uc5d4 &#8220;\uadf8 K\ub97c \ud328\ub529 \ud3ed\uc73c\ub85c \uadf8\ub300\ub85c \uc4f0\ub77c&#8221;\ub85c \uc774\uc5b4\uc9c4\ub2e4.<\/p>\n<p class=\"muted\">\ub367\ubd99\uc774\uba74 \u2014 \uc5ec\uae30\uc11c K\ub294 \uc9c0\uc815\ub41c K\ub85c \uc218\ud589\ud574\uc11c \uc120\uc815\ud55c best-K\ub2e4. \ucee8\ud2b8\ub864\ub7ec\uac00 \ub7f0\ud0c0\uc784\uc5d0 K\ub97c \uc887\uac8c \ud558\ub294 \ub3d9\uc801-K(=upstream \ub958) \uc811\uadfc\uc740 \uc774 \uc131\ub2a5\uc744 \ub118\uc9c0 \ubabb\ud55c.<\/p>\n\n  <\/section>\n\n  <!-- ===== 05 ===== -->\n\n  <section>\n    <div class=\"snum\">05<\/div>\n    <h2>\ub450 \uacbd\uacc4\uac00 \ubb34\ub108\uc9c0\ub2e4<\/h2>\n    <p>K-pad\uc740 \ucc98\ub9ac\ub7c9\ub9cc \ub04c\uc5b4\uc62c\ub9b0 \uac8c \uc544\ub2c8\ub2e4. K\ub97c 32\uc5d0\uc11c {4,6,8,12}\ub85c \ub0ae\ucd98 \uac83 \uc790\uccb4\uac00, 2\ud3b8\uc774 \ub0a8\uae34 \ub450 \uac1c\uc758 \uc608\uc678\ub97c \ud68c\ud53c \ud558\uc600\ub2e4.<\/p>\n\n<h3>\uc608\uc678 1 \u2014 Llama-405B-FP8\uc774 \ub3d9\uc791 \ub41c\ub2e4<\/h3>\n<p>2\ud3b8\uc5d0\uc11c 405B-FP8 + suffix <strong>K=32<\/strong>\ub294 engine init\uc5d0\uc11c <code>num_gpu_blocks=0 \u2192 override=512<\/code> \ud6c4 crash\ud588\ub2e4. \uadf8 suffix \uc140\ub4e4\uc774 \uc601\uad6c \ubbf8\uce21\uc815\uc73c\ub85c \ub0a8\uc558\uace0, \ucc98\ubc29\uc740 &#8220;gmu\u00b7K\ub97c \ub0ae\ucd98 \uc7ac\uc2dc\ub3c4\uac00 \ud6c4\uc18d \uacfc\uc81c&#8221;\uc600\ub2e4. K-pad\uc774 \uc815\ud655\ud788 \uadf8 \uc7ac\uc2dc\ub3c4\ub2e4. <strong>K6\ub85c \ub0b4\ub9ac\ub2c8 \ubd80\ud305\uc774 \ub410\uace0<\/strong>, mix\uc5d0\uc11c 3,446 tok\/s(suf(OFF) \ub300\ube44 +21.8%)\ub97c \ucc0d\uc5c8\ub2e4. \uc2e4\ud589\uc774 \uc548\ub418\ub294 \ubaa8\ub378\uc774 \uc544\ub2c8\ub77c, K=32\ub77c\ub294 \uc0c1\uc218\uc5d0\uc11c\ub9cc \ub3d9\uc791 \ub418\uc9c0 \uc54a\ub358 \ubaa8\ub378\uc774\uc5c8\ub2e4.<\/p>\n\n<h3>\uc608\uc678 2 \u2014 671B MoE\uc758 \ud68c\uadc0\uac00 \ub4a4\uc9d1\ud78c\ub2e4<\/h3>\n<p>\uc804\ud3b8\uc5d0\uc11c DeepSeek-R1(671B MoE)\uc740 suffix\uac00 7\uac1c corpus \uc804\ubd80 net-negative\uc778 \uc720\uc77c\ud55c \ubaa8\ub378\uc774\uc5c8\ub2e4 \u2014 mix \uae30\uc900 vanilla 1,538 \u2192 suffix 781(\u221249%). &#8220;MoE\uc758 \uc6b4\uc601 \uc815\ub2f5\uc740 \ud604\uc7ac\ub85c\uc120 vLLM \uae30\ubcf8 \uc124\uc815&#8221;\uc774\ub77c\uace0 \uacb0\ub860 \uc9c0\uc5c8\ub2e4. K-pad\uc740 \uc774 \uacb0\ub860\uc744 \ubd80\uc815 \ud55c\ub2e4. mix\uc5d0\uc11c <strong>bestKpad\uac00 2,224 tok\/s<\/strong> \u2014 suffix(781)\uc758 2.8\ubc30\uc774\uc790, \ud68c\uadc0\uc758 \uae30\uc900\uc774\ub358 <strong>vanilla(1,538)\ub9c8\uc800 +44.6% \uc0c1\ud68c<\/strong>\ud55c\ub2e4.<\/p>\n<p><strong>\uc65c MoE\uc5d0\uc11c \ub418\uc0b4\uc544\ub098\ub098.<\/strong> suffix\uc758 \uac00\ubcc0 draft\uac00 MoE\uc758 expert routing\uacfc \uacb9\uce58\uba70 PIECEWISE \uacbd\ub85c\uc5d0\uc11c \ud2b9\ud788 \ub9ce\uc740 \uc131\ub2a5\uc744 \uc694\uad6c \ud55c \uac83\uc73c\ub85c \ubcf4\uc778\ub2e4. K\ub85c \ud328\ub529\ud574 shape\uc744 \uace0\uc815\ud558\uc790 \uadf8 \ube44\uc6a9\uc774 FULL \uadf8\ub798\ud504 \uc548\uc73c\ub85c \ud761\uc218\ub410\ub2e4 \u2014 \uba54\ucee4\ub2c8\uc998 \ub2e8\uc815\uc740 \ubcf8 \uc2e4\ud5d8 \ubc94\uc704 \ubc16\uc774\uc9c0\ub9cc, &#8220;MoE\uc5d0 suffix \uae08\uc9c0&#8221;\ub77c\ub358 \uc804\ud3b8\uc758 \uc6b4\uc601 \uac00\uc774\ub4dc\ub294 <strong>&#8220;MoE\uc5d4 \ud328\ub529 \uc5c6\ub294 suffix\ub97c \uae08\uc9c0&#8221;<\/strong>\ub85c \uc881\ud600\uc9c4\ub2e4.<\/p>\n\n<figure>\n  <img decoding=\"async\" src=\"http:\/\/kyunam.com\/wp-content\/uploads\/2026\/06\/IMG_0930.png\" alt=\"DeepSeek-R1 671B MoE \u2014 van\/suf\/K-pad corpus\ubcc4 \ube44\uad50, \ud68c\uadc0\uc5d0\uc11c \uad6c\uc81c\ub85c\">\n  <figcaption><b>Figure 5 \u00b7 671B MoE\uc758 \ubc18\uc804.<\/b> 2\ud3b8\uc5d0\uc11c \uc804 corpus \ud68c\uadc0\ud588\ub358 suffix(\uc8fc\ud669)\uac00, K-pad(\uccad\ub85d)\uc5d0\uc11c\ub294 vanilla(\ud68c\uc0c9) \uc704\ub85c \uc62c\ub77c\uc120\ub2e4(mix 1,538 \u2192 781 \u2192 2,224). dense\uc5d0\uc11c\uc758 \uc9c1\uad00\uc774 MoE\uc5d0 \uc774\uc2dd\ub418\uc9c0 \uc54a\ub294\ub2e4\ub358 \uc608\uc678\uac00, \ud328\ub529 \ud55c \uc904\ub85c \ud574\uacb0 \ub418\uc5c8\ub2e4.<\/figcaption>\n<\/figure>\n\n  <\/section>\n\n  <!-- ===== 06 ===== -->\n\n  <section>\n    <div class=\"snum\">06<\/div>\n    <h2>K-EXAONE-236B \u2014 suffix\uac00 4.4\u00d7 \uc131\ub2a5\uc774 \uae09\ub4f1\ud558\ub2e4<\/h2>\n    <p class=\"sub\">\uac19\uc740 &#8216;MoE&#8217;\ub77c\ub3c4 \uacb0\uacfc\ub294 \uc815\ubc18\ub300\ub2e4.<\/p>\n    <p>11\ubc88\uc9f8 \ubaa8\ub378\ub85c <strong>K-EXAONE-236B<\/strong>(A23B, 128 expert top-8, FP8 MoE)\ub97c \ucd94\uac00\ud588\ub2e4. \uc5ec\uae30\uc11c suffix\ub294 \ud3ed\ubc1c\uc801\uc774\ub2e4 \u2014 vanilla ~2,500\uc5d0\uc11c suffix ~11,000\uc73c\ub85c <strong>4.4\u00d7<\/strong>. 671B MoE\uac00 \ud68c\uadc0\ud588\ub358 \uac83\uacfc \uc815\ubc18\ub300\ub77c, &#8220;MoE\ub77c\uc11c \ud68c\uadc0\ud55c\ub2e4&#8221;\uac00 \uc544\ub2c8\ub77c \ubaa8\ub378\ubcc4 \uc218\uc6a9\ub3c4 \ucc28\uc774\uc784\uc744 \ubcf4\uc5ec\uc900\ub2e4. K-pad\uc740 \uc804 corpus K12\ub85c mix\uc5d0\uc11c 11,702(suf(OFF) \ub300\ube44 +4.4%) \ucd5c\ub300 \uc131\ub2a5\uc744 \ubcf4\uc778\ub2e4.<\/p>\n    <p>\uc218\uc6a9\ub3c4\uac00 \ub192\uc740 \ubaa8\ub378\uc740 \uc5b4\ub514\uc11c\ub098 \ud070 K\ub97c \uacac\ub518\ub2e4\ub294 \ud328\ud134 \uadf8\ub300\ub85c\ub2e4(\ud788\ud2b8\ub9f5 \ub9e8 \uc544\ub798 \uc904\uc774 \uc804\ubd80 K12). \uc989 FULL cudagraph \ub808\ubc84\ub294 dense\ub4e0 MoE\ub4e0, \ubaa8\ub378\uc774 draft\ub97c \ubc1b\uc544\uc8fc\uae30\ub9cc \ud558\uba74 \uadf8\ub300\ub85c \ubc15\ud78c\ub2e4 \u2014 \uacbd\uacc4\ub294 \uc544\ud0a4\ud14d\ucc98\uac00 \uc544\ub2c8\ub77c \uc218\uc6a9\ub3c4\uc5d0 \uc788\ub2e4.<\/p>\n  <\/section>\n\n  <!-- ===== 07 ===== -->\n\n  <section>\n    <div class=\"snum\">07<\/div>\n    <h2>\uc2e4\uc804 \uc801\uc6a9 \u2014 decision tree \uac31\uc2e0\ud310<\/h2>\n    <p class=\"sub\">\uc804\ud3b8\uc758 \ud2b8\ub9ac\uc5d0\uc11c, dense\uc758 default\ub97c \ud55c \uce78 \uc62c\ub9b0\ub2e4.<\/p>\n    <p>\uc804\ud3b8\uc758 \uad8c\uc7a5\uc740 &#8220;\ud45c\uc900 dense\ub294 suf(OFF)&#8221;\uc600\ub2e4. K-pad\uc740 \uadf8 \uc790\ub9ac\ub97c \uadf8\ub300\ub85c \ub300\uccb4\ud55c\ub2e4 \u2014 \uac19\uc740 \ucd9c\ub825, \uac19\uc740 \uace8\uaca9\uc5d0 \ud328\ub529 \ud55c \uc904.<\/p>\n\n<div class=\"tw\">\n<table>\n  <thead><tr><th class=\"l\">\ubaa8\ub378\uad70<\/th><th class=\"l\">\uad8c\uc7a5 lever<\/th><th class=\"l\">\uadfc\uac70 (mix, vs suf(OFF))<\/th><\/tr><\/thead>\n  <tbody>\n    <tr><td class=\"l\">\ud45c\uc900 dense 7B~405B<\/td><td class=\"l win\">bestKpad<\/td><td class=\"l\">+10 ~ +38%, \ucd9c\ub825 \ub4f1\uac00<\/td><\/tr>\n    <tr><td class=\"l\">distill 7B\/32B\/70B<\/td><td class=\"l win\">bestKpad<\/td><td class=\"l\">+6 ~ +30%<\/td><\/tr>\n    <tr><td class=\"l\">405B-FP8<\/td><td class=\"l win\">bestKpad K6<\/td><td class=\"l\">K=32 \ubd80\ud305\ubd88\uac00 \u2192 K6\ub85c \ud574\uc18c, +21.8%<\/td><\/tr>\n    <tr><td class=\"l\">671B MoE<\/td><td class=\"l win\">bestKpad K12<\/td><td class=\"l\">suffix \ud68c\uadc0\ub97c vanilla \uc704\ub85c \ubc18\uc804(+44.6%)<\/td><\/tr>\n    <tr><td class=\"l\">FP8 MoE (EXAONE)<\/td><td class=\"l win\">bestKpad<\/td><td class=\"l\">\uc804 corpus \ud070 K \uc720\ub9ac<\/td><\/tr>\n  <\/tbody>\n<\/table>\n<\/div>\n\n<pre><span class=\"c\"># server boot \u2014 K-pad (per-corpus best-K)<\/span>\n--speculative-config '{\"method\":\"suffix\",\"num_speculative_tokens\":K}'   <span class=\"c\"># K \u2208 {4,6,8,12}<\/span>\nexport VLLM_SUFFIX_PAD_UNIFORM=1\n<span class=\"c\"># cudagraph FULL_AND_PIECEWISE \u00b7 gmu 0.85 \u00b7 max_model_len 16,384<\/span>\n\n<span class=\"c\"># \uacf5\ud1b5 env (2\ud3b8\uacfc \ub3d9\uc77c)<\/span>\nexport ARCTIC_INFERENCE_ENABLED=0 VLLM_PLUGINS=\"\"\nexport PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True\nexport VLLM_NGRAM_NUM_THREADS_CAP=8 VLLM_NGRAM_DIVIDE_BY_TP=0<\/pre>\n\n  <\/section>\n\n  <!-- ===== 08 ===== -->\n\n  <section>\n    <div class=\"snum\">08<\/div>\n    <h2>\ud68c\ud53c\ud574\uc57c \ud560 \ud568\uc815\ub4e4<\/h2>\n    <p class=\"sub\">K-pad\uc774 \uc0c8\ub85c \ub4e4\uace0 \uc628 \uc8fc\uc758 \uc0ac\ud56d.<\/p>\n    <ol class=\"pit\">\n      <li><strong>best-K\ub97c \ub2e8\uc77c \uc0c1\uc218\ub85c \uace0\uc815\ud558\uae30.<\/strong> K\ub294 (\ubaa8\ub378, corpus)\uc5d0 \ub530\ub77c \ub2e4\ub974\ub2e4. mix\ub294 \uac70\uc758 K12\uc5d0\uc11c \ucd5c\ub300 \uc131\ub2a5 \uc774\uc9c0\ub9cc \ub2e8\uc77c corpus \uc6b4\uc601\uc740 K4~K8\ub85c \uac08\ub9b0\ub2e4.<\/li>\n      <li><strong>oracle best-K\ub97c \ub7f0\ud0c0\uc784 \uc218\uce58\ub85c \ucc29\uac01\ud558\uae30.<\/strong> \ubcf8 \ud45c\uc758 K\ub294 \uace0\uc815\ub41c \uc0ac\uc804 \uc9c0\uc815\uc758 \uacb0\uacfc\ub2e4. \uc6b4\uc601\uc5d0\uc11c K\ub97c \uc790\ub3d9\uc73c\ub85c \ubcc0\uacbd\ud558\ub824\uba74 \ubcc4\ub3c4 \ucee8\ud2b8\ub864\ub7ec\uac00 \ud544\uc694\ud558\uace0, \uc544\uc9c1 \ubcc4\uac1c \ubb38\uc81c\ub2e4.<\/li>\n      <li><strong>\uce21\uc815 \ucc28\uc774\ub97c \ubb34\uc2dc\ud558\uae30.<\/strong> bestKpad\uc640 van\u00b7suf\ub294 \uc11c\ub85c \ub2e4\ub978 \uc2dc\uc810\uc5d0 \uce21\uc815\ud588\uace0, \uc77c\ubd80 CPU \ucf54\uc5b4\ub97c \uace0\uc815\ud574 \uce21\uc815\ud588\ub2e4. \uc791\uc740 \ucc28\ub294 drift\uc77c \uc218 \uc788\ub2e4 \u2014 \ud070 \ucc28\ub9cc \uc2e4\ud6a8\uacfc\ub85c \uc77d\uc5b4\ub77c.<\/li>\n      <li><strong>&#8220;\ud328\ub529\uc774 \ucd9c\ub825\uc744 \ubc14\uafbc\ub2e4&#8221;\ub294 \uc758\uc2ec.<\/strong> pad \ud1a0\ud070\uc740 rejection sampler\uac00 \uc804\ubd80 \uae30\uac01\ud55c\ub2e4. \ucd9c\ub825 \ubd84\ud3ec\uac00 \ud328\ub529 \uc804\uacfc \ub3d9\uc77c\ud568\uc774 \uac80\uc99d\ub410\ub2e4.<\/li>\n      <li><strong>405B\u00b7MoE\uc758 \ubc18\uc804\uc744 dense \uaddc\uce59\uc73c\ub85c \uc77c\ubc18\ud654\ud558\uae30.<\/strong> \uc608\uc678\uac00 \uc0ac\ub77c\uc9c4 \uac8c \uc544\ub2c8\ub77c \ub2e4\ub978 \uc608\uc678\uac00 \uc5ec\uc804\uc774 \uc788\ub2e4. 405B\ub294 \uc5ec\uc804\ud788 K\u00b7gmu \uc870\ud569\uc5d0 \ubbfc\uac10\ud558\uace0, MoE\ub294 \uc218\uc6a9\ub3c4\uac00 \ubaa8\ub378\ub9c8\ub2e4 \ud06c\uac8c \uac08\ub9b0\ub2e4(671B vs EXAONE).<\/li>\n    <\/ol>\n  <\/section>\n\n  <!-- ===== 09 ===== -->\n\n  <section>\n    <div class=\"snum\">09<\/div>\n    <h2>\uc815\ub9ac\ud558\uba74<\/h2>\n    <p class=\"sub\">\uc138 \uc904\ub85c.<\/p>\n    <p>\uccab\uc9f8, <strong>\uc804\ud3b8\uc758 \ubbf8\uc2a4\ud130\ub9ac\uac00 \uc131\ub2a5 \ud5a5\uc0c1\uc758 \ub2e8\ucd08\uac00 \ub410\ub2e4.<\/strong> +36%\uc758 \uc6d0\uc778\uc73c\ub85c \uc0dd\uac01\ub41c cudagraph(PIECEWISE\u2192FULL)\ub97c, draft\ub97c K\ub85c \uade0\uc77c \ud328\ub529\ud574 \uc758\ub3c4\uc801\uc73c\ub85c \uc801\uc911\uc2dc\ucf30\ub2e4. pad\ub294 \uae30\uac01\ub418\ub2c8 \ucd9c\ub825\uc740 \uadf8\ub300\ub85c\ub2e4.<\/p>\n    <p>\ub458\uc9f8, <strong>\uc0c8 \ucd5c\uace0 \uc131\ub2a5, 77\uac1c \uc870\ud569 \uc911 68\uac1c.<\/strong> K-pad\uc740 \uc804\ud3b8 \ucd5c\uace0 \uc131\ub2a5 \uc704\uc5d0 dense\u00b7distill +6~38% \uc131\ub2a5 \ud5a5\uc0c1\uc744 \ub354 \ucd94\uac00\ud558\uace0, 11\uac1c \ubaa8\ub378 \uc911 10\uac1c\uc758 mix\uc5d0\uc11c \ucd5c\uace0 \uc131\ub2a5\uc774 \uacb0\uacfc\uac00 \ud655\uc778 \ub410\ub2e4. \ucd94\uac00\ubd84\uc740 host-bound \ube44\uc911\uc774 \ud070 70B\uae09\uc5d0\uc11c \uac00\uc7a5 \uae4a\ub2e4.<\/p>\n    <p>\uc14b\uc9f8, <strong>\ub450 \uc608\uc678\uac00 \uc0ac\ub77c \uc84c\ub2e4.<\/strong> 405B\ub294 K6\ub85c \ubd80\ud305\ub410\uace0, 671B MoE\uc758 suffix \ud68c\uadc0\ub294 vanilla \uc704\ub85c \ubc18\uc804\ub410\ub2e4. K-EXAONE\uc740 suffix\uac00 4.4\u00d7 \ud130\uc9c0\uba70, \ud68c\uadc0\uac00 &#8216;MoE\ub77c\uc11c&#8217;\uac00 \uc544\ub2c8\ub77c \ubaa8\ub378\ubcc4 \uc218\uc6a9\ub3c4 \ubb38\uc81c\uc784\uc744 \ubcf4\uc5ec\uc92c\ub2e4.<\/p>\n  <\/section>\n\n  <!-- ===== CLOSING ===== -->\n\n  <div class=\"closing\">\n    <span class=\"tag\">CLOSING<\/span>\n    <p>2\ud3b8\uc740 &#8220;vLLM\uc740 \uc774\ubbf8 \ube60\ub974\ub2e4, \uc774\ubc88\uc5d0 \ud655\uc778\ud55c \uac74 \uadf8 \uc801\uc6a9 \ubc94\uc704&#8221;\ub77c\uace0 \ub2eb\uc558\ub2e4. \uc774\ubc88 \ud3ec\uc2a4\ud305\uc774 \ub354\ud55c \uac74 \ud55c \uc904\uc774\ub2e4 \u2014 \ub2e4\uc74c \ud3b8\uc5d0\uc11c\ub294 \uc774 bestKpad\ub97c \uae30\uc900\uc120\uc73c\ub85c, W4A4 \uc591\uc790\ud654\uc640 \ub3d9\uc801-K\uac00 \uadf8 \uc704\ub97c \ub118\ub294\uc9c0 \ub530\uc9c4\ub2e4.<\/p>\n  <\/div>\n\n  <!-- ===== APPENDIX ===== -->\n\n  <section>\n    <div class=\"snum\">\ubd80\ub85d<\/div>\n    <h2>K-pad \uc804\uccb4 \uacb0\uacfc<\/h2>\n    <p class=\"sub\">11\uac1c \ubaa8\ub378 \u00d7 7\uac1c corpus \u00d7 K\u2208{4,6,8,12}. \ucd5c\uace0 \uc131\ub2a5 \uacb0\uacfc \uc694\uc57d\uc774 \ubcf4\uc5ec\uc900 mix \ud55c \uc5f4\uc758 \ucd9c\ucc98.<\/p>\n    <p>\u00a703\uc740 mix corpus \ud55c \uc5f4\ub9cc \ubcf4\uc600\ub2e4. \uc544\ub798\uac00 bestKpad\uc758 \uc804 corpus \uc804\uccb4 \ud45c\ub2e4. \uba3c\uc800 \uc140\ubcc4 best-K \u2014 \uac01 (\ubaa8\ub378, corpus)\uc5d0\uc11c \ucd5c\uc801\uc758 \uc131\ub2a5\uc744 \ubcf4\uc778 K\uc640 \uadf8\ub54c\uc758 tok\/s\ub2e4. <code>(Kx)<\/code>\uac00 \uadf8 \uc140\uc758 best-K, mix \uc5f4\uc744 \uc74c\uc601\uc73c\ub85c \ud45c\uc2dc\ud588\ub2e4.<\/p>\n\n<div class=\"tw\">\n<table>\n\n<thead><tr><th class=\"l\">model<\/th><th>sharegpt<\/th><th>swebench<\/th><th>humaneval<\/th><th>mbpp<\/th><th>wildchat<\/th><th>lmsys<\/th><th>mix<\/th><\/tr><\/thead>\n<tbody>\n<tr><td class=\"l\">Qwen2.5-7B-Instruct<\/td><td class=\"num\">6,287 <span class=\"k\">(K4)<\/span><\/td><td class=\"num\">6,627 <span class=\"k\">(K4)<\/span><\/td><td class=\"num\">5,830 <span class=\"k\">(K6)<\/span><\/td><td class=\"num\">7,016 <span class=\"k\">(K4)<\/span><\/td><td class=\"num\">6,685 <span class=\"k\">(K4)<\/span><\/td><td class=\"num\">5,909 <span class=\"k\">(K4)<\/span><\/td><td class=\"num win\">7,487 <span class=\"k\">(K6)<\/span><\/td><\/tr>\n<tr><td class=\"l\">DeepSeek-R1-Distill-Qwen-7B<\/td><td class=\"num\">15,984 <span class=\"k\">(K8)<\/span><\/td><td class=\"num\">18,308 <span class=\"k\">(K8)<\/span><\/td><td class=\"num\">16,824 <span class=\"k\">(K12)<\/span><\/td><td class=\"num\">18,175 <span class=\"k\">(K8)<\/span><\/td><td class=\"num\">16,182 <span class=\"k\">(K8)<\/span><\/td><td class=\"num\">16,255 <span class=\"k\">(K8)<\/span><\/td><td class=\"num win\">27,664 <span class=\"k\">(K12)<\/span><\/td><\/tr>\n<tr><td class=\"l\">Llama-3.1-8B-Instruct<\/td><td class=\"num\">25,371 <span class=\"k\">(K12)<\/span><\/td><td class=\"num\">27,827 <span class=\"k\">(K12)<\/span><\/td><td class=\"num\">21,033 <span class=\"k\">(K12)<\/span><\/td><td class=\"num\">22,128 <span class=\"k\">(K12)<\/span><\/td><td class=\"num\">25,910 <span class=\"k\">(K12)<\/span><\/td><td class=\"num\">25,304 <span class=\"k\">(K12)<\/span><\/td><td class=\"num win\">33,530 <span class=\"k\">(K12)<\/span><\/td><\/tr>\n<tr><td class=\"l\">Qwen2.5-32B-Instruct<\/td><td class=\"num\">5,933 <span class=\"k\">(K4)<\/span><\/td><td class=\"num\">5,770 <span class=\"k\">(K4)<\/span><\/td><td class=\"num\">5,605 <span class=\"k\">(K4)<\/span><\/td><td class=\"num\">6,045 <span class=\"k\">(K4)<\/span><\/td><td class=\"num\">5,638 <span class=\"k\">(K6)<\/span><\/td><td class=\"num\">5,920 <span class=\"k\">(K6)<\/span><\/td><td class=\"num win\">7,273 <span class=\"k\">(K8)<\/span><\/td><\/tr>\n<tr><td class=\"l\">DeepSeek-R1-Distill-Qwen-32B<\/td><td class=\"num\">5,808 <span class=\"k\">(K4)<\/span><\/td><td class=\"num\">6,717 <span class=\"k\">(K6)<\/span><\/td><td class=\"num\">4,550 <span class=\"k\">(K6)<\/span><\/td><td class=\"num\">6,252 <span class=\"k\">(K6)<\/span><\/td><td class=\"num\">6,564 <span class=\"k\">(K6)<\/span><\/td><td class=\"num\">6,393 <span class=\"k\">(K4)<\/span><\/td><td class=\"num win\">11,750 <span class=\"k\">(K12)<\/span><\/td><\/tr>\n<tr><td class=\"l\">Qwen2.5-72B-Instruct<\/td><td class=\"num\">4,123 <span class=\"k\">(K4)<\/span><\/td><td class=\"num\">3,412 <span class=\"k\">(K4)<\/span><\/td><td class=\"num\">2,587 <span class=\"k\">(K4)<\/span><\/td><td class=\"num\">3,443 <span class=\"k\">(K4)<\/span><\/td><td class=\"num\">3,382 <span class=\"k\">(K4)<\/span><\/td><td class=\"num\">4,672 <span class=\"k\">(K4)<\/span><\/td><td class=\"num win\">6,896 <span class=\"k\">(K6)<\/span><\/td><\/tr>\n<tr><td class=\"l\">Llama-3.1-70B-Instruct<\/td><td class=\"num\">6,104 <span class=\"k\">(K6)<\/span><\/td><td class=\"num\">6,826 <span class=\"k\">(K6)<\/span><\/td><td class=\"num\">6,547 <span class=\"k\">(K4)<\/span><\/td><td class=\"num\">3,629 <span class=\"k\">(K6)<\/span><\/td><td class=\"num\">6,751 <span class=\"k\">(K6)<\/span><\/td><td class=\"num\">6,013 <span class=\"k\">(K8)<\/span><\/td><td class=\"num win\">14,565 <span class=\"k\">(K12)<\/span><\/td><\/tr>\n<tr><td class=\"l\">DeepSeek-R1-Distill-Llama-70B<\/td><td class=\"num\">4,064 <span class=\"k\">(K6)<\/span><\/td><td class=\"num\">3,588 <span class=\"k\">(K4)<\/span><\/td><td class=\"num\">3,877 <span class=\"k\">(K4)<\/span><\/td><td class=\"num\">3,444 <span class=\"k\">(K4)<\/span><\/td><td class=\"num\">4,294 <span class=\"k\">(K4)<\/span><\/td><td class=\"num\">4,268 <span class=\"k\">(K4)<\/span><\/td><td class=\"num win\">6,493 <span class=\"k\">(K12)<\/span><\/td><\/tr>\n<tr><td class=\"l\">Llama-3.1-405B-Instruct-FP8<\/td><td class=\"num\">2,390 <span class=\"k\">(K4)<\/span><\/td><td class=\"num\">3,277 <span class=\"k\">(K6)<\/span><\/td><td class=\"num\">2,778 <span class=\"k\">(K6)<\/span><\/td><td class=\"num\">2,223 <span class=\"k\">(K6)<\/span><\/td><td class=\"num\">2,815 <span class=\"k\">(K6)<\/span><\/td><td class=\"num\">2,769 <span class=\"k\">(K6)<\/span><\/td><td class=\"num win\">3,446 <span class=\"k\">(K6)<\/span><\/td><\/tr>\n<tr><td class=\"l\">DeepSeek-R1<\/td><td class=\"num\">1,872 <span class=\"k\">(K4)<\/span><\/td><td class=\"num\">1,979 <span class=\"k\">(K4)<\/span><\/td><td class=\"num\">1,954 <span class=\"k\">(K4)<\/span><\/td><td class=\"num\">1,852 <span class=\"k\">(K4)<\/span><\/td><td class=\"num\">1,933 <span class=\"k\">(K4)<\/span><\/td><td class=\"num\">1,998 <span class=\"k\">(K4)<\/span><\/td><td class=\"num win\">2,223 <span class=\"k\">(K12)<\/span><\/td><\/tr>\n<tr><td class=\"l\">K-EXAONE-236B<\/td><td class=\"num\">11,262 <span class=\"k\">(K12)<\/span><\/td><td class=\"num\">8,329 <span class=\"k\">(K12)<\/span><\/td><td class=\"num\">9,681 <span class=\"k\">(K12)<\/span><\/td><td class=\"num\">11,248 <span class=\"k\">(K12)<\/span><\/td><td class=\"num\">11,487 <span class=\"k\">(K12)<\/span><\/td><td class=\"num\">11,654 <span class=\"k\">(K12)<\/span><\/td><td class=\"num win\">11,702 <span class=\"k\">(K12)<\/span><\/td><\/tr>\n<\/tbody><\/table>\n    <\/div>\n    <p class=\"tcap\">\ubaa8\ub4e0 \uc140\uc774 \uadf8 (\ubaa8\ub378, corpus)\uc758 \ucd5c\uc801 K\ub85c \uce21\uc815\ub41c bestKpad \uac12. \ud328\ud134: chat\u00b7\uc9e7\uc740 \ucf54\ub4dc\ub294 \uc791\uc740 K, mix\ub294 \uac70\uc758 \ud56d\uc0c1 K12, \uace0\uc218\uc6a9 \ubaa8\ub378(Llama-8B\u00b7K-EXAONE)\uc740 \uc804 corpus K12.<\/p>\n\n<p>\uc544\ub798\ub294 \uadf8 best-K\ub97c \uace0\ub974\uae30 \uc804\uc758 <strong>\uc804\uccb4 K-sweep<\/strong>\uc774\ub2e4. \ubaa8\ub378\ub9c8\ub2e4 K=4\/6\/8\/12\ub97c \ubaa8\ub450 \ub3cc\ub9b0 raw \uce21\uc815\uc774\uba70, \uc74c\uc601 \uc140\uc774 \ud574\ub2f9 (\ubaa8\ub378, corpus)\uc758 \ud589 \ucd5c\ub300(=\uc704 \ud45c\uc758 best-K)\ub2e4.<\/p>\n\n<div class=\"tw\">\n<table>\n\n<thead><tr><th class=\"l\">model<\/th><th>K<\/th><th>sharegpt<\/th><th>swebench<\/th><th>humaneval<\/th><th>mbpp<\/th><th>wildchat<\/th><th>lmsys<\/th><th>mix<\/th><\/tr><\/thead>\n<tbody>\n<tr><td class=\"l\">Qwen2.5-7B-Instruct<\/td><td class=\"num kk\">4<\/td><td class=\"num win\">6,287<\/td><td class=\"num win\">6,627<\/td><td class=\"num\">5,147<\/td><td class=\"num win\">7,016<\/td><td class=\"num win\">6,685<\/td><td class=\"num win\">5,909<\/td><td class=\"num\">7,360<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">6<\/td><td class=\"num\">5,987<\/td><td class=\"num\">6,380<\/td><td class=\"num win\">5,830<\/td><td class=\"num\">6,598<\/td><td class=\"num\">6,417<\/td><td class=\"num\">5,657<\/td><td class=\"num win\">7,487<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">8<\/td><td class=\"num\">5,693<\/td><td class=\"num\">6,021<\/td><td class=\"num\">5,354<\/td><td class=\"num\">6,536<\/td><td class=\"num\">6,021<\/td><td class=\"num\">5,294<\/td><td class=\"num\">7,411<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">12<\/td><td class=\"num\">4,644<\/td><td class=\"num\">4,355<\/td><td class=\"num\">4,551<\/td><td class=\"num\">5,800<\/td><td class=\"num\">5,337<\/td><td class=\"num\">4,905<\/td><td class=\"num\">6,977<\/td><\/tr>\n<tr><td class=\"l\">DeepSeek-R1-Distill-Qwen-7B<\/td><td class=\"num kk\">4<\/td><td class=\"num\">14,936<\/td><td class=\"num\">16,263<\/td><td class=\"num\">14,864<\/td><td class=\"num\">16,447<\/td><td class=\"num\">15,259<\/td><td class=\"num\">14,279<\/td><td class=\"num\">18,391<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">6<\/td><td class=\"num\">15,561<\/td><td class=\"num\">18,152<\/td><td class=\"num\">15,437<\/td><td class=\"num\">17,739<\/td><td class=\"num\">15,820<\/td><td class=\"num\">16,149<\/td><td class=\"num\">22,056<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">8<\/td><td class=\"num win\">15,984<\/td><td class=\"num win\">18,308<\/td><td class=\"num\">16,464<\/td><td class=\"num win\">18,175<\/td><td class=\"num win\">16,182<\/td><td class=\"num win\">16,255<\/td><td class=\"num\">23,711<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">12<\/td><td class=\"num\">15,384<\/td><td class=\"num\">18,065<\/td><td class=\"num win\">16,824<\/td><td class=\"num\">17,669<\/td><td class=\"num\">15,805<\/td><td class=\"num\">15,466<\/td><td class=\"num win\">27,664<\/td><\/tr>\n<tr><td class=\"l\">Llama-3.1-8B-Instruct<\/td><td class=\"num kk\">4<\/td><td class=\"num\">18,499<\/td><td class=\"num\">18,898<\/td><td class=\"num\">15,893<\/td><td class=\"num\">16,925<\/td><td class=\"num\">18,457<\/td><td class=\"num\">18,396<\/td><td class=\"num\">19,316<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">6<\/td><td class=\"num\">21,541<\/td><td class=\"num\">22,832<\/td><td class=\"num\">19,019<\/td><td class=\"num\">19,078<\/td><td class=\"num\">21,642<\/td><td class=\"num\">21,829<\/td><td class=\"num\">25,033<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">8<\/td><td class=\"num\">23,473<\/td><td class=\"num\">26,011<\/td><td class=\"num\">20,016<\/td><td class=\"num\">20,463<\/td><td class=\"num\">23,375<\/td><td class=\"num\">23,411<\/td><td class=\"num\">28,724<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">12<\/td><td class=\"num win\">25,371<\/td><td class=\"num win\">27,827<\/td><td class=\"num win\">21,033<\/td><td class=\"num win\">22,128<\/td><td class=\"num win\">25,910<\/td><td class=\"num win\">25,304<\/td><td class=\"num win\">33,530<\/td><\/tr>\n<tr><td class=\"l\">Qwen2.5-32B-Instruct<\/td><td class=\"num kk\">4<\/td><td class=\"num win\">5,933<\/td><td class=\"num win\">5,770<\/td><td class=\"num win\">5,605<\/td><td class=\"num win\">6,045<\/td><td class=\"num\">5,546<\/td><td class=\"num\">5,860<\/td><td class=\"num\">7,159<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">6<\/td><td class=\"num\">5,488<\/td><td class=\"num\">5,497<\/td><td class=\"num\">5,448<\/td><td class=\"num\">5,704<\/td><td class=\"num win\">5,638<\/td><td class=\"num win\">5,920<\/td><td class=\"num\">7,148<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">8<\/td><td class=\"num\">4,969<\/td><td class=\"num\">5,479<\/td><td class=\"num\">4,956<\/td><td class=\"num\">5,553<\/td><td class=\"num\">5,222<\/td><td class=\"num\">5,422<\/td><td class=\"num win\">7,273<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">12<\/td><td class=\"num\">4,743<\/td><td class=\"num\">4,795<\/td><td class=\"num\">4,486<\/td><td class=\"num\">5,205<\/td><td class=\"num\">4,461<\/td><td class=\"num\">4,630<\/td><td class=\"num\">6,472<\/td><\/tr>\n<tr><td class=\"l\">DeepSeek-R1-Distill-Qwen-32B<\/td><td class=\"num kk\">4<\/td><td class=\"num win\">5,808<\/td><td class=\"num\">6,225<\/td><td class=\"num\">4,224<\/td><td class=\"num\">6,251<\/td><td class=\"num\">6,498<\/td><td class=\"num win\">6,393<\/td><td class=\"num\">9,609<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">6<\/td><td class=\"num\">5,604<\/td><td class=\"num win\">6,717<\/td><td class=\"num win\">4,550<\/td><td class=\"num win\">6,252<\/td><td class=\"num win\">6,564<\/td><td class=\"num\">5,732<\/td><td class=\"num\">10,301<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">8<\/td><td class=\"num\">5,597<\/td><td class=\"num\">6,623<\/td><td class=\"num\">4,107<\/td><td class=\"num\">5,974<\/td><td class=\"num\">6,425<\/td><td class=\"num\">5,703<\/td><td class=\"num\">10,864<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">12<\/td><td class=\"num\">4,929<\/td><td class=\"num\">5,780<\/td><td class=\"num\">3,672<\/td><td class=\"num\">5,732<\/td><td class=\"num\">6,104<\/td><td class=\"num\">5,117<\/td><td class=\"num win\">11,750<\/td><\/tr>\n<tr><td class=\"l\">Qwen2.5-72B-Instruct<\/td><td class=\"num kk\">4<\/td><td class=\"num win\">4,123<\/td><td class=\"num win\">3,412<\/td><td class=\"num win\">2,587<\/td><td class=\"num win\">3,443<\/td><td class=\"num win\">3,382<\/td><td class=\"num win\">4,672<\/td><td class=\"num\">6,799<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">6<\/td><td class=\"num\">3,751<\/td><td class=\"num\">3,208<\/td><td class=\"num\">2,486<\/td><td class=\"num\">2,798<\/td><td class=\"num\">3,367<\/td><td class=\"num\">4,335<\/td><td class=\"num win\">6,896<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">8<\/td><td class=\"num\">3,327<\/td><td class=\"num\">3,108<\/td><td class=\"num\">1,915<\/td><td class=\"num\">2,969<\/td><td class=\"num\">3,033<\/td><td class=\"num\">3,754<\/td><td class=\"num\">6,499<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">12<\/td><td class=\"num\">2,972<\/td><td class=\"num\">2,708<\/td><td class=\"num\">1,812<\/td><td class=\"num\">2,629<\/td><td class=\"num\">2,924<\/td><td class=\"num\">3,420<\/td><td class=\"num\">5,856<\/td><\/tr>\n<tr><td class=\"l\">Llama-3.1-70B-Instruct<\/td><td class=\"num kk\">4<\/td><td class=\"num\">5,864<\/td><td class=\"num\">6,522<\/td><td class=\"num win\">6,547<\/td><td class=\"num\">3,448<\/td><td class=\"num\">6,425<\/td><td class=\"num\">5,846<\/td><td class=\"num\">7,751<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">6<\/td><td class=\"num win\">6,104<\/td><td class=\"num win\">6,826<\/td><td class=\"num\">6,251<\/td><td class=\"num win\">3,629<\/td><td class=\"num win\">6,751<\/td><td class=\"num\">5,968<\/td><td class=\"num\">8,346<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">8<\/td><td class=\"num\">5,932<\/td><td class=\"num\">6,475<\/td><td class=\"num\">6,279<\/td><td class=\"num\">2,909<\/td><td class=\"num\">6,497<\/td><td class=\"num win\">6,013<\/td><td class=\"num\">9,707<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">12<\/td><td class=\"num\">5,550<\/td><td class=\"num\">6,518<\/td><td class=\"num\">5,896<\/td><td class=\"num\">2,926<\/td><td class=\"num\">6,131<\/td><td class=\"num\">5,562<\/td><td class=\"num win\">14,565<\/td><\/tr>\n<tr><td class=\"l\">DeepSeek-R1-Distill-Llama-70B<\/td><td class=\"num kk\">4<\/td><td class=\"num\">3,981<\/td><td class=\"num win\">3,588<\/td><td class=\"num win\">3,877<\/td><td class=\"num win\">3,444<\/td><td class=\"num win\">4,294<\/td><td class=\"num win\">4,268<\/td><td class=\"num\">4,915<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">6<\/td><td class=\"num win\">4,064<\/td><td class=\"num\">3,438<\/td><td class=\"num\">3,708<\/td><td class=\"num\">3,296<\/td><td class=\"num\">3,857<\/td><td class=\"num\">4,249<\/td><td class=\"num\">5,002<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">8<\/td><td class=\"num\">3,707<\/td><td class=\"num\">3,317<\/td><td class=\"num\">3,226<\/td><td class=\"num\">3,008<\/td><td class=\"num\">4,026<\/td><td class=\"num\">3,919<\/td><td class=\"num\">4,476<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">12<\/td><td class=\"num\">3,246<\/td><td class=\"num\">2,943<\/td><td class=\"num\">2,970<\/td><td class=\"num\">2,758<\/td><td class=\"num\">3,734<\/td><td class=\"num\">3,567<\/td><td class=\"num win\">6,493<\/td><\/tr>\n<tr><td class=\"l\">Llama-3.1-405B-Instruct-FP8<\/td><td class=\"num kk\">4<\/td><td class=\"num win\">2,390<\/td><td class=\"num\">2,912<\/td><td class=\"num\">2,751<\/td><td class=\"num\">1,882<\/td><td class=\"num\">2,540<\/td><td class=\"num\">2,526<\/td><td class=\"num\">3,228<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">6<\/td><td class=\"num\">2,287<\/td><td class=\"num win\">3,277<\/td><td class=\"num win\">2,778<\/td><td class=\"num win\">2,223<\/td><td class=\"num win\">2,815<\/td><td class=\"num win\">2,769<\/td><td class=\"num win\">3,446<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">8<\/td><td class=\"num\">2,020<\/td><td class=\"num\">2,958<\/td><td class=\"num\">2,420<\/td><td class=\"num\">1,532<\/td><td class=\"num\">2,436<\/td><td class=\"num\">2,210<\/td><td class=\"num\">2,995<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">12<\/td><td class=\"num\">1,812<\/td><td class=\"num\">2,866<\/td><td class=\"num\">2,406<\/td><td class=\"num\">1,280<\/td><td class=\"num\">2,245<\/td><td class=\"num\">2,190<\/td><td class=\"num\">3,006<\/td><\/tr>\n<tr><td class=\"l\">DeepSeek-R1<\/td><td class=\"num kk\">4<\/td><td class=\"num win\">1,872<\/td><td class=\"num win\">1,979<\/td><td class=\"num win\">1,954<\/td><td class=\"num win\">1,852<\/td><td class=\"num win\">1,933<\/td><td class=\"num win\">1,998<\/td><td class=\"num\">2,192<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">6<\/td><td class=\"num\">1,756<\/td><td class=\"num\">1,850<\/td><td class=\"num\">1,851<\/td><td class=\"num\">1,742<\/td><td class=\"num\">1,824<\/td><td class=\"num\">1,819<\/td><td class=\"num\">1,945<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">8<\/td><td class=\"num\">1,713<\/td><td class=\"num\">1,850<\/td><td class=\"num\">1,775<\/td><td class=\"num\">1,658<\/td><td class=\"num\">1,758<\/td><td class=\"num\">1,773<\/td><td class=\"num\">2,140<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">12<\/td><td class=\"num\">1,498<\/td><td class=\"num\">1,635<\/td><td class=\"num\">1,489<\/td><td class=\"num\">1,463<\/td><td class=\"num\">1,532<\/td><td class=\"num\">1,578<\/td><td class=\"num win\">2,223<\/td><\/tr>\n<tr><td class=\"l\">K-EXAONE-236B<\/td><td class=\"num kk\">4<\/td><td class=\"num\">6,907<\/td><td class=\"num\">6,070<\/td><td class=\"num\">6,432<\/td><td class=\"num\">7,653<\/td><td class=\"num\">6,701<\/td><td class=\"num\">6,919<\/td><td class=\"num\">7,090<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">6<\/td><td class=\"num\">8,812<\/td><td class=\"num\">7,266<\/td><td class=\"num\">8,499<\/td><td class=\"num\">9,950<\/td><td class=\"num\">8,794<\/td><td class=\"num\">8,384<\/td><td class=\"num\">8,711<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">8<\/td><td class=\"num\">9,642<\/td><td class=\"num\">8,111<\/td><td class=\"num\">7,997<\/td><td class=\"num\">10,081<\/td><td class=\"num\">9,646<\/td><td class=\"num\">10,243<\/td><td class=\"num\">10,204<\/td><\/tr>\n<tr><td class=\"l\"><\/td><td class=\"num kk\">12<\/td><td class=\"num win\">11,262<\/td><td class=\"num win\">8,329<\/td><td class=\"num win\">9,681<\/td><td class=\"num win\">11,248<\/td><td class=\"num win\">11,487<\/td><td class=\"num win\">11,654<\/td><td class=\"num win\">11,702<\/td><\/tr>\n<\/tbody><\/table>\n    <\/div>\n    <p class=\"tcap\">K\uac00 \ucee4\uc9c8\uc218\ub85d \ub2e8\uc870 \uc99d\uac00\ud558\uc9c0 \uc54a\ub294\ub2e4 \u2014 corpus\ub9c8\ub2e4 \ucd5c\uc801 K\uac00 \ub2e4\ub974\ub2e4\ub294 \uac83\uc774 K-pad\uc758 \ud575\uc2ec\uc774\ub2e4(\u00a704). \ub2e8\uc704 tok\/s.<\/p>\n\n<p class=\"caveat\"><strong>\ucd9c\ucc98 \/ drift \uc8fc\uc758.<\/strong> \uc704 \ub450 \ud45c\ub294 \uc804\uccb4 K-sweep \uce21\uc815\uc774\ub2e4. 03 \uc804\uccb4\uacb0\uacfc\uc758 \ud5e4\ub4dc\ub77c\uc778\uc758 Llama-3.1-70B mix(14,389)\ub294 W4A4\u00b7\ub3d9\uc801-K\ub97c \ud568\uaed8 \uce21\uc815\ud55c \ubcc4\ub3c4 \uc2e4\ud5d8 \uac12\uc73c\ub85c, \ubcf8 \uc2e4\ud5d8 14,565\uc640 \uc57d 1.2% \ucc28\uc774\uac00 \ub09c\ub2e4 \u2014 \ub2e4\ub978 \uce21\uc815 \uc2dc\uc810 \uc0ac\uc774\uc758 \uc791\uc740 \uce21\uc815 drift\ub2e4. \uadf8 \uc678 \uc140\uc758 \u00b1\uc218 tok\/s \ucc28\uc774\ub3c4 \uac19\uc740 \uc131\uaca9\uc774\ub2e4.<\/p>\n\n  <\/section>\n\n  <div class=\"env\">\n    <b>\uce21\uc815 \ud658\uacbd<\/b> \u2014 DGX B200 \u00b7 NVIDIA B200\u00d78 (sm_100, HBM3e 183 GiB, NVLink5) \u00b7 Intel Xeon Platinum 8570 \u00d72 (224 thread, AMX\/AVX-512\/DSA) \u00b7 vLLM 1.7.dev (sm_100) \u00b7 cudagraph FULL_AND_PIECEWISE \u00b7 gmu 0.85 \u00b7 max_model_len 16,384 \u00b7 real-trace prompts, concurrency 32, max_tokens 8,192, streaming.<br>\n    11\uac1c \ubaa8\ub378(Qwen2.5 7\/32\/72B \u00b7 DS-R1-Distill 7\/32\/70B \u00b7 Llama-3.1 8\/70\/405B-FP8 \u00b7 DeepSeek-R1 671B \u00b7 K-EXAONE-236B) \u00d7 7\uac1c corpus \u00d7 bestKpad (2026-06-14 \uce21\uc815, K\u2208{4,6,8,12}, VLLM_SUFFIX_PAD_UNIFORM=1, taskset 0-47,56-103). K-EXAONE 2026-06-22.\n  <\/div>\n\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>CUDA\ub97c \uc704\ud55c Draft\ub97c \ub354\ubbf8\ub85c \ucc44\uc6b0\ub2c8, 70\uac1c \ucf00\uc774\uc2a4 \uc911 68\uac1c \ucf00\uc774\uc2a4\uac00 \ub4a4\uc9d1\ud614\ub2e4 \u2014 vLLM Engineering Notes 3\ud3b8 vLLM Performance \u00b7 Engineering Notes \u2014 3\ud3b8 CUDA\ub97c \uc704\ud55c Draft\ub97c \ub354\ubbf8\ub85c \ucc44\uc6b0\ub2c8, 70\uac1c \ucf00\uc774\uc2a4<span class=\"more-button\"><a href=\"http:\/\/kyunam.com\/?p=997\" class=\"more-link\">\uc77d\uc5b4 \ubcfc\uae4c?<span class=\"screen-reader-text\">vLLM\uc758 \uc124\uc815 \ubcc0\uacbd\uc73c\ub85c \uc18d\ub3c4\uc5d0 \ubc15\ucc28\ub97c \uac00\ud574 \ubcf4\uc790!<\/span><\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":999,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[309,44,310],"tags":[371,367,354,368,370,369,352,347,351,350,355,316,348,306],"class_list":["post-997","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai","category-tech","category-vllm","tag-best-k","tag-cudagraph","tag-deepseek-r1","tag-full_and_piecewise","tag-k-exaone","tag-k-pad","tag-llama-3-1","tag-llm--","tag-moe","tag-nvidia-b200","tag-qwen2-5","tag-speculative-decoding","tag-suffix-decoding","tag-vllm"],"_links":{"self":[{"href":"http:\/\/kyunam.com\/index.php?rest_route=\/wp\/v2\/posts\/997","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/kyunam.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/kyunam.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/kyunam.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/kyunam.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=997"}],"version-history":[{"count":8,"href":"http:\/\/kyunam.com\/index.php?rest_route=\/wp\/v2\/posts\/997\/revisions"}],"predecessor-version":[{"id":1014,"href":"http:\/\/kyunam.com\/index.php?rest_route=\/wp\/v2\/posts\/997\/revisions\/1014"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/kyunam.com\/index.php?rest_route=\/wp\/v2\/media\/999"}],"wp:attachment":[{"href":"http:\/\/kyunam.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=997"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/kyunam.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=997"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/kyunam.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=997"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}