요즘 GPT-4나 Claude 같은 LLM 쓰다 보면 자꾸 토큰 제한에 걸리더라고요. 특히 긴 문서 분석이나 코드 리뷰할 때 답답한데, 이걸 우회하거나 효율적으로 처리하는 방법들이 있다고 들어서 정리해봤습니다.
가장 흔한 방법이 요약 후 전달인데, 원본 내용을 너무 많이 손실할 수 있다는 게 문제더라고요. 특히 기술 문서 같이 정밀한 정보가 필요한 경우엔 요약만으로는 부족한 경우가 많습니다. 그래도 실무에서는 제일 현실적인 방법인 것 같아요.
다른 방법으로는 청킹(chunking) 기법이 있는데, 긴 문서를 작은 단위로 나눠서 여러 번 요청하는 거거든요. 예를 들어 100페이지짜리 보고서를 10개 섹션으로 나눠서 각각 분석한 다음 결과를 종합하는 식이죠. 이 방법이 정확도는 나은데 시간과 비용이 좀 늘어나는 게 단점입니다. API 호출이 많아지니까요.
최근에는 RAG(Retrieval Augmented Generation) 기반 솔루션들도 많이 나오고 있긴 한데, 정말 필요한 게 아니면 오버 엔지니어링 같다는 생각도 들어요. 간단한 용도면 그냥 요약이나 청킹으로 충분한데 자꾸 복잡한 걸로 가려고 하는 거 같아서요.
실제 현업에서 이 문제 어떻게 대응하고 계신가요? 특히 대용량 데이터 처리할 때 비용 효율적으로 하는 팁이 있으면 궁금합니다.
청킹 방식 쓰고 있는데 맞아요, 비용이 생각보다 많이 늘더라고요. 저는 최근에 결국 Claude의 200K 컨텍스트 쓰는 게 나은 것 같아서 거기로 옮겼습니다. 가격이 비싸긴 한데 여러 번 호출하는 것보다 결국 저렴하더라고요. 특히 기술 문서 같은 경우 한 번에 다 넣으면 정확도가 훨씬 나아서요. RAG는 정말 필요할 때만 구축하는 게 맞는 것 같습니다.
현실주의자
실무에서는 결국 청킹이 제일 현실적인 거 같아요. 비용이 늘어나긴 하지만 정확도가 중요한 작업이면 그게 낫더라고요.
다만 제 경험상 청킹할 때 섹션 경계에서 문맥이 끊기는 문제가 있었어요. 그래서 overlapping window 방식으로 겹치게 나누니까 훨씬 나아졌습니다. 조금 더 번거롭지만요.
RAG는 동의하는데, 소규모 프로젝트면 정말 오버 스펙이에요. 세팅 복잡하고 유지보수 비용도 크니까 토큰 제한이 정말 자주 문제되는 경우에만 고려해야 한다고 봅니다.
딥러너
청킹은 정확도는 좋은데 비용이 ㅠㅠ 이게 진짜 문제더라고요. 저는 요즘 하이브리드 방식으로 하고 있는데, 중요한 부분만 전문 요약 모델로 먼저 처리한 다음 그걸 LLM한테 넘기는 식이거든요. 토큰도 줄이고 정확도도 어느 정도 유지할 수 있더라고요.
원글에서 RAG 언급하셨는데, 실무에선 가벼운 로컬 RAG 정도면 충분할 때가 많습니다. 전체 시스템 구축할 필욘 없고요.