AI 시스템의 개발 공정
1. AI 개발 공정 단계
1.1 문제(요구사항) 정의 및 목표 설정
- 비즈니스 문제를 명확히 정의하고 AI 솔루션으로 해결 가능한지 평가
- 구체적인 목표와 성공 지표(KPI) 설정
1.2 데이터셋 준비
- 데이터 수집 및 준비
- 문제 해결에 필요한 양질의 데이터 수집
- 데이터 정제, 전처리, 라벨링 작업 수행
- 다양한 기준(권역/지역별, 배송 유형, 상품별 등)으로 데이터 구분 및 분석
- 데이터 전처리 및 탐색
- 결측치 처리, 이상치 제거, 정규화 등의 전처리 작업
- 탐색적 데이터 분석(EDA)을 통한 패턴 및 인사이트 발견
1.3 모델 구현
- 모델 선택 및 설계
- 문제 유형에 적합한 알고리즘 선택
- 모델 아키텍처 설계 및 하이퍼파라미터 초기 설정
- 생성형 AI의 경우 기본 모델 선택, 프롬프트 엔지니어링, 하이퍼파라미터 튜닝 단계 포함
- 모델 훈련 및 검증
- 훈련 데이터를 사용한 모델 학습
- 검증 데이터를 통한 모델 성능 평가
- 교차 검증(Cross-validation) 수행
- 모델 최적화 및 튜닝
- 하이퍼파라미터 튜닝을 통한 모델 성능 개선
- 앙상블 기법 적용 등 모델 개선 작업 수행
1.4 모델 배포 및 모니터링: 운영단계
- 실제 환경에 모델 배포
- 성능 모니터링 및 유지보수
- 지속적인 데이터 업데이트 및 재학습
- 예측 정확도를 높이기 위해 D-day에 가까워질수록 최신 데이터를 모델에 자주 적용
2. AI 개발 공정의 특징
- 시행착오의 반복
- AI 소프트웨어는 개발 과정에서의 시행착오가 필수불가결
- 한 번만에 잘 만들어지는 AI 소프트웨어 따위는 없음
- AI 소프트웨어의 개발에서는 요구사항이나 사양 등이 존재하지 않음
- 훈련용 데이터를 기반으로 원하는 기능이 완성될 때까지 계속 반복
- AI 소프트웨어의 성능은 훈련용 데이터와 AI 모델의 선택에 의해 좌우됨
- 훈련용 데이터셋과 AI 모델을 변경해 가면서 원하는 기능이 완성될 때까지 계속 반복
- 시행착오 과정 중에 데이터의 수집, 작성을 재작업 하는 경우는 매우 빈번함
- 역시 한 번에 완성되는 데이터셋, AI 모델 따위는 없음
- 기대하는 결과를 얻을 때까지 모델의 선택과 하이퍼 파라미터 설정, 학습의 반복 수행을 통해 완성도를 높여가는 과정임
- 훈련용 데이터셋과 AI 모델을 변경해 가면서 원하는 기능이 완성될 때까지 계속 반복
- AI 소프트웨어는 개발 과정에서의 시행착오가 필수불가결
- AI 모델/소프트웨어/시스템 개발 과정을 “인디언 기우제”에 비유하기도 함
- 비가 올 때까지 기우제를 계속 하는 것처럼, 원하는 기능, 성능이 나올 때까지 계속 반복작업을 하는 것이 AI의 개발 과정임
3. AI 모델 활용 사례
3.1 유통 산업 - 수요 예측 모델
- 과거 상품 데이터와 고객 데이터 분석을 통한 미래 수요 및 판매량 예측
- 날씨, 요일, 프로모션 등 다양한 데이터를 분석하여 지역별 주문량 예측
- 다양한 기준(권역/지역별, 배송 유형, 상품별, 온도별)으로 구분하여 수요 예측
- 주문 수, 총 수량, 매출액, 소요시간 등 다양한 타깃 대상으로 예측 수행
3.2 생성형 AI 모델
- 텍스트, 이미지, 음성 등 새로운 콘텐츠를 생성하는 모델
- 자연어 처리, 이미지 생성, 음성 합성 등 다양한 분야에 활용
- 검색 증강 생성(RAG) 기법을 통한 모델 성능 향상
3.3 제조 산업 AI 모델
- 제조 공정 최적화, 품질 관리, 예지 정비 등에 AI 모델 활용
- 생산성 향상 및 불량률 감소를 위한 AI 솔루션 개발
4. AI 모델 개발 시 고려사항
데이터 품질 관리: AI 모델은 학습 데이터의 오류가 예측 오류로 이어질 수 있으므로 데이터 품질 관리가 중요함
예측 주기 최적화: 정확도를 높이기 위해 예측 주기를 조정하고, 최신 데이터를 적시에 반영하는 것이 중요함
지속적인 모니터링과 개선: 모델 배포 후에도 성능을 지속적으로 모니터링하고 필요시 재학습 진행
산업별 특성 고려: 각 산업의 특성과 요구사항에 맞는 맞춤형 AI 모델 개발이 필요함