Jump to content

토큰 수 한계극복 관련 문의


Recommended Posts

활용법에 올려주신 토큰 수 한계 극복과 관련된 글을 보다 궁금한점이 생겨 문의 드립니다.

1. 최대 토큰 개념

4096 이라는 최대 토큰이라는 개념은 Chat Completion API 를 수 차례 호출할때마다 누적되는 개념인지, 한번 호출할때 체크되는 개념인지요?

예를 들어 대화 맥락유지를 위해서 기존 대화내용을 포함해서 api를 호출한다면 대화가 길어지게 되면 최대 토큰을 초과하겠지만, 맥락 유지가 필요없다면 최대 토큰을 크게 신경쓰지 않아도 되는 부분일까요?

 

2. 대화 맥락 유지

대화 맥락 유지를 위해서는 Chat Completion API의 messages에 누적된 메세지 내용을 포함해서 전달해야 하는것으로 이해했습니다.

활용법에 올려주신 토큰 수 한계극복(슬라이딩 윈도우, 요약 api) 과 관련된 내용은 대화 맥락을 유지하는 경우를 위한 처리 방법으로 이해하면 될까요?

링크 복사
다른 사이트에 공유하기

안녕하세요, @TABA777님,

1. 현재 HyperCLOVA X 모델의 Context window는 4096토큰입니다. Input과 Output을 합쳐서 4096 토큰이기 때문에, 한번 호출할 때 체크하는 개념입니다.

4096 토큰이 넘어갈 경우 'Text too long'(40003) 형식의 응답을 내리게 됩니다.

1토큰은 평균적으로 1-2글자이며, 토큰을 초과하는 만큼의 입력을 하지 않는 작업이라면 크게 고려하실 필요는 없을 것입니다.

 

2. 네, 맞습니다. 4096 토큰을 넘어가면서 긴 대화를 끊김없이 진행할 수 있는 방법입니다.

 

감사합니다.

링크 복사
다른 사이트에 공유하기

답변 감사드리며 추가 문의 드립니다.

Chat Completions API 응답값에 url이 포함되는 경우 ****.**** 형식의 마스킹 처리가 되는데요.

마스킹 처리가 되지 않도록 하는 방법이 있을까요?

링크 복사
다른 사이트에 공유하기

토큰 수 한계극복에 대해서 추가 문의 드립니다.

첫째. 요약, 슬라이딩 윈도우 처리 관련

요약 : 이전 대화 내용을 요약해 가면서 최대 토큰의 한계를 극복 (대화 맥락 유지 가능)
슬라이딩 윈도우 : 이전 대화내용의 일부를 제거해서 최대 토큰의 한계를 극복 (대화 맥락 유지 불가능)

두 방법의 목적을 보았을때 서비스의 성격에 맞는 방법을 택1 하여 적용하는것이 효과적일까요?

만약 두 방법을 모두 적용한다면

1. 요약 내용이 길어지면 보존할 수 있는 대화 내용이 적어지는 문제
2. 요약 내용이 짧아지면 보존할 수 있는 대화 내용은 많아지지만 문맥 유지 어려움

제가 제대로 이해하고 있는것인지 문의 드립니다. 아니라면 더 나은 방법이 있을까요?


둘째. 요약 처리의 한계

1. 요청, 응답값의 토큰을 체크하여 최대토큰(4096)을 초과하는 경우 요약 api로 기존의 대화 내용을 요약 처리

2. 요약한 내용을 system role에 포함하여 요청

3. 다시 최대 토큰을 초과하는 경우 요약내용 + 1번 시점 이후의 대화내역을 합쳐서 다시 요약 처리

4. 요약한 내용을 system role에 포함하여 요청

위와 같이 반복 처리하게 되면 요약된 내용이 점점 희석되는 관계로 대화의 문맥 역시 유지하기 어려워지는 듯합니다.

최대토큰이라는 한계 때문에 피할 수 없는 이슈인지요..?
 

링크 복사
다른 사이트에 공유하기

@TABA777 님, 추가 코멘트 주신 것에 대하여 답변드립니다.

슬라이딩 윈도우나 요약을 활용한 대화의 경우, 모델의 토큰 한도에 의해 대화의 아주 초기의 맥락은 희석되는 문제가 생길 수 있기 때문에 말을 주고받는 단편적인 대화에 더 적절할 것 같고,

사실이나 정보를 기반으로 한 질의응답 구조의 작업에는 내용의 희석 없이 질문에 대응되는 내용을 전부 보존한채 답변을 할 수 있는 RAG가 더 적절한 방법론일 것입니다.

감사합니다.

링크 복사
다른 사이트에 공유하기

게시글 및 댓글을 작성하려면 로그인 해주세요.



로그인
×
×
  • Create New...