인공지능 ·
1976년 프로세서에서 AI 대화...40KB 초경량 언어모델 'Z80-μLM' 공개
8비트 Z80 칩에서 작동하는 2비트 양자화 AI 모델, 레트로컴퓨터에서 채팅봇 구현
[한국정보기술신문] 오픈소스 개발자 HarryR이 40년 전 8비트 프로세서에서 작동하는 초경량 언어모델 'Z80-μLM'을 깃허브에 공개했다. 이 프로젝트는 1976년 출시된 4MHz Z80 프로세서와 64KB RAM만으로 대화형 인공지능을 구현한다.
Z80-μLM은 2비트 양자화 기술을 적용해 모델 크기를 40KB로 압축했다. 일반적인 현대 언어모델이 수십 기가바이트에 달하는 것과 비교하면 수십만 배 작은 규모다. 개발자는 파이썬으로 모델을 학습시킨 뒤 CP/M 운영체제용 .COM 바이너리 파일로 내보내 1970-80년대 빈티지 컴퓨터에서 직접 실행할 수 있도록 했다.
트라이그램 해시로 입력 처리
이 모델은 사용자 입력을 트라이그램 해시 인코딩 방식으로 128개 버킷에 분산 저장한다. 이 방식은 오타에 관대하고 단어 순서와 무관하게 작동하는 특징이 있다. 예를 들어 "hello there"와 "there hello"는 동일한 해시 값으로 처리되며, "helo ther"처럼 철자가 틀려도 유사한 값을 생성한다.
모든 연산은 부동소수점 없이 16비트 정수 연산만으로 처리된다. 가중치는 2비트로 양자화돼 -2, -1, 0, +1 네 가지 값만 사용하며, 4개 가중치를 1바이트에 압축해 저장한다. Z80 프로세서의 16비트 레지스터 쌍을 활용한 곱셈-누산 루프가 추론의 핵심을 이룬다.
간결한 응답으로 개성 표현
프로젝트에는 두 가지 사전 학습 모델이 포함됐다. 일상 대화용 채팅봇 'tinychat'은 인사와 질문에 짧은 답변으로 응답한다. 20개 질문 게임 'guess'는 정해진 주제에 대해 예/아니오/아마도로 대답하며 사용자가 정답을 맞추면 승리 메시지를 출력한다.
개발자는 "이 모델은 당신을 이해하지 못하지만, 어쩐지 당신의 의도를 파악한다"며 "1-2개 단어 응답이 놀라운 뉘앙스를 전달할 수 있다"고 설명했다. 실제로 모델은 'OK', 'WHY?', 'MAYBE', 'AM I?' 같은 짧은 응답으로 중립적 인정, 의문 제기, 불확실성, 반문 등 다양한 의미를 표현한다.
다만 개발자는 한계도 명확히 했다. 긴 문장이나 순서 의존적 표현은 버킷 충돌로 인해 구분이 어려우며, "문을 열고 불을 켜라"와 "불을 열고 문을 켜라" 같은 문장이 유사하게 처리될 수 있다고 밝혔다.
제약 환경에서 기능 구현
Z80-μLM의 신경망 구조는 입력층 256개 버킷, 조정 가능한 은닉층, 문자셋 크기만큼의 출력 뉴런으로 구성된다. 은닉층 사이에는 ReLU 활성화 함수가 적용되며, 오버플로 방지를 위해 각 층마다 2비트 산술 우측 시프트 연산을 수행한다.
프로젝트는 MIT 또는 Apache 2.0 라이선스로 공개됐으며, 현재 깃허브에서 37개 스타를 받았다. 올라마나 Claude API를 활용한 학습 데이터 생성 도구와 클래스 분포 균형 조정 기능도 함께 제공된다.
개발자는 "튜링 테스트를 통과하지는 못하겠지만, 녹색 화면을 보며 미소 짓게 만들 것"이라며 "작지만 기능적이고, 때로는 그것이 정확히 필요한 것"이라고 프로젝트를 소개했다. 레트로컴퓨팅과 기계학습 커뮤니티에서 제약 환경에서의 AI 구현 사례로 주목받고 있다.
한국정보기술신문 인공지능분과 이준 기자 news@kitpa.org