8GB VRAM 노트북에서 배치-1 데이터 스트림으로 처음부터 훈련된 지속적 학습 모델
요약
본 기사는 단일 8GB VRAM GPU 환경에서 처음부터 훈련되는 'mini-AGI'라는 지속적 학습(continual learning) 바이트 단위 언어 모델을 소개합니다. 이 모델은 디스크 공간에 가중치를 저장하고 필요할 때 페이징하여 로드하는 방식으로, 파라미터 크기가 VRAM보다 디스크 용량에 의해 제한됩니다. 이는 일반 하드웨어에서도 치명적 망각 없이 지속적인 학습이 가능함을 보여주는 실험입니다.
핵심 포인트
- 단일 8GB VRAM 환경에서 동작하는 지속적 학습 모델을 구현함.
- 가중치를 디스크에 저장하고 필요시 페이징하여 로드하는 독특한 방식을 사용함.
- 모델의 크기는 VRAM보다 여유 디스크 공간에 의해 제한됨.
- 치명적 망각 없이 단일 데이터 스트림으로부터 지속적인 학습 가능성을 입증함.
mini-AGI
mini-AGI는 지속적 학습(continual learning) 바이트 단위 언어 모델로, 자체 아키텍처를 조립하고 단일 8 GB VRAM GPU에서 처음부터 훈련하며 읽는 모든 것으로부터 계속 학습합니다.
이 모델은 가중치를 디스크의 일반 파일로 저장하고 필요할 때마다 카드에 페이징하여 로드하므로, 파라미터 수는 VRAM보다는 여유 디스크 공간에 의해 제한됩니다. 부족해지면 훈련 중에 새로운 용량을 늘리고, 아무도 요청하지 않는 것은 가지치기(prunes)하며, 서비스하는 것과 정확히 동일한 코드 경로를 읽습니다. 최소 8 GB VRAM GPU가 장착된 PC 또는 노트북을 목표로 합니다.
참고: 현재 이 모델은 작은 장난감 수준의 모델입니다. 최첨단 수준의 역량을 기대해서는 안 됩니다. 이것은 단일 데이터 스트림으로부터 치명적 망각(catastrophic forgetting) 없이 지속적으로 학습하는 것이 가능하며, 심지어 평범한 하드웨어에서도 가능하다는 것을 보여주기 위한 작은 실험에 가깝습니다. 이는 거의 모든 사람이 자신만의 모델 버전을 훈련하거나 (또는 단순히 이 모델을 계속 훈련하여) 원하는 대로 할 수 있다는 의미입니다. 그리고 그 역량은 실제 하드웨어, 규모, 사용 가능한 데이터의 품질 및 모델 훈련에 기꺼이 투자할 시간의 양에 의해 제한될 것입니다.
이 이름은 반쯤 농담이며 현재 모델의 능력을 나타내는 것이 아니라 잠재력과 특성을 나타냅니다. 지속적인 단일 스트림 학습과 가용 리소스에 대한 자연스러운 크기 및 처리 적응성은 제가 AGI에게 기대하는 바로 그것입니다. 다만, 작은 장난감 수준의 메모리 사용량을 가지고 있기 때문에 'mini-AGI'라고 불립니다.

여기는 min-run 대시보드가 어떻게 생겼는지 보여줍니다. 이 모델은 코퍼스를 가리켜 끊임없이 읽고 학습합니다.
History - 지금까지의 전체 훈련 기록에서 가져온 샘플들입니다. 모델이 훈련/코퍼스 읽는 과정 동안 어떻게 개선되었는지 직접 확인해 볼 수 있습니다.
최종 가중치(weights)는 아직 공개되지 않았습니다. 현재 이 런은 코퍼스에 대한 첫 번째 패스를 읽고 있는 중이며, 모든 과정을 거치는 데는 시간이 걸릴 것이므로 (현재 속도라면) 몇 주가 더 남아 있습니다. 만약 지금 상태의 미훈련된 가중치로 실험해 보고 싶다면, 가장 최근 스냅샷(2026년 10월 1일)을 여기에서 찾을 수 있습니다: Volotat/mini-AGI-undertrained
<!-- auto:run-blocks --> <details> <summary><b>지금까지의 전체 런 그래프</b></summary>
현재까지의 모든 샘플 라운드 기록: 1,265.6M 문자 (characters) / 1,926회 평가(evaluations).
</details> <details> <summary><b>모델이 생성하는 샘플의 현재 품질</b></summary>지금까지 가장 낮은 홀드아웃 손실(held-out loss)을 기록한 라운드는 1,184.6M 문자에서 0.6358 nats입니다. 각 프롬프트에 대한 두 번의 읽기: raw는 방어 장치(guard)가 전혀 없는 순수한 탐욕적(greedy) 방식이며, adapted는 반복 추적(repetition trace)이 적용된 동일한 방식입니다. 전체 기록은 runs/samples.txt에 있습니다.
==============================================================================
step 578,777 1184.6M of 7,880M characters (15.03%) 1777 min 220 experts
context 4,096 characters of 4,096 writing 18.5 char/s still gaining +0.0034 deep into it
...
동기(Motivation)
오늘날 실제로 소유할 수 있는 모든 언어 모델은 누군가가 훈련시키고 '동결(freeze)'시킨 모델입니다. 주변부만 미세 조정(fine-tune)할 수는 있지만, 자신의 하드웨어로 처음부터 모델을 훈련시킬 수도 없고, 매일 하는 일에 맞춰 계속해서 훈련시킬 수도 없습니다. 시도하는 순간 이전에 알았던 것을 잊어버립니다. 그 결과 개인용 모델은 항상 누군가의 모델이며 그 위에 당신의 얇은 레이어가 덧씌워진 형태이고, 배포되는 날 학습을 멈춥니다.
mini-AGI 모델은 GPU 점유율이 충분히 작아 단일 소비자용 카드에서 end-to-end로 훈련하는 것이 가능하며, 훈련이 절대 멈추지 않도록 설계되었습니다. 이 모델은 문자를 한 번에 하나의 청크(chunk) 단위로 스트림으로 읽고, 각 청크마다 그래디언트 스텝을 취하며, 생성에도 동일한 경로를 사용합니다. 별도의 파인튜닝(fine-tuning) 체제가 없고 고정된 기반 모델도 없습니다. 즉, 읽는 행위와 훈련받는 행위가 같은 사건입니다.**
이 설계의 모든 것을 형성하는 세 가지 제약 조건이 있습니다:
- 8GB에 맞춰야 합니다. 양자화(quantisation)를 사용해서가 아닙니다. 훈련에는 그래디언트와 최적화기 상태(optimiser state)가 필요한데, 이는 가중치(weights)의 약 세 배에 달합니다. 따라서 가중치는 디스크에 저장되며 현재 순전파(forward)에서 사용되는 전문가들만 카드에 올라옵니다.
- 잊지 않아야 합니다. 지속적으로 학습하며 스스로를 덮어쓰는 모델은 아예 학습하지 않는 모델보다 더 나쁩니다.
- 무엇이든 읽을 수 있어야 합니다. 알파벳은 256 바이트 값이며, 따라서 적합한 토크나이저(tokenizer)가 필요 없고 새로운 어휘가 필요한 데이터 유형도 없습니다.
이 모델은 진정으로 당신의 것입니다. 당신의 하드웨어에서, 당신의 데이터를 기반으로 훈련되었으며, 당신이 이 모델과 나누는 모든 대화로부터 계속 학습하고, 다른 누구도 가져가거나 끌 수 없는 형태입니다.
<!--**자세한 설명은 이 비디오를 시청하세요** [준비되면 여기에 비디오 링크가 들어갈 것입니다()]-->아키텍처 작동 방식
문자(바이트)는 전통적인 LLM에서처럼 고정된 레이어 스택을 통과하지 않습니다. 대신, **두 개의 밀집 전주 블록(dense prelude blocks)**을 거친 후, 공유 풀(shared pool)에서 자체 전문가를 선택하는 **반복 블록(recurrent block)**을 최대 24번까지 통과합니다. 반복 적용 사이의 잠재 상태(latent state)는 절대 디코딩되지 않습니다. 대신 매 라운드마다 어댑터(adapter)에 의해 임베디드 입력과 병합되므로, 루프가 읽고 있는 텍스트에서 벗어날 수 없습니다.
문자당 최대 26개 블록 적용까지의 세 가지 개별 블록입니다.
모든 박스는 레이어(layer)이며, 모든 ⊕는 잔차 추가(residual add)이고, 음영 처리된 그룹은 반복되는 부분입니다. 즉, 프리루드 레이어가 두 번, 순환 레이어는 동일한 가중치로 최대 24번 반복됩니다. 오른쪽에는 각 어텐션 레이어의 내부가 나와 있습니다. 여기에는 8개의 헤드(head)와 이들이 읽는 캐시(cache), 그리고 출력값이 전달되는 위치가 표시되어 있습니다.
- 적응형 깊이(Adaptive depth). 정지 헤드(halting head)는 모든 행(row)에서 모든 문자마다 점수를 매기며, 다른 행을 진행했을 때 답이 변하지 않으면 문자가 멈춥니다. 쉬운 문자는 한 행만 필요하고, 어려운 문자는 여러 행이 필요합니다. 멈춘 문자는 완료된 것이므로, 해당 전문가들은 작동을 멈추고 그 뒤의 문자들은 더 깊은 행에서 이 문자의 최종 상태를 읽습니다. 학습 과정도 정확히 동일하며, PonderNet 방식에 따라 진행됩니다. 즉, 문자가 실행되는 모든 행에는 그 정지 확률(halting probability)에 따른 가중치가 부여되므로, 정지 헤드는 이러한 가중치를 통해 학습합니다.
- 문자 단위가 아닌 블록 적용 단위로 라우팅(Routing). 문자가 실행하는 각 순환 적용(recurrent application), 최대 24회까지는 카드에 있는 32개 전문가 중 자체적으로 상위 8개 전문가를 선택합니다. 따라서 하나의 문자는
오른쪽의 흔적(trace)은 각 문자가 몇 개의 행을 차지했는지 보여줍니다. 이 값은 24라는 상한선 내에서 9와 15 사이를 끊임없이 움직이며, 텍스트 아래의 캐럿(caret)은 현재 읽히는 문자를 나타냅니다. 이 텍스트는 별도로 보관된 이야기(held-out story)로, 처음 2,048자 이후부터 한 글자씩 읽힙니다. 그리고 모든 문자는 자신만의 순방향(forward) 과정을 거칩니다: 자신의 요청을 이야기의 투표에 추가하고, 지금까지 이야기가 가장 많이 요청한 32개 전문가 중 그들 사이를 라우팅합니다. 각 행은 이들 중에서 여덟 개를 선택합니다. 이 160개의 문자 동안 카드는 한 번도 변하지 않습니다. 그 앞의 2,048개 문자는 이미 투표를 마쳤고, 이야기는 계속해서 같은 전문가들을 요청합니다.
위치(Positions)는 회전식이며 학습된 파라미터가 없기 때문에, 컨텍스트 창(context window)을 무언가를 재초기화하는 것이 아니라 지속적인 훈련으로 확장할 수 있습니다.
...그리고 쓰면서도 동일하게 작동합니다

위 클립은 모델이 읽는 과정입니다. 모든 문자는 보여지고 있는 별도로 보관된 텍스트입니다. 이 것은 모델이 쓰는 과정입니다: 이 모델은 2,495개의 별도로 보관된 이야기로 프라이밍(primed)되었고 그 후 스스로 계속 진행했습니다. 따라서 회색 텍스트가 주어진 내용이고 녹색 텍스트는 전적으로 자체 생성한 내용입니다. 반복 방지 장치(repetition guard)를 사용한 그리디 디코딩(Greedy decoding) — 샘플 로그의 adapted 읽기 — 이고 어떠한 샘플링도 없습니다: 이것을 두 번 실행하면 같은 문장이 나옵니다.
주목할 만한 두 가지가 있습니다. 스택은 동일하게 동작하는데, 이는 생성(generating)과 읽기(reading)가 이 모델에서 동일한 순전파(forward pass)이기 때문입니다. 유일한 차이점은 다음 문자가 파일에서 오는지 아니면 모델 자체의 argmax에서 오는가 하는 것뿐이며, 비용도 비슷합니다. 140개의 문자를 작성하는 데 11.8행을 사용했고, 동일한 이야기에서 읽는 데는 160개에 대해 12.1행을 사용했습니다. 그리고 전체 텍스트가 전문가(experts)를 선택하는데, 이는 학습할 때와 같은 방식입니다. 프롬프트의 순전파는 요청된 32개의 문자에 가장 많이 적응했습니다. 그 후에는 모든 문자가 자체적인 요청을 투표에 추가하고 프롬프트와 지금까지의 답변이 요청한 것들 사이로 라우팅되었습니다. 이 답변은 카드를 바꿀 만큼 충분히 투표를 움직이지 못했기 때문에, 프롬프트 이후로는 어떤 전문가도 로드되지 않았습니다. 프롬프트에서 벗어나는 답변은 카드까지 가지고 갑니다. 이전 버전처럼 각 문자가 독립적으로 선택하게 하는 방식은 동일한 비보유 텍스트(held-out text)에 대한 예측을 다섯 배 더 나쁘게 만들었고, 문자당 1.35 nats 대 1.11이었으며, 단어를 혼란스럽게 만들었습니다. 아무것도 기록되지 않았습니다. 쓰는 동안에는 학습되는 것이 없습니다.
프롬프트가 끝나는 체리나무에 대한 이야기를 이어가며 생성한 내용은 다음과 같습니다:
그들은 더 이상은 아니지만, 안에 머무를 것입니다.
어느 날, 체리나무는 다른 체리를 보았습니다. 그것은 매우 크고 길고 반짝이는 날개가 있었습니다.
철자도 정확하고 주어진 이야기에 맞았지만,
| key | 무엇을 의미하는가 | |
|---|---|---|
| disk | — | 모델이 가진 모든 전문가; 사용 가능한 공간에 의해 제한됨 |
| ... |
AI 자동 생성 콘텐츠
본 콘텐츠는 Lobste.rs AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기