Hugging Face 모델 다운로드 및 테스트
목표
이 튜토리얼을 완료하면:
- ECI 가상머신에서 Python 환경 구성
- Hugging Face Hub에서 모델 다운로드 및 캐시 구조 이해
- Transformers 라이브러리로 텍스트 분류 추론 실행
CPU 가상머신으로도 실습 가능합니다
GPU가 없어도 CPU 인스턴스에서 실습할 수 있습니다. 단, 대형 모델은 실행 시간이 길어집니다.
1단계: 가상머신 생성
| 항목 | 값 |
|---|---|
| 인스턴스 타입 | GPU 또는 CPU 인스턴스 |
| 이미지 | Ubuntu 22.04 |
| 공인 IP | 새로 생성 (모델 다운로드에 인터넷 필요) |
2단계: 환경 설치
pip install transformers torch accelerate
3단계: 모델 다운로드 및 추론
# test_model.py
from transformers import pipeline
# 모델 자동 다운로드 (~/.cache/huggingface/hub/)
classifier = pipeline(
"text-classification",
model="snunlp/KR-FinBert-SC"
)
# 추론
texts = [
"오늘 코스피가 2% 상승했습니다.",
"기업 실적이 예상보다 크게 부진했습니다.",
"신규 제품 출시 일정이 발표되었습니다."
]
for text in texts:
result = classifier(text)[0]
print(f"{text[:30]}... → {result['label']} ({result['score']:.2f})")
python3 test_model.py
4단계: 캐시 관리
모델은 ~/.cache/huggingface/hub/에 캐시됩니다. 동일 모델을 다시 실행하면 다운로드 없이 캐시에서 로드합니다.
# 캐시된 모델 목록
ls ~/.cache/huggingface/hub/
# 캐시 크기 확인
du -sh ~/.cache/huggingface/
블록 스토리지 용량이 부족하면 캐시 위치를 변경합니다.
export HF_HOME=/data/huggingface_cache
5단계: GPU 가속 적용
GPU 인스턴스에서 실행 시 device=0 또는 device="cuda"를 지정합니다.
classifier = pipeline(
"text-classification",
model="snunlp/KR-FinBert-SC",
device=0 # GPU 사용
)
다음 단계
- FastAPI로 API 서버 배포: 모델을 API 서버로 래핑
- LLM 추론 실행: 대형 언어 모델 실행