AI/ML 기반 모델 개발, 과제와 해결방안은?

0

기업내에 AI/ML를 적용하기 위해, 업무 관점에서 시민 데이터 사이언티스트(Citizen Data Scientist, 이하 CDS)와 그 필요 역량인 데이터 문해력(Data Literacy)의 중요성이 높아지고 있습니다.(참고 : 데이터 문해력과 시민 데이터 사이언티스트의 필요 역량) 이와 연결하여, 데이터를 기반으로 신속하게 개발한 예측 모델을 업무 시스템에 통합 또는 활용하기 위해 IT 관점에서 해결해야할 과제와 접근 방안에 대해 알아보겠습니다.

1. 데이터의 가치 사슬과 분석의 최종 목적

왜 분석을 할까요? 데이터의 가치는 어디에 있는 것일까요? 이를 위해 데이터의 가치 사슬에 대해서 알아보겠습니다. 데이터의 가치 사슬은 데이터의 수집부터 시작하여, 정제 및 가공을 거쳐 정보(정보 = 데이터 + 의미)를 만들고, 이 정보를 분석하여 지식(Knowledge = 정보 + 가치)을 생산하고, 이렇게 얻어진 지식으로 최종 의사결정과 실행을 함으로써 가치를 창출하는 것입니다. 즉 수집, 가공 및 분석에서는 그 데이터 자체의 가치가 증가합니다. 최종 의사 결정 및 실행 단계에서는 데이터를 이용하여 가치를 창출할 수 있습니다. (그림 1과 2 참조)

그림 1) 데이터 가치의 변화 : 데이터, 정보(Information), 지식(Knowledge)과 지혜(Wisdom)

 

그림 2) 데이터의 가치 사슬

 

예를 들어 보겠습니다. 부동산 투자에 관심이 많은 한 자산가는 부동산 투자를 통해 이익을 얻고자 할 것입니다. 그는 매일 다수의 신문을 탐독하며, 부동산 관련 정보를 수집하고 아파트, 도로 및 신도시 건설 예정지 등의 정보를 분류하여 스크랩을 하겠지요. 필요에 따라서는 해당 지역을 방문하여 현지의 분위기를 파악하고 부동산 중개사와 이야기를 하여 데이터를 수집할 것입니다. 여기서 신문의 부동산 관련 기사, 현지 분위기, 부동산 중개사와의 대화는 ‘데이터’이고, 분류하여 스크랩한 자료는 ‘정보’가 됩니다. 즉 분류를 통해 데이터를 문맥적으로 연결하여 의미가 있는 데이터, 즉 정보를 만드는 것이죠.

그 후 이 자산가는 스크랩된 정보를 읽고 분석하여, 특정 가능한 지역에 도로가 건설될 것을 예측합니다. 이러한 예측은 ‘지식’이라고 하겠습니다. 즉 정보를 분석하여 나에게 가치가 있는 정보를 발견하거나 추론하는 것입니다. 여기까지는 데이터에 대한 가치만 높인 것으로, 실질적인 가치, 즉 부동산 투자를 통해 재산을 증식시킨다는 목적을 달성하지는 못한 것입니다. 즉 시간, 노력, 현지 방문 비용과 신문 구독비 등의 비용만 투자한 것입니다. 최종의 가치는 발견 또는 추론한 지식을 이용하여 그 지역의 부동산을 매입하고 가격 상승 후 재매각을 통해 이익이 얻는 데 있습니다. 즉, 부동산 매각 비용에 매입 비용과 그 동안 들였던 노력, 시간 및 비용 등을 제외한 부분이 투자에 대한 이익이 되는 것입니다.

위 사례와 같이 AI/ML 과제는 데이터의 가치 사슬에 기반한 분석과 동일한 패턴을 보입니다. AI/ML 과제는 학습(분석)을 통해 얻은 예측모델(지식)을 운영에 적용(운영화: Operationalization)함으로써 그 기업의 매출이 증대되거나 비용이 감소되어, 최종적으로 이익이 발생되는 경우 그 최종 가치를 얻을 수 있으며, 그렇지 않은 경우는 모두 비용이 되어 기업에 손해를 주게 됩니다. 이러한 일이 발생되지 않기 위해서는 AI/ML 과제에 대한 체계적인 접근이 필요합니다.

2. 최근 AI/ML 프로젝트 운영화(Operationalization)의 현황 및 문제점

2010년 초반부터 AI/ML에 높은 관심을 가진 많은 회사들이 AI/ML 과제를 시도, 수행 또는 운영화하고 있습니다. 그러나 2019년 IDC 자료에 따르면, 모델의 50% 미만 만이 운영화되고, 90% 이상의 모델이 배포에 3개월 이상 걸리며, 44%의 모델은 운영화되어 실업무에 적용되는데 7개월 이상 소요된다고 합니다. 최근 국내에서도 “오픈 소스로 개발된 모델의 재학습, 평가 등의 모델관리가 힘들어요”, “모델 배포하기가 힘들고 오래 걸려요”, “서로 다른 오픈 소스의 플랫폼이 많고 복잡해서 관리가 힘들어요” 등의 고객의 목소리가 흘러나오며, 이러한 문제를 해결하기 위해 플랫폼의 도입을 시도하는 기업들이 늘어나고 있습니다.

하지만 단순 플랫폼의 도입만으로 이를 해결할 수는 없습니다. 위에 언급한 상황의 근본적인 문제는 AI/ML 도입 시기의 초반에 많은 프로젝트에서 시도한 방법, 즉, 예측 모델의 생성과 도구 중심의 개발에 있기 때문입니다. 생성된 모델의 운영화를 위해서는 데이터의 수집, 점검, 테스트, 인프라, 시스템 표준 구성, 모델 관리를 위한 프로세스 및 규칙 정의 등의 많은 요소가 필요합니다. 초반에는 이러한 요소들을 무시 또는 간과하고 단순 운영화를 위한 필요 구성, 예를 들어, 스코어링 함수 생성 및 내부 호출만을 이용했습니다. 그러나 주변 구성 요소를 체계적으로 도입, 연계 및 관리하지 않으면 기술적 부채(그림3, 주1)가 발생되어 위에 언급한 문제에 직면하게 됩니다.

그림3) AI/ML의 기술적 부채
1) 기술적 부채 : 시점에서 시간 소요가 많은 나은 접근방식을 사용하는 대신 쉬운(제한된) 솔루션을 채택함으로써 발생되는 추가적인 재작업 비용을 반영하는 소프트웨어 개발 관점(From 위키백과)

 

AI/ML의 예측 모델은 과거 데이터에서 발생되는 패턴을 찾아 그 패턴 기반의 예측을 통해 의사결정과 실행을 합니다. 하지만 데이터의 학습 후에 발생된 데이터에서의 패턴이 항상 과거와 동일 할 수 없습니다. 예를 들어보겠습니다. 물건 구매의 세대 간 구매 패턴은 586, 밀레니엄 및 MZ 세대별로 다르죠. MZ세대의 물건 구매 패턴 데이터로 새로운 알파 세대 및 그 이후 세대의 구매 패턴을 정확하게 예측할 수가 있을까요? MZ세대의 구매 예측보다는 정확도가 떨어질 것이고, 정확도의 저하는 매출 감소와 비용 증대로 나타나게 될 것입니다. 이를 해결하기 위해서는 모델의 생애 주기, 즉 해결 또는 개선할 문제를 인식하는 것에서 시작하여, 데이터 수집과 전 처리, 학습, 모델의 개발과 배포, 운영 모니터링 및 성능 평가 등의 단계가 상호 끊김없이 연결되어야 합니다. 이를 통해, 새롭게 생성된 알파 세대의 행동 및 구매 데이터를 기반으로 예측 모델을 지속적으로 개선하여 운영화해야 합니다.(그림 4)

그림 4) AI/ML 모델의 생애 주기

 

또한 이러한 생애 주기는 체계적인 관리 절차(Governance)에 따라 모델의 성능이나 적용된 업무의 성과를 모니터링하여, 성능이나 성과 저하 시 재학습(주2) 또는 재모델(주3) 작업 후 생성된 새로운 모델을 운영화함으로써, 모델의 성능과 업무 성과를 지속적으로 유지해야 합니다.(그림 5)

그림 5) 전통적 모델 주기 관리와 통제 기반의 관리
주2) 재학습 : 이전에 사용한 종속변수의 변경없이 새로운 학습 데이터로 모델을 재 생성하는 방식으로 데이터 구조의 변경이 없어 스코어링 프로그램의 변경이 없음.
주3) 재모델 : 이전에 사용한 종속변수에 변수를 추가하거나 삭제하여 새로운 데이터 구조로 모델을 재생성 하는 방식으로 스코어링을 위한 프로그램도 변경이 됨.

3. 당면한 AI/ML 문제의 해결 방안

AI/ML의 주요 영역인 신속한 모델 개발 및 운영화, 그리고 모델 관리와 관련된 문제점의 해결 방안에 대해 알아보겠습니다. 첫번째로 신속한 모델 개발 및 운영화에서 모델 개발은 시민 데이터 사이언티스트의 양성을 위한 환경으로 구축되어야 합니다. 즉, 최대한 로우 코드 노 코드로 개발하는 것을 지향합니다. 그리고 신속한 모델 배포와 운영화를 위해서는 최근의 S/W 개발 방법론인 DevOps의 적용이 필요합니다. 두번째로 모델 관리의 부재로 발생되는 문제점은 모델을 체계적으로 관리할 수 있는 방법론, 즉 Model Governance(이하 모델 거버넌스)를 적용해야 합니다.

모델 생성 과정 중 필요한 데이터의 조회 및 선택, 선택한 데이터에 대한 탐색, 품질 점검 및 정제 등의 전처리에 많은 시간이 소요됩니다. 이 시간을 최소화하기 위해서는 DataOps를 적용해야 합니다. 또한 모델 거버넌스 방법론을 구체화하여 실현하고, DataOps와 DevOps를 통합 및 연계하기 위해서는 ModelOps가 필요합니다. (그림 6)

그림 6) 당면 문제와 해결 방안

 

DevOps는 소프트웨어 개발 방법론 중 하나로, 소프트웨어 개발과 운영을 가상 또는 조직 내 하나의 팀으로 결합하여 개발 주기를 단축하고 운영 중 발생된 문제나 개선 사항을 즉각적으로 개발에 반영하여 품질을 향상시키는 일련의 실행 방안입니다. 여기서 소프트웨어 개발에는 Agile 개발 방법론(주4)을 적용합니다.

주4) Agile 개발 방법론 : 효율적인 팀 협업을 중요시하는 방법론으로, 개발자와 고객이 서로 밀접한 협조를통해 작은 기능들을 우선 순위에 따라 짧은 주기로 반복하여 개발 및 배포를 수행함으로써, 변화에 빠르고 유연하게 대응하며, 고객의 요구 사항에 신속하게 대응할 수 있다는 장점이 있음

DataOps는 데이터 분석의 품질을 개선하고 데이터의 분석 시간을 단축하기 위한 방법론으로, Agile 방법론을 통합하여 비즈니스 목표에 맞춰 개발을 촉진하고 통계적 프로세스 제어를 사용하여 데이터를 모니터링합니다.

보다 체계적인 모델 관리와 효율적인 협업환경을 위해 필요요소로 등장하고 있는 ModelOps의 특징과 구현 방법에 대해서는 다음 블로그 글을 통해 자세히 설명드리겠습니다.

Share

About Author


Changsuk Roh is a ML Engineer of Customer Advisory at SAS Korea, where he is in charge of presales to define system and solution architecture to solve customer problems. He has diverse experiences years from system engineer, application developer, data warehouse and BI consultant to data scientist. Since Joining at SAS 2017, he has worked for platform team in CA.

Leave A Reply

Back to Top