jrz97619761/test-model-thing

A small proof-of-concept language model (not an LLM) that aims to incorporate latent-space prediction, internal state using recurrent trace units, and byte-by-byte output, built with MLX.

Test-Model-Thing (TMT) – 아주 작은 개념 증명 언어 모델

이것이 무엇인가

  • MLX로 구축된 연구용 언어 모델(약 450만 매개변수)로, Apple Silicon에서 효율적으로 실행되며 Linux(CUDA/CPU)에서도 작동합니다. 대규모 LLM이 아니라 몇 가지 아이디어를 탐구하기 위한 작은 실험 모델입니다:
    • 잠재 공간 예측 – 모델은 단순히 다음 토큰을 예측하는 대신 숨겨진 표현을 예측하려고 합니다.
    • 순환 추적 유닛(RTUs) – 시간 단계에 걸쳐 정보를 전달하는 내부 상태로, 일반적인 트랜스포머 컨텍스트를 넘어서는 메모리를 제공합니다.
    • 바이트 수준 입출력 – 입력과 출력이 원시 바이트이므로 모델이 모든 문자 시퀀스를 생성할 수 있습니다(그래서 가끔 철자가 틀리기도 합니다).
    • 연속 데이터 스트리밍 – 고정 크기 배치 대신 끝없는 데이터 스트림을 처리하도록 설계된 아키텍처입니다.
    • 테스트 시간 학습 – 모델이 추론에 사용되는 동안에도 계속 학습할 수 있습니다.

왜 중요한가

  • 잠재 예측, 순환 상태와 같은 정교한 메커니즘이 노트북에서 실행되는 작은 네트워크에서 구현될 수 있음을 보여줍니다.
  • 대규모 GPU 클러스터 없이 바이트 수준 모델, 온라인 학습 또는 사용자 정의 메모리 모듈을 실험하려는 연구자에게 놀이터를 제공합니다.

시작하는 방법

  1. 저장소를 클론하고 Python 가상 환경을 만듭니다.
  2. MLX 설치:
    # macOS (Apple Silicon)
    pip install mlx
    # Linux with GPU
    pip install "mlx[cuda]"
    # Linux without GPU
    pip install "mlx[cpu]"
    
  3. 학습 (또는 계속 학습):
    python main.py <path-to-dataset> train
    
    • 스크립트는 가중치를 자동으로 저장하며 Ctrl-C로 중단할 수 있습니다.
  4. 채팅 / 추론:
    python main.py <path-to-weights> chat
    
    • 옵션에는 --ce-only (교차 엔트로피 손실만), --no-save, --frozen (가중치 업데이트 없이 실행)이 있습니다.
  5. CoLA 언어 수용성 작업 벤치마크:
    python benchmark.py <path-to-weights> <epochs> <slice>
    

데이터셋

  • 저자는 데모 모델을 작은 Wikipedia 덤프(simplewiki-20260801-pages-articles.xml.bz2)로 학습했습니다. 어떤 텍스트 데이터셋이든 사용할 수 있습니다; 코드는 원시 파일 경로를 기대합니다.

현재 상태

  • 모델은 개념 증명입니다: 450만 매개변수, 512차원 숨겨진 크기, 16개 레이어, 몇 시간만 학습했습니다. 일관된 바이트 스트림을 생성하고, 괄호/따옴표를 닫을 수 있으며, CoLA에서 modest 성능을 보여줍니다(GPT-1의 45.4 점수보다 훨씬 낮음).
  • 사전 학습된 가중치는 제공되지 않습니다(GitHub 파일 크기 제한). 사용자는 자신의 모델을 학습하거나 다른 곳에서 가중치를 얻어야 합니다.

로드맵 / 기회

  • 언어 품질을 개선하기 위해 매개변수 수와 학습 시간을 확장합니다.
  • 더 깨끗한 텍스트를 위해 바이트 수준 디코더를 토크나이저로 교체합니다.
  • 더 큰 데이터셋이나 도메인 특화 코퍼스를 탐구합니다.
  • RTU 구현에 개선 사항을 기여하거나 다른 메모리 메커니즘을 추가합니다.
  • 코드를 Windows 네이티브 환경으로 포팅합니다(현재는 WSL만 작동).

누가 유용하게 사용할 수 있는가

  • 언어 모델 내부 구조를 배우는 학생이나 취미 개발자.
  • 온라인 학습, 잠재 공간 목표 또는 메모리 증강 트랜스포머에 관심 있는 연구자.
  • GPU 없이 MacBook에서 실행되는 작고 자족적인 모델이 필요한 개발자.

링크

  • YouTube 데모 비디오
  • 아키텍처 스케치(Freeform 다이어그램)는 참조용으로 저장소에 포함되어 있습니다.

위의 모든 정보는 저장소의 README에서 직접 가져온 것입니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트