거창한 이론보다 손에 잡혔다, r/MachineLearning이 본 diffusion LM 입문기

r/MachineLearning이 이 글에 반응한 이유는 밈처럼 남은 "be horse" 한 줄만은 아니다. diffusion language model이라는 말을 들으면 거대한 논문, 요상한 기법, 큰 GPU부터 떠오르기 쉽다. 그런데 이 글은 그 거리감을 확 줄였다. 작성자는 AI-generated code 도움 없이 작은 character-level diffusion LM을 직접 만들고, tiny Shakespeare를 MacBook Air M2에서 학습시킨 뒤 어설프지만 분명한 출력까지 보여줬다. 웃기면서도 교육 효과가 큰 종류의 결과다.

기술 설명도 구체적이다. Reddit 본문에 따르면 이 모델은 약 7.5M 파라미터이고, vocabulary는 mask token을 포함해 66개다. 연결된 simple_dlm 저장소도 같은 톤을 유지한다. uv sync로 의존성을 맞추고, 단일 텍스트 파일을 넣어 uv run train으로 학습하고, uv run sample로 샘플을 뽑고, 필요하면 ONNX export까지 한다. README는 장난스럽지만, 따라가기는 오히려 쉬운 구조다. "How hard can it be? Easier than I thought"라는 저장소 설명도 이 프로젝트 성격을 잘 보여준다.

댓글 흐름도 이 글의 포인트를 정확히 집었다. 한 이용자는 M2에서 몇 시간 학습해서 이런 출력이 나왔다는 것 자체가 꽤 인상적이라고 했고, 다른 이용자는 diffusion LM을 둘러싼 위압감이 실제 구현을 보고 나니 많이 줄었다고 적었다. 이미지 diffusion과 비슷한 직관을 vocabulary 분포 쪽으로 옮겨 놓는다는 설명이 개념을 훨씬 덜 신비하게 만든다는 반응도 나왔다. 이 커뮤니티가 단순한 toy 프로젝트를 쉽게 밀어주지 않는다는 점을 생각하면, 여기선 학습 가치가 분명했던 셈이다.

이번 글은 frontier 성능이 없어도 충분히 뉴스가 될 수 있다는 사실도 보여준다. 추상적인 문헌을 적당한 하드웨어와 짧은 코드 경로로 끌어내릴 때, 커뮤니티는 꽤 강하게 반응한다. giant model과 거대한 클러스터 이야기가 넘치는 주간에도, 7.5M 파라미터 모델이 "be horse"를 남기며 개념 장벽을 낮춘 순간은 충분히 신선했다. 원문은 Reddit 스레드에서, 코드는 GitHub 저장소에서 볼 수 있다.