일할맛 판교 3월 세미나
2025.03.27.
Last updated
2025.03.27.
Last updated
이번에는 "일할맛 판교"라고 하는 세미나를 다녀왔다. 사실 퇴근 후 판교까지 가는데 약 1시간이 넘게 걸리는 입장에선 쉽사리 오고가기가 어려운데, 이번에 진행하는 세미나의 경우 관심있는 주제가 많아서 다녀오게되었다.
이번 행사에서 다룬 큰 주제는 아래와 같다.
From RAG to GraphRAG
Multi-modal RAG 트렌드 살펴보기
자료는 공개가 불가능하니 아래에 필기한 내용을 첨부하겠다.
GraphRAG
Hard Prompting
Soft Prompting
History of GraphRAG
GraphRAG (MS) (Hard Prompting)
G-Retriever - Path Filtering (Hard Prompting & Soft Prompting)
HybridRAG (Hard Prompting)
Graph RAG Autotuning (Hard Prompting)
G-Retrieval Module with PyG (Hard Prompting)
LightRAG Keyword & Entity Extraction (Hard Prompting)
GraphRAG Dynamic Community Selection (Hard Prompting)
GraphRAG - LazyGraphRAG (Hard Prompting)
GFM-RAG - Foundation Module (Soft Prompting)
PathRAG - Path Filtering (Hard Prompting)
어떻게 Graph를 만드는가?
Graph를 왜 사용해야 하는가? 데이터에 도메인의 성격을 입혀야 함.
Multi-hop reasoning
Common Knowledge
GraphRAG
( Public Domain )
Prompt Engineering
Unstructure data
( Enterprise Domain )
Entity Resolution
GDBMS
Document Relationship
Re-ranking
Graph Schema
( Public Domain )
Graph CI/CD
Ontology
Evaluation Data
표를 그래프로 표현하는 방식
메타 데이터를 통합이 필요
다수의 DB를 통합해야하는 케이스가 발생 => Scalability & Heterogeneous graph 데이터 관리를 위해 적절한 GDBMS 필요.
각 node의 property를 전부 활용하자 (keyword, vector)
table의 column, row별 메타데이터를 활용해야함.
Prompt 추상화 수준에 따라 답변 품질 또한 달라진다.
Task Routing
e.g. general, specific
Prompt Hooking
Select of prompt
그래프를 조회하는 방식
Text2Cypher (https://graphrag.com)
Prompt Engineering
LLM이 나의 Schema를 인지하지 못함.
Graph-CoT Prompt
Langchain의 graphqachain
Multi-Hop Search
Subgraph Extraction, Scalability
Single-Hop 답변들만 가져올거였으면, vector여도 충분했을 텐데..?
hop을 거듭할수록 조회 cost가 배로 증가한다.
그래프를 평가하는 방식
그래프를 평가하는 기준
Vector RAG랑 비교하는 방법?
평가 데이터셋은 어떻게 만들지?
Graph chain-of-thought : Augmenting large language models by reasoning on graphs
COSMO : a large-scale e-commerce common sense knowledge generation and serving system at Amazon
Reranker 기준은 어떻게 만들지?
meta data 관리 오픈소스 툴
opik RAG CI/CD 툴
llm orchestration : hydra
개인 Insight
최초 기획 및 정의가 가장 중요하다.
결국 도메인의 암묵지를 전달(추출, 발견)받는것이 중요하다.
Prompt Engineering이 구석구석 들어가고 품질을 받춰줘야 한다.
Text2SQL
SQL Logs를 메타 데이터로 활용하자, pinterest의 text2sql medium과 github(query book)을 참조하자.
대부분의 방식이 llm을 활용한 작업으로 수행됨
Graph 구조가 용이한 데이터가 아니면 추천하지 않는다.
Multi-Turn Retrieval Iterative 방식도 좋음!
Q&A Q : entity/resolution 추출을 위한 prompt engineering부분에서 기법적인 연사님만의 팁이 있는지? A : 학계가 아닌 산업계에서 작성한 prompt 템플릿을 마주한 도메인 및 상황에 맞게 적용해보고 유효하면 그대로 차용하는 편
MultiModal RAG가 핫해진 이유?
MultiModal Agent가 떠올랐기 때문
여러 modality를 가지는 데이터를 multi modal 데이터라고 함. Vision Language Model
CLIP, DALLE, Stable Diffusion, ImageBind, ColPali
서로 다른 유형과 modality의 데이터가 의미가비슷하다면 유사한 embedding space에 위치하길 바란다.
RAG의 목적은 "유저의 질문과 연관된 정보를 잘 찾는것"이 핵심!
이것을 잘하려면 무슨 방법이 있을까?
유저에게 책임을 던지는 밥법
질문을 잘 줘라.
e.g. 요즘 reasoning model의 경우 애매한 질문인 경우 해당 질문이 맞는지 처리
Multi Modal Embedding
가장 많이 사용하는 것이 Contrastive Learning
Trends
Shared Embedding Space
UniVL-DR
query, text, image triple-set을 학습
Verbalize : Image에 대한 captioning
Contrastive Learning
OpenCLIP
Domain-Specified
FactMM-RAG
F1RadGraph (Factual Report Pairs Mining)
Multi-document Understanding
M3DocRAG 1. Many document의 경우 image로 처리하는게 더 좋다.
M3DocVQA Benchmark
Benchmark dataset
UniIR
MBeir
Approximate Nearest Neighbor Search
KNN의 퀄리티는 embedding model이 중요함.
text domain에서 HNSW는 성능 굿
Big ANN Competition
roar graph
개인 Insight
Dataset 제작이 필수적으로 동반된다.
Billion Size의 RAG에서는 Dense Retrieval을 할 수가 없다. 거의 Sparse Retrieval을 선호하는 편
대규모 트래픽이 있는 경우에는 Single-Turn은 무조건 한다.
검색엔진은 Multi-hop을 상정하지 않을 수 있다.
Q&A Q : Multimodal embedding model을 학습할 때 Contrastive Learning을 수행하는데, 데이터셋도 구축하여 사용해야하는데, 일반적으로 hard negative sample을 어떠한 방식으로 만드시나요? A : 휴리스틱하게 데이터셋을 구축한다. Hard Negative Sample의 Hard한 정도의 범주가 많이 확장된다고 이해하면 될 것 같다.