TL;DR
Aven-1은 사전 학습 모델이나 API 없이 random weights에서 시작해 학습하는 5,055,360-parameter byte-level Causal Transformer 프로젝트입니다. 모델은 최대 128개 UTF-8 byte를 입력으로 받아 다음 byte를 예측하며, 네 개의 Transformer block과 다섯 개의 attention head, hidden width 320을 사용하고 Apple Silicon에서는 MPS를 학습 장치로 선택할 수 있습니다. 로컬 UI와 CLI는 checkpoint, optimizer state, corpus hash, 학습 이력, W&B 추적을 관리하지만, 포함된 데이터가 비슷한 템플릿의 짧은 이야기라서 낮은 loss가 일반 지능이나 범용 대화를 뜻하지는 않습니다. 프로젝트는 학습 데이터 workspace, 실제 learned weights, 사용자가 직접 편집하는 SQLite memory를 분리하고, 이후에는 더 다양한 말뭉치와 독립 평가 데이터, 긴 context, dialogue 학습으로 확장하는 경로를 제시합니다.
섹션별 상세
cd /Users/ariveinbers/Documents/Codex/my-ai-brain
.venv/bin/python server.pymacOS에서 서버를 직접 실행해 로컬 브라우저 인터페이스를 여는 명령입니다.
.venv/bin/python train.py --data data/training.txt --steps 200 --resume같은 학습 말뭉치를 사용해 200 step을 추가로 학습하고 기존 checkpoint에서 재개합니다.
.venv/bin/pip install wandb
.venv/bin/wandb login
.venv/bin/python train.py --data data/training.txt --resume --steps 200 --wandbWeights & Biases를 설치하고 로그인한 뒤 학습 지표와 실행 설정을 원격으로 기록합니다.
.venv/bin/wandb sweep sweep.yaml
.venv/bin/wandb agent /aven-1/ sweep.yamlsweep 설정을 등록하고 learning rate, dropout, batch size 조합을 자동으로 실험합니다.
python3.11 -m venv .venv
.venv/bin/python -m pip install -r requirements.txt
.venv/bin/python -m unittest -vApple Silicon용 Python 가상환경을 만들고 고정된 의존성을 설치한 뒤 테스트를 실행합니다.
용어 해설
- 인과적 Transformer(Causal Transformer)
- — 이전 위치의 토큰만 참고해 다음 토큰을 예측하는 Transformer 구조입니다. 각 위치가 미래 토큰을 보지 못하도록 causal mask를 적용하며, Aven-1에서는 최대 128개 UTF-8 byte를 입력으로 받아 다음 byte를 생성하는 데 사용됩니다. 순차 생성과 언어 모델 학습의 기본 구조입니다.
- 바이트 수준 토큰화(Byte-level Tokenization)
- — 텍스트를 단어가 아닌 UTF-8 byte 단위로 처리하는 방식입니다. 별도의 대규모 어휘 사전 없이 임의의 텍스트를 입력할 수 있지만, 한 단어가 여러 byte로 나뉘어 긴 시퀀스가 될 수 있습니다. Aven-1은 byte 예측을 기본으로 하고 tokenizer 학습과 재사용 기능도 제공합니다.
- Metal Performance Shaders(MPS)
- — Apple Silicon의 GPU에서 PyTorch 연산을 실행하기 위한 backend입니다. Aven-1은 실행 시 MPS 사용 가능 여부를 확인해 학습 장치를 선택하며, 생성은 인터페이스 단순화와 메모리 절약을 위해 CPU에서 수행합니다.
- 퍼플렉서티(Perplexity)
- — 언어 모델이 검증 데이터의 다음 토큰을 얼마나 잘 예측하는지 나타내는 지표입니다. 값이 낮을수록 모델의 예측 확률 분포가 실제 데이터에 더 가까움을 뜻합니다. 다만 비슷한 템플릿으로 만든 데이터에서는 낮은 검증 perplexity가 일반화나 지능을 입증하지 않습니다.
- 경사 하강법(Gradient Descent)
- — 모델의 예측 오차에서 계산한 gradient를 이용해 가중치를 조금씩 조정하는 최적화 방법입니다. Aven-1의 checkpoint에는 이 과정으로 바뀐 model weights와 optimizer state가 저장되며, UI의 Memory에 기록한 메모리는 학습에 사용되지 않아 가중치에 영향을 주지 않습니다.
기술
- PyTorch
- Python 3.11
- Apple Silicon
- MPS
- AdamW
- SQLite
- Weights & Biases
- W&B
- JSON Lines
활용 사례
- 개인 Mac에서 작은 Transformer의 학습 과정 실험
- 자체 보유 UTF-8 텍스트를 사용한 next-byte language modeling
- 학습 run과 hyperparameter sweep 비교
- checkpoint와 외부 memory 저장소의 동작 차이 확인
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.