Show HN: Overfitted a 900KB Transformer to Compress a 100MB CSV into 7MB
TL;DR Highlight
단일 파일을 통째로 암기하도록 Transformer를 과적합(overfitting)시킨 뒤 arithmetic coding으로 압축하는 실험으로, 100MB CSV를 7MB(~0.5 bits/byte)까지 줄이는 데 성공했다. 모델이 '범용 이해' 대신 '특정 파일 완전 암기'를 목표로 한다는 점에서 전통적 ML 학습과 정반대 방향이라 흥미롭다.
Who Should Read
압축 알고리즘이나 정보이론에 관심 있는 개발자, 또는 Transformer 모델을 일반화가 아닌 특수 목적(파일 암기 등)으로 활용하는 아이디어를 탐구하고 싶은 ML 엔지니어.
Core Mechanics
- 핵심 아이디어는 모델을 '범용화'하는 게 아니라 단일 파일을 완전히 암기하도록 과적합(overfitting)시키는 것이다. 일반적인 ML 학습이 일반화를 목표로 하는 것과 정반대 방향이다.
- 900KB짜리 Transformer가 파일의 다음 바이트(next byte)를 예측하도록 학습되고, 그 예측 확률 분포를 arithmetic coding(산술 부호화, 예측 확률을 활용해 더 짧은 코드를 만드는 압축 방식)에 입력해 압축 출력을 만든다.
- 100MB NYC 택시 CSV 파일에서 약 7MB(~0.5 bits/byte)로 압축에 성공했다. 이는 원본 대비 약 93% 압축이다.
- 100MB enwik9(Wikipedia 텍스트 데이터셋) 슬라이스에서는 약 21MB(~1.68 bits/byte)로 압축됐다. 900KB 모델 크기를 포함한 수치다.
- 속도가 큰 단점이다. AMD 7800XT GPU 기준으로 학습에 20~30분, 압축과 압축 해제에 각각 45분씩 소요된다. 실용적 활용보다는 실험적 프로젝트 수준이다.
- 압축된 결과물에는 원본 데이터를 복원하는 데 필요한 900KB 모델 가중치도 함께 포함된다. 따라서 파일 크기가 작을수록 모델 오버헤드가 이득을 상쇄할 수 있다.
- Hutter Prize 벤치마크(enwik9 1GB 전체 기준) 최고 기록이 13MB인 반면, 이 실험은 100MB 슬라이스에서 21MB를 달성했다. 아직 격차가 있지만 계속 개선 중이다.
- 구현 코드는 GitHub(samyak112/pym-particles)에 공개되어 있으며, arithmetic coding 구현도 포함되어 있다.
Evidence
- Fabrice Bellard이 7년 전에 동일한 아이디어를 이미 구현했다는 지적이 나왔다. 작성자는 이미 알고 있었다고 밝혔는데, 선행 연구에 대한 언급 없이 마치 새로운 발명인 것처럼 표현했다는 점에서 '약간 부정직하다(disingenuous)'는 비판도 제기됐다.
- 모델 앙상블(여러 과적합 Transformer를 bagging하는 방식)을 시도하면 더 나은 압축이 가능하지 않냐는 질문에, gwern이 앙상블은 파라미터와 연산 효율이 나쁘기 때문에 압축 용도로는 최악의 접근이라고 반박했다. 이는 대형 LLM 하나가 동일 규모의 작은 LLM 100개보다 효율적인 이유와 같다는 설명이다.
- WinZIP과만 비교한 것이 아니라 LZMA2(레벨 9), BZIP2, ZPAQ(최대 설정)과 같은 현대적 압축 알고리즘과의 비교 결과도 있어야 공정한 평가가 된다는 지적이 있었다. 또한 데이터셋이 재현 가능하도록 공개되어 있지 않다는 재현성 문제도 지적됐다.
- 압축의 핵심은 arithmetic coding 같은 'coder'가 아니라 데이터를 얼마나 잘 모델링하느냐에 달려 있다는 전문가 의견이 나왔다. 특정 데이터셋에 특화된 모델(일반 LLM이 아닌 '데이터 모델링' 의미)은 항상 범용 알고리즘보다 압축률이 높을 수밖에 없다는 설명이다.
- 이 방식을 이미지나 비디오 코덱에 응용하자는 아이디어도 나왔다. 레이어 구조를 동적으로 조절 가능하게 만들면 고정 파이프라인보다 품질/크기 트레이드오프를 더 잘 제어할 수 있을 것이라는 제안이었다. Stable Diffusion으로 500KB 이미지를 50바이트로 압축한(물론 손실 압축) 사례도 함께 언급됐다.
How to Apply
- 특정 도메인의 반복적인 대용량 정형 데이터(예: 매일 생성되는 동일 스키마의 로그 CSV)를 장기 보관해야 하는 경우, 이 방식처럼 해당 파일 구조에 과적합된 소형 모델을 학습시켜 arithmetic coding과 결합하면 범용 압축 알고리즘 대비 훨씬 높은 압축률을 얻을 수 있다.
- 압축 효율을 평가할 때 WinZIP 같은 구형 도구가 아니라 LZMA2(7-Zip 최고 레벨), BZIP2, ZPAQ 등 현대적 압축 알고리즘과 비교해야 한다. 이 프로젝트를 포크하거나 유사 실험을 한다면 mattmahoney.net/dc/text.html의 벤치마크 기준을 참고하면 공정한 비교가 가능하다.
- 파일 크기가 작은 경우 900KB 모델 오버헤드가 압축 이득을 상쇄할 수 있으므로, 실제 적용 전에 '모델 크기 + 압축 데이터 크기 vs 원본 크기'의 손익분기점(crossover point)을 먼저 계산해봐야 한다.
- Hutter Prize(prize.hutter1.net) 벤치마크에 관심 있는 개발자라면, 이 프로젝트의 GitHub 코드(samyak112/pym-particles)를 출발점으로 삼아 모델 구조 튜닝이나 diffusion 모델 접목 등의 아이디어를 실험해볼 수 있다.
Terminology
Related Papers
Show HN: Smart model routing directly in Claude, Codex and Cursor
프롬프트마다 적합한 AI 모델을 50ms 이내에 자동으로 선택해주는 프록시 라우터로, API 비용을 40~70% 절감할 수 있다고 주장하는 오픈소스 도구다. 단, 프롬프트 캐싱 손실 문제로 커뮤니티 반응은 엇갈린다.
Ask HN: Anthropic banned me from using Claude Code and I don't know what to do
VPN 사용 또는 동일 카드 재사용으로 Anthropic Claude Code 계정이 이유 불명으로 정지당한 사용자의 사례와, 커뮤니티에서 나온 대안 및 우회 방법 논의.
Moebius: 0.2B image inpainting model with 10B-level performance
FLUX.1-Fill-Dev(11.9B) 대비 2% 미만의 파라미터(0.22B)로 동급 또는 그 이상의 인페인팅 품질을 달성하면서 추론 속도는 15배 빠른 경량 모델. 소비자용 GPU나 엣지 디바이스에서도 고품질 인페인팅이 가능해진다.
AI Compute Extensions (ACE) Specification
x86 Ecosystem Advisory Group이 행렬 곱셈과 저정밀도 데이터 포맷을 하드웨어 수준에서 가속하는 새로운 x86 명령어 확장 스펙 ACE를 공개했다. ML 워크로드를 CPU에서 더 효율적으로 돌리기 위한 ISA(명령어 집합 구조) 수준의 변화라 향후 AI 추론 환경에 영향을 줄 수 있다.
Show HN: High-Res Neural Cellular Automata
EPFL과 Google Research가 공동 개발한 Neural Cellular Automata(NCA)를 고해상도로 확장하는 기법으로, 기존 NCA의 해상도 한계를 경량 신경망 디코더로 극복한 SIGGRAPH 2026 논문이다.
Claude: Elevated errors across many models [resolved]
2026년 6월 16일 약 2시간 동안 Claude의 Sonnet, Opus, Haiku 모델 전반에 걸쳐 10% 수준의 오류율이 발생한 인시던트 보고서. Claude API에 의존하는 서비스 운영자에게 장애 대응 방식과 신뢰성 문제를 다시 생각하게 만드는 사건.