vixhal-baraiya/microgpt-c

The most atomic way to train and inference a GPT in pure, dependency-free C

해결하는 문제

순수 C로 작성된, 종속성 없이 최소한의 GPT 스타일 트랜스포머 모델 구현을 제공합니다. 이는 중량감 있는 머신러닝 프레임워크나 표준 C 라이브러리( libc )를 제외한 외부 라이브러리 없이 학습 및 추론을 수행할 수 있게 합니다.

작동 방식

이 프로젝트는 문자 수준의 트랜스포머를 구현하며, 순전파, 역전파, Adam 최적화기, 샘플링을 포함합니다. 학습을 위한 경로(gpt_forward)와 단일 토큰 추론을 위한 특화된 최적화된 경로(gpt_forward_infer)를 두 가지 별도의 순전파 경로로 사용합니다. 성능을 극대화하기 위해 ARM64의 NEON과 x86-64의 AVX2와 같은 하드웨어 전용 최적화를 활용합니다.

대상 사용자

GPT 모델의 내부 동작 원리를 가장 원자적인 수준에서 이해하고자 하는 개발자 및 연구자, 또는 간단한 텍스트 생성 작업을 위한 가벼우면서도 매우 효율적인 C 구현이 필요한 사용자.

주요 특징

  • 종속성 없음: 오직 libc만을 사용하는 순수 C로 작성됨.
  • 높은 성능: ARM64(NEON) 및 AVX2(x86-64)에 최적화됨.
  • 효율성: 4192개의 파라미터를 가진 작고 효율적인 모델로, 이름 생성과 같은 문자 수준 작업에서 잘 일반화됨.
  • 단일 파일 구현: 핵심 로직이 하나의 C 파일에 포함됨.

관련

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