최근 몇 년 동안 LLM(대형 언어 모델)과 기본 변환기 아키텍처가 대화형 AI의 초석이 되었으며 광범위한 소비자 및 기업 애플리케이션을 탄생시켰습니다. 상당한 진전에도 불구하고 LLM에서 사용하는 고정 길이 컨텍스트 창은 긴 대화나 긴 문서 추론에 대한 적용 가능성을 크게 제한합니다. 가장 널리 사용되는 오픈 소스 LLM의 경우에도 최대 입력 길이는 수십 개의 메시지 응답 또는 짧은 문서 추론만 지원할 수 있습니다.
동시에 변환기 아키텍처의 self-attention 메커니즘으로 인해 단순히 변환기의 컨텍스트 길이를 확장하면 계산 시간과 메모리 비용이 기하급수적으로 증가하므로 새로운 긴 컨텍스트 아키텍처가 시급한 연구가 됩니다. 주제.
그러나 컨텍스트 확장의 계산적 문제를 극복할 수 있더라도 최근 연구에 따르면 긴 컨텍스트 모델은 추가 컨텍스트를 효과적으로 활용하는 데 어려움을 겪는 것으로 나타났습니다.
이 문제를 해결하는 방법은 무엇입니까? SOTA LLM을 교육하는 데 필요한 막대한 리소스와 컨텍스트 확장으로 인한 수익 감소를 고려할 때 긴 컨텍스트를 지원하는 대체 기술이 시급히 필요합니다. 캘리포니아 대학교 버클리 캠퍼스의 연구자들은 이와 관련하여 새로운 진전을 이루었습니다.
이 기사에서 연구자들은 고정 컨텍스트 모델을 계속 사용하면서 무한 컨텍스트의 환상을 제공하는 방법을 탐구합니다. 그들의 접근 방식은 가상 메모리 페이징에서 아이디어를 빌려 애플리케이션이 사용 가능한 메모리를 훨씬 초과하는 데이터 세트를 처리할 수 있도록 합니다.
이 아이디어를 바탕으로 연구원들은 LLM 에이전트 기능 호출 기능의 최신 발전을 활용하여 가상 컨텍스트 관리를 위한 OS 기반 LLM 시스템인 MemGPT를 설계했습니다.
페이퍼 홈페이지: https://memgpt.ai/
arXiv 주소: https://arxiv.org/pdf/2310.08560.pdf
이 프로젝트는 오픈 소스였으며 GitHub에서 1.7,000개의 별을 얻었습니다. 수량.
GitHub 주소: https://github.com/cpacker/MemGPT
방법 개요
이 연구는 컨텍스트 창(운영 체제와 유사)에서 기존 운영 체제의 계층적 메모리 관리에서 영감을 얻었습니다. 효율적으로 "메인 메모리")와 외부 저장소 사이에 "페이지" 정보가 들어가고 나옵니다. MemGPT는 메모리, LLM 처리 모듈 및 사용자 간의 제어 흐름을 관리하는 역할을 담당합니다. 이 설계를 통해 단일 작업 중에 반복적인 컨텍스트 수정이 가능하므로 에이전트는 제한된 컨텍스트 창을 보다 효율적으로 활용할 수 있습니다.
MemGPT는 컨텍스트 창을 제한된 메모리 리소스로 처리하고 기존 운영 체제의 계층적 메모리와 유사한 LLM의 계층적 구조를 설계합니다(Patterson et al., 1988). 더 긴 컨텍스트 길이를 제공하기 위해 이 연구를 통해 LLM은 "LLM OS"(MemGPT)를 통해 컨텍스트 창에 배치된 콘텐츠를 관리할 수 있습니다. MemGPT를 사용하면 LLM이 운영 체제의 페이지 오류와 유사하게 컨텍스트에서 손실된 관련 기록 데이터를 검색할 수 있습니다. 또한 프로세스가 가상 메모리에 반복적으로 액세스할 수 있는 것처럼 에이전트는 단일 작업 컨텍스트 창의 내용을 반복적으로 수정할 수 있습니다.
MemGPT를 사용하면 컨텍스트 창이 제한된 경우 LLM이 무제한 컨텍스트를 처리할 수 있습니다. MemGPT의 구성 요소는 아래 그림 1에 나와 있습니다.
MemGPT는 함수 호출을 통해 기본 컨텍스트(컨텍스트 창의 콘텐츠)와 외부 컨텍스트 간의 데이터 이동을 조정하고 현재 컨텍스트를 기반으로 자율적으로 검색합니다.
아래 그림 3과 같이 컨텍스트 창에서 제한 사항을 표시하기 위해 경고 토큰을 사용해야 한다는 점은 주목할 가치가 있습니다.
실험 및 결과
실험 부분에서 연구원들은 대화 에이전트와 문서 처리라는 두 가지 긴 컨텍스트 도메인에서 MemGPT를 평가했습니다. 대화 에이전트의 경우 기존 다중 세션 채팅 데이터 세트(Xu et al.(2021))를 확장하고 두 가지 새로운 대화 작업을 도입하여 긴 대화에서 지식을 유지하는 에이전트의 능력을 평가했습니다. 문서 분석을 위해 질문 답변 및 긴 문서의 키-값 검색을 포함하여 Liu et al.(2023a)이 제안한 작업에 대한 MemGPT를 벤치마킹합니다.
대화형 에이전트를 위한 MemGPT
사용자와 대화할 때 에이전트는 다음 두 가지 주요 기준을 충족해야 합니다.
하나는 일관성입니다. 즉, 에이전트는 대화의 일관성을 유지해야 하며, 제공되는 새로운 사실, 참조 및 이벤트는 사용자와 에이전트의 이전 진술과 일치해야 합니다.
두 번째는 참여입니다. 즉, 에이전트는 사용자의 장기적인 지식을 활용하여 응답을 개인화해야 합니다. 이전 대화를 참고하면 대화가 더욱 자연스럽고 매력적으로 느껴질 수 있습니다.
따라서 연구원들은 다음 두 가지 기준에 따라 MemGPT를 평가했습니다.
MemGPT가 메모리를 활용하여 대화 일관성을 향상시킬 수 있습니까? 일관성을 유지하기 위해 과거 상호 작용에서 발생한 관련 사실, 인용문, 사건을 기억할 수 있습니까?
MemGPT가 메모리를 사용하여 더욱 매력적인 대화를 생성할 수 있나요? 원격 사용자 정보를 자발적으로 병합하여 정보를 개인화하시겠습니까?
사용된 데이터 세트와 관련하여 연구원들은 Xu et al.(2021)이 제안한 다중 세션 채팅(MSC)에서 MemGPT와 고정 컨텍스트 기준 모델을 평가하고 비교했습니다.
먼저 일관성 평가를 해보겠습니다. 연구원들은 대화형 에이전트의 일관성을 테스트하기 위해 MSC 데이터 세트를 기반으로 하는 DMR(심층 메모리 검색) 작업을 도입했습니다. DMR에서는 사용자가 대화 에이전트에게 질문을 하고, 질문은 이전 대화를 명시적으로 참조하므로 답변 범위가 매우 좁을 것으로 예상됩니다. 자세한 내용은 아래 그림 5의 예를 참조하세요.
MemGPT는 일관성을 유지하기 위해 메모리를 활용합니다. 아래 표 2는 GPT-3.5 및 GPT-4를 포함한 고정 메모리 기준 모델에 대한 MemGPT의 성능 비교를 보여줍니다.
MemGPT는 LLM 판단 정확도와 ROUGE-L 점수 측면에서 GPT-3.5 및 GPT-4보다 훨씬 우수하다는 것을 알 수 있습니다. MemGPT는 재귀적 요약에 의존하여 컨텍스트를 확장하는 대신 회상 메모리를 사용하여 과거 대화 기록을 쿼리하여 DMR 질문에 답할 수 있습니다.
다음으로 '대화 시작하기' 작업에서 연구진은 이전 대화에서 축적된 지식에서 매력적인 메시지를 추출하여 사용자에게 전달하는 에이전트의 능력을 평가했습니다.
연구원들은 아래 표 3에 MemGPT의 오프닝 발언의 CSIM 점수를 보여줍니다. 결과는 MemGPT가 사람이 직접 작성한 소개와 같거나 그보다 더 나은 성능을 발휘하는 매력적인 소개를 생성할 수 있음을 보여줍니다. 또한 MemGPT는 인간 기준선보다 더 길고 더 많은 문자 정보를 포함하는 개구부를 생성하는 경향이 있는 것으로 관찰되었습니다. 아래 그림 6은 예시입니다.
문서 분석을 위한 MemGPT
MemGPT의 문서 분석 능력을 평가하기 위해 연구원들은 Liu et al.(2023a) 검색기-리더 문서 QA 작업에 대해 MemGPT 및 고정을 수행했습니다.
결과에 따르면 MemGPT는 아카이브 저장소를 쿼리하여 검색기에 대해 여러 호출을 효율적으로 수행할 수 있으므로 더 큰 유효 컨텍스트 길이로 확장할 수 있습니다. MemGPT는 아카이브 저장소에서 문서를 적극적으로 검색하고 결과를 반복적으로 페이징할 수 있으므로 사용 가능한 총 문서 수가 더 이상 적용 가능한 LLM 프로세서 컨텍스트 창의 문서 수에 의해 제한되지 않습니다.
임베딩 기반 유사성 검색의 한계로 인해 문서 QA 작업은 모든 방법에 큰 도전을 안겨줍니다. 연구원들은 MemGPT가 크롤러 데이터베이스가 소진되기 전에 크롤러 결과 페이지 매김을 중지하는 것을 관찰했습니다.
또한 아래 그림 7에 표시된 것처럼 MemGPT의 더 복잡한 작업으로 생성된 검색 문서의 용량에는 상충 관계가 있지만 평균 정확도는 GPT-4보다 낮지만(GPT-3.5보다 높음) 더 큰 문서로 쉽게 확장할 수 있습니다.
연구원들은 또한 MemGPT가 여러 데이터 소스의 정보를 구성하는 방법을 보여주기 위해 합성 키-값 검색, 즉 중첩 키-값 검색을 기반으로 하는 새로운 작업을 도입했습니다.
결과에 따르면 GPT-3.5와 GPT-4는 원래 키-값 작업에서는 좋은 성능을 보였지만 중첩된 키-값 검색 작업에서는 성능이 좋지 않았습니다. MemGPT는 중첩 수준 수에 영향을 받지 않으며 함수 쿼리를 통해 메인 메모리에 저장된 키-값 쌍에 반복적으로 액세스하여 중첩 조회를 수행할 수 있습니다.
중첩된 키-값 검색 작업에 대한 MemGPT의 성능은 여러 쿼리의 조합을 사용하여 여러 조회를 수행하는 능력을 보여줍니다.
더 자세한 기술적 내용과 실험 결과는 원본 논문을 참고해주세요.
위 내용은 LLM을 운영 체제로 생각하면 무제한의 "가상" 컨텍스트가 있으며 Berkeley의 새 작품은 1.7,000개의 별을 받았습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!