Hugging Face 모델 다운로드 및 테스트하기
이 문서는 Elice Cloud Infrastructure(ECI) 에서 생성한 가상머신(VM)에서
Hugging Face Hub에 공개된 모델을 다운로드하고,
간단한 자연어 처리 추론 작업을 실행하는 실습 가이드입니다.
본 실습을 완료하면 다음을 할 수 있습니다.
- ECI VM 환경에서 Python 실행 환경 구성
- Hugging Face 모델 자동 다운로드 및 캐시 구조 이해
- Transformers 라이브러리를 활용한 간단한 추론 실행
사전 준비 사항
- ECI 계정
- GPU 또는 CPU VM (본 실습은 CPU만으로도 가능)
- Public IP가 설정된 VM
경고
Hugging Face 모델 다 운로드를 위해 외부 인터넷 연결이 필요합니다.
VM 생성 시 반드시 Public IP를 설정해주세요.
Step 1. 가상머신 생성 및 실행
가상머신 생성 방법에 대한 자세한 설명은 아래 문서를 참고해주세요.
VM 생성 시 아래 설정을 권장합니다.
- OS: Ubuntu 22.04 LTS
- 스토리지: 최소 30GiB
- 네트워크: Public IP 포함
VM 생성 후 상태가 실행 중(Running) 인지 확인합니다.
Step 2. VM 접속
- ECI 포털에서 실행 중인 VM 선택
- 웹 콘솔 탭 클릭
- VM 생성 시 설정한 사용자 계정으로 로그인
Step 3. Hugging Face의 이해
Hugging Face는 머신러닝 모델을 공유하고 즉시 사용할 수 있도록 제공하는 오픈 플랫폼입니다.
특히 NLP와 LLM 분야에서 사실상 표준 생태계로 사용되고 있습니다.
핵심 구성 요소
Hub
- 사전 학습된 모델, 데이터셋, 데모를 제공하는 중앙 저장소
model="org/name"형태로 지정하면 자동 다운로드 & 캐시
Transformers
- BERT, GPT, T5, ViT 등 주요 모델을 공통 인터페이스로 제공
pipelineAPI로 빠르게 추론 가능
Step 4. Python 환경 구성
VM에서 Python 실행 환경과 필수 라이브러리를 설치합니다.
# 패키지 목록 업데이트
sudo apt update
# Python 및 가상환경 도구 설치
sudo apt install -y python3 python3-venv python3-pip
# 실습 디렉토리 생성
mkdir hf-text-cls
cd hf-text-cls
# 가상환경 생성 및 활성화
python3 -m venv .venv
source .venv/bin/activate
# 라이브러리 설치
pip install -U pip
pip install transformers torch
Step 5. Hugging Face 모델로 감정 분석 실행
이번 실습에서는 가볍고 빠른 DistilBERT 기반 감정 분석 모델을 사용합니다.
1️⃣ 코드 파일 생성
nano text_cls_infer.py
2️⃣ 코드 작성
from transformers import pipeline
# Hugging Face 모델 ID
MODEL_ID = "distilbert-base-uncased-finetuned-sst-2-english"
# sentiment-analysis 파이프라인 생성
clf = pipeline(
"sentiment-analysis",
model=MODEL_ID
)
texts = [
"I love this product!",
"This is terrible and disappointing.",
"It's okay, not bad."
]
outputs = clf(texts)
for t, o in zip(texts, outputs):
print(f"TEXT: {t}")
print(f"PRED: {o}\n")