🔑 비즈니스 문제 해결을 위한 5단계 전략
비즈니스 문제를 해결하기 위한 5단계 전략은 다음과 같다.
이해 (Understanding)
비즈니스 요구 사항을 깊게 파고들어서 어떤 문제를 해결하려고 하는지 정확히 인지하기
목표가 정확히 무엇인지 문서화
준비 (Preparation)
- Baseline 모델과 데이터 집합 큐레이팅 과정 등
모델 선택 (Select Models)
- 모델의 장단점을 파악해서 모델을 선택
커스터마이징 (Customize)
- RAG이나 파인튜닝을 통해 모델을 커스터마이징
프로덕션화 (Productionize)
위의 다섯 단계를 좀 더 자세히 알아보자.
1️⃣ 이해 (Understanding)
비즈니스 요구 사항 수집하기.
성공을 어떻게 측정할 것인지 명확히 하기.
- 데이터 사이언스 지표뿐만 아니라 비즈니스 관점에서의 성공 기준도 필요하다.
데이터 이해하기.
데이터의 양과 품질을 평가하기.
예를 들어, 구조화 데이터인지 비구조화 데이터인지, 또는 둘 다인지 확인한다.
비기능적 요구 사항(Non-functional Requirements)을 정의한다.
- 예산, 확장성(Scale), 지연 시간(Latency), 시장 출시 날짜(Time to Market) 등을 고려한다.
예:
빠른 시간 내에 구축해야 한다면 Frontier 모델과 API 사용이 적합하다.
UI 구축은 Gradio를 사용해 수 분 내에 완료할 수 있다.
2️⃣ 준비 (Preparation)
준비 단계에는 세 가지 핵심 활동이 있다.
기존 솔루션 조사 (Research Existing Solutions)
기존 모델이 문제를 해결하는 방식을 조사한다.
- 예: 제품 가격 예측에는 선형 회귀(Linear Regression) 모델이 사용될 수 있다.
간단한 문법(ex. if 문)으로 해결할 수 있는 경우도 고려한다.
LLM이 더 나은 성능을 낼 것이 분명해도, 기준선(Baseline)을 마련하는 것은 중요하다.
왜냐하면, 새로운 모델의 성능 향상을 정량적으로 증명할 수 있기 때문이다.
관련 LLM 비교 (Compare Relevant LLMs)
가격, 문맥 길이, 라이선스 조건, 벤치마크 점수 등을 평가한다.
Seal 같은 전문 리더보드도 참고한다.
데이터 큐레이션 및 전처리 (Curate and Preprocess Data)
데이터를 스크러빙(Scrubbing)하고 전처리(Parsing) 한다.
데이터를 훈련, 검증, 테스트 세 가지로 분할한다.
훈련 데이터: 모델 훈련에 사용
검증 데이터: 하이퍼파라미터 조정 및 성능 평가
테스트 데이터: 최종 모델의 성공 여부 판단
3️⃣ 모델 선택 (Select Models)
실험(Experimenting)을 통해 모델을 비교하고,
큐레이션한 데이터로 훈련 및 검증을 진행한다.
4️⃣ 커스터마이징 (Customize)
RAG, 파인 튜닝 등 모델 최적화 기법을 사용해 모델 성능을 극대화한다.
이 단계는 우리가 가지고 있는 프리트레인된 모델(pre-trained model)이나 프론티어 모델(frontier model)을 더 나은 성능으로 끌어올리는 것이다.
모델 최적화에는 세 가지 접근법이 있다.
프롬프팅 (Prompting)
RAG (Retrieval-Augmented Generation)
파인 튜닝 (Fine Tuning)
🤔 어떤 상황에서 어떤 기법을 선택해야 할까?
많은 사람들이 어떤 상황에서 어떤 기법을 사용해야 하는지 헷갈려한다.
이 세 가지 기법은 서로 배타적인 것이 아니라, 함께 사용할 수도 있다.
하지만 일반적으로는 프로젝트 초기에는 하나의 기법에 집중하는 경우가 많다.
👉 프롬프팅과 RAG는 추론 시(inference time) 사용되는 기법이다.
👉 반면, 파인 튜닝은 훈련(training time) 단계에서 이루어진다.
🛠️ 각 기법의 장단점
1️⃣ 프롬프팅 (Prompting)
장점
빠르다 – 간단한 프롬프트 수정만으로도 결과를 바로 얻을 수 있음
쉬운 구현 – 누구나 쉽게 시도할 수 있음
저비용 – 인프라 비용이 낮음
단점
제한된 컨텍스트 윈도우 – 모델에 입력할 수 있는 최대 길이가 존재
비효율성 – 긴 컨텍스트를 사용하면 비용 증가 및 추론 속도 저하
제한적 개선 – 지속적인 프롬프팅으로 성능 향상에는 한계가 있음
2️⃣ RAG (Retrieval-Augmented Generation)
장점
높은 정확도 – 필요한 정보를 데이터베이스에서 직접 검색해 제공
확장성 – 방대한 데이터를 효율적으로 활용 가능
비용 절감 – 필요한 정보만 검색해 모델에 전달, 불필요한 컨텍스트 비용 절감
단점
구축이 복잡 – 벡터 데이터베이스와 검색 파이프라인을 구축해야 함
데이터 유지보수 필요 – 최신 정보로 지속적으로 업데이트해야 함
깊이 있는 학습 부족 – 문맥을 기반으로 한 검색이므로 깊은 의미 파악은 어려움
3️⃣ 파인 튜닝 (Fine Tuning)
장점
전문성 강화 – 특정 도메인에 특화된 모델 구축 가능
뉘앙스 학습 – 미묘한 표현이나 스타일도 학습 가능
빠른 추론 – 훈련 후에는 추가 데이터베이스 조회 없이 바로 추론 가능
단점
비용이 많이 듦 – 훈련 데이터와 GPU 비용이 큼
많은 데이터 필요 – 충분한 예시 데이터가 없으면 학습이 어려움
구현 난이도 – 구현 및 조정이 복잡함
캐터스트로픽 포겟팅(Catastrophic Forgetting) – 특정 문제에 과하게 특화되면 기존의 지식이 망각될 위험
🧩 언제 어떤 기법을 사용해야 할까?
프롬프팅 – 프로젝트 초기에 가장 많이 사용됨. 빠르게 결과를 보고 싶을 때 적합
RAG – 정확도가 중요하고 비용을 절감하고 싶을 때 사용. 지식 데이터베이스가 이미 존재하는 경우 이상적
파인 튜닝 – 특정 도메인에 특화된 모델이 필요하거나, 대량의 데이터를 가지고 있을 때 적합
💡 프로젝트 예시
우리가 진행 중인 제품 가격 예측 프로젝트는 다음과 같은 특징이 있다.
특수한 작업이 필요하다.
대량의 데이터를 보유하고 있다.
높은 성능과 뉘앙스 이해가 요구된다.
따라서, 파인 튜닝이 가장 적합한 선택이 될 것이다.
5️⃣ 프로덕션화 (Productionize)
마지막 단계는 Productionize로, 모델을 실제 서비스에 배포하는 단계이다.
당연히 모델 훈련이 끝난 후 Jupyter 노트북을 그대로 프로덕션에 배포하지는 않는다.
🚀 Production 단계 주요 활동
API 정의 및 구축
모델을 호출할 수 있는 API 설계.
오픈 소스 모델을 직접 사용하거나, 프론티어 모델(frontier model)을 호출해 RAG나 프롬프팅 같은 보조 기술을 결합.
호스팅 및 배포 결정
API와 모델을 어디에 배포할지 결정.
클라우드(AWS, GCP 등) 또는 온프레미스 서버에 배포할 수 있음.
모니터링 및 보안
실시간 모니터링 시스템을 구축해 모델 성능을 주기적으로 확인.
정보 보안, API 접근 권한 등을 설정해 보안을 강화.
확장성(Scaling) 고려
트래픽이 증가할 경우 API 및 모델의 확장성을 준비.
오토스케일링, 로드밸런싱 등을 통해 안정적으로 서비스할 수 있도록 함.
비즈니스 메트릭 측정 및 지속적 개선
1단계에서 설정했던 비즈니스 메트릭(성공 지표)을 지속적으로 모니터링.
주기적으로 모델을 재훈련(retrain)하고, 성능을 향상시킴.
원본 출처: Udemy - Become an LLM Engineer in 8 weeks: Build and deploy 8 LLM apps, mastering Generative AI and key theoretical concepts.