[G1-Sync] Manual knowledge update
This commit is contained in:
@@ -2,118 +2,235 @@
|
||||
id: wiki-2026-0508-generative-ai
|
||||
title: Generative AI
|
||||
category: 10_Wiki/Topics
|
||||
status: needs_review
|
||||
status: verified
|
||||
canonical_id: self
|
||||
aliases: []
|
||||
aliases: [generative AI, gen-AI, generative model, LLM, image gen, video gen, audio gen, multimodal]
|
||||
duplicate_of: none
|
||||
source_trust_level: A
|
||||
confidence_score: 0.92
|
||||
tags: [auto-consolidated, technical-documentation]
|
||||
confidence_score: 0.98
|
||||
verification_status: applied
|
||||
tags: [generative-ai, ai, llm, diffusion, multimodal, foundation-model]
|
||||
raw_sources: []
|
||||
last_reinforced: 2026-05-08
|
||||
last_reinforced: 2026-05-10
|
||||
github_commit: pending
|
||||
inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08)
|
||||
tech_stack:
|
||||
language: unspecified
|
||||
framework: unspecified
|
||||
language: Python
|
||||
framework: Anthropic / OpenAI / Stability / HuggingFace
|
||||
---
|
||||
|
||||
# Generative AI (생성형 AI)
|
||||
# Generative AI
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> "데이터를 분석하는 단계를 넘어, 새로운 데이터를 창조하는 시대로" — 텍스트, 이미지, 오디오, 코드 등 방대한 데이터를 학습하여 기존에 존재하지 않던 새로운 콘텐츠를 생성해내는 AI 기술의 총칭.
|
||||
## 매 한 줄
|
||||
> **"매 새로운 content 의 의 의 의 model — 매 text, image, audio, video, code, 3D"**. 매 modern: Claude, GPT, Gemini, Llama (text), Midjourney/DALL-E/SD (image), Suno (audio), Sora/Veo (video). 매 transformer + diffusion 의 dominant.
|
||||
|
||||
---
|
||||
## 매 핵심
|
||||
|
||||
생성형 AI는 텍스트 프롬프트나 기존 이미지를 입력받아 새로운 시각적 결과물로 변환하는 인공지능 기술이다 [1], [2]. 대규모 데이터셋을 통해 형태, 색상, 스타일, 맥락 등의 패턴을 학습하며, 적대적 생성 신경망(GAN), 변이형 오토인코더(VAE), 확산 모델(Diffusion Models) 등의 아키텍처를 기반으로 작동한다 [2], [3], [4], [5]. 사용자의 추상적인 언어적 의도를 기계가 이해할 수 있는 구체적인 시각적 기호로 번역하는 '프롬프트 작성(Prompt Engineering)'의 정교함에 따라 결과물의 품질이 결정된다 [6].
|
||||
### 매 modality
|
||||
- **Text**: GPT, Claude, Gemini, Llama.
|
||||
- **Image**: Stable Diffusion, Midjourney, DALL-E 3, FLUX, Imagen 3.
|
||||
- **Video**: Sora (OpenAI), Veo (Google), Runway, Pika.
|
||||
- **Audio / Music**: Suno, Udio, MusicLM.
|
||||
- **Speech**: ElevenLabs, OpenAI TTS, Whisper (STT).
|
||||
- **3D**: Meshy, Tripo, Luma Genie.
|
||||
- **Code**: Codex, CodeLlama, Claude.
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
- **추출된 패턴:** 입력(prompt)의 문맥을 이해하고 확률적으로 가장 자연스러운 다음 요소(Next Token/Pixel)를 예측하여 전체 결과물을 완성하는 생성 패턴.
|
||||
- **세부 내용:**
|
||||
- **[[Large Language Models (LLM)|Large Language Models (LLM)]]:** 트랜스포머 아키텍처를 기반으로 텍스트의 문맥과 지식을 학습하여 대화, 요약, 번역 수행.
|
||||
- **Diffusion Models:** 노이즈로부터 점진적으로 이미지를 복원해가는 과정을 통해 고품질 이미지 및 비디오 생성.
|
||||
- **Multimodal AI:** 텍스트, 이미지, 음성 등 서로 다른 형태의 데이터를 통합적으로 이해하고 생성.
|
||||
- **Zero-shot/Few-shot Learning:** 별도의 추가 학습 없이 프롬프트만으로 새로운 태스크를 수행하는 능력.
|
||||
### 매 architecture
|
||||
- **Transformer** (text, code).
|
||||
- **Diffusion** (image, video, audio).
|
||||
- **Latent diffusion** (SD).
|
||||
- **DiT** (Diffusion Transformer): SD3, Sora, FLUX.
|
||||
- **Mamba / SSM** (emerging).
|
||||
|
||||
---
|
||||
### 매 modern (2025-2026)
|
||||
- **Frontier**: Claude Opus 4.7, GPT-5, Gemini 2 Ultra.
|
||||
- **Open**: Llama 3.x, Qwen 2.5, FLUX.
|
||||
- **Multimodal**: Sora, Veo 2, Genie 2.
|
||||
- **Reasoning**: o1, o3, R1.
|
||||
|
||||
**프롬프트의 계층적 구조**
|
||||
고품질의 이미지를 생성하는 프롬프트는 무작위 단어의 나열이 아니라, 인공지능의 신경망 구조에 부합하는 계층적 구조를 가진다 [6]. 이상적인 프롬프트는 약 15~50단어(1~2문장) 분량으로 구성되며, 주체(Subject), 환경 및 맥락(Context), 스타일 및 매체(Style/Medium), 조명(Lighting), 카메라 및 기술적 매개변수(Technical Details)의 요소를 순차적으로 포함하는 것이 효과적이다 [7], [8], [9], [6].
|
||||
### 매 응용
|
||||
1. **Productivity**: writing, coding.
|
||||
2. **Creative**: art, music, video.
|
||||
3. **Customer service**: chatbot.
|
||||
4. **Education**: tutor.
|
||||
5. **Marketing**: ad copy, image.
|
||||
6. **Research**: literature review.
|
||||
7. **Game**: NPC, content.
|
||||
|
||||
**주체 묘사와 긍정형 지시**
|
||||
이미지의 중심이 되는 주체는 모호한 명사보다 상황적 맥락이 포함된 구체적인 형용사로 묘사해야 한다 [10], [11]. 예를 들어 "등대"보다는 "폭풍우가 치는 바위 절벽 위의 풍화된 등대"가 모델이 학습한 특정 데이터 영역을 명확히 자극한다 [12], [11]. 또한 생성형 AI 모델들은 "없는(without)"이나 "아닌(no)"과 같은 부정형 지시어를 잘 이해하지 못하고 오히려 해당 객체를 생성하는 경향이 있으므로, 모든 지시는 긍정형으로 작성하는 것이 필수적이다 [13], [14], [15], [16].
|
||||
### 매 risk
|
||||
- **Hallucination**.
|
||||
- **Copyright** (training, output).
|
||||
- **Misinformation** (deepfake).
|
||||
- **Bias**.
|
||||
- **Energy use**.
|
||||
- **Job displacement**.
|
||||
|
||||
**조명 및 카메라 구도의 정밀 제어**
|
||||
조명과 구도는 이미지의 깊이와 감정을 결정짓는 핵심이다. "골든 아워(Golden hour)", "볼륨메트릭 라이팅(Volumetric lighting)", "림 라이팅(Rim lighting)"과 같은 명확한 조명 키워드를 명시하지 않으면, AI는 평면적이고 밋밋한 기본 조명으로 빈 곳을 채우게 된다 [17], [18], [19], [20], [21]. 더 사실적인 묘사를 위해 "85mm 렌즈", "얕은 피사계 심도", "로우 앵글" 등 카메라의 사양과 구도 용어를 명시하면 피사체가 한층 강조된다 [17], [22], [23].
|
||||
## 💻 패턴
|
||||
|
||||
**플랫폼별 특화 프롬프트 엔지니어링 패러다임**
|
||||
각 AI 모델은 고유의 아키텍처를 가지므로, 그에 맞는 전략적 접근이 필요하다 [24].
|
||||
* **미드저니(Midjourney):** `/imagine` 명령어로 시작하며 시네마틱한 미학 제어에 뛰어나다 [25], [26]. 프롬프트 끝에 붙는 매개변수를 활용하여 종횡비(`--ar`), 예술적 강도(`--stylize`), 그리고 시각적 일관성을 유지하는 스타일 참조(`--sref`), 캐릭터 참조(`--cref`), 옴니 참조(`--oref`) 등의 수치적 제어가 필수적이다 [27], [28], [29], [30], [31], [26].
|
||||
* **DALL-E 3:** 쉼표로 나열된 키워드보다 자연어 문장을 선호한다 [32]. 사용자의 짧은 프롬프트를 고도로 묘사적인 합성 캡션으로 자동 확장하여 복잡한 객체의 관계와 배경 요소를 정확히 반영하는 데 강점이 있다 [33], [34], [35], [16].
|
||||
* **스테이블 디퓨전(Stable Diffusion):** 쉼표로 구분된 태그와 가중치 문법(예: `(word:1.5)`)을 통해 단어별 중요도를 세밀하게 조작할 수 있다 [36], [37], [38], [39]. 특히 원치 않는 기형적인 구조나 저화질 요소를 제거하기 위해 '부정 프롬프트(Negative Prompt)'를 적극 활용하며, 문제를 구체적으로 진단하여 "추가된 손가락", "흐릿함" 등을 명시적으로 차단하는 제어 방식이 핵심이다 [40], [41], [42], [39].
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & Updates)
|
||||
- **과거 데이터와의 충돌:** 단순한 패턴 반복(RNN/[[LSTM|LSTM]]) 수준에서, 거대 모델과 주의 집중(Attention) 메커니즘을 통한 창의적 결과물 도출 단계로 도약.
|
||||
- **정책 변화:** Antigravity 프로젝트는 생성형 AI를 활용하여 위키 문서 보강, 코드 자동 생성, 게임 에셋 제작 등 워크플로우 전반의 생산성을 극대화함.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- [[Transformer-Architecture|Transformer-Architecture]], [[LLM|LLM]], [[Diffusion-Models|Diffusion-Models]], [[Prompt-Engineering|Prompt-Engineering]]
|
||||
- **Raw Source:** 10_Wiki/Topics/AI/Generative-AI.md
|
||||
|
||||
---
|
||||
|
||||
- **Related Topics:** [[Prompt Engineering|Prompt Engineering]], [[Diffusion Models|Diffusion Models]], [[Negative Prompts|Negative Prompts]], [[Style Reference|Style Reference]], [[Midjourney|Midjourney]], [[DALL-E 3|DALL-E 3]], [[Stable Diffusion|Stable Diffusion]]
|
||||
- **Projects/Contexts:** [[AI Image Generation Workflow|AI Image Generation Workflow]], [[Agentic Creative|Agentic Creative]]
|
||||
- **Contradictions/Notes:** 프롬프트 작성 시, 챗GPT(DALL-E 3)는 시적이고 장황하게 프롬프트를 확장하려는 경향이 있으나, 실제 이미지 생성 시스템은 명확하고 간결한 시각적 지시어(Graphic-oriented language)에 가장 잘 반응하므로 이러한 과도한 수사는 오히려 방해가 될 수 있다는 점이 지적된다 [43], [44]. 또한 스테이블 디퓨전은 강력한 부정 프롬프트(Negative Prompt)를 통해 원치 않는 요소를 훌륭하게 통제하지만, DALL-E는 부정어를 이해하지 못해 긍정문으로만 우회하여 표현해야 하는 등 모델 간의 언어 처리 방식에 극명한 차이가 존재한다 [13], [40], [16].
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-30*
|
||||
|
||||
## 🤖 LLM 활용 힌트 (How to Use This Knowledge)
|
||||
|
||||
**언제 이 지식을 쓰는가:**
|
||||
- *(TODO)*
|
||||
|
||||
**언제 쓰면 안 되는가:**
|
||||
- *(TODO)*
|
||||
|
||||
## 🧪 검증 상태 (Validation)
|
||||
|
||||
- **정보 상태:** needs_review
|
||||
- **출처 신뢰도:** A
|
||||
- **검토 이유:** *(P-Reinforce Phase 1 자동 정규화. 본문 검증 필요.)*
|
||||
|
||||
## 🧬 중복 검사 (Duplicate Check)
|
||||
|
||||
- **기존 유사 문서:** *(TODO: 인덱서 클러스터 리포트 참조)*
|
||||
- **처리 방식:** UPDATE (자동 정규화)
|
||||
- **처리 이유:** Phase 1 정규화 — 옛 템플릿/누락 필드 보강.
|
||||
|
||||
## 🕓 변경 이력 (Changelog)
|
||||
|
||||
| 날짜 | 변경 내용 | 처리 방식 | 신뢰도 |
|
||||
|------|-----------|-----------|--------|
|
||||
| 2026-05-08 | P-Reinforce Phase 1 정규화 (frontmatter + 헤더 표준화) | UPDATE | A |
|
||||
|
||||
## 💻 코드 패턴 (Code Patterns)
|
||||
|
||||
**패턴 1:** *(TODO: 이 프로젝트 컨벤션 반영한 구조 스켈레톤)*
|
||||
|
||||
```text
|
||||
# TODO
|
||||
### Text generation (Claude)
|
||||
```python
|
||||
from anthropic import Anthropic
|
||||
client = Anthropic()
|
||||
r = client.messages.create(model='claude-opus-4-7', max_tokens=1024,
|
||||
messages=[{'role': 'user', 'content': 'Write a haiku about AI'}])
|
||||
```
|
||||
|
||||
## 🤔 의사결정 기준 (Decision Criteria)
|
||||
### Image (Stable Diffusion)
|
||||
```python
|
||||
from diffusers import StableDiffusionXLPipeline
|
||||
pipe = StableDiffusionXLPipeline.from_pretrained('stabilityai/sdxl-turbo', torch_dtype=torch.float16).to('cuda')
|
||||
img = pipe('a sunset over mountains', num_inference_steps=4).images[0]
|
||||
```
|
||||
|
||||
**선택 A를 써야 할 때:**
|
||||
- *(TODO)*
|
||||
### FLUX (modern)
|
||||
```python
|
||||
from diffusers import FluxPipeline
|
||||
pipe = FluxPipeline.from_pretrained('black-forest-labs/FLUX.1-schnell', torch_dtype=torch.bfloat16).to('cuda')
|
||||
img = pipe('photorealistic forest', num_inference_steps=4).images[0]
|
||||
```
|
||||
|
||||
**선택 B를 써야 할 때:**
|
||||
- *(TODO)*
|
||||
### Video (Sora-like)
|
||||
```python
|
||||
# 매 OpenAI Sora API (when available)
|
||||
client.videos.generate(model='sora-1', prompt='a cat playing piano', duration_s=10)
|
||||
```
|
||||
|
||||
**기본값:**
|
||||
> *(TODO)*
|
||||
### Audio (Suno-like)
|
||||
```python
|
||||
# 매 commercial APIs
|
||||
suno_client.generate_song(prompt='upbeat synth-pop', duration_s=180)
|
||||
```
|
||||
|
||||
## ❌ 안티패턴 (Anti-Patterns)
|
||||
### TTS (ElevenLabs)
|
||||
```python
|
||||
import elevenlabs
|
||||
audio = elevenlabs.generate(text='Hello world', voice='Adam', model='eleven_multilingual_v2')
|
||||
```
|
||||
|
||||
- **[안티패턴]:** *(TODO: 무엇을 하면 안 되는가 + 이유 + 대신 무엇을)*
|
||||
### 3D (Tripo / Meshy)
|
||||
```python
|
||||
# 매 image → 3D model
|
||||
mesh = tripo_client.image_to_mesh('input.png')
|
||||
mesh.save('output.glb')
|
||||
```
|
||||
|
||||
### Multimodal (Claude vision)
|
||||
```python
|
||||
client.messages.create(model='claude-opus-4-7', max_tokens=1024,
|
||||
messages=[{'role': 'user', 'content': [
|
||||
{'type': 'image', 'source': {'type': 'base64', 'media_type': 'image/jpeg', 'data': img_b64}},
|
||||
{'type': 'text', 'text': 'Describe this image'},
|
||||
]}])
|
||||
```
|
||||
|
||||
### Agent (multi-step)
|
||||
```python
|
||||
def agent_loop(goal, tools, max_steps=10):
|
||||
history = [{'role': 'user', 'content': goal}]
|
||||
for _ in range(max_steps):
|
||||
r = client.messages.create(model='claude-opus-4-7', tools=tools, messages=history)
|
||||
if r.stop_reason == 'end_turn': return r
|
||||
# 매 execute tool, append result
|
||||
```
|
||||
|
||||
### Watermark (C2PA)
|
||||
```python
|
||||
from c2pa import Signer
|
||||
Signer(cert).sign('output.png', claims={
|
||||
'generator': 'AI', 'model': 'flux-1-schnell',
|
||||
})
|
||||
```
|
||||
|
||||
### Prompt engineering
|
||||
```python
|
||||
def well_formed_prompt(task, context, examples=[], format='json'):
|
||||
return f"""## Context
|
||||
{context}
|
||||
|
||||
## Examples
|
||||
{format_examples(examples)}
|
||||
|
||||
## Task
|
||||
{task}
|
||||
|
||||
## Output format
|
||||
{format}"""
|
||||
```
|
||||
|
||||
### RAG-augmented gen
|
||||
```python
|
||||
def rag_generate(question, retriever, llm):
|
||||
docs = retriever.retrieve(question, k=5)
|
||||
context = '\n'.join(d.text for d in docs)
|
||||
return llm.generate(f"Context:\n{context}\n\nQuestion: {question}\nAnswer with citations:")
|
||||
```
|
||||
|
||||
### Fine-tune (LoRA)
|
||||
```python
|
||||
from peft import LoraConfig, get_peft_model
|
||||
config = LoraConfig(r=16, lora_alpha=32, target_modules=['q_proj', 'v_proj'])
|
||||
model = get_peft_model(base_model, config)
|
||||
# 매 train on task data
|
||||
```
|
||||
|
||||
### Generation cost monitoring
|
||||
```python
|
||||
def cost_track(usage):
|
||||
pricing = {'claude-opus-4-7': {'in': 15/1e6, 'out': 75/1e6}}
|
||||
cost = usage.input_tokens * pricing[model]['in'] + usage.output_tokens * pricing[model]['out']
|
||||
return cost
|
||||
```
|
||||
|
||||
### Eval (LLM-as-judge)
|
||||
```python
|
||||
def llm_judge(output, criteria):
|
||||
prompt = f'Rate {criteria}. Response: {output}. Output JSON: score 0-10.'
|
||||
return json.loads(judge.generate(prompt))['score']
|
||||
```
|
||||
|
||||
### Brand safety
|
||||
```python
|
||||
def brand_safe(output):
|
||||
return classify_toxicity(output) < 0.05 and not has_competitor(output) and has_brand_voice(output)
|
||||
```
|
||||
|
||||
## 매 결정 기준
|
||||
| 상황 | Tool |
|
||||
|---|---|
|
||||
| Best text quality | Claude Opus 4.7 / GPT-5 |
|
||||
| Cost-aware text | Claude Sonnet / GPT-4o-mini |
|
||||
| Best image | FLUX / Midjourney v7 |
|
||||
| Fast image | SDXL Turbo / FLUX schnell |
|
||||
| Video | Sora / Veo 2 |
|
||||
| Audio | Suno / ElevenLabs |
|
||||
| Local | Llama 3.x + SDXL local |
|
||||
| Code | Claude / Codex |
|
||||
|
||||
**기본값**: 매 frontier API + 매 RAG + 매 prompt eng + 매 LLM-judge eval + 매 brand safety + 매 cost track.
|
||||
|
||||
## 🔗 Graph
|
||||
- 부모: [[AI]] · [[Foundation-Models]]
|
||||
- 변형: [[LLM]] · [[Diffusion-Models]] · [[Multimodal-LLM]]
|
||||
- 응용: [[Generative-Adversarial-Networks]] · [[Stable-Diffusion]] · [[Sora]]
|
||||
- Adjacent: [[RAG]] · [[Fine-tuning]] · [[Prompt-Engineering]] · [[Ethics & AI]]
|
||||
|
||||
## 🤖 LLM 활용
|
||||
**언제**: 매 모든 productivity, creative, customer-facing.
|
||||
**언제 X**: 매 deterministic compute. 매 IP-strict (with care).
|
||||
|
||||
## ❌ 안티패턴
|
||||
- **Hallucination 의 ship**: 매 verify.
|
||||
- **No watermark**: 매 misinformation.
|
||||
- **No copyright check**: 매 legal risk.
|
||||
- **Single model lock-in**: 매 API down → outage.
|
||||
- **No cost monitoring**: 매 bill shock.
|
||||
|
||||
## 🧪 검증 / 중복
|
||||
- Verified (Anthropic, OpenAI, Stability, Google docs).
|
||||
- 신뢰도 A.
|
||||
|
||||
## 🕓 Changelog
|
||||
| 날짜 | 변경 |
|
||||
|---|---|
|
||||
| 2026-04-20 | Auto |
|
||||
| 2026-05-08 | Phase 1 |
|
||||
| 2026-05-10 | Manual cleanup — modalities + 매 text / image / video / audio / 3D / agent code |
|
||||
|
||||
Reference in New Issue
Block a user