인공지능/논문 리뷰 or 진행

Ever-Evolving Memory by Blending and Refining the Past - 리뷰 및 진행해보기 - 아직 코드 X

이게될까 2024. 5. 24. 22:01
728x90
728x90

https://arxiv.org/abs/2403.04787

 

Ever-Evolving Memory by Blending and Refining the Past

For a human-like chatbot, constructing a long-term memory is crucial. However, current large language models often lack this capability, leading to instances of missing important user information or redundantly asking for the same information, thereby dimi

arxiv.org

 

https://linnk.ai/insight/%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5/%EA%B3%BC%EA%B1%B0%EB%A5%BC-%ED%98%BC%ED%95%A9%ED%95%98%EA%B3%A0-%EC%A0%95%EC%A0%9C%ED%95%98%EC%97%AC-%EA%B3%84%EC%86%8D-%EB%B0%9C%EC%A0%84%ED%95%98%EB%8A%94-%EA%B8%B0%EC%96%B5-UIkMVs5R/

 

과거를 혼합하고 정제하여 계속 발전하는 기억

Core Concepts 기존 접근 방식의 문제를 해결하고 챗봇의 응답 품질을 향상시키는 혁신적인 기억 모델인 CREEM 소개 Abstract 목차: 요약 데이터 추출 인용구 추가 질문 요약: 이 논문에서는 챗봇을 위한

linnk.ai

여기선 한글로 정리해주네요

 

아직은 코드 공개가 안 되어서 .... 일단...

더보기

논문 요약

배경 및 문제점

사람 같은 채팅봇을 만들기 위해서는 장기 기억이 필수적입니다. 현재의 대형 언어 모델들은 이러한 능력이 부족하여 중요한 사용자 정보를 잊어버리거나 동일한 정보를 반복적으로 묻는 경우가 많습니다. 이러한 문제는 대화의 질을 저하시킵니다.

CREEM 제안

이 문제를 해결하기 위해 CREEM이라는 새로운 기억 시스템을 제안합니다. CREEM은 과거의 기억을 현재 대화와 혼합하여 새로운 기억을 형성하는 과정에서 기존의 기억을 정제합니다. CREEM은 기억을 단순히 저장하는 것을 넘어, 응답 생성과 기억 형성을 하나의 과정으로 통합합니다.

CREEM의 작동 방식

  1. 문맥 검색: 현재 대화의 문맥을 기반으로 관련된 과거 기억을 검색합니다.
  2. 혼합 및 정제: 검색된 과거 기억과 현재 대화를 혼합하여 새로운 기억을 생성하고, 불필요하거나 중복된 정보를 제거하여 정제합니다.
  3. 응답 생성: 정제된 기억과 새로운 인사이트를 바탕으로 응답을 생성합니다.

평가

CREEM은 두 가지 데이터셋(Multi-Session Chat (MSC)와 Conversation Chronicles (CC))에서 평가되었습니다. CREEM은 기억의 통합, 일관성, 세련됨, 관련성, 구체성, 다양성 면에서 우수한 성과를 보였습니다.

  1. 기억 평가: 새로운 기준을 통해 기억의 질을 평가하고, 자연어 추론(NLI) 모델을 사용해 기억 간 모순 정도를 평가했습니다.
  2. 응답 생성 평가: BLEU, ROUGE-L, BERTSCORE 등을 사용하여 응답의 질을 평가했으며, CREEM의 기억을 활용한 응답이 다른 방법들보다 일관성 있고 기억을 잘 반영한다는 점을 확인했습니다.

주요 기여

  • CREEM이라는 새로운 기억 형성 프레임워크를 제안하여 단편적이고 모순된 기억 문제를 해결
  • 혼합된 인사이트를 응답 생성 모델에 주입하여 기억을 반영한 응답 생성 능력 향상
  • 좋은 기억의 기준을 새롭게 정립하고 이에 따라 평가
  • 기억의 질이 응답의 질과 일치함을 입증

논문의 주요 개념 설명

  1. 혼합(Blending): 현재 대화와 과거 기억을 통합하여 새로운 기억을 생성하는 과정입니다. 이는 단순히 현재 대화 내용을 저장하는 것보다 더 높은 수준의 정보를 제공합니다.
  2. 정제(Refining): 과거 기억 중 중복되거나 오래된 정보를 제거하여 전체 기억의 일관성을 유지하는 과정입니다. 이를 통해 적절한 정보만을 유지하여 응답의 정확성을 높입니다.
  3. 자연어 추론(NLI): 기억 간의 모순 여부를 평가하는 데 사용되는 모델로, 기억이 일관되게 유지되는지를 확인합니다.

CREEM의 강점

CREEM은 단순히 정보를 저장하는 것이 아니라, 현재와 과거의 정보를 통합하고 정제하여 일관된 기억을 유지합니다. 이는 더 나은 대화 경험을 제공하며, 사용자와의 장기적인 관계를 형성하는 데 유리합니다.

이 논문은 장기 기억 시스템을 통해 대화형 AI의 성능을 향상시키는 데 중요한 기여를 하고 있으며, 향후 연구에서도 다양한 적용 가능성을 보여줍니다.

 

 

 

개요

이 논문은 인간과 유사한 챗봇을 만들기 위해 장기 기억을 구축하는 중요성을 다룹니다. 현재의 대형 언어 모델(LLM)은 중요한 사용자 정보를 놓치거나 반복적으로 묻는 경우가 많아 대화의 질이 저하됩니다. 이를 해결하기 위해 CREEM(문맥화 정제 기반의 지속적으로 진화하는 메모리)이라는 새로운 메모리 시스템을 제안합니다. CREEM은 과거의 메모리를 통합하고 정제하여 기억을 형성하며, 응답 생성 과정과 메모리 구축 과정을 분리하지 않고 하나로 통합합니다.

서론

챗봇의 대화 경험을 향상시키기 위해서는 장기 기억이 필요합니다. 사용자 상황과 선호도는 시간이 지나면서 변할 수 있으며, 이를 반영하는 메모리 시스템이 필요합니다. 기존의 메모리 시스템은 현재 세션의 정보를 요약하여 저장하지만, 이는 변화된 정보를 효과적으로 반영하지 못합니다. CREEM은 이러한 문제를 해결하기 위해 과거와 현재 정보를 통합하여 새로운 기억을 형성하고, 중복되거나 오래된 정보를 정제하는 과정을 도입합니다.

관련 연구

장기 메모리 시스템은 오래전부터 연구되어 왔습니다. 기존 연구들은 대화를 요약하여 메모리를 구축하지만, 이는 일차원적인 정보만을 포함하여 고차원적 대화를 어렵게 만듭니다. CREEM은 과거 메모리를 통합하여 새로운 기억을 생성하고, 이를 통해 고차원적 대화가 가능하도록 합니다.

제안하는 방법: CREEM

  1. 문맥 검색: 대화 문맥을 이용해 관련 있는 과거 메모리를 검색하여 새로운 기억을 형성할 때 참고합니다.
  2. 블렌드와 정제:
    • 블렌드: 현재 대화와 과거 메모리를 통합하여 새로운 기억을 생성합니다.
    • 정제: 새로운 기억을 추가할 때 과거 기억을 평가하여 중복되거나 오래된 정보를 제거합니다.
  3. 통찰력 기반 응답 생성: 대화와 정제된 과거 메모리를 기반으로 응답을 생성합니다.

실험

두 가지 데이터셋(MSC, CC)에서 CREEM의 성능을 평가하였습니다. CREEM은 메모리의 일관성, 통합성, 정교함 등 여러 측면에서 기존 방법보다 우수한 성능을 보였습니다.

주요 결과

  1. 메모리 품질: CREEM은 모든 평가 기준에서 기존 방법보다 높은 점수를 받았습니다.
  2. 모순 수준: CREEM은 메모리 내 모순 수준이 낮아 일관성이 유지되었습니다.
  3. 질문 응답 평가: CREEM은 정보 손실 없이 높은 정확도로 질문에 답변하였습니다.
  4. 응답 생성: CREEM을 사용한 응답 생성 모델은 높은 일관성과 기억력을 보였습니다.

결론

CREEM은 현재와 과거의 메모리를 적절히 통합하고, 오래되거나 모순된 정보를 정제하여 챗봇의 기억 시스템을 향상시킵니다. 이를 통해 챗봇의 대화 경험을 보다 인간에 가깝게 만들 수 있습니다.

제한 사항

  1. 검색 성능: 성능은 검색 모델의 성능에 영향을 받습니다.
  2. 미처리된 기억: 검색되지 않은 기억을 처리하는 방법이 부족합니다.
  3. 데이터셋 부족: 공개된 장기 데이터셋이 부족하여 더 긴 대화를 다루기 위한 추가 연구가 필요합니다.

 

LLM에서 장기 기억은 중요하다. 그러나 장기 기억이 부족한 경우가 많아 다시 질문하거나, 중요한 것을 빼먹기도 한다. 이것을 위한 새로운 메모리 CREEM을 도입하자! - 과거 메모리를 보존하며 중복되거나 오래된 정보는 제거한다. -> 기억력과 성능 둘 다 향상시킨다.

LSTM의 LLM버전인건가...?

더보기

2.1 장기 메모리 시스템

장기 메모리 시스템은 지속적인 연구 주제입니다. 아래는 다양한 연구 방법과 데이터셋에 대한 요약입니다.

  1. Xu et al. (2021):
    • 방법: 각 화자의 발화를 요약하여 페르소나를 추출하고, 이를 ongoing 대화에서 응답 생성에 메모리로 사용합니다.
    • 데이터셋: Multi-Session Chat(MSC) 데이터셋은 인간 주석자들이 Persona-Chat(Zhang et al., 2018)에서 대화를 확장하여 생성했습니다.
  2. Jang et al. (2023):
    • 방법: 각 세션을 요약하여 메모리를 구축하고, 이전 세션의 내용을 기억하여 다음 세션에서 대화를 나눕니다.
    • 데이터셋: Conversational Chronicles(CC)는 ChatGPT가 관계, 시간 간격, 스토리 라인을 기반으로 SODA(Kim et al., 2022)의 내러티브를 활용하여 생성한 데이터셋입니다.
    • 문제점: 이러한 요약 기반 메모리 구축 방법은 일차원적인 정보를 생성하여, 상황에 맞는 고급 대화를 방해할 수 있습니다.
  3. 고급 메모리 시스템 연구:
    • Majumder et al. (2020): 사용자의 페르소나를 상식 지식 그래프(CommonSense Knowledge Graph)로 확장합니다.
    • Park et al. (2023): 생성 에이전트가 세계의 관찰을 바탕으로 고급 반영을 수행하고 이를 메모리에 추가합니다.
    • 우리의 접근: 현재 대화에서 GPT-3.5-turbo(OpenAI, 2023)를 사용하여 인사이트를 추출하고, 이를 바탕으로 고급 정보를 얻습니다. 기존 대화 요약 방식 대신 관련된 과거 메모리를 통합하여 새로운 메모리를 생성합니다.

2.2 장기 메모리에서의 잊어버리기

장기 메모리를 구축할 때, 세션이 길어짐에 따라 불필요하거나 상충되는 정보가 축적될 수 있습니다. 따라서 메모리에서 정보를 적절히 잊어버리는 기능이 필요합니다.

  1. Bae et al. (2022):
    • 제안: 메모리 정제 작업을 포함한 장기 메모리 관리 메커니즘을 제안합니다. 정제 작업은 과거 메모리와 현재 세션에서 생성된 요약의 관계를 결정하여 메모리를 추가하거나 삭제합니다.
    • 삭제 작업: 더 이상 기억할 필요가 없고 요약에 더 이상 유효하지 않은 내용이 포함된 경우, 해당 메모리를 삭제합니다.
    • 우리의 접근: Bae et al.의 메커니즘을 구현하여 우리의 방법과 비교 평가합니다.
  2. Zhong et al. (2023):
    • 제안: 에빙하우스 망각 곡선(Ebbinghaus Forgetting Curve) 이론을 반영한 메모리 업데이트 메커니즘을 도입합니다. 이는 경과 시간과 중요도에 따라 메모리를 선택적으로 잊고 강화합니다.
    • 제한 사항: 메모리 내 모순을 처리하지 못합니다.

요약

이 논문에서는 다양한 장기 메모리 시스템과 그 한계를 살펴봅니다. 기존 연구들은 주로 대화 요약을 통해 메모리를 구축하지만, 이는 상황에 맞는 고급 대화를 방해할 수 있습니다. 또한, 장기 메모리에서 불필요하거나 상충되는 정보를 적절히 잊어버리는 기능의 필요성을 강조합니다. 이를 해결하기 위해 CREEM은 과거 메모리와 현재 대화를 통합하여 새로운 인사이트를 생성하고, 정제 작업을 통해 메모리의 일관성과 유용성을 유지합니다.

 

페르소나 추출

페르소나(persona) 추출은 대화 시스템에서 중요한 개념으로, 대화 상대방의 성격, 취향, 관심사, 배경 정보 등을 모델이 이해하고 기억할 수 있도록 하는 과정입니다. 이를 통해 대화 시스템은 사용자에게 보다 맞춤형이고 일관성 있는 대화를 제공할 수 있습니다.

페르소나 추출의 과정

  1. 대화 내용 수집:
    • 사용자와의 대화 내용을 수집합니다. 이는 사용자가 제공하는 모든 정보와 대화 중에 드러나는 모든 세부 사항을 포함합니다.
    • 예를 들어, 사용자가 "나는 고양이를 좋아해"라고 말하면, 이는 사용자의 취향에 대한 중요한 정보입니다.
  2. 요약 및 추출:
    • 수집된 대화 내용을 분석하여 사용자에 대한 주요 정보를 요약합니다.
    • 사용자의 발화에서 중요한 단서들을 추출합니다. 예를 들어, "나는 고양이를 좋아해"와 같은 문장에서 "고양이"와 같은 키워드를 추출하여 사용자의 취향을 기록합니다.
  3. 페르소나 형성:
    • 추출된 정보들을 종합하여 사용자의 페르소나를 형성합니다. 이는 사용자의 성격, 관심사, 취향, 배경 등의 다양한 요소를 포함합니다.
    • 예를 들어, "고양이를 좋아함", "스포츠 팬", "프로그래머"와 같은 정보들을 모아 사용자의 페르소나를 구성합니다.
  4. 메모리 저장:
    • 형성된 페르소나는 장기 메모리 시스템에 저장됩니다. 이를 통해 대화 시스템은 이후 대화에서 이 정보를 참조할 수 있습니다.
    • 예를 들어, 사용자가 나중에 "내 고양이가 아파"라고 말하면, 시스템은 "사용자가 고양이를 좋아한다"는 페르소나 정보를 기반으로 더욱 맞춤형 응답을 제공할 수 있습니다.

페르소나 추출의 중요성

  • 맞춤형 대화 제공:
    • 사용자의 페르소나 정보를 바탕으로 보다 맞춤형 대화를 제공할 수 있습니다. 이는 대화의 자연스러움과 사용자 만족도를 높이는 데 기여합니다.
  • 대화의 일관성 유지:
    • 사용자의 페르소나를 기억하고 유지함으로써, 대화의 일관성을 유지할 수 있습니다. 이는 사용자가 이전에 제공한 정보를 반복하지 않아도 되게 하며, 대화의 흐름을 부드럽게 만듭니다.
  • 더 깊은 이해:
    • 사용자의 페르소나를 이해함으로써, 대화 시스템은 사용자의 요구와 선호를 더 잘 이해하고, 더 의미 있는 대화를 나눌 수 있습니다.

요약

페르소나 추출은 대화 시스템이 사용자와의 대화에서 중요한 정보를 추출하고 이를 바탕으로 사용자의 성격, 관심사, 취향 등을 이해하는 과정입니다. 이를 통해 시스템은 보다 맞춤형이고 일관성 있는 대화를 제공할 수 있으며, 사용자의 요구와 선호를 더 깊이 이해할 수 있습니다.

메모리에 있는 데이터를 GPT 3.5 -T를 이용해 새로운 데이터를 혼합한다.
이러다가 데이터가 너무 많아지면 줄여야 된다. -> 시간과 중요도에 따라 정보를 삭제한다.

 

더보기

CREEM (Continuous Refinement based Ever-Evolving Memory) 접근 방법

CREEM은 과거와 현재의 정보를 통합하여 새로운 메모리를 생성하고, 이를 기반으로 일관된 응답을 생성하는 방법론입니다. 이 방법론은 메모리 구축과 응답 생성의 각 단계를 체계적으로 설명합니다.

3.1 맥락 검색 (Contextual Search)

초기 단계:

  • 맥락 검색: 과거의 메모리를 수집하여 새로운 메모리를 생성할 때 활용할 수 있는 풍부한 정보를 모읍니다.
    • 대화 맥락 사용: 현재 대화의 맥락을 쿼리로 사용하여 관련 메모리를 검색합니다.
    • 추가 쿼리 생성: 현재 대화 맥락에 맞는 질문을 생성하여 추가적인 쿼리로 사용합니다. 이를 통해 현재 대화와 직접적으로 관련되지 않은, 암묵적으로 관련된 더 넓은 범위의 메모리를 검색할 수 있습니다.
    • 사용 도구: 이 과정에서 GPT-3.5-turbo(OpenAI, 2023)를 사용합니다.

3.2 블렌딩 및 정제 (Blend and Refine)

블렌딩 (Blending):

  • 목표: 새로운 메모리를 생성할 때 과거의 메모리를 고려하여 일관성과 관련성을 보장합니다.
  • 과정:
    • 기존 접근 방식: 이전 작업들은 단일 세션에서 추출된 정보를 사용하여 메모리를 구축했습니다 (Equation 1: ms = f(Ds)).
    • 새로운 접근 방식: 우리의 방법은 과거의 메모리를 활용하여 메모리를 생성합니다 (Equation 2: ms = f(Ds, M[1,s−1])).
    • 탑-k 정보 사용: 이전에 검색된 탑-k 정보를 사용하여 n개의 새로운 메모리를 통합하고 고급 추론을 통해 생성합니다.

정제 (Refining):

  • 목표: 새로운 메모리를 추가할 때, 과거 메모리를 정제하여 전체적인 일관성을 유지합니다.
  • 과정:
    • 관계 평가: 새로운 메모리와 과거 메모리 간의 관계를 평가하여 세 가지 유형으로 분류합니다.
      • 새로운 정보 (New): 완전히 새로운 정보를 소개하는 경우.
      • 중복 정보 (Redundant): 기존 메모리와 겹치는 경우.
      • 업데이트된 정보 (Updated): 과거 정보가 업데이트된 경우.
    • 적절한 조치: 인사이트 유형에 따라 과거 메모리에 대해 적절한 조치를 취합니다. 중복되거나 업데이트된 경우, LLM은 어떤 과거 메모리를 제거할지 결정합니다. 삭제 후, 새로운 인사이트를 메모리 스트림에 추가합니다.

3.3 인사이트 주입 응답 생성 (Insight Infused Response Generation)

응답 생성:

  • 목표: 현재 대화와 정제 과정을 거친 과거 메모리, 그리고 새로 생성된 인사이트를 기반으로 응답을 생성합니다.
  • 과정:
    • 대화 연결: 생성된 인사이트는 현재 발화에 기반한 변화나 보완된 정보를 반영하여 과거와 현재를 연결합니다.
    • 응답 모델 지원: 이러한 인사이트를 통해 응답 생성 모델이 과거와 현재의 변화를 이해하고 일관성 있는 응답을 생성할 수 있도록 지원합니다.

알고리즘 1: 메모리 업데이트 과정 (Algorithm 1: Memory Updating Process)

  1. 정의:
    • M: 전체 메모리 집합
    • D: 대화 발화 집합
    • s: 세션 번호
    • t: 턴 번호
    • Ms_t: 세션 s의 턴 t에서 생성된 메모리 집합
    • Mremove: 제거할 메모리 집합
  2. 입력: M, D, s, t
  3. 쿼리 생성:
    • 현재 대화 발화를 기반으로 쿼리 생성
  4. 메모리 검색:
    • 생성된 쿼리와 최근 대화 발화를 사용하여 과거 메모리를 검색
  5. 블렌딩 및 정제:
    • 검색된 메모리와 현재 대화 발화를 사용하여 새로운 메모리를 생성하고, 과거 메모리를 정제
  6. 응답 생성:
    • 새로운 메모리와 정제된 메모리, 현재 대화 발화를 기반으로 응답 생성

이 과정을 통해 CREEM은 대화의 연속성을 유지하며, 과거와 현재의 정보를 효과적으로 통합하여 더 일관성 있고 관련성 있는 응답을 생성할 수 있습니다.

 

그럼 이 내용이 현재 내 메모리 풀에 있는 데이터와 현재 입력, 입력에 대한 또 다른 질문을 GPT를 통해 만들어서 유사도가 높은 데이터를 뽑아내고, 혼합한다. 그리고 업데이트 된 정보를 통해 중복되거나 필요없는 정보는 삭제하는 거야 그리고 이제 이 메모리는 대화를 통해 지속적으로 업데이트 된다가 내용이야?

 

네, 정확합니다. CREEM 접근법은 다음과 같은 과정을 통해 메모리를 업데이트하고 관리합니다:

  1. 맥락 검색 (Contextual Search):
    • 현재 메모리 풀: 현재 메모리 풀에 있는 데이터를 사용합니다.
    • 현재 입력: 현재 대화의 발화를 쿼리로 사용하여 관련된 메모리를 검색합니다.
    • 추가 질문 생성: 현재 대화 맥락에 맞는 추가적인 질문을 생성하여, 이를 추가 쿼리로 사용합니다. 이를 통해 더 넓은 범위의 관련된 메모리를 검색할 수 있습니다.
    • GPT 사용: GPT-3.5-turbo를 사용하여 이러한 질문을 생성하고, 검색된 메모리를 유사도 기반으로 추출합니다.
  2. 혼합 및 정제 (Blend and Refine):
    • 혼합 (Blending):
      • 검색된 상위 k개의 정보를 사용하여 새로운 메모리를 생성합니다.
      • 과거 메모리와 현재 대화를 통합하여 일관되고 관련성 있는 새로운 메모리를 만듭니다.
    • 정제 (Refining):
      • 새로운 메모리를 추가할 때, 과거 메모리와의 관계를 평가합니다.
      • 새로운 정보는 'New', 중복된 정보는 'Redundant', 업데이트된 정보는 'Updated'로 분류합니다.
      • 중복되거나 업데이트된 정보는 제거하고, 새로운 인사이트를 메모리 스트림에 추가합니다.
  3. 인사이트 주입 응답 생성 (Insight Infused Response Generation):
    • 응답 생성: 현재 대화와 정제된 과거 메모리, 새롭게 생성된 인사이트를 기반으로 응답을 생성합니다.
    • 변화 반영: 생성된 인사이트는 현재 발화에 기반한 변화나 보충된 정보를 반영하여 과거와 현재의 연결을 유지합니다.
    • 정확한 응답: 이를 통해 응답 생성 모델이 과거와 현재의 변화를 이해하고, 변화가 반영된 정확한 응답을 생성할 수 있습니다.

요약

CREEM 접근법은 현재 메모리 풀과 현재 대화 입력을 사용하여 관련된 메모리를 검색하고, 이를 혼합하여 새로운 메모리를 생성합니다. 이 과정에서 추가적인 질문을 생성하여 더 넓은 범위의 관련된 메모리를 검색하고, 정제 과정을 통해 중복되거나 필요없는 정보를 제거합니다. 최종적으로, 이러한 메모리는 대화를 통해 지속적으로 업데이트되어 일관성과 관련성을 유지합니다.

 

 

알고리즘 1: 메모리 업데이트 과정

  1. 정의 (Definition):
    • M: 전체 메모리 집합
    • D: 대화 발화 집합
    • s: 세션 번호 (대화의 특정 세션을 나타냄)
    • t: 턴 번호 (대화의 특정 턴을 나타냄)
    • Ms_t: 세션 s의 턴 t에서 생성된 메모리 집합
    • Mremove: 제거할 메모리 집합
  2. 입력 (Input):
    • M: 전체 메모리
    • D: 대화 발화
    • s: 세션 번호
    • t: 턴 번호
  3. 쿼리 생성 (GenerateQuery):
    • 현재 턴 t까지의 대화 발화(D{s[1,t-1]})를 기반으로 쿼리를 생성합니다.
    • 이 쿼리는 관련된 과거 메모리를 찾기 위해 사용됩니다.
  4. 메모리 검색 (Retrieval):
    • 생성된 쿼리와 최근 두 개의 대화 발화(D{s[t-2,t-1]})를 사용하여, 과거 메모리(M{[1,s-1]})에서 관련된 메모리를 검색합니다.
    • 검색된 메모리들은 [m', ...]로 표시됩니다.
  5. 혼합 및 정제 (Blend & Refine):
    • 검색된 메모리([m', ...])와 현재 대화 발화(D{s[1,t-1]})를 혼합하여 새로운 메모리(Ms_t)를 생성합니다.
    • 이 과정에서 메모리의 유형(type)을 분류하고, 제거할 메모리(Mremove)를 결정합니다.
    • 중복되거나 필요 없는 정보는 제거하고, 새로운 정보를 추가합니다.
  6. 응답 생성 (GenerateResponse):
    • 혼합 및 정제된 메모리(Ms_t)와 정제된 검색 메모리([m', ...]{refined}), 현재 대화 발화(D{s[1,t-1]})를 기반으로 응답을 생성합니다.
    • 이 응답은 현재 대화와 일관되며, 업데이트된 정보를 반영합니다.

요약

이 알고리즘은 대화 중에 관련된 과거 메모리를 검색하고, 이를 현재 대화와 혼합하여 새로운 메모리를 생성한 후, 중복되거나 필요 없는 정보를 제거합니다. 최종적으로, 이러한 업데이트된 메모리를 기반으로 일관성 있고 정확한 응답을 생성합니다.

1. 현재 대화의 맥락과 맥락에 일치하는 질문을 생각하여 쿼리로 사용한다. -> 메모리 검색에 직접적으로 유사한 데이터 뿐만이 아니라 암묵적으로 관련된 더 넓은 범위의 메모리를 검색할 수 있다.
2.1. 블랜딩 -쿼리를 통해 높은 유사도를 가진 k개를 통해 새로운 메모리를 생성한다.
2.2. 정제 - 새로운 메모리가 기존 메모리와 중복되거나 필요가 없는 경우 기존 메모리가 사라진다.
3. 이렇게 생성된 새로운 메모리 풀을 통해 응답 생성 및 지속적인 반복

이렇게 하면 일관성과 관련성을 유지하면서 성능이 좋다!

 

 

 

728x90