본문 바로가기
C.W.K.
Stream
Lesson 05 of 07 · published

텍스트 생성

~8 min · keras-nlp

Level 0Keras 도제
0 XP0/97 lessons0/20 achievements
0/120 XP to next level120 XP to go0% complete

생성은 다음 토큰 예측의 반복이야

인과 언어 모델은 지금까지 주어진 내용으로 다음 토큰을 예측해. generate()는 토큰 예측 → 결과 붙이기 → 길어진 시퀀스 다시 입력하기를 max_length나 텍스트 종료 토큰까지 반복해. GemmaCausalLM.from_preset(...)으로 생성기를 불러오고 프롬프트 문자열을 넣으면 완성된 문자열을 받을 수 있어.

출력의 성격은 샘플러가 결정해

모델의 원시 출력은 매 단계에서 전체 어휘에 대한 확률 분포야. 그 분포에서 토큰을 고르는 샘플러가 결과의 성격을 크게 바꿔. temperature는 분포를 날카롭거나 평평하게 해. 0에 가까우면 가장 확률 높은 토큰을 반복해 결정론적이고 안전하지만 단조로울 수 있고, 1.0에 가까우면 낮은 확률의 토큰에도 기회를 줘 창의적이지만 산만할 수 있어. top_k는 상위 k개 후보만 남기고, 핵 샘플링인 top_p는 누적 확률 질량 p를 채우는 후보만 유지해. 샘플러는 compile()에 전달하거나 generate() 기본값을 쓸 수 있어. 운영 환경에서는 보통 temperature=0.7, top_p=0.9에서 조정을 시작해.

Code

텍스트 생성과 샘플러 조정·python
import keras_hub

# Load GPT-2 for text generation
gpt2 = keras_hub.models.GPT2CausalLM.from_preset("gpt2_base_en")

# Generate with various sampling strategies
output = gpt2.generate(
    "The future of AI is",
    max_length=100,
)
print(output)

# Control generation with temperature, top_k, top_p
gpt2.compile(sampler=keras_hub.samplers.TopKSampler(k=50, temperature=0.7))

External links

Exercise

Gemma-2b를 불러와 같은 프롬프트를 temperature=0, 0.5, 1.0으로 생성하고 차이를 기록해. top_p=0.5와 0.95도 비교해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.