피드로 돌아가기
Dev.toAI/ML
원문 읽기
Bitemporal Knowledge Graph 도입으로 LongMemEval 90.8% 달성
I built an Agent Memory System for myself and got 90.8% (end-to-end) on LongMemEval
AI 요약
Context
기존 Vector Store 기반 메모리는 엔티티 구분 불가와 시간 개념 부재로 인해 복잡한 추론 및 데이터 업데이트 반영에 한계 노출. LLM Distillation 방식은 사용자 발화 위주의 추출 편향으로 인해 어시스턴트 측 정보 손실 및 모순 해결 불가 문제가 발생함.
Technical Solution
- Tiered Matching(Exact, Fuzzy, Phonetic, Embedding, LLM) 기반의 Entity Resolution을 통한 데이터 정규화 및 노드 통합 수행
- 데이터 발생 시점과 시스템 학습 시점을 동시에 기록하는 Bitemporal Tracking 구조 설계로 시간적 추론 가능성 확보
- 사실 관계의 변경 사항을 감지하는 Contradiction Detection 로직을 통한 지식 업데이트 및 정합성 유지
- Graph Traversal 기반의 Retrieval 방식을 채택하여 단순 유사도 검색이 아닌 엔티티 간 관계망을 통한 컨텍스트 추출 구현
- FTS5 및 Vector Search를 포함한 Verbatim Fallback 레이어를 구축하여 추출 오류 시 원문 참조를 통한 정보 손실 방지
- 4K Token Budget 내 10개 결과물을 사용하는 Focused Retrieval 전략으로 컨텍스트 밀도 최적화
Impact
- LongMemEval 벤치마크에서 최종 90.8%의 End-to-End 정확도 기록
- 전체 500개 질문 대상 런타임에서 92.4%의 Task-averaged 성능 달성
- 8K Token/20개 결과 조합보다 4K Token/10개 결과 조합에서 더 높은 성능 확인
Key Takeaway
구조화된 메모리 구현에는 Cosine Similarity보다 Entity 및 Timestamp 기반의 Knowledge Graph가 적합함. 파이프라인의 복잡도를 높이는 Multi-pass Generation보다 단순하고 견고한 단일 경로 파이프라인이 정답률 유지에 유리함.
실천 포인트
- 단순 Vector Search 도입 전, 도메인 내 엔티티 간의 관계 정의 및 시간 순서 중요도 분석 수행 - LLM 추론 시 무조건적인 컨텍스트 확장을 지양하고, 핵심 결과물 위주의 Focused Retrieval 프롬프트 설계 적용 - 벤치마크 수행 시 소규모 샘플의 성능 왜곡을 방지하기 위해 전체 데이터셋 기반의 검증 프로세스 구축
태그