Command Palette
Search for a command to run...
Yuling Shi Yichun Qian Hongyu Zhang Beijun Shen Xiaodong Gu

초록
긴 컨텍스트 하에서의 코드 생성은 대규모 언어 모델(Large Language Models, LLMs)이 코드베이스 내 방대한 정보를 추론해야 하는 요구 증가에 따라 점점 더 중요한 과제가 되고 있다. 최근의 기술 발전은 코드 기반 LLMs가 긴 입력을 처리할 수 있도록 했지만, 높은 API 비용과 생성 지연 시간은 여전히 주요한 성능 저해 요인으로 남아 있다. 기존의 컨텍스트 절삭 기법 중 하나인 LLMLingua는 일반 텍스트 처리에 있어 우수한 성능을 보였지만, 코드 고유의 구조와 의존성 구조를 고려하지 않아 프로그래밍 작업에서는 최적의 성능을 달성하지 못하고 있다. 본 논문에서는 코드 기반 LLMs를 위한 전용으로 설계된 새로운 플러그 앤 플레이형 코드 압축 프레임워크인 LongCodeZip을 제안한다. LongCodeZip은 이중 단계 전략을 채택한다. 첫 번째 단계인 거시적 압축에서는 지시사항에 대한 조건부 엔트로피(conditional perplexity)를 기반으로 함수 단위의 코드 청크를 식별하고 순위를 매기며, 가장 관련성이 높은 함수들만 유지한다. 두 번째 단계인 미시적 압축에서는 유지된 함수들을 엔트로피 기반으로 블록으로 분할하고, 적응형 토큰 예산 하에서 최적의 서브셋을 선택함으로써 관련성 최대화를 도모한다. 코드 완성, 요약, 질문 응답 등 다양한 작업에 대한 평가 결과, LongCodeZip은 기준 모델 대비 일관되게 뛰어난 성능을 보이며, 작업 성능 저하 없이 최대 5.6배의 압축 비율을 달성하였다. 본 연구에서 제안한 기법은 핵심 정보를 유지하면서 컨텍스트 크기를 효과적으로 축소함으로써, LLM이 현실 세계의 대규모 코드 환경에 더 잘 확장될 수 있도록 지원하며, 코드 지능 응용 프로그램의 효율성과 능력을 한층 끌어올리는 데 기여한다.