nano-llama31 프로젝트 소개
nano-llama31는 Llama 3.1 모델을 최소한의 의존성으로 실행하려는 시도로 시작된 프로젝트입니다. 현재 코드는 PyTorch와 tiktoken만을 사용하여 Llama 3.1 8B 베이스 모델을 단일 40GB 이상의 GPU에서 실행합니다. 이 프로젝트의 목표는 코드를 더 작게 만들고, 미세 조정(finetuning) 기능을 추가하는 것입니다.
프로젝트는 아직 초기 단계(WIP, Work In Progress)로, 파인튜닝 기능 추가 및 코드 간소화 등의 작업이 남아 있습니다. Meta의 공식 Llama 3.1 코드 릴리스를 참고하며, 이를 바탕으로 단일 파일 구현을 시도하고 있습니다.
주요 특징
-
단일 파일 구현: 단일 Python 파일로 모델을 실행할 수 있어 관리가 용이합니다.
-
최소한의 의존성: PyTorch와 tiktoken 외에 추가 의존성이 없습니다.
-
지원 모델: Llama 3.1 8B base 모델을 지원하며, 약 16GB의 데이터를 필요로 합니다.
-
기능 추가 예정: 파인튜닝 및 Chat 모델 지원 등 추가 기능이 계획되어 있습니다.
라이선스
nano-llama31
프로젝트는 MIT License로 공개 및 배포되고 있습니다.
nano-llama31 GitHub 저장소
Andrej Karpathy의 nanoGPT 프로젝트 등
-
minibpe: 작고, 깔끔하고, 학습용으로 적합한 BPE(Byte Pair Encoding) 코드 (feat. Andrej Karpathy)
-
Llama2.c: 순수 C로 작성된 Llama 2 추론 코드 (Llama2.c: Inference Llama 2 in one file of pure C)
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다.
파이토치 한국 사용자 모임이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래쪽에 좋아요를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~