LLM/허깅 페이스(Hugging Face)

3-4. 허깅페이스 파이프라인 vs. 직접 모델 사용

Human-analog 2024. 11. 27. 06:31

3.5 모델 추론하기

  모델을 학습한 후에는 추론을 통해 실제 작업에 활용할 수 있어요. Hugging Face에서는 파이프라인 기능을 통해 다양한 작업을 쉽게 설정하고 사용할 수 있죠. 뿐만 아니라, 직접 모델을 불러와 세부적으로 제어하는 방식으로도 추론할 수 있어요.

 


3.5.1 파이프라인을 활용한 추론

  Hugging Facepipeline이라는 기능을 통해, 학습된 모델다양한 작업을 쉽게 수행할 수 있도록 도와줘요. 예를 들어, 감정 분석, 번역, 텍스트 생성 등의 작업을 파이프라인으로 설정해 바로 사용할 수 있어요.

from transformers import pipeline

# 감정 분석 파이프라인 생성
classifier = pipeline('sentiment-analysis')

# 텍스트 입력
result = classifier("I absolutely love this product!")
print(result)

 

  이 코드는 파이프라인을 사용해 감정 분석 작업을 수행하는 예시예요. 복잡한 설정 없이사전 학습된 모델손쉽게 사용할 수 있어요. 파이프라인은 간단한 코드다양한 작업을 수행할 수 있는 장점이 있죠.

  • 요약:
    파이프라인을 사용하면 간단하게 다양한 NLP 작업을 수행할 수 있어요.
  • 용어설명:
    • 파이프라인: Hugging Face에서 사전 학습된 모델을 간단하게 사용할 수 있도록 제공하는 기능.

3.5.2 직접 추론하기

  파이프라인을 사용하지 않고, 직접 모델을 불러와 추론하는 방법도 있어요. 여기서는 BERT 모델을 사용해 직접 텍스트 분류 작업을 수행하는 코드를 볼 수 있어요.

 

from transformers import BertTokenizer, BertForSequenceClassification
import torch

# BERT 모델과 토크나이저 불러오기
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
model = BertForSequenceClassification.from_pretrained('bert-base-uncased')

# 입력 텍스트
input_text = "This is a great movie!"
inputs = tokenizer(input_text, return_tensors="pt")

# 모델을 사용해 추론 수행
with torch.no_grad():
    outputs = model(**inputs)

# 결과 출력 (로짓 값)
logits = outputs.logits
predicted_class = torch.argmax(logits, dim=-1).item()
print(f"예측된 클래스: {predicted_class}")

 

  이 코드는 직접 모델을 사용해 입력된 문장분류하는 과정이에요. 파이프라인을 사용하지 않고도, 모델과 토크나이저를 직접 불러와서 세부적인 작업수행할 수 있어요. 이 방법은 더 세부적인 제어가 가능하다는 장점이 있죠.

  • 요약:
    직접 모델을 불러와 입력을 처리하고, 결과를 출력하는 과정을 통해 더 세부적인 제어가 가능해요.
  • 용어설명:
    • 추론: 학습된 모델을 사용해 새로운 입력에 대한 예측을 수행하는 과정.

정리

  1. 파이프라인을 활용하면 간단한 설정으로 감정 분석, 번역, 텍스트 생성 등의 작업을 손쉽게 수행할 수 있어요.
  2. 직접 추론 방식은 모델과 토크나이저를 직접 불러와 좀 더 세부적으로 모델을 제어할 수 있는 방법이에요.
  3. 파이프라인은 더 간단하게 사용할 수 있는 반면, 직접 추론은 세부 제어에 유리해요.