본문 바로가기
C.W.K.
Stream
Lesson 09 of 10 · published

고전 ML, Deep Learning, LLM, 그리고 RAG

~30 min · framing, deep-learning, llm

Level 0Scout
0 XP0/48 lessons0/11 achievements
0/120 XP to next level120 XP to go0% complete

입력의 모양이 도구를 고른다

고전 기계학습의 선형 모델, 결정나무, 그래디언트 부스팅은 표 형태 데이터와 운영 점수 시스템에 강해. 딥러닝은 이미지, 소리, 긴 텍스트처럼 사람이 유용한 특성을 손으로 만들기 어려운 입력에서 빛나고. 대규모 언어 모델은 비정형 텍스트를 읽고 지시를 따르거나 새 문장을 만드는 일에 능해. 검색 증강 생성, 즉 RAG는 언어 모델 앞에 검색 단계를 두어 답의 근거를 모델의 고정된 기억이 아니라 지정한 문서 모음에서 찾게 해. 이름의 유행보다 입력, 정답 자료, 허용 오차가 선택을 결정해야 해.

표 형태 데이터에서는 여전히 나무가 세다

기업의 점수 계산, 순위, 위험 예측에는 XGBoost, LightGBM, CatBoost 같은 그래디언트 부스팅 결정나무가 강력한 기본값이야. 서로 다른 단위의 열, 비선형 경계, 열 사이 상호작용을 적은 계산과 비교적 단순한 운영 구조로 다뤄. 신경망이 원리상 못 하는 일이라서가 아니라, 같은 품질에 도달하려면 더 많은 자료와 튜닝, 계산, 제공 장치가 필요한 경우가 많기 때문이야. 반대로 입력이 이미지, 파형, 토큰열처럼 자연스럽게 텐서로 표현되거나 다른 모델에 넣을 임베딩이 필요하면 딥러닝의 장점이 커져.

언어 모델이 맞는 자리

정답 자료가 거의 없고, 프로그램 규칙을 짜는 것보다 좋은 지시문과 예시 몇 개를 쓰는 편이 쉬운 텍스트 작업이라면 언어 모델을 시험할 가치가 있어. 몇 달간 정답을 모아 98%에 도달하는 것보다 즉시 95%를 얻는 편이 사업상 나을 수도 있지. 하지만 숫자 열을 바탕으로 정밀한 점수를 반복 계산하거나, 그럴듯한 오답 한 번의 비용이 큰 업무에는 위험한 기본값이야. 언어 모델 출력은 확률적인 문장이지 검증된 사실이 아니므로 평가 자료, 출처 표시, 거부 조건을 따로 설계해야 해.

RAG가 해결하는 것과 못 하는 것

RAG는 최신 사내 문서를 검색해 근거를 제공하고 자료 갱신 때 모델을 다시 학습하지 않아도 된다는 장점이 있어. 그렇다고 검색 실패, 낡은 문서, 권한 누출, 근거와 답의 불일치가 사라지진 않아. 검색 적중률과 최종 답 품질을 따로 측정하고, 문서 접근 권한을 검색 단계부터 지켜야 해. 어떤 접근법이든 가장 단순한 기준선과 같은 평가 집합에서 비교해야 비싼 도구가 실제로 값을 하는지 알 수 있어. 정확도 차이가 작다면 응답 시간, 단가, 개인정보, 재현성, 담당자의 숙련도까지 포함해 선택해. 자료와 비용이 달라질 때 같은 평가표로 다시 비교해야 해. 도구가 바뀌어도 비교 질문은 그대로야.

Code

자료 한 행의 모양에 맞춰 도구 고르기·python
def pick_approach(row):
    if row.input_kind == "tabular" and row.label_count > 1000:
        return "gradient_boosted_trees"
    if row.input_kind in {"image", "audio", "raw_text"}:
        return "deep_learning"
    if row.input_kind == "unstructured_text" and row.labels_scarce:
        return "llm_few_shot"
    if row.needs_facts_from_corpus:
        return "rag"
    return "clarify_problem"
언어 모델 전에 세울 고전 기계학습 기준선·python
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import Pipeline

tfidf_lr = Pipeline([
    ("tfidf", TfidfVectorizer(min_df=5, ngram_range=(1, 2))),
    ("clf", LogisticRegression(max_iter=1000)),
]).fit(X_text_train, y_train)

External links

Exercise

팀이 언어 모델로 풀고 있는 문제 세 개를 골라. 각각에 TF-IDF와 선형 모델, 그래디언트 부스팅 결정나무, 명시적 규칙 중 하나로 단순한 기준선을 설계해. 현재 해법과의 품질 차이와 운영 비용을 비교해 언어 모델이 값을 하는지 판단해.

Progress

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

댓글 0

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

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