
솔직히 말해, 지금 우리가 돌리는 AI 모델들은 비만입니다.
개발팀 미팅에 들어가면 매번 듣는 소리가 있습니다. "모델이 너무 커서 추론(Inference) 속도가 안 나옵니다", "AWS 비용 감당이 안 됩니다". 그래서 서버 비용 명세서를 까보면 억 소리가 절로 나옵니다.
디자이너로서 픽셀 1px의 낭비도 못 참는 성격이라, 이 거대한 덩어리들이 과연 전부 필요한 건지 의구심이 들었습니다. 개발자에게 "왜 이렇게 커야 하죠?"라고 물으면 "원래 딥러닝은 파라미터가 많아야 성능이 나와요"라는 뻔한 대답만 돌아오죠.
그 말이 틀렸다는 걸 증명하는 문서를 가져왔습니다. MIT의 조나단 프랭클(Jonathan Frankle)이 발표한 '복권 당첨 가설(The Lottery Ticket Hypothesis)'입니다. 이 이론은 그저 그런 최적화 팁이 아니라, 우리가 AI를 학습시키는 방식 자체가 비효율의 극치였음을 고발합니다.

1. 90%는 잉여 자원이다
우리가 거대한 신경망(Dense Network)을 학습시킬 때, 실제로 결과를 만들어내는 데 기여하는 핵심 연결망은 전체의 10%도 안 됩니다. 나머지는? 그냥 학습 과정에서 필요한 '비계'거나, 아무 역할도 없는 잉여 지방입니다.
이 논문은 충격적인 팩트를 던집니다. 전체 파라미터의 90% 이상을 쳐내는 가지치기(Pruning)를 해도 정확도는 떨어지지 않습니다. 오히려 모델 사이즈는 줄고 추론 속도는 빨라집니다.
2. 그런데 왜 처음부터 작게 만들지 못할까?
여기서 의문이 생깁니다. "그럼 처음부터 그 10%만 남겨놓고 학습시키면 되잖아?"
문제는 그렇게 하면 학습이 안 됩니다. 가지치기된 성긴(Sparse) 구조를 처음부터 학습시키면 정확도가 나락으로 떨어집니다. 그래서 개발자들은 울며 겨자 먹기로 일단 거대하게 만들고 보는 겁니다. 이걸 '최적화의 저주'라고들 하죠.
3. 비밀은 '초기화(Initialization)'에 있다
이 논문의 핵심 발견은 바로 이겁니다.
가지치기 후 남은 서브네트워크(Subnetwork)가 학습에 실패하는 이유는 구조가 문제가 아니라, '초기값'을 잃어버렸기 때문입니다.
저자들은 가지치기된 네트워크에, 학습 전 맨 처음 할당받았던 '원래의 초기 가중치'를 다시 주입해봤습니다. 결과는 놀라웠습니다. --> 원래의 거대 네트워크만큼, 아니 때로는 더 빨리, 더 높은 정확도로 학습되었습니다.
이게 바로 '복권 당첨 가설'입니다. 거대한 신경망은 수많은 복권을 긁는 것과 같습니다. 그 안에는 우연히 초기값이 완벽하게 설정된 '당첨 복권(Winning Ticket)'인 서브네트워크가 숨어 있습니다. 우리는 그 당첨 복권 하나를 찾기 위해 꽝인 복권 90%까지 함께 학습시키는 낭비를 하고 있었던 겁니다.
[팩트]
- 전체 파라미터를 90% 줄여도 '당첨 복권'만 찾으면 성능 저하 없음.
- 오히려 학습 반복 횟수(Iterations)는 줄어들고 테스트 정확도는 올라감.
- 핵심은 가지치기한 구조(Architecture)와 초기 가중치(Weight)의 조합임.
Action Item: 우리 제품에 어떻게 적용할까?
스타트업에서 리소스는 곧 생존입니다. 무작정 "모델 사이즈 키워주세요"라고 하기 전에 이 논리를 들이미세요.
- Iterative Pruning 도입: 한 번에 자르지 말고, 학습 -> 가지치기 -> 초기값 리셋 -> 재학습 과정을 반복하여 '당첨 티켓'을 발굴하십시오.
- 온디바이스(On-device) AI 기회 포착: 모델 사이즈를 10분의 1로 줄일 수 있다는 건, 서버가 아니라 사용자 폰에서도 무거운 기능을 돌릴 수 있다는 뜻입니다. UX의 혁신은 여기서 나옵니다.
- 개발팀 설득 논리: "그냥 쳐내면 성능 떨어져요"라는 말에 반박하십시오. "초기값을 유지한 상태로 재학습(Retrain) 해보셨나요?"라고 물어보세요.
디자인이든 코드든, 덜어내는 것이 더하는 것보다 어렵습니다. 하지만 그 끝에는 훨씬 더 가볍고 강력한 제품이 기다리고 있습니다. 무거운 모델이 주는 안도감에 속지 마세요. 진짜 실력은 군더더기를 걷어내는 데서 나옵니다.


