TECH 으로 돌아가기
TECH HACKER NEWS 오늘 6분 읽기 23 READS

1.8MB JSON 한 파일로 도는 초경량 신경망, WangNet이 남긴 실무 힌트

1.8MB JSON 한 파일로 도는 초경량 신경망, WangNet이 남긴 실무 힌트
SOURCE IMAGE · HACKER NEWS

영국 코미디 쇼의 가상 게임쇼 '넘버왕(Numberwang)'을 소재로 한 오픈소스 프로젝트가 개발자 커뮤니티에서 눈길을 끈다. 이름은 WangNet. 임의의 숫자가 '넘버왕인지 아닌지'를 판정한다는, 그 자체로는 농담에 가까운 목적을 가진 작은 신경망이다. 판정 기준이 원작에서부터 의도적으로 무의미하다는 점을 감안하면 이 모델의 정답이 실무에서 쓸모 있을 리는 없다. 그럼에도 이 프로젝트가 흥미로운 이유는 결과물이 아니라 그것을 만들고 배포한 방식에 있다.

의존성 없는 100줄짜리 추론

WangNet의 핵심은 두 가지다. 모델 전체가 1.8MB짜리 JSON 파일 하나(model.json)이고, 추론 코드는 파이썬 표준 라이브러리만으로 작성된 약 100줄이라는 점이다. PyTorch도, NumPy도, 별도로 설치할 것이 아무것도 없다. 요구 사항은 파이썬 3.8 이상 하나뿐이며, 저장소를 내려받아 바로 실행하면 대화형 세션이 뜬다. 허깅페이스 스페이스에 호스팅된 데모도 있지만 여기에 쓰이는 gradio는 어디까지나 데모용이고, 모델 자체는 그마저도 필요로 하지 않는다.

무거운 프레임워크와 GPU를 전제로 하는 요즘의 AI 배포 관행에 익숙한 사람이라면 이 구성이 다소 낯설게 느껴질 수 있다. 파라미터가 8만804개에 불과한 소형 네트워크라 가능한 일이지만, 학습된 가중치를 순수 표준 라이브러리 연산만으로 실행하는 것은 원리적으로 어떤 규모의 모델에서도 성립한다. 무게가 곧 정확도이던 시절과 별개로, '설치할 것이 없다'는 배포 형태가 갖는 편의성을 이 프로젝트는 극단적인 방식으로 보여준다.

문자를 직접 읽는다는 설계

기술적으로 더 주목할 대목은 입력 처리 방식이다. WangNet에는 토크나이저도, 정규화 단계도, 추론 시점의 규칙 엔진도 없다. 네트워크는 문자를 있는 그대로 읽어 들이며, 숫자와 연산자, 판정 결과, 그리고 열한 개 언어에 대한 정보가 전부 가중치 안에 담겨 있다. 그 결과 숫자의 '넘버왕 여부'는 그것을 말하는 언어와 무관한 속성으로 취급된다. 영어 four, 네덜란드어 vier, 프랑스어 quatre, 스페인어 cuatro는 모두 같은 판정을 받는다. 별도의 언어 감지나 전처리 파이프라인 없이 하나의 모델이 다국어를 흡수한 셈인데, 이는 문자 단위 모델이 규칙 기반 파이프라인의 여러 단계를 통째로 대체할 수 있음을 보여주는 소박한 사례다.

성능 수치도 공개돼 있다. 486개의 검증용 판정에서 정확도 88.9%, 매크로 F1은 0.896을 기록했다. 다만 이 값은 100%가 아니라 약 98%를 천장으로 두고 평가된다. 학습 라벨의 약 2%가 일부러 뒤집혀 있기 때문인데, 프로젝트 측은 이를 '오랜 판정 관행에 따른 것'이라고 설명한다. 원작의 자의성을 그대로 데이터에 녹여 넣은 장치인 만큼, 이 라벨 노이즈는 결함이 아니라 설계의 일부다.

기억하는 모델의 약점

실무적으로 새겨둘 만한 대목은 산술 처리의 한계다. 학습에서 보지 못한 피연산자에 대한 정확도는 44~72%로 뚝 떨어진다. 이 네트워크는 계산을 하는 것이 아니라 기억을 하기 때문이다. 52처럼 흔하고 작은 식은 안정적으로 맞히지만, 9043 같은 식은 사실상 어림짐작에 가깝다. 프로젝트 문서는 산술의 정확성이 중요하다면 식을 먼저 평가해 그 결과값을 모델에 넘기라고 권한다.

이 조언은 넘버왕이라는 농담을 넘어 일반적인 교훈을 담고 있다. 신경망이 패턴을 외우는 것과 규칙을 일반화하는 것은 다른 일이며, 훈련 분포를 벗어난 입력에서 그 차이가 드러난다는 점이다. 계산·검색·정합성 검증처럼 결정론적으로 처리할 수 있는 부분은 모델 바깥에서 처리하고, 모델에는 그것이 잘하는 판단만 맡기는 분업은 대형 언어 모델을 다루는 요즘 설계에서도 그대로 통용되는 원칙이다.

결국 WangNet은 실용 도구라기보다 잘 만든 교보재에 가깝다. 무의미한 판정 기준을 진지한 엔지니어링으로 감싼 이 프로젝트는 소형 모델의 배포 간결성, 문자 단위 입력의 힘, 그리고 기억과 계산의 경계라는 세 가지를 한꺼번에 짚어준다. 어떤 숫자가 넘버왕인지 아닌지에 대해 프로젝트가 어떤 보증도 하지 않는다는 마지막 문구까지 포함해, 농담의 형식을 빌린 기술 데모로서는 제법 알찬 편이다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://github.com/GraafHenk/numberwang
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기
처리 중...