Unleashing Infinite-Length Input Capacity for Large-scale Language Models with Self-Controlled Memory System
https://arxiv.org/pdf/2304.13343.pdf
바이트댄스는 SCM (Self-Controlled Memory)를 발표하고 챗봇을 무한 입력이 가능한 무한 메모리 AI agent로 전환
ChatGPT의 가장 큰 문제점
- 니모를 찾아서의 Dory는 3초마다 자기에게 한 말을 모두 잊어버림
- ChatGPT 역시 Dory와 비슷한 단기 기억을 가지고 있음
- 세상은 단일 단위 대화로 작동하지 않는다는 것을 모두가 알고 있다
- 관계는 일련의 대화를 통해 이루어지며 일부는 이전 대화와 상호 관련이 있고 다른 일부는 독특함
- 누군가와 대화하고 싶을 때마다 처음부터 시작해야 한다면 인간의 사회화가 작동하지 않을 것임
아무도 건축을 위해서 건축하지 않는다.
- 시퀀스 길이와 관련하여 계신사과 메모리 사용량이 2차적으로 증가함
- 간단히 말해서 시퀀스 길이가 길수록 학습 비용이 더 많이 든다는 것임
- 회사는 텍스트의 양을 제한하기로 결정하고, 이 고정된 입력 길이가 전체 시퀀스에 적용되므로 입력이 길수록 답변이 짧아짐
일을 나누기
- 긴 문서를 ChatGPT로 한번에 처리하고 싶다면 할 수 없음
- 매우 긴 문서의 경우, 대부분의 사람들은 문서를 분할하여 chunk로 모델에 전달함
- ChatGPT가 전체 문서의 요약을 수행하도록 하려는 경우 모델이 문서의 흐름을 잃기 때문에 chunk로 문서를 처리하는 이 절차는 이상적이지 않음
- 문서 크기가 증가함에 따라 모델의 성능이 저하되어 모델이 문서의 첫 번째 부분을 의미있는 방식으로 메모리에 저장하기가 점점 더 어려워짐
SCM
- SCM 프레임워크를 실행하는 LLM 모델은 ultra-long 텍스트를 받았을 때 observations라는 이름의 chunk으로 분할됨
- 분할이 요약과 같은 일부 사용 사례에 사용되는 방법이 아니라는 것을 방금 보지 않았는가?
- 에이전트는 요약 요청과 같은 입력을 받음
- 그런 다음 메모리 컨트롤러는 해당 요청이 에이전트의 메모리 아카이브를 파헤쳐야 하는지 여부를 자율적으로 결정함
- Memory Controller는 가장 관련성이 높은 메모리 chunk를 검색하는 점수를 계산하여 가장 관련성이 높은 정보를 검색함
- 다음으로 에이전트는 원래 입력과 검색된 메모리 청크를 모두 처리하고 응답을 계산한다.
SCM의 핵섬 개념은 memory controller의 순위 시스템임
이 채점 시스템은 두 가지 변수로 구성됨
- 최신성
- 대화 중에 메모리 컨트롤러는 이전 상호 작용에 해를 끼치는 최근 상호 작용에 더 높은 가중치를 부여함
- 관련성
- 관찰을 수신할 때 모델은 임베딩을 계산하고 모델이 적절한 답면으로 응답하도록 메모리에 저장된 메모리 chunk와 비교
- 예를들어 모델이 몇 주 전에 말한 것을 기억하기 원할 때 매우 긴 대화의 핵심임
- 기본적으로 시맨틱 검색을 수행함. 두 벡터 임베딩이 가까울수록 기본 컨텍스트와 더 관련이 있음
- observation이 가까울수록 기본 컨텍스트와 더 관련이 있음
- observation이 메모리 chunk에 가까운 의미론적 의미를 갖는 경우, 메모리 chunk가 해당 관찰에 응답하기 위한 실질적인 정보를 제공할 가능성이 매우 높음
'Daily-Trend-Review' 카테고리의 다른 글
2023/07/16: LLM에 대한 실용적인 소개 등 (0) | 2023.07.16 |
---|---|
2023/07/11: GPT-4, Longnet, knowledge base (0) | 2023.07.11 |
2023/07/07: SW 애플리케이션에서 대규모 언어모델 활용 (0) | 2023.07.07 |
2023/07/06: Vector DB, Transformer, Context Window, vLLM 등 (0) | 2023.07.06 |
2023/07/01: Emerging Architectures for LLM Applications (0) | 2023.07.01 |