C.W.K.
Stream
Lesson 07 of 07 · published

결정 플로차트 & 라이선스 현실

~22 min · decision-tree, licensing, evaluation, legal

Level 0관찰자
0 XP0/43 lessons0/11 achievements
0/120 XP to next level120 XP to go0% complete

결정 트리, 위에서부터

  1. 강한 프롬프트 베이스라인 만들었어? 안 만들었으면 먼저 그걸 해. 대표 입력 최소 50개로 측정.
  2. 작업이 새로운 / 외부 지식 필요해? 그래 — RAG. 여기서 멈춰.
  3. 일관된 행동 / 포맷 / 스타일 필요해? 아냐 — 프롬프트랑 few-shot 계속 반복. 여기서 멈춰.
  4. 고품질 예제 50개 이상 있어? 없으면 먼저 수집 / 합성(Track 2). 그때까지 멈춰.
  5. 위 다 그래? 파인튜닝. 속도면 OpenAI managed(Track 3), 컨트롤이면 오픈소스 PEFT(Track 4~5).

학습 전 평가 게이트

  • 성공 지표 정의됨. 최대 3개.
  • 베이스 모델을 정성껏 프롬프팅해서 테스트. 베이스라인 숫자 기록.
  • Few-shot 예제로 테스트. 3~5개 예제 추가가 갭을 닫아주는 경우 많아; 그러면 파인튜닝 X.
  • 갭 문서화. "베이스라인 78%, few-shot 84%, 목표 95% → 닫아야 할 11점." 이제 브리프 있어.

라이선스 현실 (2025~2026)

오픈 웨이트가 완전 무제한이라는 뜻 아냐. 출시 전에 라이선스 읽어.

패밀리라이선스실무 상업 현실
Llama 3 / 4 (Meta)Llama Community License700M MAU 미만 상업 사용 무료. 그 이상이면 Meta에 연락.
Mistral / MixtralApache 2.0완전 오픈. 제약 없음.
Gemma 2 / 3 (Google)Gemma Terms관대하지만 유해 콘텐츠 정책 있음. Gemma 4는 Apache 2.0으로 이동.
Qwen 3 (Alibaba)Apache 2.0완전 오픈. 제약 없음.
Phi (Microsoft)MIT완전 오픈. 제약 없음.

그리고 물어봐: 학습 데이터가 이 용도로 라이선스 됐어? 프라이버시 이슈는? 모델이 추론 시점에 저작권 자료 재현할 수 있어? 파인튜닝이 데이터 권리를 마법처럼 세탁해주지 않아.

Code

A baseline-vs-few-shot evaluation harness·python
import json
from openai import OpenAI

client = OpenAI()

def run(model: str, system: str, user: str) -> str:
    r = client.chat.completions.create(
        model=model,
        messages=[
            {"role": "system", "content": system},
            {"role": "user", "content": user},
        ],
        temperature=0,
    )
    return r.choices[0].message.content

def score(test_set: list, system: str) -> float:
    correct = 0
    for ex in test_set:
        out = run("gpt-4.1-mini", system, ex["input"])
        if out.strip().lower() == ex["expected"].strip().lower():
            correct += 1
    return correct / len(test_set)

with open("test.jsonl") as f:
    tests = [json.loads(line) for line in f]

base_system = "You classify support tickets into [billing, technical, feature_request]."
fewshot_system = base_system + (
    "\n\nExamples:\n"
    "- 'My card was charged twice' -> billing\n"
    "- 'Login button is broken' -> technical\n"
    "- 'Please add dark mode' -> feature_request"
)

print(f"Baseline: {score(tests, base_system):.1%}")
print(f"Few-shot: {score(tests, fewshot_system):.1%}")
# If few-shot already hits the target, do NOT fine-tune.

External links

Exercise

실제 후보 작업을 5단계 결정 트리에 소리 내서 통과시켜. 각 단계마다 추측이 아니라 증거 있는 문자 그대로의 답 적어. 어느 단계든 증거 없이 못 답하면 멈추고 그 증거부터 모아. 대부분 프로젝트는 단계 1(베이스라인 없음) 또는 단계 4(실제 데이터 없음)에서 실패해 — 네 프로젝트의 진짜 블로커 찾아.

Progress

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

댓글 0

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

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