2021년 7월 16일 페이스북 AI 리서치(現 메타 AI)가 이전보다 한 단계 더 발전한 AI 챗봇인 “블렌더봇 2.0(BlenderBot 2.0)”을 공개했다. 블렌더봇 2.0은 사람과 나눈 과거 대화를 기억해서 지금 대화에 반영할 수 있는 장기기억을 갖고, 실시간 인터넷을 검색해서 대화에 써먹을 수 있는 기능을 보유했다. GPT-3나 블렌더봇 1.0 같은 이전의 챗봇 모델은 사람과 자유로운 대화가 가능했지만 기억력이 없어서 매번 같은 말을 물어보는 일이 빈번했고, 새로운 지식을 넣어주려면 모델을 재학습시켜야했다. 그런데 블렌더봇 2.0은 장기기억을 갖고 대화 상대를 개별적으로 저장해서 사람마다 맞춤형 응대가 가능해졌다.

모델의 구조는 대화 히스토리, 장기기억, 인터넷 검색이 서로 결합돼 대화를 생성하도록 만들어졌다. 사람과의 대화 결과는 인코더와 메모리 디코더를 거쳐서 장기기억에 저장된다. 사람과 대화를 하게 되면 블렌더봇 2.0의 쿼리 생성기는 인터넷 검색과 장기기억에 저장된 관련 정보를 찾고, 이 정보를 인코더에 입력, 여기서 나온 출력 결과를 하나로 합친 후에 디코더를 통해 최종 대화를 생성한다.

<그림> 블렌더봇 2.0 아키텍처
자료: ai.facebook.com, Blender Bot 2.0: An open source chatbot that builds long-term memory and searches the internet, 2021.7.16.


블렌더봇 2.0은 지금까지 나온 챗봇 모델 중에 인간의 언어 사용 능력에 가장 가깝다고 평가된다. 필요한 정보와 새로운 지식이 생겨날 때마다 모델을 재학습시키는 수고를 덜 수 있으므로 사용도 편리하다. 이처럼 자연어처리 분야의 인공지능 모델은 최근 급속도로 발전하고 있다. 2017년 구글의 트랜스포머(Transformer)가 공개된 후, 버트(Bert), 미나(Meena)로 개선되면서 대화 성능이 좋아졌다. 또 모델의 규모도 급속도로 거대해져서 최근 자연어처리 모델은 대부분 하이퍼스케일 급으로 발전했다. 블렌더봇 2.0이 나오기 전까지 최고로 평가받았던 오픈AI 연구소의 GPT-3(2020년 공개)는 570GB 규모의 텍스트인 3000억개의 말뭉치를 학습시켰고, 1750억개의 파라미터를 지닌 거대 모델이다. 2018년 공개된 GPT-1은 1억 1700만 개의 파라미터, GPT-2는 15억개의 파라미터를 보유, 모델의 규모가 2년만에 1000배 이상 커졌다. 중국 화웨이는 2천억개의 파라미터를 갖춘 자연어처리 모델을 공개했고, 한국어를 집중 학습시킨 네이버의 하이퍼클로바 모델은 2040억개의 파라미터를 활용한다고 알려졌다.

이처럼 챗봇, AI스피커, 번역 등에 활용되는 자연어처리 기술의 발전을 보면 인공지능 분야에서 모델이 핵심이라는 생각을 갖기 쉽다. 그러나 대부분의 비즈니스에서는 문제해결을 위해 수천억 개의 파라미터를 가진 거대 모델이 필요하지 않다. 오히려 이런 거대 모델들은 학습, 활용, 재학습에 시간이 많이 들어 사용성이 떨어진다. 이제 인공지능은 대중화되어 인공지능 기술을 적용한 분석으로 그치는 게 아니라, 인공지능 기술을 실제 실무와 서비스에 지속 활용할 수 있어야 한다. 요즘 인공지능 운영을 담당하는 MLOps가 뜨고 있는 것도 이런 맥락에서다.


MLOps가 뜬다


최근 인공지능 기술이 수많은 비즈니스에서 활용되고 서비스로 구현되고 있다. 인공지능을 도입 활용하는 기업은 인공지능 모델을 개발, 배포하여 서비스에 사용하고 필요에 따라 재학습해야 한다. 고객의 반응과 비즈니스 목적에 따라 모델을 수정할 수도 있고, 인프라나 애플리케이션에 문제가 생기기도 하며, 데이터를 업데이트해야 할 수도 있다. 인공지능 솔루션을 운영하기 위해서는 인공지능 수명주기 전체를 관리할 필요가 있다. MLOps 팀이 이런 일을 담당해야 인공지능을 효과적으로 활용할 수 있다.

이는 소프트웨어 개발에서 환경 변화에 따라 신속하게 대응하기 위해 DevOps를 채택하는 것과 같다. DevOps가 도입되기 전에는 개발팀이 개발을 끝내면 애플리케이션은 테스트를 거쳐서 운영팀에 이관되어 배포, 관리, 운영됐다. 시스템을 운영하다 보면 문제가 생기는데, 이게 애플리케이션에서 발생했는지, 인프라에서 발생했는지 두 팀간 서로 핑퐁하기 일쑤였다. 또 서비스 운영 중 고객의 요구사항이나 불만이 나와도 이를 운영팀에서 개발팀에 전달하고 다시 개발하는 과정을 거치다 보면 시간이 늘어져 고객 불만이 커지곤 했다. 이런 문제를 해결하기 위해 개발(Dev)과 운영(Ops)을 합쳐서, 고객의 요구사항을 재빨리 반영할 수 있는 체제를 구축한 것이 DevOps다. DevOps 조직 형태와 다양한 DevOps 툴 활용은 기업마다 다르지만, 개발과 운영을 통합해서 고객에 대한 서비스 수준을 지속적으로 높인다는 철학은 같다.

MLOps역시 마찬가지다. MLOps는 머신러닝 모델의 효율적인 개발과 배포, 모니터링과 재학습을 원활하게 하는 인프라를 구축하고, 프로세스를 자동화하는 체계다. 인공지능 기술의 개발과 활용은 다음과 같은 수명주기를 갖는다. 비즈니스 문제를 해결하기 위해 인공지능 관점에서 문제를 정의하여 인공지능 프로젝트를 기획한다. 다음으로 데이터를 수집하고 정제하여 인공지능 학습용 데이터셋을 구축한다. 이 데이터셋을 학습하여 인공지능 모델을 개발한다. 그리고 이를 배포하여 실제 데이터를 넣어서 예측에 활용한다. 인공지능 모델을 활용한 서비스의 결과를 모니터링하면서 재학습에 들어간다.
<그림> 머신러닝 수명주기와 세부 프로세스


지금까지 인공지능 프로젝트는 데이터셋을 구축하여 모델을 개발하는 역할과 모델을 배포하고 서비스에 활용하는 역할이 따로따로 이뤄졌다. 마치 과거 소프트웨어 개발에서 개발팀과 운영팀이 따로 분리돼 있었던 것과 같다. MLOps는 DevOps와 마찬가지로 인공지능 프로젝트를 주관하는 주체를 하나로 통합하여 실시간 발생하는 문제에 재빠르게 대응하자는 것이다. MLOps는 인공지능 기술 활용이 대중화되면서 최근 부상한 개념이다. 그러므로 아직까지 MLOps를 쉽게 실행할 수 있는 플랫폼이나 툴이 많지 않아 개별적인 툴을 사용해야 하는 경우가 많다. 그러나 인공지능 기술 활용이 많은 기업은 MLOps 조직을 구성해서 운영하는 것이 효과적이다.

그러면 MLOps 조직이 해야 하는 일의 핵심은 무엇인가? MLOps 팀은 머신러닝 수명주기 전 과정의 업무를 통합 운영한다. 하지만 이 중에서도 핵심적으로 관리해야 할 일이 있다. 인공지능 솔루션은 일반 소프트웨어에 데이터가 중요한 부분을 차지한다는 점이 다르다. 그래서 DevOps에서 개발 코드의 변경을 지속적으로 통합하는 것(Continuous Integration)과 코드 변경이 자동으로 반영되는 지속적 전달(Continuous Delivery)이 중요한 것처럼, MLOps에서는 모델이나 데이터가 노후화(Concept Drift, Data Drift)되지 않도록 데이터를 지속적으로 학습(Continuous Training)해야 한다. 그런데 MLOps 팀이 데이터 문제를 다룬다는 건 재학습 말고도 더 중요한 문제가 있다.



모델 중심에서 데이터 중심의 인공지능이 도래

 
블렌더봇 2.0 공개 소식이 전 세계 언론에 보도되는 것을 보면 인공지능에서 모델이 중요한 것 같다. 하지만, 대부분의 비즈니스에서 활용되는 인공지능에서 모델 개선은 한계에 다다랐다. 이제는 인공지능 솔루션의 성능을 높이려면 데이터를 개선해야 한다.

구글 브레인을 이끌고 코세라를 설립한 인공지능 분야의 대가인 앤드류 응(Andrew Ng) 박사가 작년 3월 딥러닝AI를 통해 전 세계 AI 전문가들과 대담을 나눴다. 여기서 모델 중심의 인공지능이 저물고 데이터 중심의 인공지능 시대가 도래했다고 말했다. 그는 철강제품 제조업체와 진행한 인공지능 프로젝트의 사례를 들었다. 응 박사와 연구진들은 영상인식 기술을 활용해 강판의 표면 불량을 판정하는 기술을 개발했다. 최소한 90% 이상의 정확도를 목표로 모델을 개발했는데, 초기 모델의 정확도는 76.2%였다. 이 모델을 개선하기 위해 두 팀으로 나눠, 한 팀은 모델을 개선했고, 다른 팀은 데이터를 개선했다. 모델 개선 팀은 더 나은 알고리즘을 쓰거나 최적 알고리즘을 섞어서 사용하는 방법을 썼고, 데이터 개선 팀은 데이터 라벨링을 수정했다. 그 결과 모델 개선으로는 정확도가 하나도 증가하지 않았는데, 데이터 개선을 통해서는 정확도가 16.9%p 상승했다. 이후 비슷한 방법을 태양광 패널의 불량을 찾는 프로젝트와 또 다른 제조업체의 제품 표면 불량 감지 프로젝트에 적용했다. 결과는 비슷했다. 모두 모델 개선을 통해서는 성능이 별로 높아지지 않았는데, 데이터를 개선했을 때 더 나은 결과를 얻었다.

<표> 인공지능 개발에서 모델 중심 개선과 데이터 개선 중심 개선의 결과 차이
자료: DeepLearningAI, A Chat with Andrew on MLOps: From Model-centric to Data-centric AI, 2021.3.25


그러면 데이터를 개선한다는 게 구체적으로 어떤 의미인지 알아보자. 이는 인공지능 개발과 활용, 재학습 전 과정에 걸쳐, 일관된 원칙으로 데이터 라벨링을 함으로써 고품질의 데이터셋을 만든다는 뜻이다. 가령, 음성인식 솔루션을 개발할 때 음성에 대응하는 텍스트를 태깅한 후 음성 데이터와 텍스트 데이터를 쌍으로 저장해서 인공지능이 학습하도록 한다. “음. 오늘 날씨가 좋네요” 라는 음성을 라벨링할 때, 어떤 사람은 “음, 오늘 날씨가 좋네요.”라고 태깅하고, 다른 사람은 “음… 오늘 날씨가 좋네요.”라고 붙이고, 또 다른 사람은 “오늘 날씨가 좋네요.”라고 라벨링할 수 있다. 인공지능 학습용 데이터 구축 시에 이런 일이 아주 빈번하게 일어난다. 그러면 컴퓨터는 이 세 가지 데이터를 모두 다른 의미로 이해한다. 이 세 가지 방식 중 어느 것을 써도 되지만 한 가지 방식을 채택했으면 끝까지 그 원칙을 지켜서 라벨링해줘야 한다. 영상인식 모델 개발에서도 도마뱀 두 마리가 섞여 있는 사진에 바운딩 박스를 친다고 할 때, 어떤 사람은 두 마리를 합쳐서 하나의 경계를 표시하고, 다른 사람은 두 마리 각각 경계를 표시하되 겹치지 않도록 하고, 또 다른 사람은 두 마리 각각 경계를 표시하되 경계가 겹치도록 할 수 있다. 이 방법 역시 어떤 방법을 쓰더라도 일관성을 지켜야 한다.

이처럼 일관성을 지키며 순도 높은 데이터셋을 구성하면 데이터 수가 작아도 인공지능 성능을 높일 수 있다. 앤드류 응 박사는 라벨링이 일관되지 않은 데이터, 즉 노이즈가 들어간 데이터 12% 보유한 데이터셋을 가지고 실험을 했다. 500개의 데이터 중 12%인 60개의 데이터를 일관성 있는 데이터로 고친 후 성능 향상을 측정했고, 다른 곳에서는 똑같이 12%의 노이즈가 들어간 데이터의 수를 늘려나가면서 모델의 성능 향상을 조사했다. 그랬더니 데이터를 수정하는 게 효율적일 수 있다고 판단됐다. 60개의 데이터를 수정해서 올라간 성능만큼 모델을 개선하려면 1500개의 데이터가 필요한 것으로 나타났다. 비즈니스에 따라서 빅데이터를 쉽게 얻을 수 있는 분야에서는 데이터 수를 늘리는 게 더 효율적일 수 있지만, 데이터를 얻는 것이 비용이 많이 드는 분야도 많다. 그러므로 학습용 데이터셋을 만들 때부터 일관성을 유지해서 고품질의 데이터를 만드는 게 좋다.

<그림> 데이터 종류에 따른 성능 향상 그래프
자료: DeepLearningAI, A Chat with Andrew on MLOps: From Model-centric to Data-centric AI, 2021.3.25


그런데 이것이 말처럼 쉽지 않다. 많은 기업이 학습용 데이터를 구축할 때 크라우드 워커를 활용한다. 수많은 크라우드 워커가 모두 똑같은 기준을 가지고 라벨링을 할 가능성은 없다. 우리 정부에서도 매년 수천억원 규모의 인공지능 학습용 데이터셋 구축 사업을 통해 공공 데이터를 만들고 있는데, 데이터 품질이 기대만큼 나오지 않는다는 게 문제다. 수십만 명이 참여하는 프로젝트에서 데이터 라벨링의 일관성을 확보하기가 쉽지 않기 때문이다.


MLOps 조직의 핵심 역할


데이터 개선을 통해 모델의 성능을 개선하는 데이터 중심의 AI 시대에 MLOps 팀의 가장 중요한 역할은 인공지능 프로젝트 전 사이클에 걸쳐 순도 높은 데이터를 구축하는 것이다. 크라우드 워커에 의존할 수밖에 없는 기업은 데이터 검수 프로세스를 시스템화하는 것도 한 방법이다. 비용이 더 들더라도 두 사람의 크라우드 워커가 라벨링을 하게 하고, 라벨링이 서로 다른 경우에 검수자가 일관된 원칙을 정해서 적용하는 것이다.

흔히 의료계에서 인공지능 데이터셋을 만들 때 이런 방법을 사용했다. 암 가능성 있는 환자의 사진에 나타난 증상을 라벨링을 한다고 했을 때, 의사마다 견해가 다를 수 있다. 궤양화, 종양, 염증, 모자이크화, 반점 등 각 증상의 경계에 해당되는 경우 의사마다 다르게 해석할 수 있다. 서로 다른 결과가 나왔을 때 선임 의료진이 참여하여 토론을 통해 증상을 확정하는 방식으로 의료 데이터를 구축했다.

인공지능 솔루션 개발에서 데이터가 중요하다는 것은 다 알고 있다. 이 말을 오늘날의 현실에 비추어 풀어보면, 데이터가 일관성 있게 구축될 때 모델의 성능이 높아진다는 의미다. 상황이 이러한 데도 인공지능 연구는 여전히 모델링에 집중돼 있다. 앤드류 응 박사가 최근 인공지능 논문 수백 편을 리뷰해 봤는데, 99%의 논문이 모델 개선에 대해 다뤘고, 1% 정도만 데이터에 대해 다뤘다는 사실을 확인했다.

MLOps 팀은 인공지능 개발, 활용, 모니터링 전 과정을 일관성을 가지고 관리하는 역할을 한다. 인공지능 수명주기 전 과정이 고객 불만 없이 빠르게 돌아가도록 하는 역할을 하는 것이다. 그런데 데이터 중심 인공지능 시대에 핵심은 인공지능 개발과 활용 전 과정에서 데이터의 일관성을 유지하는 것이다. 데이터 확보 과정에서 일관성을 어떻게 유지할지, 이후 재학습에서도 이런 원칙을 시스템적으로 지켜나갈 수 있는지, 그 방법을 고민하는 것이 MLOps의 핵심적인 역할이 돼야 한다.

 
이병주
컨설팅회사 더밸류컨설팅 대표  
『원샷 게임에서 반복 게임으로』, 『3불 전략』, 『촉』, 『애플 콤플렉스』 저자
본 콘텐츠는 저작권법에 의해 보호 받는 저작물로 LG CNS에 저작권이 있습니다.
사전 동의 없이 2차 가공 및 영리적인 이용을 금합니다.