반응형
허깅 페이스에서 오픈 소스로 제공되는 모델들의 파일 다운로드 방법을 다룬다.
이 글은 파이썬을 이용하여 다운로드를 할 예정이므로 파이썬이 반드시 설치되어 있어야 한다.
huggingface_hub 라이브러리 설치
허깅 페이스에서의 공개된 리파지토리는 huggingface_hub 라이브러리를 통해 파일을 다운로드 받을 수 있다.
우선 huggingface_hub 라이브러리가 설치되어 있지 않다면 설치를 진행한다.
pip install huggingface_hub
허깅 페이스 모델 다운로드
모델을 다운로드하려면 hf_hub_download 혹은 snapshot_download 함수를 이용한다.
기본적으로는 함수에 repo_id와 repo_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\\")
반응형