2025/03 12

[VectorDB]FAISS: 대용량 데이터 유사도 검색 라이브러리

FAISS란?FAISS (Facebook AI Similarity Search):개발자가 서로 유사한 멀티미디어 문서의 임베딩을 빠르게 검색할 수 있게 해주는 라이브러리전통적인 쿼리 검색 엔진이 해시 기반 검색에 최적화되어 있어 발생하는 제한 사항을 해결하고, 보다 확장 가능한 유사성 검색 기능을 제공Facebook AI Similarity Search는 개발자가 서로 유사한 멀티미디어 문서의 임베딩을 빠르게 검색할 수 있게 해주는 라이브러리대규모 데이터 셋을 검색하여 대상 항목과 유사한 항목을 찾아야하는 상황에서 도움을 줄 수있도록 설계됨목적: FAISS는 메모리 사용량과 속도에 중점을 둔 어떤 크기의 벡터 집합에서든 검색하는데 사용. 매우 큰 데이터셋을 다룰때 특히 유용효율성: FAISS에는 밀리초 ..

Machine Learning 2025.03.31

[PaperReview] Active Retrieval Augmented Generation

https://arxiv.org/abs/2305.06983 Active Retrieval Augmented GenerationDespite the remarkable ability of large language models (LMs) to comprehend and generate language, they have a tendency to hallucinate and create factually inaccurate output. Augmenting LMs by retrieving information from external knowledge resources is onearxiv.org  🔍 사용자 입력에 기반하여 초기 정보 수집🔍 미래 문장을 예측하여 필요한 정보 지속적으로 검색🔍 저확신 ..

Paper Review 2025.03.25

[PaperReview] Prompt Cache: Modular Attention Reuse For Low-Latency Inference

https://arxiv.org/pdf/2311.04934 1. 프롬프트 캐시(Prompt Cache) 개발: 자주 사용하는 텍스트 세그먼트의 주의 상태를 미리 계산하여 저장, 재사용으로 지연 시간 감소2. 프롬프트 마크업 언어(PML) 활용: 재사용 가능한 텍스트 세그먼트를 프롬프트 모듈로 정의, 이용자가 쉽게 접근 및 수정 가능하게 함.3. 지연시간 개선 평가: 다양한 LLM에서 평균 8배에서  60배까지 지연 시간 감소 확인, 정확성 유지 요약본 논문에서는 Prompt Cache라는 접근법을 제안하고 있음. 이 방법은 대형 언어모델 (LLM)의 추론을 가속화하는데  중점을 두며, 서로 다른 LLM 프롬프트 간에 주의 상태를 재사용하는 방식이다. 많은 입력 프롬프트는 시스템 메시지, 프롬프트 템플릿 ..

Paper Review 2025.03.25

[PaperReview]RAGCache: Efficient Knowledge Caching for Retrieval-Augmented Generation

RAGCache: Efficient Knowledge Caching for Retrieval-Augmented Generationhttps://arxiv.org/pdf/2404.12457   요약: 본 논문에서는 Retrieval-Augmented Generation (RAG) 시스템의 효율성을 높이기 위해 새로운 멀티 레벨 동적 캐싱 시스템인 RAGCache를 제안한다. RAG는 대규모 언어 모델(LLM)과 외부 지식 데이터 베이스의 장점을 결합하여 자연어 처리 작업에서 성능을 크레 향상시켰다.하지만 RAG는 긴 시퀀스 생성을 유도하고, 이는 높은 계산 및 메모리 비용으로 이어진다. RAG란: RAG(Retrieval-Augmented Generation, 검색 증강 생성)는 외부 지식 데이터 베이스와..

Paper Review 2025.03.24

[SourceCode]self-RAG 구현 code

논문 소개Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection (link)2025.03.19 - [Paper Review] - [PaperReview]SELF-RAG: Leaning to Retrieve, Generate, and Crutique through self-reflection LangChain 구현 코드https://github.com/langchain-ai/langgraph/blob/main/examples/rag/langgraph_self_rag.ipynb  LangChain 구현 코드와 논문 차이기존 논문에는 다시 문서 검색을 수행할때 "기존 쿼리 + 가장 순위가 높은 이전응답"을 활용해 검색 진행L..

Paper Review 2025.03.19

[PaperReview]SELF-RAG: Leaning to Retrieve, Generate, and Crutique through self-reflection

Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection (link)기존의 RAG : LLM의 입력을 관련된 검색된 구문으로 보강하여 지식 집약적인 작업에서 오류를 줄임.but, 이 방법은 LLM의 다재다능성을 저해하거나, 불필요하거나 주제와 관련 없는 구문을 도입하여 저품질 생성을 초래할 수 있음→ 사실적 근거가 도움이 되는지 여부와 관계없이 무차별적으로 구문을 검색하기 때문,→ 출력은 검색된 관련 구문과 일관성을 보장하지도 않음 (모델이 제공된 구문에서 사실을 활용하고 따르도록 명시적으로 훈련되지 않았기 때문)RAG(Retrieval Augmented Generation)는 관련된 지식을 검색해 언어모델에 제공함으로써..

Paper Review 2025.03.19

[PaperReview]Don't Do RAG: When Cache-Augmented Generation is All you Need for Knowledge

https://arxiv.org/abs/2310.11511 Self-RAG: Learning to Retrieve, Generate, and Critique through Self-ReflectionDespite their remarkable capabilities, large language models (LLMs) often produce responses containing factual inaccuracies due to their sole reliance on the parametric knowledge they encapsulate. Retrieval-Augmented Generation (RAG), an ad hoc approach tharxiv.org📚 외부 지식 자원을 미리 로드하여 L..

Paper Review 2025.03.11

[C언어로 쉽게 풀어쓴 자료구조] 10장 그래프 문제 풀이

01. 인접행렬 adj_mat[][]에서 어떤 정점 v의 진출 차수를 알고 싶으면 어떻게 하면 되는가?→ (1) 인접 행렬의 v번째 행의 값들을 전부 더한다. 02. 인접행렬 {0,1,0,0}, {1,0,1,1}, {0,1,0,0}, {0,1,0,0} 이라면 여기에 대응되는 입접 리스트를 그려라→ 0->11->0->2->32->13->1 03. 정점의 개수를 n, 간선의 개수를e라고 할때, 인접 행렬에서 특정 정점의 차수를 계산하는 연산의 시간 복잡도는?→ (2) O(n) 04. 정점의 개수를 n, 간선의 개수가 e인 그래프를 인접 리스트로 표현하였을 경우, 인접 리슽트 상의 총 노드의  개수는?→ 방향 그래프라면 (1) e개     무방향 그래프라면 (4) 2e개 05. 다음 중 큐를 사용하는 알고리즘..

[C언어로 쉽게 풀어쓴 자료구조] 10장 그래프1-2

10.5 깊이 우선탐색그래프의 시작 정점에서 출발하여 시작 정점 v를 방문 하였다고 표시한다. → 이어서 v에 인접한 정점들 중에서 아직 방문하지 않은 정점 u를 선택한다. 만약, 그런 정점이 없다면 탐색은 종료만약 아직 방문하지 않은 정점 u가 있다면 u를 시작 정점으로 하여 깊이 우선 탐색을 다시 시작이 탐색이 끝나게 되면 다시 v에 인접한 정점들 중에서 아직 방문이 안된 정점을 찾는다. → 만약, 없다면 종료 / 있다면 다시 그 정점을 시작 정점으로 하여 깊이 우선탐색을 다시 시작깊이 우선 탐색도 자기 자신을 다시 호출하는 순환 알고리즘 형태를 가지고 있음깊이 우선탐색을 구현하는데는 2가지 방법이 있다. 1. 순환호출을 이용2. 명시적인 스텍을 사용하여 인접한 정점들을 스택에 저장하였다가 다시 꺼내..

반응형