윈도우 환경에서 Hugging Face 모델을
전체 폴더 단위로 한 번에 다운로드하고 싶다면 다음 3가지 방법 중 하나를 선택
1. snapshot_download() (파이썬에서 전체 다운로드) – 추천! (보안이슈 有)
((윈도우에서도 가장 간편하고 확실한 방법))
① 먼저 설치
pip install huggingface_hub
② 파이썬 코드 실행
from huggingface_hub import snapshot_download
snapshot_download(
repo_id="mistralai/Mistral-7B-Instruct", # 원하는 모델 이름
local_dir="C:/Users/내이름/Downloads/mistral_model" # 원하는 저장 경로
)
⚠️ 인증이 필요한 모델이라면, huggingface에 로그인하고 토큰 발급 받아서 환경변수로 설정하거나 huggingface-cli login 실행!
2. Git + Git LFS로 전체 모델 클론 (터미널에서) (보안이슈 無)
((SSL 우회 불가 시 대체 수단))
① Git + Git LFS 설치
- Git: https://git-scm.com/download/win
- Git LFS: https://git-lfs.com → 설치 후 Git Bash를 열기
git lfs install
② 명령어로 클론
git clone https://huggingface.co/mistralai/Mistral-7B-Instruct
cd Mistral-7B-Instruct
git lfs pull
✅ 이렇게 하면 모델 구조와 가중치까지 다 다운받아짐.
③ transformers로 불러와 모델 사용
위와 같은 과정을 거치면 현재 디렉토리(예: C:\Users\내이름\모델명) 안에 다음 파일들이 생긴다.
로컬에 모델이 잘 받아진 것. (나는 llama-3모델을 다운받았다)
이제 transformers 라이브러리로 이 폴더를 로컬 모델 경로처럼 지정하여 사용하면 된다.
from transformers import AutoTokenizer, AutoModelForCausalLM
model_path = "C:/Users/내이름/Mistral-7B-Instruct" # 클론한 폴더 경로
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(model_path)
input_text = "Hello, what is the meaning of life?"
inputs = tokenizer(input_text, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=50)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
❗ model_path는 절대경로 또는 상대경로 모두 가능
모델이 크면 RAM 16GB 이상, GPU 환경 권장
3. Hugging Face CLI 활용 (토큰 필요)
① 설치
pip install huggingface_hub
② 로그인
huggingface-cli login # 웹에서 토큰 복사해 붙여넣기
③ 전체 클론
huggingface-cli repo clone mistralai/Mistral-7B-Instruct --type model
내부적으로 git-lfs를 써서 똑같이 파일 다 가져오는 방법
❗ 추가 팁: 인증 문제 / 403 오류 날 때
- Hugging Face에서 해당 모델이 비공개거나 조건부 액세스일 경우
- 토큰 로그인 필요
- 또는 사용 승인 요청 버튼(웹페이지)에 클릭해야 다운 가능
- Git LFS 오류 날 경우
- git lfs install을 꼭 먼저 실행하고
- Git Bash에서 명령어 실행하는 걸 추천
[ 요약표 ]
방법 | 실행 | 위치 | 윈도우 여부 |
snapshot_download() | Python | 가장 간단, 정확 | ✅ 매우 추천 |
Git + Git LFS | Git Bash or CMD | 오픈소스 다운에 적합 | ✅ |
huggingface-cli | CMD or 터미널 | Hugging Face 전용 툴 | ✅ |
Q 허깅페이스 모델을 로컬에 다운받아 실행할 경우, API를 사용하는 것과 비교해 메모리 사용량의 차이?
로컬 실행 vs. Hugging Face API 사용 – 메모리 사용 비교
항목 | 로컬 실행 | Hugging Face Inference API |
메모리 사용 (RAM/VRAM) | ✅ 많이 사용함 (모델 전체 로딩) | ❌ 거의 사용 안 함 (API 호출만) |
속도 | ✅ 빠를 수 있음 (로컬 GPU 있을 경우) | ❌ 느릴 수 있음 (네트워크 지연) |
비용 | ❌ GPU 자원 필요 (비용 발생 가능) | ✅ 일정 사용량까지 무료 |
유연성 | ✅ 프롬프트 구조, 토큰 수 등 자유롭게 설정 가능 | ❌ 제한 있음 (timeout, max tokens 등) |
사용 예 | 대용량 배치 처리, 커스터마이징 필요 | 테스트, 소규모 응답 생성, 비용 아끼고 싶을 때 |
요약
- gemma-7B, llama-3-8B, mistral-7B 같은 모델을 로컬에서 실행하면 최소 12~16GB VRAM 이상 필요
- 반면 API는 네트워크를 통해 결과만 받아오기 때문에 클라이언트 PC의 메모리는 거의 쓰지 않음.
- 메모리를 아끼고 싶으면 → API 사용이 유리
- 속도와 유연성이 중요하거나, 인터넷 없이 동작해야 한다면 → 로컬 실행
'Tools > Python' 카테고리의 다른 글
[FastAPI] FastAPI이용한 백엔드 구축 가이드라인 (2) parameter (0) | 2025.03.06 |
---|---|
[FastAPI] FastAPI이용한 백엔드 구축 가이드라인 (1) 설치 및 Uvicorn을 통한 테스트 (0) | 2025.03.06 |
[Crawler] 네이버 지도 크롤링 - 여러 URL을 하나의 탭에서 크롤링 (3) | 2024.10.25 |
[GIT] 깃으로 협업하기 가이드라인 (0) | 2024.01.08 |
[python] 07. 패키지와 모듈 (1) | 2023.12.31 |