전글 context shift 효과 https://arca.live/b/characterai/102897862

로컬 전용 팁임


context shift는 리스에서 채팅 할 때 새로 추가된 채팅 토큰만 처리해서 속도를 획기적으로 단축하는 정말 지리는 기술임

근데 이게 리스 채팅 기록이 너무 길어져서 과거 기록이 최대 콘텍스트를 넘으면

챈에서 쓰이는 보편적인 프롬프트를 쓰고 있단 가정 하에 쉬프트가 적용이 안됨

왼쪽이 1번 전 요청/오른쪽이 가장 최근 요청

예를 들어, 채팅이 너무 길어서 과거 채팅 2개가 없어지면 

코볼드는 "# Follow ..." 아래에 있는 "I really want to hug you"부터 끝까지 쉬프트 없이 프로세싱을 다시 해버려서 속도가 느림


근데 과거 기록을 최상단에 박으면 과거 기록이 짤려도 쉬프트가 됨

여기부터 내가 제시하는 코볼드 "속도" 최적화(퀄리티 보장 못함ㅎ) 프롬프트 세팅

최상단엔 이렇게 함

최신에서 -10번 전 채팅까지 최상단에 박는단 뜻


그리고 최하단엔 이렇게

-10번 전 채팅부터 최신 채팅까지 최하단에 박음



이 상태로 채팅을 두 번 치면 두 번째 채팅을 코볼드에선 이렇게 처리함

리스에서 보낸 토큰이 8192인데 그중에서 5500토큰을 쉬프트해서 스킵하고, 2600 토큰만 새로 프로세싱함

아마 스킵된 5500 토큰은 최상단에 박은 과거 채팅 기록일 거고, 

2600 토큰은 최하단에 있는 채팅 10개가 다시 처리된듯

채팅 기록을 최상단에 올리기 전엔 이랬는데 5초 차이남

코볼드는 스트리밍이 돼서 추론 시간은 좀 오래 걸려도 되지만 프로세싱은 순수하게 기다리는 시간이라 5초도 체감이 큼ㅋㅋㅋ


단점은 과거 채팅 기록을 중요도가 낮은 최상단으로 올리는 만큼 기억력은 좀 나빠질 거 같음

난 그걸 적당히 타협하려고 10번째 전 채팅까진 최하단에 넣었음

근데 채팅 기록이 올라간 만큼 상대적으로 로어북이랑 봇 rp도 중요하게 생각할 거라 손해는 없을 거라고 생각함

이 글에서 말하고 싶었던 건 항상 고정된 로어북 아래서 채팅 기록이 변하면 쉬프트가 안 된단 거니까 

이걸 염두에 두고 각자 취향에 맞춰 프롬프트를 바꿔보길 바람