압축과 LLM은 결국 같은 문제를 푼다, ngrok 블로그가 풀어낸 압축과 예측의 관계
- 압축의 핵심 원리: 압축은 코드 축약과 다르게 데이터의 중복성(redundancy)을 이용해 크기를 줄이는 작업임
- 런렝스 인코딩 예시: 28자 224비트짜리 문자열을 심볼과 반복 횟수로 바꿔 12자 96비트로, 즉 57% 줄이는 과정을 시연함
- 압축기의 3단 구조: 전처리하는 트랜스폼, 심볼별 확률을 계산하는 모델, 그 확률로 실제 비트스트림을 뽑아내는 엔트로피 코더로 구성됨
- 산술 코딩(arithmetic coding) 소개: 데이터셋 전체를 단 하나의 숫자로 표현할 수 있다는 개념을 도입하며 확률이 좋을수록 압축률이 좋아짐을 보여줌
- 글의 핵심 주장은 압축기와 LLM이 본질적으로 같은 문제, 즉 다음에 올 심볼(또는 토큰)의 확률을 예측하는 문제를 풀고 있다는 것
Hacker News opinions
3blue1683brown 그랜트 샌더슨이 만든 'Compression is Intelligence' 시리즈에서 이미 같은 얘기 다뤘음, 링크 걸어둠
이 관점 좋은데, 'LLM은 그냥 다음 토큰 예측기라 새로운 아이디어 못 낸다'는 주장 반박하는 데 유용함. 학습을 압축 알고리즘 공간에서의 최적화로 보면 새로운 아이디어가 나오는 게 오히려 자연스러움
근데 '새 아이디어'라는 게 정의상 학습 데이터에 없는 거잖아. 그게 왜 압축 관점에서 더 그럴듯해지는지 잘 모르겠음
아이디어랑 지식은 다른 문제임. LLM이든 사람이든 생각만으로는 새 지식을 못 만들고 물리적 실험이 필요함. 순수 수학은 예외겠지만
예측이라는 게 체스나 바둑에서 사람이 상상도 못한 창의적인 수를 만들어낸 원리임. '예측만 하니까 새 아이디어 없다'는 말은 웃긴 소리임
왜 LLM만 얘기함? 통계 모델은 다 압축기임. 임베딩이나 오토인코더도 압축 방법으로 흔히 보는데 글에서 그건 언급 안 함
벨라드의 신경망 무손실 압축 연구랑 LLMZip도 참고할 만함
LLM은 압축기지만 압축기는 LLM이 아님, 이걸 섞으면 압축기로 LLM 흉내낼 수 있다고 오해하기 쉬움
아니 실제로 됨. 압축기는 손실 없이 생성기로 바꿀 수 있고 반대도 가능함. gzip도 원리는 같음. context와 다음 토큰을 같이 압축해서 제일 잘 압축되는 토큰 고르면 gzip으로도 텍스트 생성 가능함, 질은 떨어지지만
비LZ 압축기가 확률 분포 모델링해서 최소 비트로 인코딩하는 원리 자체가 신기할 거 없음. LZ 압축기도 사실 심볼 길이를 확률 분포로 환산하면 암묵적으로 같은 일을 하는 거임
Hutter Prize가 딱 이 전제로 2005년부터 열리고 있음, 압축과 지능이 밀접하다는 아이디어로
이건 좀 더 미묘한 문제임. 학습 데이터 분포가 미래 문제를 정확히 대표할 때만 압축이 예측과 기능적으로 같음. 일반화가 필요한 상황, 즉 테스트 분포가 학습 분포와 다를 수 있는 경우엔 얘기가 완전히 달라짐. 이 명제가 무비판적으로 반복되는 게 좀 불편함