C와 CUDA로 직접 만든 작은 GPT식 언어 모델

C와 CUDA로 직접 만든 작은 GPT식 언어 모델

nanoeuler는 파이토치 같은 기계학습 도구 없이 C와 CUDA로 만든 GPT-2식 이다. 학습에 필요한 앞방향 계산과 뒤방향 계산, , 사전 학습, SFT까지 저장소 안에 직접 구현되어 있다. CPU용 작은 모델은 약 105만 개 매개변수이고, GPU용 모델은 약 1억1600만 개 매개변수로 단일 RTX 4070에서 학습된다.

GPU 버전은 cuBLAS, 직접 만든 , , RoPE, 그룹화 질의 어텐션, , AdamW를 포함한다. 적용으로 학습 한 단계가 약 3배 빨라졌다고 제시되어 있다. 다만 결과 모델은 실제 도우미로 쓰기에는 부족하고, 문장 모양은 그럴듯하지만 지식은 얕다.

목적은 쓸 만한 챗봇 배포가 아니라, 학습 과정을 처음부터 끝까지 이해 가능한 형태로 보여주는 것이다.

핵심 포인트

  • 파이토치 없이 C와 CUDA로 GPT-2식 학습 과정을 직접 구현했다.
  • GPU 모델은 약 1억1600만 개 매개변수이며 단일 RTX 4070에서 학습된다.
  • 직접 만든 으로 학습 단계가 약 3배 빨라졌다고 제시되어 있다.
  • 사전 학습 뒤 SFT로 대화 형식을 만들지만, 실제 답변 품질은 얕고 자주 틀릴 수 있다.
  • 에이전트 제품용 모델보다 토큰 처리와 학습 비용 구조를 이해하는 참고 자료에 가깝다.
원문 보기