암시적 사실에 대한 질의는 추론이나 논리적인 사고 능력이 필요하며, 답변을 도출하기 위해 필요한 정보가 여러 곳에 존재
여러 문서에서 정보를 수집하고 처리해야 하기 때문에 query를 여러 검색 작업으로 나누어, 각 결과를 종합하여 답변을 도출해야 함
통계, 분석, 수치 집계와 같은 질문에 답하기 위한 상식적인 추론 능력도 필요
따라서, Level-2의 query 는 아래와 같이 정의 됨
인 명시적 사실 query 집합이 있고, 각 query는 데이터셋 에서 직접 검색될 수 있어야 함
여기서 는 각 를 답하기 위해 필요한 data segment이고, 이 segment의 합집합이 에 대한 답을 도출하는 데 필요한 정보를 제공
Response generator(LLM inference) θ는 를 집계하고, 상식적 추론을 적용하여 최종 답변 를 도출해야 함
결국 Level2 query에 답변하기 위해서는 Level2 query를 단순한 Level1 수준으로 분할하고, 이들의 답을 종합하여 올바른 응답을 생성해야 함.
Level2 query 예시는 아래와 같음
검색 횟수 조절 : 질문마다 질문에 답변하기 위해 context를 검색해야 하는 횟수가 다를 수밖에 없기 때문에 검색 횟수를 유동적으로 조절하는 것이 필요
추론과 검색의 유기적인 협력 : 추론은 무엇을 검색할지 판단하고, 검색된 정보를 통해 추론의 방향성이 정해지므로 이들 간의 적절한 조율이 필수적
Level2 수준의 문제를 해결하기 위한 대표적인 방법으로는 iterative RAG, RAG on graph/tree, and RAG with SQL가 있음
올바른 답변을 생성할 때까지 반복적으로 정보를 수집하거나 수정하는 방법
planning-based
Information Gap Filling Based
self-rag
(iterative RAG 방법론 중에서는 self-rag가 제일 체계적인 방법론으로 판단 됨)
암시적 사실 query에 답변하기 위해서는 여러 정보를 종합해야 하는데 그래프와 트리는 텍스트 간의 관계를 자연스럽게 표현하기 때문에 이러한 문제 해결에 적합
Traditional Knowledge Graph
Think-on-Graph
Think-on-Graph(ToG)는 크게 Search, Prune, Reasoning 세 가지 과정을 거쳐서 입력으로 들어온 프롬프트에 대한 정답을 생성
1) 입력으로 들어온 프롬프트에서 Search를 시작할 엔티티들을 추출
2) Search: Beam Search를 통해 관련성이 깊은 여러 엔티티들을 추출
3) Prune: 해당 엔티티들을 LLM에 입력시켜 가정 적합한 엔티티를 선택
4) Reasoning: 선택된 엔티티를 기반으로 입력 프롬프트의 정답을 생성할 수 있는지 LLM을 통해 평가하고 만약 불가능하다고 LLM이 판단하면 앞의 search와 prune, reasoning을 반복하여 Multi-path reasoning을 실행
이 경우, 각 iteration마다 총 N개의 경로를 뽑는다고 하고, 총 D번의 iteration을 반복해서 위의 알고리즘을 실행한다면 하나의 프롬프트에 정답을 출력하는데 2ND + D +1번 호출
Data Chunk Graph/ Tree
data chunk를 그래프와 트리 노드로 사용하고, 엣지를 통해 데이터 간 관계를 포착
Whether to Use Fine-tuning
Whether to Separate Different Levels of Fact Queries
LLM의 가장 큰 문제인 통제 가능성과 신뢰성을 해결하기 위해서 연구자들이 얼마나 고곤분투 했는지 엿볼 수 있었다.
하지만, LLM의 근본적인 문제를 해결하기 위해 몸부림친 결과에 비해 희생이 너무 크다... (무지막지한 자원 사용, 레이턴시, 데이터 구축)
머릿속에서 "이 모든 단점을 극복하고 LLM을 프로덕션에 적용할 수 있을까?"라는 생각이 스멀스멀 피어오른다.
언젠가 네이버 DEVIEW에서 엔지니어 분이 발표 말미에 했던 말이 계속 머릿속에 맴돈다.
"코딩의 신이 최고의 코드를 짜준다고 가정했을 때의 성능이 100이라고 한다면
70을 만드는 노력과 70에서 80으로 만드는 노력은 크게 다르지 않다.
90은 사실상 광기의 영역이다."
AI는 다른 어떤 분야보다 70-90의 결과가 사용자한테 주는 크리티컬함이 큰 분야라고 생각한다.
그렇기에 특히, 대기업은 석사 이상의 AI 전공자만 채용하는 것이라고 생각한다.
그리고 LLM은 이 수준까지 도달하기위해 투자해야할 자원의 크기가 너무 크다..
그래서 작은 기업은 힘들다...