5분 만에 완성하는 나만의 LLM, 물고기처럼 말한다!

by DD
2개월 전
조회수 16

900만 개의 파라미터(Parameter)를 가진 소형 LLM을 직접 구축하여 언어 모델의 작동 방식을 시각적으로 이해하도록 돕는 프로젝트가 등장

바닐라 트랜스포머(Vanilla Transformer) 아키텍처를 기반으로 하며, 60,000개의 합성 대화 데이터를 활용하여 5분 만에 학습 완료

교육적 가치(Educational Value)에 대한 긍정적 평가와 함께, 모델의 창의적인 답변에 대한 커뮤니티의 호평이 이어짐

모델의 단순성(Simplicity)을 강조하며, 복잡한 기술 없이도 LLM 구축이 가능함을 보여줌

소형 LLM(Small LLM) 구축의 기술적 특징

본 프로젝트는 900만 개의 파라미터(Parameter)를 가진 소형 LLM을 구축하여, 언어 모델(Language Model)의 내부 작동 방식을 투명하게 보여준다. 특히, 바닐라 트랜스포머(Vanilla Transformer) 아키텍처를 사용하고, 60,000개의 합성 대화 데이터를 활용하여 5분 만에 학습(Training)을 완료하는 점이 특징이다. 이는 복잡한 기술 없이도 LLM 구축이 가능하다는 것을 보여주는 사례이다.

데이터셋 구성 및 모델 설계

프로젝트는 60개의 주제에 대한 60,000개의 합성 대화 데이터셋을 사용한다. 데이터셋은 `arman-bd/guppylm-60k-generic`에서 제공되며, 각 샘플은 입력, 출력 및 카테고리로 구성된다. 모델 아키텍처는 6개의 레이어, 384의 은닉 차원, 6개의 헤드(Head)를 가진 바닐라 트랜스포머(Vanilla Transformer)를 사용한다. BPE(Byte Pair Encoding) 토크나이저(Tokenizer)를 활용하여 어휘 크기를 4,096으로 제한했다.

모델의 제약 조건 및 설계 결정

모델은 단일 턴 대화만 지원하며, 128 토큰의 컨텍스트 윈도우(Context Window)를 가진다. 또한, 시스템 프롬프트(System Prompt)를 사용하지 않고, 모델 가중치(Model Weights)에 개성을 담았다. 이는 모델의 단순성을 유지하고, 900만 개의 파라미터(Parameter) 모델에서 성능을 최적화하기 위한 설계 결정이다. GQA, SwiGLU, RoPE 등 복잡한 기술을 사용하지 않았다.

커뮤니티 반응 및 교육적 가치

커뮤니티에서는 LLM의 작동 방식을 이해하는 데 유용한 교육 자료라는 긍정적인 평가가 주를 이룬다. 특히, 어텐션(Attention), 토큰화(Tokenization), 손실(Loss)에 대한 이해를 높이는 데 기여한다는 점을 강조한다. 또한, 모델이 생성하는 창의적인 답변에 대한 긍정적인 반응도 이어졌다. 소형 모델(Small Model)을 통해 LLM의 기본 원리를 쉽게 접근할 수 있다는 점이 장점으로 꼽힌다.

Show HN: I built a tiny LLM to demystify how language models work