랜덤성(Randomness)과 조건성(Conditionality)
랜덤성(Randomness)
같은 입력에도 다양한 출력을 생성하게 만드는 요소
- 생성형 모델은 확률 분포(probability distribution)에 따라 출력을 선택함
→ 텍스트 생성에서, 다음 단어를 예측할 때 여러 후보 중에서 확률적으로 선택
랜덤성 조절 (예: GPT-3)
import openai
openai.api_key = 'api-key'
response = openai.Completion.create(
engine="text-davinci-003",
prompt="Once upon a time, there was a friendly robot who",
max_tokens=50,
temperature=0.7 # temperature ↑ → 랜덤성 증가
)
print(response.choices[0].text.strip())
temperature 값이 높을수록 출력이 더 다양해지고 창의적
0.0이면 항상 같은 결과, 1.0에 가까울수록 매번 다른 결과 생성
조건성(Conditionality)
특정 조건에 맞게 출력을 생성하는 능력
예:
“고양이가 우주복을 입고 있는 이미지”를 요청 → 모델은 해당 조건을 반영해 출력
다양한 조건 입력 예
- 텍스트 → 텍스트: “동화를 써줘” → GPT-3가 동화 생성
- 텍스트 → 이미지: “하늘을 나는 강아지” → DALL·E가 이미지 생성
- 텍스트 → 오디오: “재즈 스타일 음악” → Jukebox가 음악 생성
생성형 모델의 핵심 원리
생성형 AI는 입력된 조건(조건성)을 바탕으로, 확률(랜덤성)을 활용해 새로운 결과 생성
다양한 형태의 데이터를 생성할 수 있으며, 창의적이고 유연한 결과물을 만들어냄
텍스트, 이미지, 오디오 등의 도메인마다 세부 원리는 다르지만, 기본 구조는 매우 유사함
텍스트 기반 생성형 모델의 원리
- 입력 토큰화
입력된 문장을 토큰(단어 또는 서브워드) 단위로 분리 - 확률 예측
다음에 올 단어의 확률 분포를 계산 - 랜덤 선택
확률에 따라 단어를 랜덤하게 선택 (temperature로 조절 가능) - 반복 생성
문장이 완성될 때까지 위 과정 반복
이미지 기반 생성형 모델의 원리
- 텍스트 인코딩
입력 텍스트를 벡터로 변환 - 이미지 특징 생성
형태, 색상, 구성 등을 내부적으로 생성 - 세부 사항 랜덤 생성
세부 요소를 랜덤하게 채워서 최종 이미지 구성
DALL·E 사용 예
response = client.images.generate(
model="dall-e-3",
prompt="a white siamese cat",
size="1024x1024",
quality="standard",
n=1
)
image_url = respose.data[0].url
텍스트 조건(prompt)에 따라 이미지 생성
랜덤성으로 인해 매번 다른 스타일의 고양이 이미지가 생성될 수 있음
오디오 기반 생성형 모델의 원리
- 입력 인코딩
텍스트(가사)나 멜로디를 모델이 이해할 수 있는 형태로 변환 - 오디오 생성
음색, 리듬, 스타일 등을 바탕으로 오디오 클립 생성 - 랜덤성 적용
동일한 조건에서도 다양한 음원이 생성되도록 변형
랜덤성과 조건성의 상호작용
랜덤성 | 조건성 | |
정의 | 다양한 출력을 만들기 위한 확률적 요소 | 입력된 조건에 따라 출력을 달리함 |
예시 | 같은 입력으로 여러 이미지/문장 생성 | "고양이" vs. "우주 고양이" 이미지 생성 |
조절 방법 | temperature 파라미터 | prompt(조건문)의 정확도와 다양성 |
두 요소의 조합
“우주를 여행하는 고양이”라는 조건 →
조건성: 전체적인 주제와 스타일 설정
랜덤성: 고양이의 모습, 배경, 색상 등이 매번 다름
'⊢ AI 모델 활용' 카테고리의 다른 글
FastAPI를 활용한 API 구축 (2) | 2025.03.25 |
---|---|
Stable Diffusion을 활용한 이미지 생성 (0) | 2025.03.25 |
생성형 AI(Generative AI) (0) | 2025.03.25 |
사전 학습과 파인 튜닝 (2) | 2025.03.25 |
Hugging Face와 Transformers 라이브러리로 살펴본 NLP 모델들 (0) | 2025.03.24 |