Marin 프로젝트 소개
최근 인공지능 분야에서는 ‘파운데이션 모델(Foundation Model)’의 등장이 연구와 산업 전반에 큰 변화를 가져오고 있습니다. 특히, 이들 모델이 오픈소스로 공개되면서 기술적 진보가 더욱 빠르게 이루어지고 있는데요, 이러한 흐름 속에서 스탠포드 HAI 산하 CRFM(Center for Research on Foundation Models)이 선보인 ‘Marin 프로젝트’는 오픈소스의 정의 자체를 다시 생각하게 합니다. 단순히 모델의 결과물을 공개하는 것이 아니라, 모델이 만들어지는 전 과정을 투명하게 공유함으로써 진정한 의미의 재현성과 신뢰성을 확보하는 시도입니다.
Marin 프로젝트는 ‘오픈랩(Open Lab)’이라는 새로운 개념을 제시합니다. 이 개념은 코드, 데이터셋, 데이터 수집 및 처리 방법론, 실험 설정, 하이퍼파라미터, 학습 로그 등 모델 개발의 모든 단계를 누구나 열람하고 재현할 수 있도록 공개하겠다는 취지를 담고 있습니다. 이러한 시도는 연구 커뮤니티 전반에 더 깊은 신뢰를 부여하고, 다른 연구자들이 해당 모델을 기반으로 실질적인 발전을 이루는 데 중요한 밑거름이 됩니다.
Marin 프로젝트의 가장 큰 기술적 특징 중 하나는 Google JAX를 기반으로 모델을 학습했다는 점입니다. 기존의 PyTorch나 TensorFlow 대신 JAX를 선택한 이유는 모델 학습과정의 ‘결정적 재현성(deterministic reproducibility)’을 가능하게 하는 구조적 장점 때문입니다. 또한 JAX는 대규모 분산 학습에 적합한 확장성과 효율성을 갖추고 있어, 대형 모델 개발에도 적합합니다.
기존에도 여러 기업과 연구기관들이 다양한 형태로 기반 모델을 공개해 왔지만, 대부분은 학습된 모델 가중치와 일부 코드 정도만 제공하고, 학습 데이터나 하이퍼파라미터 설정, 실험 로그 등은 공개하지 않는 경우가 많았습니다. 이에 반해 Marin은 이러한 ‘부분 공개’를 넘어서, 모델이 생성된 모든 과정을 공개하는 ‘완전 공개(fully open)’ 방식을 지향합니다. 이는 단순히 연구 결과를 확인하는 수준을 넘어, 모델의 신뢰성과 재현성을 확보하는 데 큰 역할을 합니다.
또한 대부분의 모델이 PyTorch를 기반으로 구현된 반면, Marin은 JAX 기반으로 구현되었고, Levanter라는 자체 프레임워크를 활용하여 확장성과 재현성을 동시에 확보했습니다. 이 점도 Marin만의 독창적인 차별화 포인트입니다.
Marin 프로젝트의 핵심: JAX와 Levanter
Marin의 핵심 기술은 JAX 기반의 학습 프레임워크 ‘Levanter’입니다. 이 프레임워크는 다음과 같은 문제들을 해결하기 위해 설계되었습니다:
-
속도 최적화:
@jax.jit
를 사용해 전체 학습 단계를 하나의 함수로 컴파일하고,jax.value_and_grad
를 활용해 메모리 사용을 최소화합니다. 또한 Pallas 기반 Splash Attention을 통해 Transformer 모델의 핵심 연산을 고속 처리합니다. -
대규모 병렬처리: SPMD(단일 프로그램 다중 데이터) 방식으로 자동 병렬화를 지원하고, Haliax라는 명시적 텐서 네이밍 라이브러리를 도입해 코드 가독성과 유지보수성을 개선했습니다.
-
TPU 클러스터 유연성: Google Cloud의 TPU Multislice 기술과 Ray를 활용하여, 여러 TPU slice를 하나의 논리적 클러스터처럼 사용하고, 중단 시에도 복원 가능한 유연한 학습 환경을 구축했습니다.
-
완벽한 재현성: JAX의 결정론적 PRNG와 Tensorstore 기반 데이터 로딩 시스템을 통해 중단, 재시작, 하드웨어 변경에도 비트 단위 재현성을 유지했습니다.
Marin 모델 구조 및 학습 과정
Marin-8B는 LLaMA 스타일의 Transformer 아키텍처를 따릅니다. 학습은 단일한 실험이 아니라 여러 단계로 구성된 적응형 프로세스로 진행되었으며, 내부적으로는 이를 “Tootsie 프로세스”라고 부릅니다. 이 과정에서는 총 12조 개 이상의 토큰을 처리했고, TPU 클러스터 구성을 바꾸거나, 데이터 품질을 개선하거나, 하이퍼파라미터를 동적으로 조정하는 등 다양한 실험이 반복되었습니다.
이처럼 ‘지저분한 현실’을 있는 그대로 보여주는 방식은 단지 결과만을 중시하는 기존 연구와는 다른 투명하고 교육적인 접근이라고 볼 수 있습니다.
Google Cloud의 Marin 프로젝트 소개 블로그
Marin 프로젝트 공식 홈페이지
Marin 프로젝트 GitHub 저장소
Marin 프로젝트 공식 문서
Marin-8B-Instruct 및 Marin-8B-Base 모델
Levanter 프레임워크 GitHub 저장소
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다.
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~