AI Briefing

n-gram 압축, zlib 대비 33% 개선

Language-model-based compression for Python source using n-grams + arithmetic coding (~33% better than zlib on Flask) [P]

·2026.05.03 19:26

핵심 내용

Python source를 n-gram과 arithmetic coding으로 압축해 zlib보다 33% 개선했다.

자세히 보기

order-4 n-gram 모델이 Python source의 다음 token 확률을 추정하고, 그 확률을 arithmetic coding에 넣어 압축했다.

  • Flask의 약 575 KB .py 파일을 **101 KB (0.176x)**로 줄여 **82.4%**를 압축했다.
  • 같은 데이터에서 zlib 151 KB, lzma 152 KB, zstd 147 KB보다 작았다.
  • 구현은 tokenizer와 model이 Python, arithmetic coder가 Zig이며 ctypes로 연결했다.
  • 인코딩 속도는 약 75초로, **zlib(0.05초)**보다 약 1600배 느렸다.
  • 병목은 토큰별 확률 계산이 Python에서 이뤄지고 caching과 batching이 없다는 점이다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.