💡 프로젝트 개요
👉 LLM(대형 언어 모델)을 처음부터 훈련하는 것은 비용이 많이 든다.
➡️ 이를 해결하기 위해 전이 학습(Transfer Learning)을 사용한다.
➡️ 기존의 Pretrained 모델을 베이스로 사용하고, 특정 작업(Task)을 위해 추가로 파인 튜닝하는 방식이다.
이번 프로젝트에서는 제품 설명을 기반으로 가격을 예측하는 모델을 구축한다.
일반적으로 사용되는 회귀 모델 대신 Frontier 모델을 사용하여 더 뛰어난 성능을 목표로 한다. 🎯
🔍 데이터 분석 및 정제 (Data Exploration & Scrubbing)
파인튜닝할 데이터는 어디서 구할까?
회사 데이터 (Proprietary data) 🏢
Kaggle 📊
Hugging Face 🤗
Synthetic data (Frontier 모델로 생성한 데이터) 🤖
Scale.com 같은 전문 데이터 제공 업체
AI-Hub (한국 AI 데이터 허브) 🇰🇷
➡️ 이번 강의에서는 Hugging Face의 아마존 리뷰 데이터셋을 사용한다.
🧹 데이터 탐색 및 정제 과정
데이터 살펴보기 (Investigate) 🔍
데이터의 필드는 무엇이 있는가?
데이터가 결측치 없이 잘 채워져 있는가? (Well populated? Poorly populated?)
데이터 품질 문제는 무엇인가?
⚠️ 주요 데이터 품질 문제:
결측치(Missing data): 데이터의 일부 값이 누락 🕳️
이상치(Outliers): 비정상적으로 크거나 작은 값 📈📉
중복 데이터(Duplicate data): 같은 데이터가 여러 번 기록 🔁
불일치(Inconsistency): 서로 다른 데이터 출처나 필드 간의 불일치 ❌
- 예: 출생일이 서로 다른 두 개의 기록이 존재
부정확성(Inaccuracy): 데이터가 사실과 다름 ⚡
형식 불일치(Format Issues): 다양한 형식이 섞여 있음 🗂️
- 예: 날짜가
YYYY-MM-DD
와DD/MM/YYYY
로 혼합되어 있음
- 예: 날짜가
정확성 부족(Lack of precision): 구체적인 정보 부족 🏙️
- 예: 위치 정보가 '대한민국'으로만 기록되어 있고, 도시 정보가 없음
비일관된 범주(Categorical Inconsistency): 같은 범주가 다르게 기록됨 🙃
- 예: "남자", "Male", "M"처럼 같은 값이 다르게 기록됨
데이터 파싱 (Parsing) 📂
데이터를 JSON, CSV, XML 등의 형식에서 리스트, 딕셔너리, 데이터프레임으로 변환한다.
데이터를 의미 있는 구조로 바꿔 가공 및 분석이 쉽도록 준비한다.
데이터 시각화 (Visualizing) 📊
가격 분포와 같은 데이터의 범위를 시각화해 데이터의 왜곡을 확인한다.
히스토그램 등을 사용해 데이터의 분포를 쉽게 파악할 수 있다.
데이터에 대한 직관을 높이는 중요한 단계이다.
데이터 품질 평가 (Assessment of Data Quality)
데이터의 한계를 파악하고 해결 방안을 마련한다.
품질이 낮은 데이터는 제외하거나 균형을 맞추는 작업을 진행한다.
큐레이션 (Curating) 🎛️
훈련에 적합한 데이터셋을 구축한다.
예를 들어, 25%의 데이터가 품질이 낮다면 이를 제외하고, 나머지 75%로 작업한다.
저장 및 업로드 (Saving & Uploading) ⬆️
- 최종적으로 Hugging Face Hub에 업로드하여 훈련 준비를 마친다.
📈 모델 성능 평가 (Performance Evaluation)
⚙️ 모델 중심 지표 (Model-Centric Metrics)
목적: 모델의 수학적 정확성을 평가한다(수치적 측면).
사용자: 데이터 과학자 및 엔지니어
특징: 훈련 및 검증 데이터에서의 성능을 측정한다.
주요 지표
학습 및 검증 손실 (Training & Validation Loss)
검증 손실(Validation Loss):
훈련 데이터셋에서 모델의 성능을 평가하는 지표이다.
훈련이 진행될수록 손실 값이 점점 감소해야 한다.
훈련 손실(Training Loss):
훈련 데이터와는 별도로, 검증 데이터셋에서 모델의 성능을 평가한다.
과적합(overfitting)을 방지하는 데 중요한 역할을 한다.
RMSE-L (Root Mean Squared Log Error)
절대 오차와 상대 오차를 모두 반영하는 지표이다.
고가 제품과 저가 제품의 오차를 균형 있게 평가한다.
MSE (Mean Squared Error, 평균 제곱 오차)
예측값과 실제값의 차이를 제곱해 평균을 구한 값이다.
큰 오차에 더 민감하여, 고가 제품의 오차가 더 크게 반영된다.
이 프로젝트에서는 고가 제품 위주로 편향될 가능성이 있다.
💼 비즈니스 중심 지표 (Business-Centric Metrics)
목적: 비즈니스 목표와 성과를 평가한다.
사용자: CEO, 프로젝트 매니저 등
특징:
모델의 비즈니스 가치를 직접 평가한다.
궁극적으로 프로젝트의 성공 여부를 결정하는 데 사용된다.
인간이 직관적으로 이해하기 쉽고, 실제 사용 사례에 기반한다.
수익성, 비용 절감, 사용자 경험 등과 연관된 지표이다.
주요 지표
Average Absolute Price Difference (평균 절대 오차)
모델이 예측한 가격과 실제 가격 간의 차이이다.
가장 직관적인 지표로, 비즈니스 관점에서 매우 중요하다.
예:
- 모델이 냉장고 가격을 $100으로 예측했는데 실제 가격이 $120이면, 오차는 $20이다.
비즈니스에서 자주 사용되지만, 고가 제품과 저가 제품 간 형평성 문제가 있을 수 있다.
- 예: $800 제품을 $850로 예측한 경우, $50 차이는 심각하지 않지만, $10 제품을 $12로 예측하면 20% 차이로 비율적으로는 상당히 크다.
Percentage Price Difference (퍼센트 가격 차이)
비율 기반 지표로, 고가 제품에 더 적합하다.
하지만 저가 제품에서는 오차가 더 크게 느껴질 수 있다.
예:
$10 제품을 $12로 예측했다면 20% 오차
$800 제품을 $850로 예측했다면 6.25% 오차
Hybrid Metric (복합 지표 – 절대 + 퍼센트 오차 결합)
두 기준 중 하나라도 충족하면 "양호한 예측"으로 간주한다.
고가 및 저가 제품 모두 공정하게 평가할 수 있는 지표.
예:
절대 오차가 $40 이하
또는 20% 이내의 오차
Hit Rate (정확도 측정 비율)
모델이 얼마나 자주 허용 오차 범위 내에서 예측했는지 측정한다.
예:
- 전체 예측 중 85%가 허용 범위 내에 있다면, hit rate는 85%이다.
📊 지표 요약 - 모델 중심 지표
지표 | 설명 | 장점 | 단점 |
Training Loss | 훈련 데이터에 대한 손실 값 | 훈련 과정에서 모델 성능 추적 가능 | 훈련 데이터에만 의존 |
Validation Loss | 검증 데이터에서의 손실 값 | 과적합 여부 판단 가능 | 직접적인 비즈니스 목표와 연관성이 낮음 |
RMSE-L | 절대 및 상대 오차를 모두 반영 | 저가 및 고가 제품의 오차 균형 | 계산이 복잡함 |
MSE | 평균 제곱 오차 | 단순하고 직관적 | 고가 제품에 편향됨 |
📊 지표 요약 - 비즈니스 중심 지표
지표 | 설명 | 장점 | 단점 |
Average Price Difference | 평균 절대 가격 차이 | 직관적, 비즈니스 이해관계자와 쉽게 소통 가능 | 고가 제품에 불공평할 수 있음 |
Percentage Price Difference | 가격 차이를 퍼센트로 표현 | 고가 제품에 공정함 | 저가 제품에 불공평할 수 있음 |
Hybrid Metric | 절대 오차 + 퍼센트 오차 결합 | 고가 및 저가 제품 모두 공정하게 평가 | 기준 설정이 필요 |
Hit Rate | 허용 범위 내 예측 비율 | 명확하고 직관적인 성공/실패 평가 | 정확한 기준 설정이 필요 |
🛠️ 지표 선택 예시
고가 제품: 퍼센트 오차를 활용한다.
저가 제품: 절대 오차를 활용한다.
복합 지표: 고가 및 저가 제품 모두 공정하게 평가한다.
원본 출처: Udemy - Become an LLM Engineer in 8 weeks: Build and deploy 8 LLM apps, mastering Generative AI and key theoretical concepts.