Hugging Face - 인공지능 모델 로컬에 다운로드 받기

반응형

허깅 페이스에서 오픈 소스로 제공되는 모델들의 파일 다운로드 방법을 다룬다.

이 글은 파이썬을 이용하여 다운로드를 할 예정이므로 파이썬이 반드시 설치되어 있어야 한다.

 

huggingface_hub 라이브러리 설치

허깅 페이스에서의 공개된 리파지토리는 huggingface_hub 라이브러리를 통해 파일을 다운로드 받을 수 있다.

우선 huggingface_hub 라이브러리가 설치되어 있지 않다면 설치를 진행한다.

pip install huggingface_hub

 

허깅 페이스 모델 다운로드

모델을 다운로드하려면 hf_hub_download 혹은 snapshot_download 함수를 이용한다.

기본적으로는 함수에 repo_idrepo_type을 인자로 넘겨주면 된다.

  • repo_type
    • 매개변수를 생략하면 기본적으로 모델 리파지토리로 인식한다.
  • revision
    • 파일 다운로드는 기본적으로 최신 버전의 파일을 다운로드한다.
    • 만약 특정 버전의 파일을 다운로드 받으려면 revision 매개 변수를 이용하면 된다.
  • local_dir
    • 특정 위치에 저장하고 싶을 때 사용한다.

아래는 함수별 샘플 구문이다. 참고하자.

 

hf_hub_download 구문

from huggingface_hub import hf_hub_download
hf_hub_download(repo_id="lysandre/arxiv-nlp", filename="config.json")

### 리파지토리의 타입이 다를 경우 ###
# 데이터세트의 경우
hf_hub_download(repo_id="google/fleurs", filename="fleurs.py", repo_type="dataset")

### 특정 버전에서 파일 다운로드를 할 경우 ###
# `v1.0` 태그에서 다운로드하기
hf_hub_download(repo_id="lysandre/arxiv-nlp", filename="config.json", revision="v1.0")
# `test-branch` 브랜치에서 다운로드하기
hf_hub_download(repo_id="lysandre/arxiv-nlp", filename="config.json", revision="test-branch")
# PR #3에서 다운로드하기
hf_hub_download(repo_id="lysandre/arxiv-nlp", filename="config.json", revision="refs/pr/3")
# 특정 커밋 해시에서 다운로드하기
hf_hub_download(repo_id="lysandre/arxiv-nlp", filename="config.json", revision="877b84a8f93f2d619faa2a6e514a32beef88ab0a")

 

snapshot_download 구문

from huggingface_hub import snapshot_download
snapshot_download(repo_id="lysandre/arxiv-nlp")

### 리파지토리의 타입이 다를 경우 ###
# 데이터세트의 경우
snapshot_download(repo_id="google/fleurs", repo_type="dataset")

### 특정 버전의 리파지토리를 다운로드 할 경우 ###
from huggingface_hub import snapshot_download
snapshot_download(repo_id="lysandre/arxiv-nlp", revision="refs/pr/1")

 

사용 예시 - MMLU 데이터셋 다운로드 받아보기

사용 예시로 mmlu 데이터셋을 특정 위치에 다운로드 받아보자.

mmlu는 인공지능 언어 모델의 기능을 평가하기 위한 방법 중 하나이다.

from huggingface_hub import snapshot_download
snapshot_download(repo_id="lighteval/mmlu", repo_type="dataset", local_dir="C:\\dataset\\")

 

MMLU 데이터셋 다운로드 예시 화면
MMLU 데이터셋 다운로드 예시 화면

 

다운로드 받은 데이터셋을 로컬 경로에서 확인한 예시 화면
다운로드 받은 데이터셋을 로컬 경로에서 확인한 예시 화면

 

반응형