🤗 Hugging Face란 무엇인가요?

허깅페이스(Hugging Face)”라고 하면 왠지 포옹하는 얼굴? 귀엽고 훈훈한 느낌이죠.
실제로 이 회사의 로고도 🤗 이 이모티콘이에요!

하지만 이름이 귀엽다고 얕보지 마세요.
Hugging Face는 세계에서 가장 유명한 AI 모델 공유 플랫폼 중 하나예요.

💡 쉽게 말하면?

Hugging Face는
AI 모델들의 인스타그램 + 깃허브 + 마켓플레이스 같은 거예요.

  • 개발자나 연구자들이 자신이 만든 AI 모델을 올리고
  • 다른 사람들이 그 모델을 가져다 쓸 수 있어요.
  • 텍스트 생성, 번역, 감정 분석, 이미지 분류 등 다양한 AI 모델이 있어요.

예를 들어,

  • 챗봇을 만들고 싶다? → 챗봇용 모델 찾아서 써요!
  • 내가 만든 AI를 자랑하고 싶다? → Hugging Face에 올려요!

🧠 파인튜닝(Fine-tuning)이란?

AI가 처음부터 똑똑하진 않아요.
예를 들어 GPT 같은 모델도 처음엔 수많은 글을 읽고 학습해서 기본 실력을 갖췄어요.

하지만 우리가 원하는 분야, 예를 들어

  • 철도 승객 응대용 AI
  • 의료 상담 봇
  • 법률 상담 AI

이런 것들은 일반적인 AI로는 어려워요.
그래서 **"기존 AI 모델에 약간 더 훈련을 시키는 과정"**이 필요해요.
이게 바로 파인튜닝(Fine-tuning) 입니다!

🎯 비유하자면?

  • GPT는 “전 세계 잡지 다 읽은 사람”
  • 근데 나는 “철도 관련 전문 상담원”이 필요해요
  • 그럼 GPT한테 철도 관련 문서만 다시 학습시켜요 → 그게 파인튜닝!

✨ Hugging Face + 파인튜닝 = AI 개발자들의 축복

Hugging Face는 파인튜닝에 필요한 거의 모든 도구를 제공합니다!

  1. 모델 선택
    🤗 https://huggingface.co/models 에 가서 원하는 모델을 골라요
    (예: bert-base-uncased, gpt2, llama, mistral, 등등)
  2. 데이터 준비
    내가 파인튜닝 시킬 데이터를 준비해요 (예: 질문-답변 형식의 CSV)
  3. Trainer 사용
    Hugging Face의 transformers 라이브러리엔 Trainer라는 강력한 학습 도구가 있어요!

🛠 간단 사용법 예시 (Python)

 

이 부분은 chatgpt 가 보여준대로 올렸는데

나중에 저도 변형해가며 공부해볼 수 있길 바래 봅니다

 

from transformers import AutoTokenizer, AutoModelForSequenceClassification, Trainer, TrainingArguments
from datasets import load_dataset

# 1. 사전학습된 모델과 토크나이저 불러오기
model_name = "bert-base-uncased"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name, num_labels=2)

# 2. 데이터셋 불러오기 (huggingface datasets에서 제공!)
dataset = load_dataset("imdb")  # 영화 리뷰 감성 분석 데이터

# 3. 토큰화 함수 정의
def tokenize(example):
    return tokenizer(example['text'], padding="max_length", truncation=True)

tokenized = dataset.map(tokenize, batched=True)

# 4. 학습 설정
args = TrainingArguments(
    output_dir="./results",
    evaluation_strategy="epoch",
    learning_rate=2e-5,
    per_device_train_batch_size=16,
    num_train_epochs=3,
    weight_decay=0.01,
)

# 5. Trainer로 학습!
trainer = Trainer(
    model=model,
    args=args,
    train_dataset=tokenized["train"].shuffle(seed=42).select(range(1000)),  # 일부만 학습
    eval_dataset=tokenized["test"].select(range(500)),
)

trainer.train()

 

🧁 정리하자면?

개념설명
🤗 Hugging Face AI 모델을 공유하고 쓸 수 있는 플랫폼
🧠 파인튜닝 기존 AI 모델을 내 목적에 맞게 추가 학습시키는 과정
🛠 transformers 라이브러리 Hugging Face에서 제공하는 모델 사용 도구
💬 datasets 라이브러리 파인튜닝에 쓸 수 있는 공개 데이터 모음

 

Hugging Face 덕분에 누구나 AI 모델을 찾고, 쓰고, 파인튜닝할 수 있는 시대가 왔어요!

+ Recent posts