dorjeduck/llm.mojo

port of Andrjey Karpathy's llm.c to Mojo

해결하는 문제

Mojo 프로그래밍 언어가 원시 포인터와 수동 메모리 관리를 사용하는 저수준 C 스타일의 AI 학습 코드를 구현하면서도, C와 동등하거나 그 이상의 성능을 달성할 수 있음을 보여줍니다.

작동 방식

이 프로젝트는 안드레이 카르파티의 llm.c (특히 train_gpt2.c 구현)의 이전 버전을 직접 Mojo로 이식한 것입니다. GPT-2 학습 프로세스를 Mojo로 구현하여 TinyShakespeare와 같은 데이터셋에서 모델을 학습할 수 있습니다.

대상 사용자

Mojo의 저수준 기계학습 구현에서 C와의 성능 차이에 관심이 있는 개발자 및 연구자.

주요 특징

  • 고성능: M2 맥북 프로에서의 벤치마크 결과, Mojo 구현은 OpenMP를 지원하는 C 버전(128 tok/s)보다 높은 처리량(150 tok/s)을 달성했습니다.
  • 저수준 제어: 원본 C 프로젝트를 모방하기 위해 원시 포인터와 수동 메모리 관리를 구현했습니다.
  • 검증: 포트된 test_gpt2.c 버전을 포함하여 포트된 기능의 정확성을 확인합니다.

관련

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