Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

모델 허브와 오픈소스 도구

현대 딥러닝과 대형 언어 모델(LLM) 생태계의 비약적인 발전은 모델 성능의 향상뿐만 아니라, 모델을 공유하고 배포하며 협업하는 방식의 대혁신이 있었기에 가능했습니다. 본 장에서는 현대 AI 생태계의 ‘앱스토어’ 역할을 하는 모델 허브의 개념과, 그 이면을 지탱하는 물리적 뼈대인 Git 및 Git LFS 기술을 상세히 알아봅니다.

1모델 허브: AI 생태계의 앱스토어

1.1모델 허브 이전의 ‘재현성 암흑기’

모델 허브와 통합 라이브러리가 대중화되기 이전, 딥러닝 연구자와 엔지니어들은 사전 훈련된 모델(Pre-trained Model)을 활용하는 데 막대한 시간과 비용을 소모해야 했습니다.

1.2앱스토어 비유: 단 한 줄의 코드가 만든 혁신

스마트폰 등장 초창기, 모바일 소프트웨어를 다운로드받기 위해 개별 개발사의 파편화된 웹사이트를 직접 찾아다니며 설치 파일(.apk, .ipa)을 받고 수동으로 보안 설정을 맞춰야 했던 시절이 있었습니다. 앱스토어(App Store)의 등장은 이 과정을 '중앙 집중식 안전 검색’과 '탭 한 번으로 설치 및 업데이트’로 바꾸며 모바일 혁명을 이끌었습니다.

딥러닝 생태계에서 모델 허브(Model Hub)의 역할이 바로 이 앱스토어와 완벽하게 일치합니다.

2모델 허브의 물리적 인프라: Git과 Git LFS

모델 허브가 주는 편리함의 이면에는, 기가바이트(GB)에서 테라바이트(TB) 단위에 이르는 초대형 모델 파일들을 안정적으로 버전 관리하고 배포하는 물리적 저장 기술이 존재합니다. 그 핵심이 바로 Git과 Git LFS입니다.

2.1대용량 바이너리 관리의 한계와 Git LFS의 탄생

전통적인 버전 관리 시스템인 Git은 소스 코드와 같은 텍스트 파일의 라인 단위 변경 사항을 추적하는 데 최적화되어 있습니다. Git은 파일이 변경될 때마다 그 델타(Delta)와 전체 개체를 자체 압축 파일(.git/objects)에 누적 보관합니다.

만약 10GB 짜리 딥러닝 모델 가중치 파일(.safetensors)을 일반 Git으로 커밋하고 푸시하게 되면 다음과 같은 재앙적인 문제가 발생합니다.

이 문제를 해결하기 위해 도입된 업계 표준 프로토콜이 바로 Git LFS (Large File Storage) 입니다.

2.2Git LFS의 작동 메커니즘

Git LFS는 대용량 파일을 Git 저장소 외부의 별도 오브젝트 스토리지(LFS 전용 서버)에 격리 보관하고, Git 자체 저장소 내부에는 파일의 메타데이터를 담은 아주 작은 텍스트 포인터 파일(Pointer File)만 남겨 관리하는 방식입니다.

사용자가 Git 저장소 내에서 LFS가 관리하는 대용량 파일을 커밋하면 내부적으로 다음과 같은 일이 일어납니다.

  1. 포인터 파일 대체: 로컬 Git 저장소에는 바이너리 데이터 대신 다음과 같은 약 3줄짜리 텍스트 포인터 파일이 물리적으로 커밋됩니다.

    version https://git-lfs.github.com/spec/v1
    oid sha256:d81cd20e0e1399ee898b96ea6df287d3298a0026e6e6a17b07db0a026c0c0c0c
    size 10737418240
    • oid (Object ID): 실제 바이너리 파일의 고유 SHA-256 해시값입니다.

    • size: 파일의 바이트 단위 크기입니다.

  2. 별도 서버 전송: 실제 10GB 바이너리 데이터는 Git의 푸시(Push)가 일어날 때, LFS 클라이언트에 의해 격리된 전용 오프사이트 스토리지(LFS 대용량 스토리지 서버)로 직접 전송됩니다.

  3. 지연 로딩 및 체크아웃: 다른 협업자가 git clone을 수행하면, 초기에 가벼운 텍스트 포인터만 빠르게 내려받은 후, LFS 클라이언트가 백그라운드에서 해당 포인터 정보를 해독하여 실제 바이너리 데이터를 대용량 서버로부터 병렬 다운로드하여 로컬 작업 디렉터리에 원래 파일명으로 채워 넣습니다.

2.3모델 허브 인프라의 표준

현대 딥러닝 개발의 대표적 중심지인 Hugging Face Hub의 모델 저장소들은 100% Git 및 Git LFS 저장소로 이루어져 있습니다.

우리가 웹 브라우저로 허깅페이스의 특정 모델 카드 페이지를 방문하는 것은 실질적으로 세련된 GUI가 씌워진 원격 Git 저장소를 구경하는 것과 같습니다. 따라서 원한다면 언제든지 터미널에서 일반 git 명령어로 저장소 전체를 클론하여 모델 가중치를 내려받을 수 있습니다.

# Hugging Face Hub는 표준 Git 저장소이므로 직접 클론이 가능합니다.
git clone https://huggingface.co/Qwen/Qwen2.5-1.5B-Instruct

이처럼 모델 허브는 분산 버전 관리의 걸작인 Git과 대용량 데이터 격리 전송의 열쇠인 Git LFS 위에 구축되어 딥러닝 협업의 무한한 확장성을 제공하고 있습니다. 다음 장들에서는 대표적인 프레임워크와 플랫폼이 이 개념을 어떻게 구체적으로 구현하고 지원하고 있는지 하나씩 살펴보겠습니다.

3Hugging Face

Hugging Face는 모델 허브를 단순 저장소를 넘어 전 세계 AI 연구 개발의 중심 플랫폼으로 진화시켰습니다.