Show HN: MacMind – A transformer neural network in HyperCard on a 1989 Macintosh
개요
MacMind는 1989년 Macintosh SE/30에서 HyperCard 환경에 구현된 트랜스포머 신경망으로, 비트 반전 순열 학습을 목표로 합니다.
주요 내용
- 구현 방식: MacMind는 1,216개의 파라미터를 가진 단일 계층, 단일 헤드 트랜스포머 모델로, 모든 로직이 1987년 스크립트 언어인 HyperTalk로 작성되었습니다. 컴파일된 코드, 외부 라이브러리, 블랙박스 없이 모든 수학적 연산(토큰 임베딩, 위치 인코딩, 셀프 어텐션, 크로스 엔트로피 손실, 역전파, 확률적 경사 하강법)이 HyperTalk로 구현되었습니다.
- 학습 내용: 모델은 8자리 입력 시퀀스의 비트 반전 순열을 학습합니다. 이는 Fast Fourier Transform (FFT)의 첫 단계로, 모델은 규칙을 명시적으로 부여받지 않고 셀프 어텐션과 경사 하강법을 통해 이 패턴을 스스로 발견합니다. 학습 후, 어텐션 맵에서 FFT의 버터플라이 라우팅 패턴이 시각적으로 확인됩니다.
- HyperCard 스택 구조: MacMind는 5개의 카드로 구성된 HyperCard 스택입니다. 각 카드는 프로젝트 정보, 모델 학습, 학습된 모델 테스트(추론), 어텐션 맵 시각화, 모델 설명 등 특정 기능을 수행합니다.
- 학습 과정: 학습은 실시간으로 진행되며, 배치 크기, 학습률, 에폭 수 등을 조절할 수 있습니다. 모델은 수렴할 때까지 또는 지정된 횟수만큼 반복 학습하며, 학습 진행 상황은 실시간으로 표시됩니다. HyperCard의 30,000자 필드 제한으로 인해 긴 학습 시 로그 필드 초기화가 필요할 수 있습니다.
- 추론 및 검증: 학습 후, 모델은 새로운 무작위 입력에 대해 비트 반전 순열을 수행하고 각 예측에 대한 신뢰도를 표시합니다. 결과는 수동으로 계산된 비트 반전 순열 결과와 비교하여 검증할 수 있습니다.
- 하드웨어 및 환경: MacMind는 1989년 Macintosh SE/30에서 훈련되었으며, HyperCard 2.0 이상 버전과 System 7 운영체제가 필요합니다. 에뮬레이터(Basilisk II, SheepShaver 등)에서도 실행 가능합니다. HyperTalk의 인터프리터 방식 때문에 각 학습 단계마다 수 초가 소요되며, 수렴까지는 수 시간이 걸립니다.
시사점
MacMind는 최신 LLM의 기반이 되는 트랜스포머 아키텍처와 학습 과정(역전파, 어텐션)이 근본적으로 복잡하거나 신비로운 것이 아니라, 이해 가능하고 구현 가능한 수학적 원리임을 보여주는 교육적이며 역사적인 증명입니다.
원문을 불러오는 중...
댓글
GitHub Discussions