mini-AGI - 8GB VRAM 노트북에서 배치-1 데이터 스트림으로 처음부터 학습 중인 동적 확장형(현재 530M 파라미터) 연속 학습 모델
mini-AGI - dynamically grown (530M params currently and growing) continual learning model trained from scratch on 8GB VRAM laptop from batch-1 stream of data.
핵심 요약
8GB VRAM 노트북에서 배치-1 스트림으로 학습하는 동적 확장형 소형 AGI 모델 프로젝트.
- 모델 구조 — 동적 MoE를 활용해 VRAM 제약을 극복하고 파라미터를 확장함.
- 학습 방식 — 배치-1 데이터 스트림을 사용하여 저사양 하드웨어에서 연속 학습 수행.
- 프로젝트 목표 — 기업의 통제 없이 사용자 개인 데이터로 완전히 정렬된 모델 구축.
- 현재 상태 — 7.8B 문자 코퍼스로 학습 중이며 GPT-2 수준의 성능을 목표로 함.
github.com
원문 사이트로 이동
이름이 좀 잘난 척하는 것 같아 미안하다. 나도 알아, 알아... 그냥 내가 AGI 모델한테 바라는 모든 요소들을 다 때려 박았거든. 도저히 참을 수가 없었어. 돌 던지기 전에 Readme 한번만 훑어봐 줘. 그럼 좀 마음이 풀릴 거야.
일단 이게 실제로 돌아가는 건 맞고, 전체 학습 과정 샘플은 여기서 볼 수 있어: https://raw.githubusercontent.com/volotat/mini-AGI/refs/heads/main/runs/samples.txt
지금까지 뽑아본 스케일링 로 법칙 그래프인데, 꽤 희망적이야:
https://github.com/volotat/mini-AGI/blob/main/assets/scaling.png
이 모델은 내 깊은 빡침에서 시작됐어. 소비자용 하드웨어로는 1B급 이상 되는 적당히 큰 모델조차 학습시키는 게 불가능하잖아. 추론이나 파인튜닝은 당연히 되지만, 나는 모델이 학습 과정에서 뭘 보는지 완전히 통제하고 싶었거든. 거대 기업 입맛에 맞춘 게 아니라, 내 관심사에 완전히 정렬된 모델을 만들고 싶었단 말이지.
한참 고민하다가 해볼 만한 재밌는 아이디어 두 개를 떠올렸어. 하나는 학습 중에 전문가(expert)를 계속 추가하고 가지치기하는 MoE 방식인데, 특정 시점에는 전문가의 아주 작은 부분집합만 사용하는 거야. 그리고 다른 하나는 단일 연속 데이터 스트림으로 배치 사이즈 1로 학습하는 거지.
첫 번째 방식은 파라미터 수에 있어서 디스크 용량 제한만 받게 해주니까, 필요할 때만 전문가를 로드하고 언로드하면 돼. 두 번째 방식은 (이게 진짜 된다고 판명되면) 큰 랜덤 배치랑 그에 따른 그래디언트를 저장할 필요가 없어서 VRAM 용량이 작아도 충분히 버틸 수 있게 해줘.
Claude랑 같이 브레인스토밍을 시작했는데, 꽤 괜찮은 접근법을 찾았어. 아니나 다를까, 몇 주 지나니까 결과물이 이렇게 나왔네. 직접 확인해 봐.
당연히 이 프로젝트 만드는 과정에서 AI를 썼고, AI 없었으면 이런 거 절대 못 만들었을 거라고 확신해. 그러니까 이 정도면 충분히 정당화된다고 봐.
모델은 지금 내가 학습용으로 고른 7.8B 문자 코퍼스 중 첫 번째 구간을 돌고 있어. 그래서 아직 가중치는 안 나왔고, 지금 읽는 속도로는 다 구워질 때까지 한 2주 정도 더 기다려야 해. 아, 그리고 모델은 데이터셋에서 32K 문자 길이의 연속된 지문들을 하나의 스트림으로 쭉 읽었어. 너나 내가 책 읽는 것처럼 말이야.
구조가 진짜 단순해서 그냥 git clone 해서 직접 돌려보고 눈으로 확인하면 돼.
관심 가져줘서 고맙다.


