전체 글 51

부팅 USB를 이용한 리눅스 설치(우분투 설치)

*이 글은 인터넷 연결이 되어있는 데스크탑이라는 가정하에 진행됩니다.1. 사용할 버전의 리눅스 iso파일 다운→ 26/07의 경우 Ubuntu 26.04 설치 권장https://ubuntu.com/desktop Ubuntu Desktop PC operating system | UbuntuFast, secure, and stylishly simple, the Ubuntu operating system is used by 50 million people worldwide every day. Download it here.ubuntu.com 2. 빈 USB 준비 (8G 이상) 리눅스를 설치하는 데 필요한 iso파일과 usb installer exe 파일을 저장하기 위해 8G이상의 usb가 필요함3. Rufus..

카테고리 없음 2026.08.07

졸업프로젝트 SynTree KV 1학기 결과 회고

SynTree KV: 왜 AST 서브트리 단위로 KV cache를 재사용하려 했는가코딩 에이전트 환경에서 LLM 추론을 최적화하는 방법은 여러 가지가 있다. prefix caching도 있고, CacheBlend처럼 chunk 단위로 KV를 융합하는 방법도 있다. 그런데 우리 팀이 선택한 건 그것들과는 결이 다른 접근이었다. 이 글은 왜 AST 서브트리 단위의 KV cache 재사용이라는 방향을 택했는지, 그리고 1학기 동안 어떤 결과를 얻었는지를 정리한 글이다.문제 인식: prefix caching은 왜 코딩 에이전트에서 잘 안 되는가vLLM의 prefix caching은 입력의 앞부분이 동일할 때 KV cache를 재사용한다. 직관적으로는 코딩 에이전트 환경에서도 잘 작동할 것 같다. 같은 코드베이스..

OpenHands tool call 실패 분석

소형 모델의 실패는 태스크 탓인가, 모델 탓인가 — 데이터로 검증하기이전 글에서 Qwen2.5-Coder-14B가 OpenHands 환경에서 제대로 동작하지 않아 30B-FP8로 전환했다고 했다. 이번 글은 그 실패가 정확히 어떤 패턴이었는지, 그리고 원인이 태스크 난이도 때문인지 모델 문제인지 데이터로 파고든 기록이다.실패의 정체: 빈 JSON 블록SWE-bench Lite에서 50개 trace를 수집했는데, 36개(72%)가 중간에 멈췄다. 패턴을 들여다보니 하나로 수렴했다.모델이 tool call을 실행해야 하는 자리에 이런 걸 뱉고 세션을 끝냈다.### Step 2: Modify the file```json```비어있는 마크다운 블록이다. 모델은 "여기서 tool을 써야 한다"는 건 알고 있었지만..

OpenHands에서 모델 크기가 왜 중요한가(0.5B~30B-FP8)

처음 이 프로젝트를 시작할 때, 엣지 환경이라는 제약을 둬서 모델은 최대한 작을수록 좋다고 생각했다. 엣지 환경에서도 돌아갈 수 있는 경량 모델로 trace를 수집하고, 그 위에서 KV cache 최적화를 검증하겠다는 계획이었다. 그치만 생각만큼 안 되는게 실험아니던가.. 계획대로 되지 않았다.0.5B, 1.5B, 7B, 14B — 작은 모델의 한계처음엔 Qwen2.5-Coder-0.5B로 시도했다. 벤치마크 숫자만 보면 코딩 태스크에서 나쁘지 않은 성능이었다. 그런데 막상 OpenHands 환경에 붙여보니 전혀 다른 문제들이 튀어나왔다.가장 큰 문제는 파일 경로 할루시네이션이었다. 존재하지 않는 경로를 read_file로 읽으려 하고, 없다는 오류가 돌아와도 비슷한 엉뚱한 경로를 계속 시도했다. too..

[논문리뷰] SnapKV: LLM Knows What You are Looking for Before Generation

Li et al. | UIUC, Cohere, Princeton University | NeurIPS 2024 Main IdeaLLM이 긴 입력을 처리할 때 KV cache는 입력 길이에 비례해 증가 → 메모리와 시간 효율 저하기존 KV cache 압축 방법들은 고정된 휴리스틱(누적 어텐션 점수 등)에 의존 → 동적인 어텐션 패턴을 반영하지 못해 중요한 토큰을 제거할 위험 존재⇒ 이 논문에서는 SnapKV로 이 문제를 해결하려 함⇒ SnapKV란 각 attention head가 생성 과정에서 일관되게 집중하는 프롬프트 내 특정 attention feature를 관찰 윈도우(observation window)로 식별하고, 이를 기반으로 KV cache를 압축하는 fine-tuning-free 방법단일 A1..

[논문리뷰] Efficient Serving for Dynamic Agent Workflows with Prediction-based KV-Cache Management (PBKV)

arXiv: 2605.06472v1 (2026.05.07)저자: Haoyu Zheng, Fangcheng Fu, Jia Wu, Binhang Yuan, Yongqiang Zhang, Hao Wang, Yuanyuan Zhu, Xiao Yan, Jiawei Jiang소속: Wuhan University, Shanghai Jiao Tong University, Macquarie University, HKUST, Dameng DatabaseMain IdeaLangChain, AutoGen 같은 LLM 기반 멀티에이전트 시스템에서 여러 에이전트가 시스템 프롬프트, 이전 에이전트 결과 등 방대한 KV-Cache를 공유함GPU 메모리는 유한하므로 어떤 캐시를 유지하고 버릴지 결정하는 KV-Cache 관리가 핵심 병..

KV Cache Merging: Token-wise vs AST 기반

KV cache 머징의 개념과 두 가지 대표적인 블록 단위 정의 방식 비교1. 머징(Merging)이란?KV cache 연구에서 재사용·병합·부분 재사용을 통칭하는 표현.여러 KV를 합치거나, 비슷한 KV를 하나로 묶거나, 부분적으로 재사용해서 새로운 KV로 만드는 것 LLM이 입력 토큰을 처리할 때 생성하는 Key-Value tensor를 다음 요청에서 다시 활용할 수 있도록 묶고 관리하는 작업 전반을 가리킨다.왜 필요한가?Prefill 비용 절감: 동일하거나 유사한 입력을 다시 처리할 때 KV 재계산을 생략메모리 효율: 중복 KV 저장을 줄여 VRAM 사용량 최적화Long-context 지원: 긴 입력을 매번 통째로 다시 계산하지 않고 부분 재사용2. 블록 단위(Block Granularity) 결정..

RoPE와 KV Cache 재사용: Positional Encoding이 만드는 제약

왜 KV cache를 "위치가 다른 곳"에 그대로 가져다 쓸 수 없는가?1. Positional Encoding이란?LLM이 입력 토큰의 순서(위치) 를 인식할 수 있게 해주는 메커니즘."나는 사과를 먹었다"여기서 "사과"가 2번째 위치에 있다는 것을 모델이 알아야 "나는"과 "먹었다" 사이의 관계를 올바르게 계산할 수 있다.이 위치 정보를 입력에 주입하는 방식이 positional encoding이며, 시기별로 다음과 같이 발전해왔다.방식대표 모델특징Absolute Positional EncodingGPT-2, BERT위치별 고정 벡터를 더함Relative Positional EncodingT5토큰 간 상대 거리 기반ALiBiBLOOM, MPTattention score에 거리 페널티RoPE (Rota..

[논문리뷰] PromptCache: Modular Attention Reuse for Low-Latency Inference

Gim et al. | Yale University, Google | MLSys 2024Main IdeaLLM 추론 시 서로 다른 사용자 프롬프트 사이에는 겹치는 텍스트 세그먼트(시스템 메시지, 프롬프트 템플릿, 컨텍스트 문서 등)가 빈번하게 존재함기존 KV cache는 단일 프롬프트 내 토큰 간 재사용만 지원 → 프롬프트 간 재사용 불가⇒ 이 논문에서는 PromptCache로 이 문제를 해결하려 함⇒ PromptCache란 자주 반복되는 텍스트 세그먼트의 attention state를 사전 계산해 서버에 저장하고, 동일 세그먼트가 포함된 다른 프롬프트에서 재사용하는 모듈형 KV cache 재사용 방식스키마(schema)로 재사용 가능한 세그먼트(prompt module)를 명시적으로 정의 → 위치 정확..

[논문리뷰] CacheBlend: Fast Large Language Model Serving for RAG with Cached Knowledge Fusion

Yao et al. | University of Chicago, Carnegie Mellon University | EuroSys 2025Main IdeaRAG(Retrieval-Augmented Generation) 환경에서 LLM 입력은 여러 개의 retrieved text chunk로 구성됨기존 prefix caching은 text chunk가 입력의 앞부분(prefix)일 때만 KV cache를 재사용 가능 → chunk가 prefix가 아닌 경우 재사용 불가, 매번 전체 재계산 필요⇒ 이 논문에서는 CacheBlend로 이 문제를 해결하려 함⇒ CacheBlend란 prefix 여부에 관계없이 여러 text chunk의 사전 계산된 KV cache를 결합하고, 소수의 토큰만 선택적으로 재계산하여..