[AI/LLM] Inference와 Reasoning (추론) 완벽 가이드 (개요 및 정의, 특징, 장단점, 주요 활용 분야, 실습)
·
AI Study/[LLM]
1. 들어가며최근 인공지능(AI) 뉴스를 보면 "추론 속도가 빨라졌다"는 기사와 "추론 능력이 뛰어난 모델이 나왔다"는 기사가 동시에 쏟아집니다. 그런데 여기서 말하는 두 '추론'은 전혀 다른 개념이라는 사실을 알고 계셨나요?한국어로는 둘 다 '추론'으로 번역되지만, AI 엔지니어링 관점에서 이 둘은 명확히 구분됩니다.Inference: 학습된 AI가 정답을 '실행/출력'하는 과정 (System 1)Reasoning: AI가 문제를 풀기 위해 '논리적으로 생각'하는 과정 (System 2)최근 OpenAI의 o1 모델이나 DeepSeek-R1처럼 '스스로 생각하는 AI'가 등장하면서 이 두 개념의 구분은 AI 서비스 기획과 개발에 있어 핵심 기준이 되었습니다. 본 포스팅에서는 Inference와 Reas..
[AI/LLM] KV Cache(Key-Value Cache)에 대해 자세히 알아보자! (정의, 원리, 장단점, 실습)
·
AI Study/[LLM]
1. 들어가며ChatGPT나 Claude 같은 생성형 AI를 사용할 때, 문장이 길어질수록 답변 속도가 미세하게 느려지거나 GPU 메모리가 급격히 차오르는 현상을 경험해 보셨을 겁니다.LLM은 기본적으로 자기회귀(Auto-regressive) 모델입니다. 즉, "나는 학교에"라는 문장이 주어지면 "간다"를 예측하고, 다시 "나는 학교에 간다"를 입력으로 넣어 "."을 예측합니다.문제는 이 과정에서 이미 계산했던 "나는 학교에" 부분의 연산을 매번 처음부터 다시 반복한다는 것입니다. 문장이 길어질수록 이 중복 연산은 기하급수적으로 늘어나, 치명적인 비효율을 초래합니다.이 문제를 해결하기 위해 등장한 기술이 바로 KV Cache(Key-Value Cache)입니다. "계산(Compute)을 아끼기 위해 메모..
[AI/LLM] Docker + vLLM으로 Qwen3-VL 모델 서빙하기
·
AI Study/[LLM]
1. 들어가며이전 포스팅에서 vLLM을 띄우는 법을 알아봤습니다. 하지만 현업에서 docker run --gpus all -p 8000:8000 -v ... (옵션 10줄) ... 같은 명령어를 터미널에 매번 복붙하고 있다면... 그건 재앙의 시작이죠."어? 저번에 썼던 GPU 메모리 옵션이 뭐였지?""새 모델로 바꾸려는데, 명령어 어디부터 고쳐야 해?""HF_TOKEN이 스크립트에 그대로 노출되네?"이때, docker-compose는 복잡한 docker run 명령어를 '설정 파일'로 관리하게 해줍니다. "어떤 모델을, 어떤 GPU로, 어떤 옵션을 줘서" 띄울지 명시하는 '설계도' 그 자체죠.오늘은 최신 멀티모달 모델인 Qwen3-VL을 docker-compose로 완벽하게 띄우는 실전 꿀팁을 A to..
[AI/LLM] Docker로 vLLM 모델 서빙 및 서버 구축 A to Z
·
AI Study/[LLM]
1. 들어가며: pip install 대신 Docker이전 게시글에서 vLLM의 '미친' 이론(PagedAttention)을 봤습니다. 이제 이 괴물 같은 놈을 서버에 설치할 차례죠.물론 pip install vllm? 됩니다. (요즘엔 uv pip install vllm이 더 빠르죠.) 하지만 현업에서 서버에 pip으로 직접 설치하는 순간, 지옥이 펼쳐집니다. 며칠 뒤 import가 꼬이고, NVIDIA 드라이버와 CUDA 버전이 충돌해서 밤새 머리를 쥐어뜯게 되죠.이럴 땐 역시 Docker가 편합니다..근데 docker run --gpus all ...로 시작하는 긴 명령어를 매번 치는 건 더 귀찮습니다. (저는 보통 docker-compose.yml로 만들어서 컨테이너를 올립니다.)이번에는 dock..
[AI/LLM] 현업에서 vLLM을 사용하는 이유 (vLLM 소개 및 Ollama와 비교)
·
AI Study/[LLM]
1. 들어가며: Ollama는 편한데, 왜 현업에선 vLLM을 쓸까?AI 엔지니어라면 로컬에서 Ollama나 Hugging Face의 transformers.pipeline()을 국룰처럼 씁니다. (저도 간단한 테스트는 Ollama를 애용하고 있습니다.) ollama run ... 명령어 하나로 모델 다운부터 API 서버까지 다 해결되니까요.하지만 이걸로 실제 서비스를 운영한다고 상상해 보세요.사용자 3명이 동시에 접속하는 순간, 서버는 멈칫거리기 시작합니다. 왜일까요? Ollama나 기본 pipeline은 '처리량(Throughput)'을 전혀 고려하지 않고, 한 번에 하나씩(혹은 비효율적인 배치로) 요청을 처리하기 때문입니다.이때 필요한 것이 바로 vLLM입니다. vLLM은 "LLM 추론 성능을 극한..