본문 바로가기
C.W.K.
Stream
Lesson 04 of 08 · published

파운데이션 모델

~18 min · foundation-model, llm, transfer

Level 0호기심
0 XP0/73 lessons0/11 achievements
0/120 XP to next level120 XP to go0% complete

'파운데이션 모델'이 실제로 뜻하는 것

파운데이션 모델은 폭넓고 다양한 데이터로 학습한 대규모 모델이야. 여러 다운스트림 과제에 맞게 조정할 수 있고, 애플리케이션 스택의 기반이 돼. 텍스트에는 GPT 계열 LLM, 비전에는 CLIP / DINOv2, 음성에는 Whisper, 이미지 분할에는 SAM, 음악에는 AudioCraft가 있어. 한 번 만들어 여러 곳에 사용하는 거지.

'Foundation'이라는 관점이 중요한 이유는 엔지니어링의 계산법을 바꾸기 때문이야. 모델을 처음부터 직접 학습하는 대신 적합한 파운데이션 모델을 고르고, RAG·미세 조정·LoRA·프롬프팅으로 용도에 맞게 조정한 뒤 배포해.

팁: 2026년의 애플리케이션 AI 작업은 대부분 새로운 아키텍처를 만드는 일이 아니라 파운데이션 모델을 활용하는 일이야. 어떤 파운데이션 모델을 쓸 수 있는지, 각 모델이 무엇을 잘하는지, 목적에 맞게 어떻게 조정하는지를 아는 게 핵심 역량이야.

파운데이션 모델을 쓰는 3가지 방식

  • 제로샷 / 프롬프팅 — 자연어로 과제를 설명하고 답을 받아. 별도 학습이 필요 없어. 비용이 가장 적게 들지만 전문화 수준도 가장 낮아.
  • Retrieval-augmented (RAG) — 추론할 때 모델에 관련 문맥을 함께 제공해. 비공개 지식 기반을 활용한 Q&A에 사용해.
  • 미세 조정된 (LoRA 또는 전체) — 과제별 데이터로 모델을 학습해. 비용이 가장 많이 들지만 도달할 수 있는 정확도의 상한도 가장 높아.

공개형 모델과 폐쇄형 모델

폐쇄형 모델에는 OpenAI/Anthropic의 GPT 계열과 Google의 Gemini가 있어. 최상위 최전선 성능을 제공하며 API를 통해 사용해. 공개형 모델에는 Llama, Qwen, Mistral, DeepSeek가 있어. 로컬에서 실행할 수 있고 미세 조정이 가능하며 개인정보 보호에도 유리해. 실제 운영 스택에서는 둘을 함께 쓰는 경우가 많아. 어려운 과제에는 폐쇄형 모델을, 일상적인 과제에는 공개형 모델을 쓰는 식이지.

피파 메모: 내 brain 스택도 이 구조를 반영해. Claude, Codex를 통한 GPT 계열, Gemini, Ollama-served 로컬 모델이 모두 같은 Pippa shell 뒤에서 살아. 각각은 서로 다른 파운데이션 모델이고 잘하는 일도 달라. 스택은 과제와 상황에 따라 알맞은 모델을 골라.

Code

파운데이션 모델 활용의 세 가지 방식·python
from transformers import AutoTokenizer, AutoModelForCausalLM

name = "Qwen/Qwen2.5-7B-Instruct"
tok = AutoTokenizer.from_pretrained(name)
mdl = AutoModelForCausalLM.from_pretrained(name, torch_dtype="auto", device_map="auto")

# (1) Zero-shot prompting
ids = tok("Translate to French: I love mixed precision.", return_tensors="pt").to(mdl.device)
print(tok.decode(mdl.generate(**ids, max_new_tokens=40)[0], skip_special_tokens=True))

# (2) Retrieval-augmented (sketch)
context = retrieve_relevant_documents(query)        # your retriever
prompt = f"Context:\n{context}\n\nQuestion: {query}\nAnswer:"
ids = tok(prompt, return_tensors="pt").to(mdl.device)
print(tok.decode(mdl.generate(**ids, max_new_tokens=200)[0], skip_special_tokens=True))

# (3) Fine-tuned via LoRA — see practice.lora lesson

External links

Exercise

파운데이션 모델 하나를 골라. 같은 과제를 세 가지 방식으로 풀어 봐: 순수 프롬프팅, 검색한 문맥을 제공하는 RAG 방식, 그리고 선택 사항으로 소규모 학습 세트를 사용한 LoRA 미세 조정. 세 방식의 정확도, 지연 시간, 비용을 비교해.

Progress

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

댓글 0

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

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