
목차 ▽열기
🎯 소개
자연어 처리(NLP) 모델은 다양한 용도로 활용될 수 있으며, 특히 감성 분석(Sentiment Analysis) 분야에서 큰 성과를 보이고 있습니다. 본 글에서는 Hugging Face의 distilbert-base-uncased-finetuned-sst-2-english 모델을 활용하여 감성 분석 모델을 Fine-Tuning하고, 이를 Hugging Face Hub에 업로드하는 방법까지 자세히 다룹니다.
또한, Stable Diffusion 모델을 사용하여 텍스트를 기반으로 이미지를 생성하는 방법도 소개합니다. 🚀
📌 1. Fine-Tuning 개념 이해
Fine-Tuning이란, 이미 학습된 모델(Pretrained Model)을 특정한 작업에 맞게 추가적으로 훈련하는 과정을 의미합니다.
일반적으로 대량의 데이터를 사용하여 미리 학습된 모델을 가져와, 우리가 원하는 도메인에 맞게 적은 데이터로 추가 학습시켜 성능을 향상시킬 수 있습니다.
✅ Fine-Tuning의 장점
- 적은 데이터로도 높은 성능을 낼 수 있음
- 훈련 시간을 단축할 수 있음
- 이미 최적화된 가중치를 활용하여 더 좋은 성능을 기대할 수 있음
본 글에서는 영화 리뷰 데이터를 활용하여 긍정/부정을 예측하는 감성 분석 모델을 Fine-Tuning해보겠습니다.
📌 2. Stable Diffusion을 이용한 텍스트 기반 이미지 생성
2.1 Stable Diffusion 모델이란?
Stable Diffusion은 텍스트 입력을 기반으로 고품질 이미지를 생성할 수 있는 AI 모델입니다.
이를 활용하면, 텍스트 프롬프트를 입력하여 원하는 이미지를 생성할 수 있습니다.
2.2 Stable Diffusion을 활용한 이미지 생성 코드
from diffusers import DiffusionPipeline
import torch
# Stable Diffusion 모델 로드
pipe = DiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5")
# GPU 사용 여부 확인 후 설정
pipe.to("cuda" if torch.cuda.is_available() else "cpu")
# 텍스트 프롬프트로 이미지 생성
prompt = 'A fantasy landscape with castles and dragons, highly detailed, digital art'
image = pipe(prompt).images[0]
# 생성된 이미지를 저장 및 출력
image.save('my_image.jpg')
import matplotlib.pyplot as plt
plt.imshow(image)
plt.axis('off')
plt.show()
✅ 설명
1. DiffusionPipeline.from_pretrained()을 사용하여 Stable Diffusion 모델을 불러옵니다.

2. GPU가 사용 가능하면 GPU에서 실행하도록 설정합니다.
StableDiffusionPipeline {
"_class_name": "StableDiffusionPipeline",
"_diffusers_version": "0.32.2",
"_name_or_path": "runwayml/stable-diffusion-v1-5",
"feature_extractor": [
"transformers",
"CLIPImageProcessor"
],
"image_encoder": [
null,
null
],
"requires_safety_checker": true,
"safety_checker": [
"stable_diffusion",
"StableDiffusionSafetyChecker"
],
"scheduler": [
"diffusers",
"PNDMScheduler"
],
"text_encoder": [
"transformers",
"CLIPTextModel"
],
"tokenizer": [
"transformers",
"CLIPTokenizer"
],
"unet": [
"diffusers",
"UNet2DConditionModel"
],
"vae": [
"diffusers",
"AutoencoderKL"
]
}
3. 사용자가 원하는 텍스트 프롬프트를 입력하여 이미지를 생성합니다.

4. 생성된 이미지를 matplotlib을 사용하여 화면에 출력합니다.

'AI > 이론' 카테고리의 다른 글
169. [AI] [LLM] Hugging Face: AI 커뮤니티의 오픈소스 (0) | 2025.03.06 |
---|---|
154. [AI] [Fine-Tuning] Transformer 모델을 활용한 감성 분석 (0) | 2025.02.19 |
137. [Python] [Machine Learning] : 계층적 군집 분석( Hierarchical Clustering) (0) | 2025.01.31 |
136. [Python] [Machine Learning] : 비지도 학습(Unsupervised Learning)의 알고리즘 종류 (0) | 2025.01.31 |
135. [Python] [Machine Learning] : K-평균 군집화(K-Means Clustering) (0) | 2025.01.31 |