TensorFlow에서도 PyTorch처럼 GPT, BERT, T5 같은 최신 NLP 모델을 활용할 수 있고, Hugging Face의 transformers 라이브러리를 TensorFlow에서 사용할 수 있다.
#설치 방법
pip install transformers tensorflow
(1) TensorFlow에서 GPT 모델 사용하기
from transformers import TFGPT2LMHeadModel, GPT2Tokenizer
# 모델 및 토크나이저 로드
model_name = "gpt2"
tokenizer = GPT2Tokenizer.from_pretrained(model_name)
model = TFGPT2LMHeadModel.from_pretrained(model_name)
# 입력 텍스트 정의
input_text = "Once upon a time"
input_ids = tokenizer.encode(input_text, return_tensors="tf")
# 텍스트 생성
output = model.generate(input_ids, max_length=100, num_return_sequences=1)
# 디코딩하여 출력
generated_text = tokenizer.decode(output[0], skip_special_tokens=True)
print(generated_text)
(2) TensorFlow에서 GPT 모델 파인튜닝
from transformers import TFAutoModelForCausalLM, AutoTokenizer
import tensorflow as tf
# 모델과 토크나이저 불러오기
model_name = "gpt2"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = TFAutoModelForCausalLM.from_pretrained(model_name)
# 데이터셋 준비 (예: IMDb 리뷰 데이터)
from datasets import load_dataset
dataset = load_dataset("imdb")
train_texts = dataset["train"]["text"][:1000]
# 데이터 전처리
train_encodings = tokenizer(train_texts, truncation=True, padding=True, max_length=512, return_tensors="tf")
# 텐서플로우 데이터셋 변환
train_dataset = tf.data.Dataset.from_tensor_slices((
dict(train_encodings),
train_encodings["input_ids"]
)).shuffle(1000).batch(8)
# 모델 학습
model.compile(optimizer=tf.keras.optimizers.Adam(learning_rate=5e-5), loss=model.compute_loss)
model.fit(train_dataset, epochs=3)
참고) TensorFlow의 한계점
- 학습 곡선이 급격함
- 디버깅이 어려움
- PyTorch에 비해 연구 커뮤니티가 적음
'Study > AI' 카테고리의 다른 글
[AI] 'AI시대 데이터 직군을 위한 생존 전략' 리뷰 (0) | 2025.03.18 |
---|---|
[AI] 'LLM 애플리케이션 경험 공유회' 리뷰 (2) | 2025.03.17 |
[AI] 텐서플로우(TensorFlow) (2) | 2025.03.13 |
[AI] PyTorch의 NLP 활용: GPT와 Hugging Face 연동 (2) | 2025.03.13 |
[AI] 파이토치(PyTorch) (2) | 2025.03.13 |