아카이브

모델을 구현하는 과정은 괴롭다! (시간 리소스에 대한 고민) 본문

데이터 사이언스 정보

모델을 구현하는 과정은 괴롭다! (시간 리소스에 대한 고민)

머루아빠승우 2025. 5. 12. 01:25

 

ML 모델링을 하다보면 정말 시간이 오래걸리는 것을 알 수 있다.
겨우 구현했음에도 성능이 미미하거나 개선의 여지가 많이 있기에
하나의 ML 알고리즘을 구현 및 개발하는 과정은 피로감이 상당하다.
 
본 문제점에서 인지한 고민은 다음과 같다.

리소스(시간,물적 자원)은 제한되어 있고, 모델을 개발하고 평가하며 비교하게 되면 정말 할일이 많아질텐데 어쩌면 좋을까?

 
이 과정을 절약할 순 없는지 그리고 이 과정은 AI한테 대체될 수 있지 않은지?
이런 고충이 있는 것을 동료에게 어떻게 알릴 것인지...
 
이에 대한 나만의 해답을 내리고자 해결 방법과 한계를 작성해보겠다.


해결방법

1. Auto ML

AutoML(Automated Machine Learning)은 머신러닝 모델 개발의 복잡하고 반복적인 과정을 자동화하는 것.



 Autogluon와 같은 라이브러리를 사용하면 냅다 아래와 같이 성능 비교 가능하다.
그러나 만능같아보여도 당연히 드는 의문. Autogluon을 써버리면 각 변수의 EDA 과정은 어떻게 처리되며, 나온 결과는 어떻게 신뢰할 수 있는가? Autogluon의 알고리즘 방법에서 그 해답을 알 수 있다.

⚠️[GPT 참고]⚠️
1. AutoGluon은 테이블형(Tabular), 이미지, 텍스트 등 다양한 데이터 유형을 지원함.
2. ImagePredictor, TextPredictor는 각각 이미지와 텍스트 데이터에 특화되어 있음.
3. 데이터 타입에 따라 내부적으로 전처리, 피처 엔지니어링, 모델 선택이 자동화 됨
4.문제 유형(분류/회귀/시계열 등)에 따라  적합한 예측기와 파라미터를 지정해야 합니다. 

한계
예를 들어, TabularPredictor는 표 형태(엑셀, csv 등)의 데이터를 대상으로 분류/회귀 문제를 자동화함,
범주형 변수는 자동 인코딩, 결측치는 자동 처리, 텍스트/이미지는 딥러닝 기반 모델로 자동 변환 및 학습이 이뤄진다.
시계열 예측은 시간축을 명확히 지정해야 하며, 분류/회귀는 타겟(label) 타입이 명확해야함

📢결론.
즉, AutoGluon과 같은 AutoML은 데이터 타입과 상황을 자동으로 감지하고 최적화된 모델링을 시도하지만, 데이터의 품질, 도메인 특화 전처리, 문제 정의는 여전히 사용자가 처리해야함
AutoML은 빠른 실험과 베이스라인 확보에는 탁월하지만, 최종 솔루션을 위해서는 사람이 직접 데이터와 문제를 깊이 이해하고 추가 작업을 병행해야한다. -> 처음에만 잠깐 써보고 흠 그렇군 하는 인식을 주는 용도로만 쓸 수 있음

2. 우선순위 기반 모델 선정

EDA 결과와 도메인 지식을 바탕으로, 가장 가능성 높은 2~3개 모델만 먼저 선정해서 실험하기
데이터가 선형적이면 로지스틱/LDA, 비선형적이면 트리/랜덤포레스트, 변수 수가 많으면 정규화 모델 등으로 1차 후보를 좁히는 것이다. 이는 데이터 분석을 많이 진행하다보면 쌓이는 노하우로 해당 인사이트는 정말 시간이 답인 부분인 것 같다.
내가 이래서 이 도메인을 정말 재밌어하는 이유 중 하나이다. 결론은 누구나 답을 낼 순 있지만, 내가 옳다 라고 주장할 수 없으며. 항상 다양한 접근 방법이 존중받는 곳이기 때문이다. 그러나 성과를 내야하는 부분에서는 이 인식이 잘 통용되지 않을 것 같다..


3. 단계적(Iterative) 접근

1차: 단순 모델 구현 :  빠르게 구현 가능한 단순 모델(로지스틱, 결정트리 등)로 베이스라인 성능을 확인
2차: 복잡한 모델 구현 : 베이스라인을 넘지 못하면, 그 다음에 복잡한 모델(앙상블, 딥러닝 등)을 도입
 
내가 아는 것이 점차 늘어남에 따라 모델링의 방향에 대한 인식이 넓어져감을 느낀다. 즉 더 복잡해지는 것인데
이럴 수록 자신만의 기준과 들어갈 노력에 대한 정량적인 인식이 확실해야한다는 기분이 든다.
 
 


그래서 이 글의 결론.

 

모든 모델을 다 돌리는 게 아니라, 똑똑하게 골라서,
자동화와 단계적 실험으로 효율적으로 진행하는 것이 ML 핵심이다.
방법의 정답은 없다. 마음껏 고민해보고 삽질하는게 맞다.