6장. RAG 의 원리와 로컬 모델로 옮기기
용어 짚고 가기
RAG(Retrieval-Augmented Generation)검색 증강 생성입니다. 질문과 관련된 문서를 찾아 프롬프트에 붙인 뒤 LLM 이 답하게 합니다. Retrieval(검색), Augmented(보강된), Generation(생성)의 머리글자입니다.검색(retrieval)질문과 관련된 문서 조각을 고르는 단계입니다. retrieval 은 "되찾아 옴"이라는 뜻입니다.증강(augmentation)찾은 조각을 프롬프트에 붙이는 단계입니다. augmentation 은 "늘림, 보강"이라는 뜻입니다.생성(generation)붙인 조각을 보고 LLM 이 답을 쓰는 단계입니다. generation 은 "만들어 냄"이라는 뜻입니다.환각(hallucination)LLM 이 사실이 아닌 내용을 그럴듯하게 지어내는 것입니다. 없는 것을 보는 "환각"에 빗댄 말입니다.지식 마감(knowledge cutoff)모델이 학습한 글이 끝나는 시점입니다. 그 뒤의 일은 모델이 모릅니다. cutoff 는 "잘라 끊는 지점"이라는 뜻입니다.문서 조각(chunk)검색 단위로 나눈 문서의 한 부분입니다. chunk 는 "덩어리"라는 뜻이고, 나누는 일을 청킹(chunking)이라고 합니다.키워드 검색(keyword search)질문과 문서에 같은 낱말(글자 조각)이 얼마나 겹치는지로 찾는 검색입니다. keyword 는 "열쇠가 되는 낱말"이라는 뜻입니다.TF-IDF(단어 빈도-역문서 빈도)낱말이 그 문서에 자주 나올수록, 다른 문서에는 드물수록 무게를 크게 주는 점수입니다. TF 는 Term Frequency(단어 빈도), IDF 는 Inverse Document Frequency(역문서 빈도)의 머리글자입니다.n-gram(엔그램)글을 n 글자(또는 n 낱말)씩 잘라 만든 조각입니다. "배송비"의 2-gram 은 "배송", "송비"입니다. gram 은 "글자, 쓰인 것"을 뜻하는 그리스어에서 온 말입니다.코사인 유사도(cosine similarity)두 벡터의 방향이 얼마나 같은지를 0~1 로 잰 값입니다. 1 에 가까울수록 비슷합니다. 두 벡터 사이 각도의 코사인 값으로 재서 붙은 이름이고, similarity 는 "닮음"이라는 뜻입니다.top-k(상위 k개)점수가 높은 순서로 위에서 k 개를 고르는 것입니다. top 은 "맨 위"라는 뜻입니다.hit@k(상위 k개 적중률)정답 조각이 위 k 개 안에 들었는지를 센 비율입니다. hit 는 "맞힘"이라는 뜻이고, @k 는 "위 k 개 안에서"를 나타냅니다.컨텍스트(context)프롬프트에 함께 넣어 모델이 보게 하는 글입니다. 여기서는 찾은 문서 조각입니다. context 는 "앞뒤 맥락"이라는 뜻입니다.API(Application Programming Interface)프로그램끼리 정해진 꼴로 요청과 응답을 주고받는 창구입니다. Application(응용 프로그램), Programming(프로그래밍), Interface(접점)의 머리글자입니다.API 키(API key)API 를 쓸 수 있는 사람인지 확인하는 비밀 문자열입니다. 코드에 적지 않고 환경 변수에 둡니다. key 는 "열쇠"라는 뜻입니다.로컬 모델(local model)인터넷 너머의 서버가 아니라 내 PC 에서 돌리는 모델입니다. local 은 "그 자리의"라는 뜻입니다.Ollama(올라마)내 PC 에서 LLM 을 내려받고 띄워 API 로 쓰게 해 주는 오픈 소스 프로그램입니다. 2023년에 공개되었고, 속에서는 llama.cpp 엔진으로 모델을 돌립니다. 약어가 아니라 프로그램의 이름이고, 이름의 유래는 공식적으로 밝혀져 있지 않습니다.OpenAI 호환 API(OpenAI-compatible API)OpenAI 의 API 와 같은 꼴로 요청을 받는 API 입니다. 주소만 바꾸면 같은 코드로 부를 수 있습니다. compatible 은 "함께 쓸 수 있는"이라는 뜻입니다.base_url(기본 주소)API 요청을 보낼 서버의 주소입니다. base 는 "바탕"이라는 뜻이고, URL 은 Uniform Resource Locator(자원 위치 지정자)의 머리글자로 인터넷 주소를 말합니다.양자화(quantization)가중치를 4비트처럼 적은 비트로 줄여 모델을 작고 빠르게 만드는 것입니다. 15장에서 자세히 다룹니다. quantization 은 "연속된 값을 몇 개의 정해진 단계로 나눔"이라는 뜻입니다.