TECH 으로 돌아가기
TECH HACKER NEWS 오늘 8분 읽기 30 READS

내 노트북에서 계속 학습하는 모델: mini-AGI가 던지는 질문

내 노트북에서 계속 학습하는 모델: mini-AGI가 던지는 질문
SOURCE IMAGE · HACKER NEWS

오늘날 개인이 실제로 '소유'할 수 있는 언어 모델은 대부분 누군가가 학습을 끝내고 얼려 둔 모델이다. 가장자리를 미세조정할 수는 있어도, 자신의 하드웨어에서 처음부터 학습시키거나 매일의 작업 흐름 위에서 계속 학습시키기는 어렵다. 이어서 학습을 시도하는 순간 이전에 알던 것을 잊어버리는 '파국적 망각(catastrophic forgetting)' 때문이다. 결국 개인 모델이란 남의 모델 위에 얇은 나의 층을 덧댄 것이고, 배포되는 날 학습이 멈춘다. GitHub에 공개된 실험 프로젝트 mini-AGI는 바로 이 전제를 흔들려는 시도다.

mini-AGI는 8GB VRAM을 가진 소비자용 노트북 GPU 한 장에서 바이트 단위로 처음부터 학습하는 지속 학습(continual learning) 모델이다. 문자를 한 덩어리씩 스트림으로 읽으며 매번 배치 크기 1로 그래디언트 스텝을 밟고, 생성도 학습과 동일한 순전파 경로를 쓴다. 별도의 미세조정 단계도, 얼어붙은 베이스도 없이 '읽는 것'과 '학습되는 것'이 같은 사건이다. 개발자는 이것이 아직 장난감 수준의 작은 모델이며 최전선급 성능을 기대해선 안 된다고 분명히 못 박는다. 핵심은 성능이 아니라, 단일 데이터 스트림에서의 지속 학습이 파국적 망각 없이, 그것도 소박한 하드웨어에서 가능함을 보이는 데 있다.

디스크가 곧 파라미터 한도

이 모델의 가장 특이한 설계는 가중치를 GPU가 아니라 디스크의 평범한 파일로 저장한다는 점이다. 각 전문가(expert)는 자신의 가중치와 Adam 모멘트를 담은 하나의 파일이고, 필요할 때만 카드 위로 페이징된다. 따라서 파라미터 수의 상한은 VRAM이 아니라 여유 디스크 공간이 결정한다. 입력 바이트는 고정된 층 스택을 통과하지 않는다. 두 개의 밀집 프리루드 블록을 지난 뒤 하나의 순환 블록을 문자당 최대 24회까지 반복 적용하며, 매 반복마다 공유 풀에서 자신의 전문가들을 직접 고른다. 반복 사이의 잠재 상태는 디코딩되지 않고 어댑터가 임베딩된 입력과 매번 병합하기 때문에, 루프가 읽고 있는 텍스트에서 멀리 표류하지 못한다. 위치 정보는 학습 파라미터가 없는 로터리 방식이라, 문맥 창은 재초기화 없이 계속 학습만으로 늘릴 수 있다.

풀은 살아 있는 유기체처럼 움직인다. 용량이 부족하면 새 전문가를 추가하고, 아무도 찾지 않는 부분은 잘라낸다. 새 전문가는 무작위 초기화나 단순 복제가 아니라, 기존 여러 전문가에서 가져온 은닉 유닛들을 재조합해 만든다. 학습된 부품에서 조립한 새로움이라야 라우팅할 가치가 있다는 것이다. 흥미로운 발견은 게이트 값이 전문가의 생사를 판단하는 지표로 '반(反)예측적'이라는 점이다. 가장 바쁘게 선택되는 싱크 역할의 전문가가 오히려 가장 작은 게이트를 갖기 때문에, 성장과 가지치기는 게이트가 아니라 '얼마나 오래 아무도 부르지 않았는가'만을 본다.

망각을 막은 한 줄의 설정값

프로젝트가 내세우는 핵심 측정은 파국적 망각 실험이다. 체스 텍스트 52만 4,000자만 배치 1로 읽혔을 때, 읽지 않은 나머지 일곱 주제의 손실은 크게 나빠졌다. 그런데 모든 문자가 통과하는 '트렁크'(임베딩·어텐션·라우터·중단 헤드)의 학습률을 전문가의 0.1배로 낮추자, 망각이 +2.23 nats에서 +0.0067 nats로 줄었다. 트렁크가 제곱 그래디언트 노름의 97.6%를 짊어지기 때문이며, 우연 대비 진전 유지율로 환산하면 50.68%와 99.84%의 차이가 설정 파일의 숫자 하나에서 갈린다. 같은 실험에서 136개 전문가 중 그래디언트를 받은 것은 54개뿐이었다. 모델의 60%가 라우팅에 선택되지 않아 구조적으로 손대지 않은 채 남았고, 이것이 한 주제 학습이 다른 곳에 측정 가능한 비용을 물리지 않은 이유다.

학습률은 코사인 스케줄 같은 사전 계획을 쓰지 않는다. 스케줄은 '언젠가 끝난다'를 전제하는데, 계속 읽는 모델에겐 거짓이기 때문이다. 대신 컨트롤러가 held-out 손실을 지켜보며 개선이 뚜렷하면 조금 올리고 근거가 없으면 내리는 식으로 양방향으로 움직인다. 실제 사용은 단순하다. 파일이나 디렉터리를 가리키기만 하면 된다. 알파벳이 256개 바이트값이라 어떤 파일도 이미 모델의 유일한 어휘로 쓰여 있고, 바이너리는 확장자가 아니라 내용 표본으로 걸러진다. --save 없이 읽으면 전부 드라이런이며, 읽기 전후로 held-out 혼합 집합을 평가해 당신의 파일을 읽은 대가로 다른 곳의 실력이 깎였는지를 그 자리에서 알려 준다.

실무자가 새겨 둘 한계

현 시점 결과는 냉정하게 봐야 한다. 벚나무 이야기를 이어 쓰게 했을 때 산출물은 문법적으로 옳고 주제에도 맞지만 같은 문장을 반복하며, 이는 2억 4,300만 자를 읽은 모델의 정직한 초상이다. 가중치는 아직 공개되지 않았고, 첫 회독이 끝나려면 현재 속도로 몇 주가 더 걸린다. 성능 비교도 유보적으로 읽어야 한다. 토크나이저가 바뀌어도 살아남는 유일한 손실 단위인 bits-per-byte로 GPT-3 옆에 세울 수는 있지만, 가장 비슷한 체급인 MambaByte-353M은 이 모델보다 94배, Transformer-320M은 251배 많은 데이터를 읽었다. 같은 설정을 두 번 돌려도 CUDA 전문가 디스패치의 비결정성 탓에 약 0.014 차이가 나므로, 0.03 정도는 되어야 진짜 차이로 봐야 한다는 경고도 함께 붙는다.

그럼에도 이 실험이 제기하는 질문은 실무적으로 묵직하다. 모델을 소유한다는 것이 남이 학습을 끝낸 결과물을 내려받는 일이 아니라, 내 하드웨어에서 내 데이터로 계속 자라는 무언가를 갖는 일이 될 수 있는가. mini-AGI는 그 가능성을 소비자용 GPU 한 장에서 도면이 아닌 실측 곡선으로 그려 보였다. 능력의 상한은 결국 하드웨어와 데이터의 규모·품질, 그리고 학습에 들일 시간에 달려 있다는 것이 이 프로젝트가 남기는 현실적인 결론이다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://github.com/volotat/mini-AGI/
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기
처리 중...