전체 글88 벡터 데이터베이스 선택시 고려사항 1. Vector Database란 무엇인가?벡터 데이터베이스는 텍스트, 이미지, 음성 등 비정형 데이터를 수치 벡터로 변환해 저장하고, 이 벡터 간 유사도를 빠르게 검색하는 데 최적화된 데이터베이스입니다. 주로 시맨틱 검색, 추천 시스템, 대규모 언어 모델(LLM) 기반 애플리케이션 등에서 사용되며, 의미 기반 검색과 검색 증강 생성(RAG) 기술의 핵심 인프라 역할을 합니다.2. Vector Database 선택 시 고려 사항확장성(Scalability): 데이터 양과 쿼리 수요가 증가해도 성능 저하 없이 수평 확장이 가능한지 확인해야 합니다. 동적 세그먼트 배치(Dynamic segment placement) 지원 여부도 중요합니다.지연 시간(Latency) 및 성능(Performance): 초당 .. 2025. 7. 15. [2025.10.26] 2025 감성런 (잠실 한강공원) 잠실 한강공원 트랙구장을 도는 감성런이 접수 중입니다.한강을 바라보며 뛸 수 있는 것은 물론, 참가비가 다른 곳 보다 저렴한 것이 특징이네요 :)자세한 신청은 아래 참고 바랍니다.감성런마라톤대회 감성런마라톤대회 xn--439a68tboh.kr 사전 등록 기간 : 7/1(화)~9/22(월) (작성 날 기준, 현재 접수 가능합니다)참가비 : Half - 5만원, 10Km - 5만원, 5Km 45000원 2025. 7. 14. [2025.09.07] RUN SEOUL RUN 2025 마라톤 제 19회 일간 스포츠 마라톤이 있습니다.작성하는 현재 날짜(7/14)기준 아직 접수 마감되지 않았으니 서두르세요참가신청은 아래 참고 2025 RUN SEOUL RUN - 일간스포츠 서울마라톤일간스포츠 서울마라톤 런 서울 런 RUN SEOUL RUN 10KM, 21KM, 2025년 9월 7일 일요일 오전 8시 서울 광장runseoulrun.com 일시 : 2025.09.07(일) 08:00~13:00장소 : 서울 광장코스 : 10KM (참가비 : 59,000원), 21KM(참가비 : 79,000원)인원 : 약 15,000명 구독/공감버튼이 큰 힘이 됩니다 2025. 7. 14. [2025.11.16] MBN Seoul 마라톤 (접수: 7/30) MBN 서울 마라톤 일정이 나왔습니다. Half와 10Km 두 코스로 나왔네요작성하는 현재 기준으로 아직 접수 전이기 때문에 알람 설정해두시면 좋을 것 같습니다.코스를 보시면 Half 기준으로 광화문 광장에서 출발해 장한평, 군자를 거쳐 잠실 종합 운동장 까지 서울을 전부 거쳐가는 러닝에 볼것들이 많은 코스 일것 같네요~ !! 상세 접수는 아래 Link를 참고하세요 MBN 서울 마라톤 | 대한민국 최고의 마라톤 대회MBN 서울 마라톤은 서울 중심가를 달리는 대한민국 최고의 마라톤 대회입니다. 42.195km 풀코스, 하프코스, 10km 등 다양한 코스로 참가하세요.www.mbn-seoulmarathon.com [세부 일정]사전 정보 등록은 7/25일~7/29일 이고* Half 마라톤은 7/30일 (모.. 2025. 7. 14. 벡터 데이터베이스 : 양자화 기법(SQ, PQ) [1] Scalar Quantization 1. Scalar Quantization이란?Scalar Quantization (스칼라 양자화)는 고차원 벡터를 저장하거나 검색할 때 메모리를 줄이고 처리 속도를 높이기 위해 벡터 값을 압축하는 기법입니다. 특히, 벡터 데이터베이스(Vector DB)나 유사도 검색 시스템에서 자주 사용됩니다. 고차원 벡터의 각 **스칼라 값(1차원 수치)**을 일정한 범위의 **이산값(quantized value)**으로 근사화하여 표현하는 방식입니다.예:원래 벡터: [0.12, -1.75, 3.90]양자화 후: [1, -2, 4] (정수 근사)실제 예 (int8 양자화)원래 벡터 값 범위: -1.0 ~ 1.0 0.34round( (0.34+1)/.. 2025. 7. 14. 벡터 데이터베이스 : Graph Index 1. Graph Index란?Graph Index는 각 벡터를 노드(node)로 보고, 유사한 벡터끼리 엣지(edge)로 연결하여 그래프 형태의 인덱스를 구성하는 방식입니다.검색할 때는 그래프 위를 탐색하며 점점 더 유사한 벡터로 이동하는 식으로 근접 벡터를 찾습니다.대표적인 구현은 HNSW (Hierarchical Navigable Small World)입니다.2. Graph Index의 동작 원리 (HNSW 기준)주요 개념노드(Node): 저장된 벡터엣지(Edge): 유사한 노드 간 연결탐색(Traversal): 이웃 벡터 중 더 가까운 쪽으로 이동레벨(Level): 계층 구조를 통해 탐색 효율 향상 상위 레벨에서 대략적인 위치 탐색하위 레벨로 내려가며 근접 노드들 사이를 이동최종적으로 Top-K 유.. 2025. 7. 14. 벡터 데이터베이스 : Hash Index란 1. Hash Index란?Hash Index는 벡터를 해시 함수로 변환하여 비슷한 벡터는 같은 해시 버킷에 들어가게 만들어, 전체를 탐색하지 않고도 유사한 벡터를 빠르게 찾도록 하는 인덱싱 기법입니다.[여기서 잠깐, 해시 버킷이란?]해시 버킷은 해시 함수를 통해 얻은 해시값에 따라 데이터를 분류하여 저장하는 그룹 또는 공간입니다.유사한 입력(벡터)이 같은 해시값을 갖도록 설계된 해시 함수(Locality Sensitive Hash)를 사용하면, 유사한 벡터들이 같은 버킷 안에 들어가게 됩니다.벡터1 ─┬─> 해시 함수 ─┬─> 버킷 A 벡터2 ─┘ └─> 버킷 B ... 벡터N ───────────────> 버킷 A해.. 2025. 7. 14. RAG 구현시 고려사항 : (6) 멀티턴 대화(ConversationBufferMemory) 멀티턴 RAG에서의 문맥 유지 전략멀티턴 대화란 사용자가 여러 번 연속적으로 질문을 던지는 상황을 말합니다.예를 들어, 사용자와 AI 사이에 다음과 같은 흐름이 있다고 해봅시다.User: "X100 제품의 무게는 얼마야?"User: "그보다 가벼운 모델은 있어?"User: "그 모델은 방수되니?"이처럼 두 번째 이후의 질문들은 대부분 앞선 질문의 문맥을 전제로 합니다.따라서 RAG 시스템이 이런 흐름을 정확히 파악하고 연결된 문맥을 유지하며 검색과 생성을 수행할 수 있어야 합니다.멀티턴 문맥이 필요한 이유유형 설명 지시어 생략“그거” “그 제품” “그 사람”처럼 이전 대상이 명시되지 않음조건 누적“그중 가장 저렴한 걸 알려줘” → 이.. 2025. 7. 11. RAG 구현시 고려사항 : (5) RAG 성능 최적화 전략 5. RAG 성능 최적화 전략RAG 시스템은 구조적으로 유연하고 강력하지만, 검색 정확도와 생성 품질은 세부 구성과 튜닝 수준에 따라 천차만별입니다.이 장에서는 실제 현업 또는 서비스 환경에서 RAG 성능을 최적화하는 방법과 정량적 평가 지표를 소개합니다.1. Retriever 성능 최적화📌 핵심 튜닝 항목항목 설명 최적화 전략top_k검색할 문서 개수너무 크면 noise, 너무 작으면 recall↓nprobeIVF 탐색 범위 (FAISS)Recall/Latency의 트레이드오프Reranker 사용재정렬 정확도 ↑Cross-Encoder 기반 모델.. 2025. 7. 11. RAG 구현시 고려사항 : (4) 프롬프트 설계 및 Generator 고려사항 4. 프롬프트 설계 및 Generator 고려사항RAG 시스템에서 Retriever가 문서를 잘 가져오더라도, LLM이 그 문서를 정확히 이해하고 활용할 수 있도록 프롬프트를 잘 구성하는 것이 매우 중요합니다.이 섹션에서는 프롬프트 템플릿 구성, 문서 삽입 전략, 그리고 Generator 선택 시 고려해야 할 점을 자세히 설명합니다.✅ 1. 프롬프트 설계의 중요성프롬프트 설계는 단순한 질문 전달이 아닌, 다음 역할을 수행합니다:역할설명문맥 주입검색된 문서를 LLM이 이해할 수 있게 연결정보 정제중복 제거, 길이 조절 등행동 유도응답 형식/목표를 명확히 지시 (Instruction Prompting) ✅ 2. 프롬프트 구성 전략📌 기본 구조 예시:[사용자 질문] - 대한민국 대통령은 누구입니까? [문서 .. 2025. 7. 11. RAG 구현시 고려사항 : (3) Retriever 설계 고려사항 3. Retriever 설계 고려사항Retriever는 유사한 문서를 정확하고 빠르게 찾기 위한 핵심 컴포넌트입니다. 아래는 Retriever를 구성할 때 고려해야 할 주요 요소들입니다.✅ 1. 임베딩 모델 선택역할: 사용자 쿼리와 문서를 의미 기반 벡터로 변환선택 기준:의미 보존력 (semantic similarity 성능)다국어/한국어 지원 여부추론 속도 vs 정확도오픈소스 vs 상용 API추천 모델 예시:모델명특징text-embedding-3-small (OpenAI)상용 정확도 우수, 1536차원bge-large-en/koBEIR 성능 우수, 한국어 버전도 존재E5-mistralHugging Face 기반, RAG에 최적화 ✅ 2. 벡터 DB 선택역할: 벡터를 저장하고 유사한 벡터를 빠르게 검색선.. 2025. 7. 11. RAG 구현시 고려사항 : (2) RAG 아키텍처 구성요소 1. Query Embedding (임베딩 모델)역할: 사용자의 질문을 의미 벡터로 변환하여 검색에 활용할 수 있게 합니다.대부분의 RAG 시스템은 Dense Embedding을 사용합니다. (ex. text-embedding-ada-002, bge, E5 등)문장의 의미적 유사성을 보존하는 것이 핵심.문서 인덱싱 시에도 같은 모델로 임베딩하여 저장합니다.임베딩 모델 선택 시 고려사항:항목설명다국어 지원한국어, 영어 등 대상 언어 지원 여부성능semantic similarity 기준의 평가 (e.g. MTEB, BEIR)토큰 제한문서 단위 처리 가능 여부라이선스상용 사용 가능 여부 (OpenAI vs 오픈소스) 2. Retriever (벡터 검색기)역할: 벡터화된 쿼리와 벡터 DB에 저장된 문서 임베딩 .. 2025. 7. 11. RAG 구현시 고려사항 : (1) RAG란 무엇인가? [AI를 활용해 작성 되었습니다]1. RAG란 무엇인가?🔍 개요: Retrieval-Augmented Generation**RAG(Retrieval-Augmented Generation)**은 대규모 언어 모델(LLM)의 한계를 극복하기 위해 설계된 지식 강화형 질문 응답 및 생성 구조입니다. 단순히 프롬프트만 받아 답을 생성하는 것이 아니라, 외부 데이터 소스(문서, 웹, DB 등)로부터 정보를 검색(Retrieve) 한 후, 이를 바탕으로 정확하고 신뢰도 높은 답변을 생성(Generate) 합니다.RAG는 크게 두 구성요소로 나뉩니다:구성요소설명Retriever쿼리와 의미적으로 유사한 문서를 벡터 기반으로 검색Generator검색된 문서를 기반으로 문장을 생성 (GPT, LLaMA 등 사용) 💡 .. 2025. 7. 11. 벡터 검색 : Reranking 필요 이유 [AI를 활용해 작성되었습니다.]RAG는 검색 시간을 단축 하기 위해 Approximate Nearnest Neighbor search (ANNs) 기술을 활용하는데 이대 질문과 관계 없는 문서가 검색될 수 있기 때문에 Reranking 관련 정보를 기준으로 순위를 다시 선정해야 한다[출처] https://www.pinecone.io/learn/series/rag/rerankers/ 🔁 Reranking의 원리📌 1단계: 근사 검색 (ANN - Approximate Nearest Neighbor)IVF, HNSW, PQ 등의 인덱스는 전체 데이터 중 일부 후보 벡터만 빠르게 선택합니다.이 과정에서는 정확한 유사도/거리 계산 없이, 대략적으로 "가까울 것 같은" 벡터들을 찾습니다.예: IVF는 쿼리 벡.. 2025. 7. 11. 벡터 데이터베이스 인덱스: IVF 설명 [ chatGPT를 이용해 생성한 답변을 참고합니다. ]벡터 데이터베이스의 IVF란?벡터 데이터베이스에서 IVF (Inverted File Index, 역파일 인덱스) 는 고차원 벡터의 근사 최근접 이웃 검색 (ANN, Approximate Nearest Neighbor)을 빠르게 하기 위한 대표적인 인덱싱 기법 중 하나입니다. 특히 FAISS 같은 라이브러리에서 많이 사용됩니다.✅ IVF (Inverted File Index) 개념1. 기본 아이디어고차원 벡터들을 직접 비교하지 않고, 벡터들을 여러 개의 클러스터(버킷)로 먼저 분할해두고, 검색 시 관련된 몇 개의 클러스터에서만 비교를 수행함으로써 속도를 높이는 방식입니다. 🔧 구성 방식1. 학습 단계 (Training)전체 벡터 중 일부를 샘플링해서.. 2025. 7. 11. 이전 1 2 3 4 ··· 6 다음