이제 LMS의 아주 중요한 속성을 살펴보죠 컨텍스트 창이라고 하는데 자세히
설명할게요
컨텍스트 창은 토큰의 총수를 알려줍니다 LLM이 어느 시점에서든 살펴볼 수 있는 것이죠
다음 토큰을 생성하려고 할 때요
가장 가능성이 높은 다음 토큰을 생성하는 일을 합니다 이전에 온 토큰의 개수와 조사할 수
있는 토큰의 개수를 부여받습니다 그 예측을 하기 위해 살펴볼 수 있는 토큰은
컨텍스트 창에 의해 제한됩니다 컨텍스트 창은 크기, LLM의 매개 변수의 수, 그리고
그것이 만들어진 방식과 LLM의 구조에 의해 제한되죠
그게 무슨 뜻이죠?
출력 토큰을 생성하기 위해 입력 토큰을 얼마나 가질 수 있는지에 대한 것인가요?
그런 셈이죠
하지만 실생활에서 그 의미를 명확히 할 필요가 있어요
우리가 처음 작업했던 첫 번째 LLM, 첫 번째 OpenAI 호출을 기억하시나요?
시스템 프롬프트와 사용자 프롬프트가 있었죠
모두 LLM에 대한 입력의 일부로 입력 프롬프트에서 가장 유력한 다음 토큰을 예측했죠
웹사이트에서 전달한 다음 요약해 보라고 했죠
다음 토큰은 해당 웹사이트의 요약이고요
챗GPT와 같은 것과 채팅을 할 때 입력값을 입력하면 입력값이 출력되고
그러면 다른 질문을 하게 되죠
실제로 챗GPT는 당신이 하는 말을 일종의 메모리로 기억하는 것 같아요
토론의 맥락이 유지되지만 이건 일종의 환상이죠
일종의 비트를 쓰는 거죠
실제로 일어난 일은 챗GPT와 대화할 때마다 지금까지의 대화 전체에서
사용자가 입력을 프롬프트하면 그 응답은 다시 넘겨집니다 긴 프롬프트처럼요
지금까지의 대화를 종합해 보면 다음 단계는 무엇일까?로 끝나죠
컨텍스트 창이 말하는 것은 이것이 토큰의 총량이라는 것이죠
원본 프롬프트를 포함한 총 정보량이죠 시스템 프롬프트요
사용자가 반응을 유도하죠
그에 대한 반응과 과거와 현재에 대한 반응이죠
새 연락처, 새 연락처, 새 토큰을 생성해야 합니다 이 끝에서 오기 위해서요
앞뒤로 긴 사슬이죠
컨텍스트 창은 지금까지의 모든 대화와 입력, 그리고 다음 토큰을 예측할
때까지의 대화들을 모두 담은 것이죠
그래서 대화를 시작할 때 그걸 염두에 두는 게 중요해요
컨텍스트 창은 현재 프롬프트에만 맞으면 돼요
하지만 대화가 계속될수록 전에 나온 내용과 더 잘 맞아떨어져야 해요
그 맥락을 유지하려면요
이건 특히 멀티샷 프롬프트 같은 면에서 중요해요
예를 들어 셰익스피어 작품에 관해 질문하고 싶다면
컨텍스트 창 1을 눌러야 해요 한 번에 200만 토큰을 모으는 거죠
그렇게 하는 거예요
간단히 말하면 그게 컨텍스트 창이에요