{"id":1020,"date":"2026-07-01T14:31:18","date_gmt":"2026-07-01T05:31:18","guid":{"rendered":"http:\/\/kyunam.com\/?p=1020"},"modified":"2026-07-06T12:28:41","modified_gmt":"2026-07-06T03:28:41","slug":"vllm-%ec%84%a4%ec%a0%95-%ec%9d%b4%ea%b2%83%eb%a7%8c-%eb%94%b1-%ea%b8%b0%ec%96%b5%ed%95%98%ea%b8%b0","status":"publish","type":"post","link":"http:\/\/kyunam.com\/?p=1020","title":{"rendered":"vLLM \ub9c8\ub978 \uc218\uac74 \uc950\uc5b4 \uc9dc\uae30"},"content":{"rendered":"\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\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}\ntd.na{color:var(\u2013faint)}\n.recap td,.recap th{white-space:normal}\n.recap td:first-child,.recap th:first-child{min-width:3em}\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<div class=\"wrap\">\n\n  <!-- ===== MASTHEAD ===== -->\n\n  <div class=\"eyebrow\">vLLM Performance \u00b7 Engineering Notes \u2014 4\ud3b8<\/div>\n  <h1 class=\"title\">bestKpad \uc704\uc758 \ub450 \ubc29\ubc95 \u2014 W4A4\uc640 \ub3d9\uc801-K<\/h1>\n  <p class=\"dek\">3\ud3b8\uc5d0\uc11c \ud655\ub9bd\ud55c bestKpad\ub97c \uae30\uc900\uc120\uc73c\ub85c \ub450\uace0, \uc591\uc790\ud654(W4A4)\uc640 \ub7f0\ud0c0\uc784 \ub3d9\uc801-K\uac00 \uadf8 \ucc98\ub9ac\ub7c9\uc744 \ub118\uc5b4\uc11c\ub294\uc9c0 \uce21\uc815\ud588\ub2e4. W4A4\ub294 11\uac1c \ubaa8\ub378 \uc911 <strong>Llama-3.1-70B\uc5d0\uc11c\ub9cc \uae30\ud558\ud3c9\uade0 +7%<\/strong>\uc600\uace0, \ub3d9\uc801-K\ub294 offline best-K\uc5d0 <strong>\ubbf8\ub2ec\ud588\ub2e4(70B \uae30\uc900 \u22128%)<\/strong>.<\/p>\n\n  <hr>\n\n  <p class=\"lead\">3\ud3b8\uc740 <strong>bestKpad<\/strong>(suffix, \uade0\uc77c K \ud328\ub529, FaP cudagraph, corpus\ubcc4 best-K\uc758 \uc870\ud569)\ub97c \uae30\uc900 \uad6c\uc131\uc73c\ub85c \ud655\ub9bd\ud558\uace0, \uc591\uc790\ud654\uc640 \ub3d9\uc801-K\uc758 \uac80\uc99d\uc744 \ub2e4\uc74c \ud3b8 \uacfc\uc81c\ub85c \ub0a8\uacbc\ub2e4. \uc774\ubc88 \ud3b8\uc740 \ub450 \ubc29\ubc95\uc744 \ub3d9\uc77c\ud55c \ud558\ub4dc\uc6e8\uc5b4\uc640 \uce21\uc815 \ud558\ub2c8\uc2a4\uc5d0\uc11c bestKpad\uc640 \ube44\uad50\ud55c\ub2e4. \uacb0\ub860\ubd80\ud130 \uc801\uc73c\uba74, \ub450 \ubc29\ubc95 \ubaa8\ub450 bestKpad\uc758 \ucc98\ub9ac\ub7c9\uc744 \ub118\uc5b4\uc11c\uc9c0 \ubabb\ud588\ub2e4. W4A4\ub294 \ub4f1\uac00 \uac8c\uc774\ud2b8\ub97c \ud1b5\uacfc\ud55c \ud55c \ubaa8\ub378\uc5d0\uc11c\ub9cc \uc774\ub4dd\uc744 \ub0c8\uace0, \ub3d9\uc801-K\ub294 \ub300\uccb4\ud558\ub824\ub358 offline best-K\ub97c \uc7ac\ud604\ud558\uc9c0 \ubabb\ud588\ub2e4.<\/p>\n\n  <!-- ===== 01 ===== -->\n\n  <section>\n    <div class=\"snum\">01<\/div>\n    <h2>\uae30\uc900\uc120: bestKpad<\/h2>\n    <p class=\"sub\">3\ud3b8\uc5d0\uc11c \ud655\ub9bd\ud55c \uae30\uc900 \uad6c\uc131. 11\uac1c \ubaa8\ub378 \u00d7 7\uac1c corpus \uc911 68\uc140\uc5d0\uc11c \ud589 \ucd5c\ub300.<\/p>\n    <p>3\ud3b8\uc758 \uacb0\ub860\uc740 <strong>bestKpad\uac00 \uae30\uc874\uc758 \ubaa8\ub4e0 \uc124\uc815\uc744 \uc0c1\ud68c<\/strong>\ud55c\ub2e4\ub294 \uac83\uc774\uc5c8\ub2e4(70\uc140 \uc911 68\uc140\uc5d0\uc11c \ud589 \ucd5c\ub300). \uad6c\uc131\uc740 \ub450 \uc694\uc18c\ub85c \uc774\ub8e8\uc5b4\uc9c4\ub2e4. \uccab\uc9f8, draft\ub97c K\ub85c \uade0\uc77c \ud328\ub529\ud574 FULL cudagraph\ub97c \uc801\uc911\uc2dc\ud0a8\ub2e4. \ub458\uc9f8, \uadf8 K\ub97c (\ubaa8\ub378, corpus)\ubcc4 best-K\ub85c \uc120\ud0dd\ud55c\ub2e4. \ud328\ub529 \ud1a0\ud070\uc740 rejection sampler\uac00 \uae30\uac01\ud558\ubbc0\ub85c <strong>\ucd9c\ub825\uc740 \ud328\ub529 \uc804\uacfc \ube44\ud2b8 \ub2e8\uc704\ub85c \ub3d9\uc77c<\/strong>\ud558\ub2e4. \ub530\ub77c\uc11c bestKpad\ub294 \uc815\ud655\ub3c4 \uc800\ud558 \uc5c6\uc774 \ucc98\ub9ac\ub7c9\ub9cc \ub192\uc778\ub2e4.<\/p>\n    <p>\uc774\ubc88 \ud3b8\uc758 \uc9c8\ubb38\uc740 \uc774 \uae30\uc900\uc120 \uc704\uc5d0 \ucc98\ub9ac\ub7c9\uc744 \ub354 \ub192\uc77c \uc218 \uc788\ub294\uc9c0\ub2e4. \ud6c4\ubcf4\ub294 \ub450 \uac00\uc9c0\ub85c, \ubaa8\ub378 \uac00\uc911\uce58\ub97c 4-bit\ub85c \uc591\uc790\ud654\ud558\ub294 <strong>W4A4<\/strong>\uc640 offline best-K\ub97c \ub7f0\ud0c0\uc784\uc5d0 \ucd94\uc815\ud558\ub294 <strong>\ub3d9\uc801-K<\/strong>\ub2e4. \ub450 \ubc29\ubc95 \ubaa8\ub450 bestKpad\ub97c \uae30\uc900\uc120\uc73c\ub85c \ub450\uace0, \uadf8 \ucc98\ub9ac\ub7c9\uc744 \ub118\uc5b4\uc11c\ub294\uc9c0\ub85c \ud310\uc815\ud55c\ub2e4.<\/p>\n  <\/section>\n\n  <!-- ===== 02 ===== -->\n\n  <section>\n    <div class=\"snum\">02<\/div>\n    <h2>W4A4: \ucd9c\ub825\uc744 \ubc14\uafb8\ub294 \uc591\uc790\ud654<\/h2>\n    <p class=\"sub\">bestKpad\uc640 \ub2ec\ub9ac W4A4\ub294 \ucd9c\ub825 \ubd84\ud3ec\ub97c \ubc14\uafb8\ubbc0\ub85c \ub4f1\uac00 \uac8c\uc774\ud2b8\uac00 \ud544\uc694\ud558\ub2e4.<\/p>\n    <p><strong>W4A4<\/strong>\ub294 weight\uc640 activation\uc744 \ubaa8\ub450 <strong>4-bit<\/strong>\ub85c \uc591\uc790\ud654\ud55c\ub2e4(B200\uc774 native\ub85c \uc9c0\uc6d0\ud558\ub294 NVFP4 \ud3ec\ub9f7, AWQ+GPTQ \ubcf4\uc815). 16-bit(bf16) \ub300\ube44 \uba54\ubaa8\ub9ac \uc0ac\uc6a9\uc774 \uc904\uace0, \uc881\uc740 \ube44\ud2b8\ud3ed\uc774 \uc5f0\uc0b0\ub7c9\uacfc \ub300\uc5ed\ud3ed\uc744 \uc544\uaef4 \ucc98\ub9ac\ub7c9\uc774 \uc624\ub97c \uc5ec\uc9c0\uac00 \uc788\ub2e4. \ub2e4\ub9cc \uc774 \uc774\ub4dd\uc5d0\ub294 \ube44\uc6a9\uc774 \ub530\ub978\ub2e4.<\/p>\n    <p>\ub450 \ubc29\ubc95\uc758 \ucc28\uc774\ub294 \ucd9c\ub825 \ubd84\ud3ec\uc5d0 \uc788\ub2e4. bestKpad\uc758 \ud328\ub529 \ud1a0\ud070\uc740 \uae30\uac01\ub418\ubbc0\ub85c \ucd9c\ub825 \ubd84\ud3ec\uac00 <strong>\ube44\ud2b8 \ub2e8\uc704\ub85c \ub3d9\uc77c<\/strong>\ud558\ub2e4. \ubc18\uba74 W4A4\ub294 <strong>\uac00\uc911\uce58\ub97c \uadfc\uc0ac<\/strong>\ud558\ubbc0\ub85c \ucd9c\ub825 \ubd84\ud3ec\uac00 \ubc14\ub010\ub2e4. \ub530\ub77c\uc11c \ubb34\uc870\uac74 \uc801\uc6a9\ud560 \uc218 \uc5c6\uace0, \uc591\uc790\ud654 \uc804\ud6c4\uc758 \ucd9c\ub825\uc774 \ud1b5\uacc4\uc801\uc73c\ub85c \ub4f1\uac00\uc778\uc9c0 \uac80\uc0ac\ud558\ub294 <strong>\ubd84\ud3ec \ub3d9\ub4f1\uc131 \uac8c\uc774\ud2b8<\/strong>\ub97c \ud1b5\uacfc\ud574\uc57c \ud55c\ub2e4. bestKpad\uac00 \uc815\ud655\ub3c4\ub97c \uc720\uc9c0\ud558\ub294 \ubc18\uba74, W4A4\ub294 \uc815\ud655\ub3c4 \uc190\uc2e4 \uac00\ub2a5\uc131\uc744 \uac10\uc218\ud558\uace0 \ucc98\ub9ac\ub7c9\uacfc \uba54\ubaa8\ub9ac\ub97c \uc5bb\ub294 \ubc29\ubc95\uc774\ub2e4.<\/p>\n\n<figure>\n  <img decoding=\"async\" src=\"http:\/\/kyunam.com\/wp-content\/uploads\/2026\/07\/IMG_0935.png\" alt=\"bestKpad(\ucd9c\ub825 \ubcf4\uc874) vs W4A4(\ucd9c\ub825 \ubcc0\uacbd, \uac8c\uc774\ud2b8 \ud544\uc694)\">\n  <figcaption><b>Figure 1 \u00b7 \ub450 \ubc29\ubc95\uc758 \uc131\uaca9 \ucc28\uc774.<\/b> bestKpad\ub294 \ucd9c\ub825\uc744 \ubcf4\uc874\ud55c \ucc44 \ucc98\ub9ac\ub7c9\uc744 \ub192\uc778\ub2e4. W4A4\ub294 \uac00\uc911\uce58\ub97c \uadfc\uc0ac\ud574 \ucd9c\ub825\uc774 \ubc14\ub00c\ubbc0\ub85c \ub4f1\uac00 \uac8c\uc774\ud2b8\ub97c \ud1b5\uacfc\ud55c \ubaa8\ub378\uc5d0\uc11c\ub9cc \uc801\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/figcaption>\n<\/figure>\n\n  <\/section>\n\n  <!-- ===== 03 ===== -->\n\n  <section>\n    <div class=\"snum\">03<\/div>\n    <h2>W4A4 \uacb0\uacfc: 70B\ub9cc \uac8c\uc774\ud2b8 \ud1b5\uacfc<\/h2>\n    <p class=\"sub\">11\uac1c \ubaa8\ub378 \uc911 10\uac1c\ub294 \uc801\uc6a9 \ubd88\uac00. \ud1b5\uacfc\ud55c 70B\ub3c4 mix\uc5d0\uc11c\ub294 \ud558\ub77d.<\/p>\n    <p>W4A4\ub97c 11\uac1c \ubaa8\ub378\uc5d0 \uc801\uc6a9\ud55c \uacb0\uacfc, <strong>\ub4f1\uac00 \uac8c\uc774\ud2b8\ub97c \ud1b5\uacfc\ud55c \ubaa8\ub378\uc740 Llama-3.1-70B \ud558\ub098<\/strong>\uc600\ub2e4. \ub098\uba38\uc9c0 10\uac1c\ub294 \ub450 \uc720\ud615\uc73c\ub85c \ub098\ub25c\ub2e4.<\/p>\n\n<div class=\"tw\">\n<table>\n  <thead><tr><th class=\"l\">W4A4 \uc801\uc6a9 \uacb0\uacfc<\/th><th class=\"l\">\ubaa8\ub378<\/th><th class=\"l\">\uc0ac\uc720<\/th><\/tr><\/thead>\n  <tbody>\n    <tr><td class=\"l win\">\ud1b5\uacfc (1\uac1c)<\/td><td class=\"l\">Llama-3.1-70B<\/td><td class=\"l\">\ubd84\ud3ec \ub3d9\ub4f1\uc131 \uac8c\uc774\ud2b8 PASS \u2192 \uce21\uc815 \uac00\ub2a5<\/td><\/tr>\n    <tr><td class=\"l\">\uac8c\uc774\ud2b8 \ud0c8\ub77d (7\uac1c)<\/td><td class=\"l\">7B~72B dense\u00b7distill, distill-70B<\/td><td class=\"l\">\ucd9c\ub825 \ubd84\ud3ec\uac00 \ub4f1\uac00\uac00 \uc544\ub2d8(\uc815\ud655\ub3c4 \uc190\uc2e4)<\/td><\/tr>\n    <tr><td class=\"l\">\uc591\uc790\ud654 \ubd88\uac00 (3\uac1c)<\/td><td class=\"l\">405B-FP8, DeepSeek-R1(MoE), K-EXAONE(FP8)<\/td><td class=\"l\">\uc774\ubbf8 FP8\uc774\uac70\ub098 MoE\ub77c 4-bit \uc591\uc790\ud654 \uacbd\ub85c \uc790\uccb4 \uc2e4\ud328<\/td><\/tr>\n  <\/tbody>\n<\/table>\n<\/div>\n<p class=\"tcap\">W4A4\ub294 \ubaa8\ub4e0 \ubaa8\ub378\uc5d0 \uc801\uc6a9\ub418\ub294 \ubc29\ubc95\uc774 \uc544\ub2c8\ub2e4. 7\uac1c \ubaa8\ub378\uc740 \ucd9c\ub825 \ubd84\ud3ec\uac00 \ub4f1\uac00\uac00 \uc544\ub2c8\uc5b4\uc11c \ud0c8\ub77d\ud588\uace0, 3\uac1c \ubaa8\ub378(\uc774\ubbf8 FP8\uc774\uac70\ub098 MoE)\uc740 4-bit \uc591\uc790\ud654 \uacbd\ub85c \uc790\uccb4\uac00 \uc131\ub9bd\ud558\uc9c0 \uc54a\uc558\ub2e4.<\/p>\n\n<p>\uac8c\uc774\ud2b8\ub97c \ud1b5\uacfc\ud55c 70B\uc758 \uacb0\uacfc\ub294 corpus\uc5d0 \ub530\ub77c \uac08\ub9b0\ub2e4. bestKpad\uc5d0 W4A4\ub97c \ub354\ud558\uba74 <strong>\ucf54\ub4dc corpus\uc5d0\uc11c \ud06c\uac8c \uc0c1\uc2b9<\/strong>\ud55c\ub2e4(humaneval +16.1%, mbpp +28.7%). \ubc18\uba74 <strong>mix\uc5d0\uc11c\ub294 \u22129.6%\ub85c \ud558\ub77d<\/strong>\ud55c\ub2e4. \uc804 corpus \uae30\ud558\ud3c9\uade0\uc740 bestKpad \ub300\ube44 <strong>+7.1%<\/strong>\ub2e4.<\/p>\n\n<div class=\"tw\">\n<table>\n  <thead><tr>\n    <th class=\"l\">Llama-3.1-70B<\/th><th>bestKpad<\/th><th>W4A4<\/th><th>\u0394<\/th>\n  <\/tr><\/thead>\n  <tbody>\n    <tr><td class=\"l\">sharegpt<\/td><td class=\"num\">6,092<\/td><td class=\"num win\">6,183<\/td><td class=\"num\">+1.5%<\/td><\/tr>\n    <tr><td class=\"l\">swebench<\/td><td class=\"num\">7,179<\/td><td class=\"num win\">7,328<\/td><td class=\"num\">+2.1%<\/td><\/tr>\n    <tr><td class=\"l\">humaneval<\/td><td class=\"num\">6,218<\/td><td class=\"num win\">7,216<\/td><td class=\"num\">+16.1%<\/td><\/tr>\n    <tr><td class=\"l\">mbpp<\/td><td class=\"num\">3,814<\/td><td class=\"num win\">4,909<\/td><td class=\"num\">+28.7%<\/td><\/tr>\n    <tr><td class=\"l\">wildchat<\/td><td class=\"num\">6,883<\/td><td class=\"num win\">7,497<\/td><td class=\"num\">+8.9%<\/td><\/tr>\n    <tr><td class=\"l\">lmsys<\/td><td class=\"num\">6,060<\/td><td class=\"num win\">6,418<\/td><td class=\"num\">+5.9%<\/td><\/tr>\n    <tr><td class=\"l\">mix<\/td><td class=\"num win\">14,389<\/td><td class=\"num\">13,011<\/td><td class=\"num\">\u22129.6%<\/td><\/tr>\n    <tr><td class=\"l\">\uae30\ud558\ud3c9\uade0<\/td><td class=\"num\">\uae30\uc900<\/td><td class=\"num win\">+7.1%<\/td><td class=\"num\"><\/td><\/tr>\n  <\/tbody>\n<\/table>\n<\/div>\n<p class=\"tcap\">W4A4\ub294 \ucf54\ub4dc corpus(humaneval\u00b7mbpp)\uc5d0\uc11c \uc774\ub4dd\uc774 \ud06c\ub2e4. \ucd9c\ub825\uc774 \uc9e7\uace0 \uacb0\uc815\uc801\uc77c\uc218\ub85d 4-bit \uadfc\uc0ac\uc758 \ucc98\ub9ac\ub7c9 \uc774\ub4dd\uc774 \uc815\ud655\ub3c4 \uc190\uc2e4\uc744 \uc0c1\ud68c\ud558\uae30 \ub54c\ubb38\uc774\ub2e4. \ubc18\ub300\ub85c \uae34 \ud63c\ud569 \ud2b8\ub798\ud53d(mix)\uc5d0\uc11c\ub294 bestKpad\uac00 \ub354 \ub192\ub2e4.<\/p>\n\n<figure>\n  <img decoding=\"async\" src=\"http:\/\/kyunam.com\/wp-content\/uploads\/2026\/07\/IMG_0934.png\" alt=\"Llama-3.1-70B \u2014 bestKpad vs W4A4 vs \ub3d9\uc801-K corpus\ubcc4 \ub9c9\ub300\">\n  <figcaption><b>Figure 2 \u00b7 70B\uc758 \uc138 \uad6c\uc131 \ube44\uad50.<\/b> W4A4(\uc8fc\ud669)\ub294 \ucf54\ub4dc corpus\uc5d0\uc11c bestKpad(\uccad\ub85d)\ub97c \ub118\uc9c0\ub9cc mix\uc5d0\uc11c\ub294 \ud558\ub77d\ud55c\ub2e4. \ub3d9\uc801-K(\ud68c\uc0c9)\ub294 \ub300\ubd80\ubd84\uc758 corpus\uc5d0\uc11c bestKpad \uc774\ud558\uc774\uba70, mix\uc5d0\uc11c \ud2b9\ud788 \ub0ae\ub2e4.<\/figcaption>\n<\/figure>\n\n<p>W4A4\ub97c <strong>\ub2e8\ub3c5<\/strong>\uc73c\ub85c(speculative decoding \uc5c6\uc774) \uc801\uc6a9\ud558\uba74 vanilla \ub300\ube44 +55% \uc218\uc900\uc774\uc9c0\ub9cc, <strong>bestKpad\uc5d0 \ucd94\uac00<\/strong>\ud558\uba74 +7.1%\ub85c \uc904\uc5b4\ub4e0\ub2e4. \uc774\ubbf8 \ud070 \uc774\ub4dd\uc744 \ub0b8 \uad6c\uc131 \uc704\uc5d0 \ub2e4\ub978 \ubc29\ubc95\uc744 \ub354\ud560 \ub54c \ub098\ud0c0\ub098\ub294 \uc218\ud655\uccb4\uac10\uc774\ub2e4. bestKpad\uac00 host-bound \ubcd1\ubaa9\uc744 \uc0c1\ub2f9 \ubd80\ubd84 \uc81c\uac70\ud588\uc73c\ubbc0\ub85c, W4A4\uac00 \ucd94\uac00\ub85c \uc5bb\uc744 \uc5ec\uc9c0\uac00 \uadf8\ub9cc\ud07c \uc791\ub2e4.<\/p>\n\n\n  <\/section>\n\n  <!-- ===== 04 ===== -->\n\n  <section>\n    <div class=\"snum\">04<\/div>\n    <h2>\ub3d9\uc801-K: \ub7f0\ud0c0\uc784 K \ucee8\ud2b8\ub864\ub7ec<\/h2>\n    <p class=\"sub\">bestKpad\uc758 K\ub294 offline sweep\uc73c\ub85c \uace0\ub978 best-K\ub2e4. \ub7f0\ud0c0\uc784 \ucee8\ud2b8\ub864\ub7ec\uac00 \uc774\ub97c \uc7ac\ud604\ud560 \uc218 \uc788\ub294\uc9c0 \uac80\uc99d\ud55c\ub2e4.<\/p>\n    <p>3\ud3b8\uc5d0\uc11c K\ub294 (\ubaa8\ub378, corpus)\ub9c8\ub2e4 \ubbf8\ub9ac sweep\ud574 \uace0\ub978 <strong>best-K<\/strong>\uc600\ub2e4. \uc6b4\uc601\uc5d0\uc11c corpus\ub97c \uc0ac\uc804\uc5d0 \uc54c \uc218 \uc5c6\ub294 \uacbd\uc6b0\uc5d0\ub294 \ub7f0\ud0c0\uc784\uc5d0 K\ub97c \uc870\uc815\ud558\ub294 \ucee8\ud2b8\ub864\ub7ec\uac00 \ud544\uc694\ud558\ub2e4. <strong>\ub3d9\uc801-K<\/strong>\uac00 \uadf8 \ubc29\ubc95\uc73c\ub85c, \ud6c4\ubcf4 K\u2208{4,6,12} \uc0ac\uc774\ub97c \ucc44\ud0dd\ub960 \uae30\ubc18(\u03b1-EMA)\uc73c\ub85c \uc870\uc815\ud558\uba70 \ub9e4 \uc2dc\uc810\uc758 K\ub97c \uc120\ud0dd\ud55c\ub2e4. upstream vLLM\uc774 \uac1c\ubc1c \uc911\uc778 \uc801\uc751\ud615 speculative decoding(eagle \uacc4\uc5f4 dynamic proposer)\uacfc \uac19\uc740 \uacc4\uc5f4\uc774\ub2e4.<\/p>\n    <p>\uac80\uc99d\ud560 \uc9c8\ubb38\uc740 \ub7f0\ud0c0\uc784 \ucee8\ud2b8\ub864\ub7ec\uac00 <strong>offline best-K\uc758 \ucc98\ub9ac\ub7c9\uc744 \uc7ac\ud604\ud558\uac70\ub098 \ub118\uc5b4\uc11c\ub294\uc9c0<\/strong>\ub2e4. \ub118\uc5b4\uc120\ub2e4\uba74 \uc0ac\uc804 sweep\uc774 \ubd88\ud544\uc694\ud574\uc9c4\ub2e4. \ub118\uc5b4\uc11c\uc9c0 \ubabb\ud55c\ub2e4\uba74, \uc801\uc5b4\ub3c4 \uc774 \uc6cc\ud06c\ub85c\ub4dc\uc5d0\uc11c\ub294 offline sweep\uc774 \uc5ec\uc804\ud788 \ud544\uc694\ud558\ub2e4\ub294 \uacb0\ub860\uc774 \ub41c\ub2e4.<\/p>\n\n<div style=\"background:#f6f7f8;border:1px solid #e6e7e9;border-radius:7px;padding:14px 17px;margin:22px 0;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13.5px;line-height:1.7;color:#1f2123\"><div style=\"white-space:pre;margin:0;color:#2f6f6a\"># \ub3d9\uc801-K \u2014 \ub7f0\ud0c0\uc784 K \ucee8\ud2b8\ub864\ub7ec<\/div><div style=\"white-space:pre;margin:0\">export VLLM_SUFFIX_DYN_K=1<span style=\"color:#2f6f6a\">          # K\ub97c \ub7f0\ud0c0\uc784\uc5d0 \uc870\uc815<\/span><\/div><div style=\"white-space:pre;margin:0;color:#2f6f6a\"># \ud6c4\ubcf4 KS={4,6,12}, \ucc44\ud0dd\ub960 \uae30\ubc18 \u03b1-EMA \uac31\uc2e0<\/div><div style=\"white-space:pre;margin:0;color:#2f6f6a\"># \ub098\uba38\uc9c0 \uc124\uc815\uc740 bestKpad\uc640 \ub3d9\uc77c (suffix + FaP, bf16)<\/div><\/div>\n  <\/section>\n\n  <!-- ===== 05 ===== -->\n\n  <section>\n    <div class=\"snum\">05<\/div>\n    <h2>\ub3d9\uc801-K \uacb0\uacfc: offline best-K \ubbf8\ub2ec<\/h2>\n    <p class=\"sub\">11\uac1c \ubaa8\ub378 \uc911 mix\uc5d0\uc11c bestKpad\ub97c \ub118\uc740 \ubaa8\ub378\uc740 DeepSeek-R1 \ud558\ub098.<\/p>\n    <p>\ub3d9\uc801-K\ub294 \ucd9c\ub825\uc744 \ubc14\uafb8\uc9c0 \uc54a\uc73c\ubbc0\ub85c \uac8c\uc774\ud2b8 \uc81c\uc57d \uc5c6\uc774 11\uac1c \ubaa8\ub378 \uc804\ubd80\uc5d0\uc11c \uce21\uc815\ud588\ub2e4. \uacb0\uacfc\ub294 \uc77c\uad00\ub41c\ub2e4. <strong>mix \uae30\uc900\uc73c\ub85c bestKpad\ub97c \ub118\uc740 \ubaa8\ub378\uc740 DeepSeek-R1(+3.1%) \ud558\ub098<\/strong>\uc774\uace0, \ub098\uba38\uc9c0\ub294 \ubaa8\ub450 \ubbf8\ub2ec\ud588\ub2e4. Llama-3.1-70B\ub294 \u221232.9%\ub85c \uac00\uc7a5 \ud070 \ud558\ub77d\uc744 \ubcf4\uc600\ub2e4.<\/p>\n<figure>\n  <img decoding=\"async\" src=\"http:\/\/kyunam.com\/wp-content\/uploads\/2026\/07\/IMG_0933.png\" alt=\"\ub3d9\uc801-K\uc758 mix \ucc98\ub9ac\ub7c9, bestKpad \ub300\ube44 % \u2014 11\uac1c \ubaa8\ub378, DeepSeek-R1\ub9cc \uc591\uc218\">\n  <figcaption><b>Figure 3 \u00b7 \ub3d9\uc801-K\uc758 bestKpad \ub300\ube44 \uc99d\uac10(mix).<\/b> DeepSeek-R1(+3%)\ub9cc \uc591\uc218\uc774\uace0, K-EXAONE\uc740 \ubcf4\ud569(\u22120%), \ub098\uba38\uc9c0 9\uac1c\ub294 \u22126 ~ \u221233%\ub85c \ubaa8\ub450 \uc74c\uc218\ub2e4. 70B \uae30\ud558\ud3c9\uade0\uc740 \u22127.9%.<\/figcaption>\n<\/figure>\n\n<p>\uc6d0\uc778\uc740 \uae30\ub2a5 \uc911\ubcf5\uc5d0 \uc788\ub2e4. suffix decoding\uc740 step\ub9c8\ub2e4 suffix tree\uc5d0\uc11c match\ub41c \uae38\uc774\ub9cc\ud07c\ub9cc draft\ub97c \uc0dd\uc131\ud558\ubbc0\ub85c, \uc2e4\ud6a8 draft \uae38\uc774\uac00 \uc774\ubbf8 \uc785\ub825\uc5d0 \ub530\ub77c \ubcc0\ud55c\ub2e4. \uc5ec\uae30\uc5d0 \ubcc4\ub3c4\uc758 K \ucee8\ud2b8\ub864\ub7ec\ub97c \ub354\ud558\uba74, offline\uc5d0\uc11c \uc774\ubbf8 \ud655\uc815\ub41c \ucd5c\uc801 K\ub97c \ub7f0\ud0c0\uc784 \ucd94\uc815\uc73c\ub85c \ub4a4\ub530\ub77c\uac00\ub294 \ud615\ud0dc\uac00 \ub418\uc5b4 <strong>\ucd94\uc815 \uc9c0\uc5f0\uacfc \uacfc\uc18c\ucd94\uc815\uc73c\ub85c \uc190\uc2e4<\/strong>\uc774 \ubc1c\uc0dd\ud55c\ub2e4. \ud2b9\ud788 \uc774\uc9c8\uc801 \uc694\uccad\uc774 \uc11e\uc778 mix\uc5d0\uc11c offline best-K\ub294 \ud070 K(K12)\ub97c \uc120\ud0dd\ud558\uc9c0\ub9cc, \ucee8\ud2b8\ub864\ub7ec\ub294 \uc774\ub97c \uc989\uc2dc \ub530\ub77c\uac00\uc9c0 \ubabb\ud574 \uaca9\ucc28\uac00 \uac00\uc7a5 \ud06c\ub2e4.<\/p>\n<p>DeepSeek-R1\uc774 \uc608\uc678\uc778 \uac83\uc740 \uc774 \ubaa8\ub378\uc758 \ud2b9\uc131 \ub54c\ubb38\uc73c\ub85c \ubcf4\uc778\ub2e4. suffix\uac00 \ud68c\uadc0\ud588\ub358(3\ud3b8 \u00a705) \uc774 MoE\uc5d0\uc11c\ub294 offline \ub2e8\uc77c best-K\ubcf4\ub2e4 \ub7f0\ud0c0\uc784 \uc801\uc751\uc774 \uadfc\uc18c\ud558\uac8c \uc720\ub9ac\ud588\ub2e4. \ub2e4\ub9cc \uc774\ub294 11\uac1c \uc911 \ud558\ub098\uc758 \uc608\uc678\uc774\uba70, \uc804\uccb4 \uacb0\uacfc\ub294 <strong>\ub3d9\uc801-K(upstream \uc801\uc751\ud615 \uacc4\uc5f4)\uac00 bestKpad\ub97c \ub118\uc9c0 \ubabb\ud55c\ub2e4<\/strong>\ub294 \uac83\uc774\ub2e4.<\/p>\n\n<p class=\"caveat\"><strong>\ubc94\uc704 \uc8fc\uc758.<\/strong> \ub3d9\uc801-K\uac00 \uc808\ub300\uc801\uc73c\ub85c \ub290\ub9ac\ub2e4\ub294 \ub73b\uc740 \uc544\ub2c8\ub2e4. \uace0\uc815-K6 \uac19\uc740 \ub2e8\uc21c \uae30\uc900\uacfc \ube44\uad50\ud558\uba74 \ub3d9\uc801-K\ub3c4 +1% \uc548\ud30e\uc73c\ub85c \uc55e\uc120\ub2e4. \ub2e4\ub9cc \uc774\ubc88 \ud3b8\uc758 \uae30\uc900\uc120\uc740 \uadf8 \ub2e8\uc21c \uae30\uc900\uc774 \uc544\ub2c8\ub77c <strong>offline best-K\uc778 bestKpad<\/strong>\uc774\uba70, \uadf8 \uae30\uc900\uc120\uc744 \ub118\uc9c0\ub294 \ubabb\ud588\ub2e4.<\/p>\n\n\n  <\/section>\n\n  <!-- ===== 06 ===== -->\n\n  <section>\n    <div class=\"snum\">06<\/div>\n    <h2>\ub450 \ubc29\ubc95\uc774 \ub9c9\ud78c \uc774\uc720<\/h2>\n    <p class=\"sub\">\ucd9c\ub825 \ubcf4\uc874, \ucd9c\ub825 \ubcc0\uacbd, \uae30\ub2a5 \uc911\ubcf5.<\/p>\n    <p>\uc138 \ubc29\ubc95\uc744 \uc131\uaca9\ubcc4\ub85c \uad6c\ubd84\ud558\uba74 \uacb0\uacfc\uac00 \uc124\uba85\ub41c\ub2e4.<\/p>\n    <ol class=\"pit\">\n      <li><strong>bestKpad \u2014 \ucd9c\ub825 \ubcf4\uc874.<\/strong> \ucd9c\ub825 \ubd84\ud3ec\ub97c \ubc14\uafb8\uc9c0 \uc54a\uace0 \ucc98\ub9ac\ub7c9\ub9cc \ub192\uc778\ub2e4. \uc804 \ubaa8\ub378\u00b7\uc804 corpus\uc5d0 \uc801\uc6a9 \uac00\ub2a5\ud558\ubbc0\ub85c \uae30\uc900 \uad6c\uc131\uc774 \ub41c\ub2e4.<\/li>\n      <li><strong>W4A4 \u2014 \ucd9c\ub825 \ubcc0\uacbd.<\/strong> \uc815\ud655\ub3c4 \uc190\uc2e4 \uac00\ub2a5\uc131\uc744 \uac10\uc218\ud558\uace0 \ucc98\ub9ac\ub7c9\u00b7\uba54\ubaa8\ub9ac\ub97c \uc5bb\ub294\ub2e4. \uac8c\uc774\ud2b8\ub97c \ud1b5\uacfc\ud55c \ubaa8\ub378(\uc5ec\uae30\uc11c\ub294 70B)\uc5d0\uc11c\ub9cc, \uadf8\ub9ac\uace0 corpus\uc5d0 \ub530\ub77c(\ucf54\ub4dc \uc774\ub4dd, mix \uc190\ud574) \ud6a8\uacfc\uac00 \uac08\ub9b0\ub2e4. \uc77c\ubc18\uc801\uc73c\ub85c \uc801\uc6a9\ub418\ub294 \ubc29\ubc95\uc774 \uc544\ub2c8\ub77c <strong>\uc870\uac74\ubd80 \uc774\ub4dd<\/strong>\uc774\ub2e4.<\/li>\n      <li><strong>\ub3d9\uc801-K \u2014 \uae30\ub2a5 \uc911\ubcf5.<\/strong> suffix\uac00 \uc774\ubbf8 \uc218\ud589\ud558\ub294 \ub7f0\ud0c0\uc784 \uac00\ubcc0 draft\ub97c \ubcc4\ub3c4 \ucee8\ud2b8\ub864\ub7ec\ub85c \ubc18\ubcf5\ud558\uba74\uc11c offline best-K\uc5d0 \ubbf8\ub2ec\ud55c\ub2e4. bestKpad\uc758 offline sweep\uc744 \ub300\uccb4\ud558\uc9c0 \ubabb\ud55c\ub2e4.<\/li>\n    <\/ol>\n    <p>\uc989 bestKpad\ub97c \ub118\uc9c0 \ubabb\ud55c \uc774\uc720\ub294 \ucd94\uac00 \uc5ec\uc9c0\uac00 \uc5c6\uc5b4\uc11c\uac00 \uc544\ub2c8\ub77c, \ub0a8\uc740 \ub450 \ubc29\ubc95\uc774 \uac01\uac01 <strong>\uc801\uc6a9 \uc870\uac74(\uac8c\uc774\ud2b8)<\/strong>\uacfc <strong>\uae30\ub2a5 \uc911\ubcf5<\/strong>\uc774\ub77c\ub294 \uc81c\uc57d\uc744 \uac00\uc84c\uae30 \ub54c\ubb38\uc774\ub2e4.<\/p>\n  <\/section>\n\n  <!-- ===== 07 ===== -->\n\n  <section>\n    <div class=\"snum\">07<\/div>\n    <h2>\uc801\uc6a9 \uae30\uc900 (decision tree)<\/h2>\n    <p class=\"sub\">\uae30\ubcf8 \uad6c\uc131\uc740 bestKpad. W4A4\ub294 \uc870\uac74\ubd80 \uc801\uc6a9, \ub3d9\uc801-K\ub294 \ubcf4\ub958.<\/p>\n\n\n<div class=\"tw\">\n<table>\n  <thead><tr><th class=\"l\">\uc0c1\ud669<\/th><th class=\"l\">\uad8c\uc7a5<\/th><th class=\"l\">\uadfc\uac70<\/th><\/tr><\/thead>\n  <tbody>\n    <tr><td class=\"l\">\ub300\ubd80\ubd84\uc758 \ubaa8\ub378\u00b7\ud2b8\ub798\ud53d<\/td><td class=\"l win\">bestKpad<\/td><td class=\"l\">\ucd9c\ub825 \ubcf4\uc874\u00b7\uc804 \ubaa8\ub378 \uc801\uc6a9, \uae30\ubcf8 \uad6c\uc131 \uc720\uc9c0<\/td><\/tr>\n    <tr><td class=\"l\">70B + \ucf54\ub4dc \uc704\uc8fc \ud2b8\ub798\ud53d<\/td><td class=\"l win\">bestKpad + W4A4<\/td><td class=\"l\">humaneval\u00b7mbpp +16~29% (\uc815\ud655\ub3c4 \uac8c\uc774\ud2b8 \ud1b5\uacfc \ud6c4)<\/td><\/tr>\n    <tr><td class=\"l\">70B + \ud63c\ud569(mix) \ud2b8\ub798\ud53d<\/td><td class=\"l win\">bestKpad<\/td><td class=\"l\">mix\uc5d0\uc120 W4A4\uac00 \u22129.6%<\/td><\/tr>\n    <tr><td class=\"l\">\ub3d9\uc801-K(\ub7f0\ud0c0\uc784 \uc801\uc751)<\/td><td class=\"l\">\ubcf4\ub958<\/td><td class=\"l\">oracle \ubabb \ub118\uc74c(\u22127.9%) \u2014 DeepSeek-R1\ub9cc \uc608\uc678<\/td><\/tr>\n    <tr><td class=\"l\">FP8\u00b7MoE \ubaa8\ub378(405B\u00b7R1\u00b7EXAONE)<\/td><td class=\"l win\">bestKpad<\/td><td class=\"l\">W4A4 \uc591\uc790\ud654 \ubd88\uac00 \u2192 bestKpad\uac00 \uc0c1\ud55c<\/td><\/tr>\n  <\/tbody>\n<\/table>\n<\/div>\n<p>\uc815\ub9ac\ud558\uba74 <strong>bestKpad\ub97c \uae30\ubcf8 \uad6c\uc131\uc73c\ub85c \ub450\uace0<\/strong>, 70B\uc5d0\uc11c \ucf54\ub4dc \ud2b8\ub798\ud53d \ube44\uc911\uc774 \ub192\uc73c\uba70 \uc815\ud655\ub3c4 \uac80\uc99d\uc744 \ud1b5\uacfc\ud55c \uacbd\uc6b0\uc5d0 \ud55c\ud574 W4A4\ub97c \ucd94\uac00\ud55c\ub2e4. \ub3d9\uc801-K\ub294 offline best-K\ub97c \ub118\uc9c0 \ubabb\ud558\ubbc0\ub85c, corpus\ub97c \uc0ac\uc804\uc5d0 \uc54c \uc218 \uc788\ub294 \ud658\uacbd\uc5d0\uc11c\ub294 offline sweep\uc744 \uc720\uc9c0\ud55c\ub2e4.<\/p>\n\n  <\/section>\n\n  <!-- ===== 08 ===== -->\n\n  <section>\n    <div class=\"snum\">08<\/div>\n    <h2>\uc8fc\uc758\ud560 \ud574\uc11d \uc624\ub958<\/h2>\n    <p class=\"sub\">\uc774\ubc88 \ud3b8 \uacb0\uacfc\uc5d0\uc11c \ud2b9\ud788 \uc8fc\uc758\ud560 \uc810.<\/p>\n    <ol class=\"pit\">\n      <li><strong>W4A4\ub97c \ubaa8\ub4e0 \ubaa8\ub378\uc5d0 \uc77c\ubc18\ud654\ud558\ub294 \uac83.<\/strong> 11\uac1c \uc911 70B\ub9cc \uac8c\uc774\ud2b8\ub97c \ud1b5\uacfc\ud588\ub2e4. 7\uac1c\ub294 \ucd9c\ub825 \ubcc0\ud654\ub85c \ud0c8\ub77d\ud588\uace0, 3\uac1c(FP8\u00b7MoE)\ub294 \uc591\uc790\ud654\uac00 \ubd88\uac00\ub2a5\ud588\ub2e4. &#8220;70B\uc5d0\uc11c +7%&#8221;\ub97c \ub2e4\ub978 \ubaa8\ub378\ub85c \ud655\ub300 \uc801\uc6a9\ud574\uc11c\ub294 \uc548 \ub41c\ub2e4.<\/li>\n      <li><strong>W4A4\ub97c \ucd9c\ub825 \ubcf4\uc874 \ubc29\ubc95\uc73c\ub85c \uc624\ud574\ud558\ub294 \uac83.<\/strong> bestKpad\uc640 \ub2ec\ub9ac W4A4\ub294 \ucd9c\ub825 \ubd84\ud3ec\ub97c \ubc14\uafbc\ub2e4. \uc815\ud655\ub3c4 \uac80\uc99d \uc5c6\uc774 \uc801\uc6a9\ud558\uba74 \ud488\uc9c8\uc774 \uc800\ud558\ub420 \uc218 \uc788\ub2e4.<\/li>\n      <li><strong>W4A4\uc758 mix \ud558\ub77d\uc744 \uac04\uacfc\ud558\ub294 \uac83.<\/strong> \ucf54\ub4dc corpus\uc758 +16~29%\ub9cc \ubcf4\uace0 \uc801\uc6a9\ud558\uba74 \uc6b4\uc601 \ubd84\ud3ec(mix)\uc5d0\uc11c \u22129.6%\uac00 \ub420 \uc218 \uc788\ub2e4. \uc2e4\uc81c \ud2b8\ub798\ud53d \ubd84\ud3ec\ub97c \uae30\uc900\uc73c\ub85c \ud310\ub2e8\ud574\uc57c \ud55c\ub2e4.<\/li>\n      <li><strong>\ub3d9\uc801-K\uac00 offline best-K\ub97c \ub118\uc73c\ub9ac\ub77c \uae30\ub300\ud558\ub294 \uac83.<\/strong> suffix \uc790\uccb4\uac00 \ub7f0\ud0c0\uc784 \uac00\ubcc0 draft\ub97c \uc218\ud589\ud558\ubbc0\ub85c, \ubcc4\ub3c4 K \ucee8\ud2b8\ub864\ub7ec\ub294 \ub300\ubd80\ubd84 \uc190\ud574\ub2e4. \ub2e8\uc21c \uae30\uc900\ubcf4\ub2e4 \ub0ab\ub2e4\ub294 \uac83\uacfc offline best-K\ub97c \ub118\ub294\ub2e4\ub294 \uac83\uc740 \ub2e4\ub974\ub2e4.<\/li>\n      <li><strong>\ub2e8\uc77c \uc608\uc678\ub97c \uc77c\ubc18 \uaddc\uce59\uc73c\ub85c \ud655\ub300\ud558\ub294 \uac83.<\/strong> \ub3d9\uc801-K\uac00 \uc55e\uc120 \uac83\uc740 DeepSeek-R1 mix\ubfd0\uc774\ub2e4. \uc774 \ud55c \uc140\ub85c \ub3d9\uc801-K\uac00 \uc6b0\uc218\ud558\ub2e4\uace0 \uacb0\ub860\uc9c0\uc5b4\uc11c\ub294 \uc548 \ub41c\ub2e4.<\/li>\n    <\/ol>\n  <\/section>\n\n  <!-- ===== CLOSING ===== -->\n\n  <div class=\"closing\">\n    <span class=\"tag\">4\ud3b8 \uc815\ub9ac<\/span>\n    <p>\uc774\ubc88 \ud3b8\uc758 \uacb0\ub860\uc740 \ub450 \ubc29\ubc95 \ubaa8\ub450 bestKpad\ub97c \ub118\uc9c0 \ubabb\ud55c\ub2e4\ub294 \uac83\uc774\ub2e4. W4A4\ub294 \ub4f1\uac00 \uac8c\uc774\ud2b8\ub97c \ud1b5\uacfc\ud55c 70B\uc5d0\uc11c, \uadf8\uc911\uc5d0\uc11c\ub3c4 \ucf54\ub4dc corpus\uc5d0\uc11c\ub9cc \uc774\ub4dd\uc744 \ub0c8\uace0 mix\uc5d0\uc11c\ub294 \uc190\ud574\uc600\ub2e4. \ub3d9\uc801-K\ub294 suffix\uac00 \uc774\ubbf8 \uc218\ud589\ud558\ub294 \ub7f0\ud0c0\uc784 \uac00\ubcc0 draft\uc640 \uae30\ub2a5\uc774 \uacb9\uccd0 offline best-K\ub97c \ub118\uc9c0 \ubabb\ud588\ub2e4. \ub530\ub77c\uc11c \uae30\ubcf8 \uad6c\uc131\uc740 bestKpad\ub85c \uc720\uc9c0\ud558\uace0, W4A4\ub294 \uc870\uac74\uc744 \ub9cc\uc871\ud558\ub294 \uacbd\uc6b0\uc5d0\ub9cc \ucd94\uac00\ud55c\ub2e4. \uc2dc\ub9ac\uc988 \uc804\uccb4\uc758 \ub204\uc801 \uc131\uacfc\uc640 \uc801\uc6a9 \uc808\ucc28\ub294 \ub2e4\uc74c \ud3b8\uc5d0\uc11c \uc815\ub9ac\ud55c\ub2e4.<\/p>\n  <\/div>\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) \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 \u00d7 7\uac1c corpus \u00b7 bestKpad(bf16, suffix+FaP+best-K) \/ W4A4(Llama-3.1-70B, AWQ+GPTQ NVFP4 4-bit, \ub4f1\uac00 \uac8c\uc774\ud2b8 \ud1b5\uacfc) \/ \ub3d9\uc801-K(bf16, \ub7f0\ud0c0\uc784 K \ucee8\ud2b8\ub864\ub7ec KS={4,6,12}). 2026-06 \uce21\uc815.\n  <\/div>\n\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>vLLM Performance \u00b7 Engineering Notes \u2014 4\ud3b8 bestKpad \uc704\uc758 \ub450 \ubc29\ubc95 \u2014 W4A4\uc640 \ub3d9\uc801-K 3\ud3b8\uc5d0\uc11c \ud655\ub9bd\ud55c bestKpad\ub97c \uae30\uc900\uc120\uc73c\ub85c \ub450\uace0, \uc591\uc790\ud654(W4A4)\uc640 \ub7f0\ud0c0\uc784 \ub3d9\uc801-K\uac00 \uadf8 \ucc98\ub9ac\ub7c9\uc744 \ub118\uc5b4\uc11c\ub294\uc9c0 \uce21\uc815\ud588\ub2e4. W4A4\ub294 11\uac1c \ubaa8\ub378 \uc911<span class=\"more-button\"><a href=\"http:\/\/kyunam.com\/?p=1020\" class=\"more-link\">\uc77d\uc5b4 \ubcfc\uae4c?<span class=\"screen-reader-text\">vLLM \ub9c8\ub978 \uc218\uac74 \uc950\uc5b4 \uc9dc\uae30<\/span><\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":1015,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[309,44,310,1],"tags":[317,354,380,377,381,378,373,379,318,351,376,350,375,316,348,374,306,372],"class_list":["post-1020","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai","category-tech","category-vllm","category-uncategorized","tag-cuda-graph","tag-deepseek-r1","tag-dgx-b200","tag-dynamic-k","tag-engineering-notes","tag-gpu-inference","tag-inference-optimization","tag-llama-3-1-70b","tag-llm-inference","tag-moe","tag-nvfp4","tag-nvidia-b200","tag-quantization","tag-speculative-decoding","tag-suffix-decoding","tag-throughput","tag-vllm","tag-w4a4"],"_links":{"self":[{"href":"http:\/\/kyunam.com\/index.php?rest_route=\/wp\/v2\/posts\/1020","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=1020"}],"version-history":[{"count":6,"href":"http:\/\/kyunam.com\/index.php?rest_route=\/wp\/v2\/posts\/1020\/revisions"}],"predecessor-version":[{"id":1030,"href":"http:\/\/kyunam.com\/index.php?rest_route=\/wp\/v2\/posts\/1020\/revisions\/1030"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/kyunam.com\/index.php?rest_route=\/wp\/v2\/media\/1015"}],"wp:attachment":[{"href":"http:\/\/kyunam.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1020"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/kyunam.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1020"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/kyunam.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1020"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}