[AI/LLM] Speculative Decoding 기술과 실전 구현 (EAGLE, Medusa, N-gram)
·
AI Study/[LLM]
1. 들어가며2편에서 배운 Speculative Decoding은 혁신적이었지만, 현업 적용엔 큰 장벽이 있었습니다. "내 Llama-3-70B랑 토크나이저가 완벽히 호환되면서, 사이즈는 1/50인 Tiny 모델을 어디서 구하지?"적절한 Draft Model(조수)을 찾는 건 매우 어렵고, 찾더라도 GPU 메모리에 모델 2개를 동시에 올리는 건 부담스럽습니다. 그래서 AI 연구진들은 "별도의 모델 없이(Model-less)" 가속화하는 방법들을 고안해냈습니다.3편에서는 현재 가장 핫한 최신 기술인 Medusa, EAGLE, 그리고 가장 쉬운 N-gram 방식을 소개하고, 현업 표준인 vLLM에서 이를 구동하는 상세 명령어를 정리합니다. 2. 기술 1: Medusa2.1 정의 및 작동 원리Medusa는 별..
[AI/LLM] Speculative Decoding의 정의 및 원리 (Draft & Verify)
·
AI Study/[LLM]
1. 들어가며LLM 추론 속도를 높이는 방법은 많습니다. 양자화(Quantization)를 해서 모델을 가볍게 만들거나, 가지치기(Pruning)를 해서 덜 중요한 연산을 날릴 수도 있죠. 하지만 이들은 필연적으로 모델의 정확도(품질) 손실을 가져옵니다.그런데 **"모델의 출력 결과는 100% 똑같은데, 속도만 2~3배 빨라지는 기술"**이 있다면 믿으시겠습니까? 그것이 바로 **Speculative Decoding (추측 디코딩)**입니다.2. Speculative Decoding이란? (정의와 개념)**Speculative Decoding (추측 디코딩)**은 LLM 추론 가속화 기법 중 하나로, **"작고 빠른 모델(Draft Model)이 먼저 여러 토큰을 추측(Speculate)하고, 크고 정확..
[AI/LLM] LLM의 텍스트 생성 과정 (Encoding, Decoding, 그리고 속도의 한계)
·
AI Study/[LLM]
1. 들어가며우리가 챗봇에게 "오늘 날씨 어때?"라고 입력하면 AI는 바로 알아듣는 것 같지만, 사실 내부에서는 엄청난 번역 작업이 일어납니다. AI는 '날씨'라는 단어의 의미를 이해하는 것이 아니라, 수많은 숫자 계산 끝에 '맑음'이라는 숫자를 뱉어내는 확률 계산기이기 때문입니다.LLM(Large Language Model)이 텍스트를 생성하는 과정을 이해하려면 먼저 **Encoding(입력)**과 Decoding(출력), 그리고 그 사이에서 발생하는 구조적 병목 현상을 알아야 합니다. 오늘은 Speculative Decoding이라는 고급 기술을 이해하기 위한 필수 기초 체력을 길러보겠습니다.2. Encoding: 인간의 언어를 기계의 언어(숫자)로컴퓨터는 0과 1밖에 모릅니다. 그래서 우리는 텍스트..
[AI/LLM] LLM Fallback 메커니즘 완벽 가이드 (LangChain vs Pure Python)
·
AI Study/[LLM]
1. 들어가며AI 엔지니어로서 서비스를 운영하다 보면 심장이 철렁하는 순간이 있습니다. 갑자기 고객들의 CS가 빗발치고, 로그를 확인해 보니 500 Internal Server Error 또는 **429 Too Many Requests**가 빨갛게 도배되어 있는 상황이죠.원인은 내 코드가 아니라, 우리가 의존하고 있는 LLM 공급자(OpenAI, Anthropic 등)의 서버 장애일 확률이 높습니다."외부 API 장애니까 어쩔 수 없어요"라고 말하는 건 아마추어입니다. 프로덕션 레벨의 서비스라면, 메인 엔진이 꺼졌을 때 보조 엔진이 즉시 돌아가야 합니다. 오늘 다룰 주제는 바로 이 보조 엔진, Fallback 시스템입니다.2. Fallback(폴백)이란?**Fallback(폴백)**은 시스템이 원래 의도..
[DB] 개발자의 기본기, 데이터베이스(DB)란 무엇인가? (RDB, NoSQL, Redis, Vector DB)
·
Tech Archive/[DB]
1. 들어가며: "데이터, 어디에 저장해야 할까?"웹사이트나 앱을 만들 때 가장 먼저 하는 고민은 "데이터를 어디에 저장하지?"입니다.과거에는 무조건 Oracle이나 MySQL이었지만, 지금은 데이터의 형태와 목적에 따라 너무나 다양한 선택지가 존재합니다."결제 정보는 무조건 안전하게!""로그 데이터는 1초에 10만 개씩 쌓이는데?""검색창에 오타를 쳐도 검색되게 하고 싶어."이 질문들에 대한 답이 서로 다른 DB여야 한다는 사실, 알고 계셨나요?오늘 정리해 드리는 5가지 DB 유형만 확실히 알아두면, 시스템 아키텍처를 설계하는 눈이 트일 것입니다.2. RDB (관계형 DB)Relational Database (RDBMS)는 행(Row)과 열(Column)로 이루어진 **'엑셀 표'**와 같습니다. 50..
[AI/RAG] RAG 고급 검색 기술 총정리 (RRF, KG-RAG, ColBERT 등)
·
AI Study/[LLM]
1. 들어가며: "검색 결과가 좋아야 답변도 좋다"3편까지 우리는 기본 검색(Similarity Search)을 구현했습니다. 하지만 실전 데이터는 호락호락하지 않습니다. "그거 얼마야?" 같은 모호한 질문부터, "김팀장님이 쓴 기획서 중 예산 1억 이상인 것만 찾아줘" 같은 복잡한 필터링까지 처리해야 하죠.4편에서는 이러한 난관을 돌파하는 현업 RAG의 필살기 10가지를 실제 데이터 예시와 함께 총정리합니다. 2. 전략 1: 질문부터 고치자 (Query Transformation)사용자의 질문은 불완전합니다. 검색하기 딱 좋은 형태로 질문을 '성형수술' 해줘야 합니다. 2.1 Query Expansion (확장 검색)정의: 사용자의 질문이 너무 짧거나 전문 용어가 없을 때, LLM을 이용해 동의어나 구..
[AI/RAG] RAG를 위한 Embedding Model 선정, Vector DB 구축
·
AI Study/[LLM]
1. 들어가며: 컴퓨터가 '의미'를 이해하는 방법2편에서 우리는 데이터를 잘게 쪼갰습니다(Chunking). 이제 이 텍스트 조각들을 컴퓨터가 이해할 수 있는 **'숫자(벡터)'**로 바꿔야 합니다.사람: "배가 고프다" $\leftrightarrow$ "맛집을 찾는다" (의미 연결)컴퓨터 (임베딩 전): "배가 고프다" $\neq$ "맛집을 찾는다" (글자 다름)컴퓨터 (임베딩 후): [0.1, 0.5, ...] $\approx$ [0.12, 0.48, ...] (유사함!)임베딩은 텍스트를 N차원 공간의 좌표로 변환하여, 의미적 거리를 계산할 수 있게 해주는 마법입니다. 2. 임베딩 모델 선정 (MTEB 리더보드 활용법)"아무 모델이나 쓰면 안 되나요?" $\rightarrow$ 안 됩니다.임베딩 모델..
[AI/RAG] RAG의 시작, 데이터 파이프라인 (LlamaParse, Semantic Chunking)
·
AI Study/[LLM]
1. 들어가며: "Garbage In, Garbage Out"1편에서 우리는 RAG가 '오픈북 테스트'라는 것을 배웠습니다.그런데 만약 교과서(데이터)가 찢어져 있거나, 페이지가 뒤섞여 있다면 어떨까요? 아무리 똑똑한 학생(GPT-4)도 시험을 망칠 수밖에 없습니다.RAG 구축 실패의 70%는 **'데이터 전처리'**에서 발생합니다.표가 깨져서 들어오거나, 문장의 중간이 뚝 끊겨서 의미가 왜곡되는 경우죠.2편에서는 여러분의 지저분한 데이터를 **'LLM이 떠먹기 좋은 형태'**로 가공하는 최신 파이프라인 구축법을 다룹니다.2. 데이터 로드 (Loader): 비정형 데이터 정복하기가장 먼저 할 일은 PDF, 웹페이지, 엑셀 파일 등을 텍스트로 가져오는 것입니다. 2-1. 기본: PDF, Web, CSV (..
[AI/RAG] RAG(Retrieval-Augmented Generation)이란? (RAG 개념, Fine-tuning 차이, 검색 기법)
·
AI Study/[LLM]
1. 들어가며"ChatGPT, 나 올해 복지포인트 얼마나 남았어?"여러분이 아무리 비싼 GPT-4를 써도, 이 질문에는 답을 못 합니다.LLM은 인터넷에 공개된 지식은 알지만, 여러분 회사의 사내 규정(ERP), 비공개 보고서, 실시간 데이터는 학습한 적이 없기 때문입니다.LLM의 답변: "죄송합니다. 저는 사용자의 개인 정보나 특정 회사의 내부 데이터에 접근할 수 없습니다." (혹은 그럴싸한 거짓말)이 문제를 해결하기 위해 **RAG (Retrieval-Augmented Generation)**가 등장했습니다. 모델을 재학습시키지 않고, **외부 데이터(복지포인트 DB)**를 검색해서 LLM에게 '참고 자료'로 넘겨주는 기술이죠. 2. RAG vs Fine-tuning: 무엇을 언제 써야 할까?현업에서..
[AI/NLP] Embedding 실습 및 Vector DB 맛보기 (OpenAI, ChromaDB)
·
AI Study/[LLM]
1. 들어가며1편에서 단어를 좌표로 바꾸는 개념을 배웠고, 2편에서 BERT와 최신 모델들을 알아봤습니다.이제 남은 건 "그래서 이거 어떻게 코드로 짜는데?"입니다.백문이 불여일견. 실제로 텍스트를 넣었을 때 어떤 숫자들이 튀어나오는지, 그리고 그 숫자들이 어떻게 "배고파"라는 질문에 "김치찌개"를 찾아내는지, Python 코드로 직접 확인해 보겠습니다.2. 환경 세팅: 요즘 대세 uv로 3초 만에 준비하기현업 Python 프로젝트 관리의 신흥 강자, **uv**를 사용해 환경을 구축합니다. (pip보다 압도적으로 빠르고, 가상환경 관리도 알아서 해줍니다.) 2-1. 프로젝트 생성 및 라이브러리 설치터미널을 열고 다음 명령어들을 입력하세요.# 1. 프로젝트 폴더 생성 및 초기화uv init embeddi..