본문으로 건너뛰기

© 2026 Molayo

r/LocalLLaMA분석2026. 06. 19. 17:54

단 하나의 JSON 설정으로 자신만의 LLM을 사전 학습(Pretrain) 및 SFT할 수 있는 프레임워크 구축 — 스팟 인스턴스 활용 시

요약

단 하나의 JSON 설정으로 LLM의 사전 학습(Pretrain)부터 SFT, 평가까지 엔드 투 엔드로 처리할 수 있는 오픈 소스 프레임워크 'librarian-press'를 소개합니다. 스팟 인스턴스 환경에서도 중단된 샤드부터 재개할 수 있는 안정적인 파이프라인을 제공합니다.

핵심 포인트

  • JSON 설정 하나로 토크나이저 학습부터 SFT, 모델 내보내기까지 자동화
  • 스팟 인스턴스 선점 시에도 마지막 샤드부터 재개 가능한 Resume-safe 설계
  • 멀티 GPU DDP 지원 및 Prometheus 호환 실시간 메트릭 모니터링 제공
  • LoRA 및 Full Fine-tuning을 지원하며 방식에 따른 효율적 체크포인팅 수행

한동안 저만의 SLM(Small Language Model) 제품군(Librarian 시리즈)을 밑바닥부터 사전 학습(Pretrain) 및 SFT(Supervised Fine-Tuning)하며 구축해 왔습니다. 이를 위해 제가 만든 훈련 인프라는 이제 librarian-press라는 독립적인 오픈 소스 프레임워크가 되어 오늘 PyPI에 게시되었습니다.

pip install librarian-press

기능 설명

정제된 Parquet 또는 .txt 파일과 하나의 JSON 설정(config)만 준비하면 됩니다. 다음과 같은 전체 파이프라인을 엔드 투 엔드(end-to-end)로 처리합니다:

  • 토크나이저(Tokenizer) 학습 (BPE, ByteLevel, NFKC 정규화)
  • 토큰화(Tokenization) + uint16 .bin 샤드(shard)로의 시퀀스 패킹(sequence packing)
  • GPT 아키텍처를 이용한 사전 학습(Pretraining): RoPE, RMSNorm, SwiGLU MLP, 가중치 타이잉(weight tying)
  • LoRA, BitFit 또는 전체 미세 조정(full fine-tune) 및 completion-only masked loss를 이용한 SFT
  • 평가(Evaluation): perplexity, exact match, token F1
  • 이식 가능한 독립형 번들(self-contained bundle)로 내보내기 + Ollama 스타일의 채팅 REPL

알아두면 좋은 엔지니어링 결정 사항

재개 가능한(Resume-safe) 파이프라인. 모든 데이터 단계(수집, 토큰화, 패킹, 준비)는 원자적 매니페스트(atomic manifests)를 통해 샤드 단위로 추적됩니다. 각 샤드는 pending > processing > verified > done 상태를 거칩니다. 어느 시점에서든 충돌(Crash)이 발생하거나 스팟 인스턴스 선점(preemption)이 발생하더라도, 명령어를 다시 실행하면 마지막으로 완료된 샤드부터 다시 시작합니다. 마지막 에포크(epoch)가 아니라, 마지막 샤드부터입니다.

멀티 GPU DDP. 하나의 torchrun 명령으로 여러 GPU에 걸쳐 병렬 처리가 가능합니다. 그래디언트(Gradients)는 누적 경계(accumulation boundary)에서 all-reduce됩니다. 데이터 단계와 평가는 rank 0에서만 실행됩니다. 싱글 GPU 경로는 플래그나 설정 변경 없이 완전히 동일하게 유지됩니다.

운영 관측성(Production observability). --metrics-port를 통해 추가 종속성 없이(prometheus_client 불필요) Prometheus 호환 /metrics 엔드포인트를 노출합니다. 훈련 손실(train loss), 검증 손실(val loss), 학습률(LR), 그래디언트 노름(grad norm), 초당 토큰 수(tokens/sec), GPU 메모리 바이트, 추론 지연 시간(inference latency), 초당 생성 토큰 수(generated tokens/sec)를 추적합니다. Grafana를 통해 실시간으로 스크래핑(Scrapable)할 수 있습니다.

방식 인지형 체크포인팅(Method-aware checkpointing). 전체 사전 학습(Full pretrain)은 전체 상태 사전(state dict)을 저장합니다. LoRA는 어댑터 가중치(adapter weights)만 저장합니다. SFT는 학습 전 베이스 체크포인트와 토크나이저의 SHA를 검증하여, 어휘집(vocabulary)이 일치하지 않는 상태에서 조용히 미세 조정이 진행되는 것을 방지합니다.

100달러의 근거

저는 2026년 6월 기준 실제 공표된 GPU 요율을 바탕으로 이를 교차 검증했습니다:

GCP a2-highgpu-1g: $3.67/hr
AWS p4d GPU당: ~$4.10/hr
Azure 단일 A100: ~$3.67/hr

360M 파라미터 온디맨드 (on-demand): ~$22
700M 파라미터 온디맨드 (on-demand): ~$48
1B+ 파라미터 스팟 인스턴스 (spot instances, 60-70% 할인) 활용 시: 100달러 미만

재개 가능한 (resume-safe) 파이프라인이 스팟 인스턴스 활용을 가능하게 만드는 핵심입니다. 샤드(shard) 수준의 재개 기능이 없다면, 스팟 인스턴스의 선점 (preemption)으로 인해 실행이 중단되고 처음부터 다시 시작해야 합니다. 이러한 엔지니어링이 비용 절감 주장을 현실로 만듭니다.

목표 범위는 1억(100M)에서 수십억(few billion) 파라미터 사이입니다. Megatron이나 FSDP의 영역과 경쟁하려는 것이 아닙니다. 이는 훈련 스택 (training stack)을 처음부터 직접 짜 맞추지 않고도 도메인 특화 모델을 소유하고 싶은 연구자와 빌더들을 위한 것입니다.

GitHub: github.com/sujal-maheshwari2004/librarian-press
PyPI: pypi.org/project/librarian-press

아키텍처나 설계 결정 사항에 대한 질문은 언제든 환영합니다.
submitted by /u/Kill_Streak308
[link] [comments]

AI 자동 생성 콘텐츠

본 콘텐츠는 r/LocalLLaMA의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0