자세히 보기

“인공지능 실무 배치의 유일한 해법”··· ‘AI 엔지니어링’을 아시나요?

AI란 무엇일까? 일반적으로 기계가 사람의 사람처럼 생각하고, 사람을 닮은 행동을 하도록 프로그래밍한 것으로 정의된다. 즉 인공지능(AI)은 학습을 통해 문제를 해결하는 능력 등 사람의 지성과 관련된 특성 및 특징을 가진 모든 시스템을 일컫는 개념이다.

인공지능 기능을 이용하면 기업은 많은 혜택을 누릴 수 있다. 제품과 서비스를 강화하거나, 효율성을 개선하는 것, 수동 프로세스를 자동화하거나 더 나은 의사결정을 내리는 것 등이다. 

그러나 IT와 비즈니스 리더들은 ‘과장’와 ‘현실’을 능숙히 구분해야 한다. 가트너가 지적했듯, AI가 실제 가치를 발휘하도록 만드는 데 어려움을 겪는 기업과 조직들이 많다. 기업 리더들은 기술이 가져올 혜택을 과대평가하는 반면 복잡성은 과소평가하는 경향이 있다.

가트너는 2020년 초 미국과 독일, 영국 소재 기업과 조직의 고위 임원 600여 명을 설문조사한  결과에 따르면, 1/3이 넘는 조직들이 AI를 배치해 활용하고 있고, 절반 이상은 12개월 이내에 AI를 배치할 계획이다. 여기에 더해, 2년 내에 AI를 배치할 계획이라고 밝힌 비율은 약 1/3이다.

가트너는 조직이 AI 이니셔티브를 프로토타입에서 프로덕션 단계로 발전시키기 위해 투자하는 평균 기간은 9개월이라고 전했다. 또 AI 분야에 숙련된 인력이 크게 부족하지만, 이런 인재 부족은 AI의 성공적인 배치를 가로막는 주된 장벽은 아니며, AI 애플리케이션의 성공을 제한하는 요소는 명확한 성과가 없는 것이라고 지적했다.

전략을 ‘엔지니어링’
실제로 기업들은 AI를 프로토타입에서 프로덕션 단계로 효율적으로 발전시키는 과정에서 통합, 보안, 프라이버시 문제 등의 여러 도전과제에 직면하곤 한다.

AI 엔지니어링이 이와 관련해 중요한 역할을 할 수 있다고 카네기 멜론 대학의 소프트웨어 공학 연구소(Software Engineering Institute, SEI) 산하 이머징 기술 센터 디렉터이자 내셔널 AI 엔지니어링 이니셔티브(National AI Engineering Initiative)의 리더인 맷 개스턴은 강조했다.

그는 “AI 엔지니어링이란 신뢰할 수 있는 AI 시스템을 설계, 구축, 테스트, 배포, 운영, 발전시키는 방법에 관한 프로세스, 도구, 모범 사례이다”라고 설명했다.

개스턴은 “AI 자체는 머신러닝 같이 지능형 모델이나 기능을 구현하는 특정 AI 기법들에 관한 것이다. AI 엔지니어링은 이런 지능형 모델이나 기능을 비즈니스와 운영, 사명에 대한 솔루션을 제공하는 완전히 기능하는 시스템으로 전환해준다”라고 설명했다.

가트너의 VP 겸 애널리스트인 에릭 브레테녹스는 AI 엔지니어링을 2021년 가장 중요한 전략적 기술 트렌드 중 하나로 꼽았다. 그는 AI 엔지니어링이 전사적으로 여러 조직과 분야를 결집해 여러 AI 기법들을 통합적으로 운영할 때 가치를 창출할 수 있는 더 명확한 경로를 제공한다고 강조했다.

고객사들의 AI 엔지니어링 전략 도입에 도움을 주고 있는 브레테녹스는 견고한 AI 엔지니어링 전략이 AI 모델의 성능, 확장성, 해석 능력, 신뢰성에 도움을 주며, AI 투자 가치를 완전히 실현시킨다고 설명했다. 그는 “AI 엔지니어링은 AI를 프로덕션 단계로 발전시키고, 전사적으로 이의 사용을 통제, 관리, 모니터링하는 방법, 모범 사례, 기능, 기법들로 구성된다”라고 덧붙였다.

브레테녹스에 따르면, AI는 일반적으로 2개 주요 주기로 구분된다. 첫째, 애플리케이션의 종류에 따라 (예를 들어) 규칙 기반 모델, 최적화 모델, 자연어 처리 모델 등 ML 모델을 개발해 트레이닝 하는 주기이다. 둘째, 조직 내부에 모델을 구현해 이용하는 주기이다.

브레테녹스는 “기업들 다수가 AI 모델을 제대로 운영하지 못한다. 모델 개발은 능숙하다. 수많은 모델을 개발하곤 한다. 그러나 이 모델을 프로덕션 단계로 발전시키기 어렵다. 이 모델을 프로덕션화 하는 것을 체계화할 방법이 필요하다. 여기에 엔지니어링이 필요하다”라고 강조했다.

브레테녹스는 특정 프로젝트에 AI를 운영할 때 AI 엔지니어링이 비공식적이거나 임시적인 활동이어서는 안 된다고 말했다. 모든 AI와 머신러닝 활용에 적용되는 모범 사례가 될 수 있도록 전사적으로 공식화해야 한다는 주문이다.

개스턴은 AI 엔지니어링이 아직 초기 단계인 개념으로 향후 성장하고 성숙해질 것이라고 말했다. 또 AI 분야에서 나타나고 있는 혁신 속도에 맞춰 진화할 것이라고 전망했다. 조직들이 AI 기법이 통합된 비즈니스 솔루션을 만들어 유지관리하기 위해 AI 엔지니어링을 이용한다는 의미이다.

여기에는 비즈니스 니즈를 바탕으로 시스템 요구사항을 규정하고, 이런 요구사항에 맞는 AI 기법들을 선택하고, 시스템이 원하는 대로 계속 기능하도록 테스트 및 모니터링 도구를 활용하고, 요구사항이나 운영 환경이 변할 때 AI 시스템을 업데이트 및 진화시키는 프로세스와 프레임워크를 활용하는 것 등이 포함된다.

“기업들 다수가 AI 모델을 제대로 운영하지 못한다. 모델 개발은 능숙하다. 수많은 모델을 개발하곤 한다. 그러나 이 모델을 프로덕션 단계로 발전시키기 어렵다. 이 모델을 프로덕션화 하는 것을 체계화할 방법이 필요하다. 여기에 엔지니어링이 필요하다”


주요 구성요소
AI를 성공적으로 활용하기 위한 ‘열쇠’ 중 하나는 운영 단계로 발전하는 것이 단순히 기술적인 문제가 아니라 비즈니스 문제이기도 하다는 점을 인식하는 것이다.

브레테녹스는 “AI를 프로덕션 단계에 투입할 때 애플리케이션, AI 유즈 케이스, 이런 애플리케이션으로 비즈니스를 지원하는 방법에 대해 주제 전문가와 상의해야 한다. 그런 다음, 이용하는 핵심 성과 지표(KPI)가 실제 작동하는지 파악해야 한다”라고 말했다.

브레테녹스는 “비즈니스 사용자가 AI 엔지니어링 활동의 중심이 되어야 한다. 그래야 AI가 조직이 추구하는 목표에 부응할 수 있다”라고 강조했다.

기술이 중요하지 않다는 이야기는 아니다. AI 팀은 회사가 AI로 이루려는 목적을 달성할 수 있고, 기존 제품 및 다른 새로운 AI 도구와 쉽게 통합할 수 있는 도구와 기법을 선택할 수 있도록 통찰력을 발휘해야 한다.

또 다른 중요한 고려사항은 기업이 모델에 공급할 데이터 품질이다. 브레테녹스는 “데이터의 출처가 어디인가? 얼마나 신뢰할 수 있는가?”라고 반문했다.

조직이 데이터 품질을 개선하는 데 도움을 주는 비교적 새로운 개념이 데이터옵스(DataOps)이다. 이는 데이터 분석 팀이 데이터 품질을 높이고, 애자일 방법론을 매개체로 분석 사이클 시간을 줄이기 위해 이용하는 자동화된 프로세스 지향 기법이다.

데이터옵스 접근법에는 데이터 준비부터 보고까지 전체 데이터 생애주기에 적용되며, 데이터 분석 팀과 IT 운영이 서로 연결되어 있음을 인정하는 생각이 깔려있다. 

AI를 활용하려는 기업과 조직은 적절한 스킬도 보유해야 한다. 파이썬(Python)과 R, 자바(Java), C++ 같은 프로그래밍 언어, 알고리즘과 라이브러리를 포함한 M, 데이터 사이언스, 뉴럴 네트워크 아키텍처, 확률과 통계 같은 응용 수학, 로봇, 컴퓨터 비전 분야의 경험을 예로 들 수 있다. AI 분야 종사자는 우수한 커뮤니케이션 및 협력 능력, 비판적 사고와 창의성 같은 소프트 스킬도 보유해야 한다.

브레테녹스는 새로 부상하는 스킬 중 하나는 ‘ML검증’이라고 말했다. 모델 검증은 테스팅 데이터 세트로 트레이닝 된 모델을 평가하는 프로세스이다. 이 테스팅 데이터 세트를 이용하는 주된 이유는 트레이닝 된 모델의 일반적인 능력을 테스트하기 위해서이다.

브레테녹스는 “이런 사람들이 AI 모델의 생애주기 전반에 걸쳐 관여를 한다. 데이터 관점을 시작으로, 다음은 개발 관점, 그 다음은 운영 관점에서 검증을 한다. 모델을 통해 수행되는 모든 것이 유효한지, 합법적인지, 기술적으로 실현 가능한지 여부를 평가한다”라고 말했다.

한편 브레테녹스는 AI 스킬은 많은 조직들이 생각하는 것처럼 획득하기 어려운 것은 아니라고 말했다. 내부에서 올바른 인재 발굴 프로그램, 적절한 업스킬링 및 교육 체계를 운영하고, 외부 인재를 적절한 비율로 유치하면 성과를 거둘 수 있다는 설명이다. 

AI와 함께 전진하는 방법
많은 기업들이 AI가 여러 방식으로 비즈니스 가치를 제공할 수 있음을 인식하고 있으며, 이에 데이터 사이언스와 머신러닝, AI 팀을 구축하기 시작했다.

개스턴은 “팀 구축이 중요한 첫 단계이지만, 대부분의 데이터 사이언스나 ML팀이 하는 역할은 통제된 환경에서 데이터를 사용해 모델을 구현하는 것이다. 기업들이 더 전체적으로 비즈니스 솔루션을 위해 AI를 실현시키고, 운영하고, 유지관리 하는 방법을 찾는 것이 아주 중요하다. 이를 위해서는 더 다양한 인재, 관점, 경험을 가져와야 한다”라고 강조했다.

AI 엔지니어링 전략 없이도 AI 프로젝트를 추진할 수 있다. 하지만 이렇게 하면, 장기적이면서 종합적으로 기술을 성공적으로 활용할 가능성에 제약을 받을 수 있다. AI는 너무 전략적이고 강력한 도구이기 때문에 이런 위험한 방식에 맡길 수 없다.

브레테녹스는 “이것이 AI 문제를 해결하는 유일한 방법이라고 생각한다. AI 엔지니어링을 수행하지 않는다면, 모델이 프로덕션 단계로 발전할 확률은 약 35-45%에 불과할 것으로 판단한다. 나머지는 낭비하게 된다. 65% 정도의 모델이 낭비되고, 매번 처음부터 다시 시작을 하게 될 것이다”라고 말했다.

AI의 주요 문제 중 하나는 계속해서 개발 및 트레이닝 단계에서 운영/제품 단계로 전환하는 것이다. 그리고 기업이 AI에 체계적인 엔지니어링 방식으로 접근하지 않는다면, 이는 계속해서 문제가 될 것이다.

브레테녹스는 “AI를 잘 활용한 조직들은 이를 더 체계적으로 활용한 조직들이다. 이를 통해 큰 혜택을 누리고 있다. 애초 AI를 시작하는 이유가 무엇인가? 운영 단계 전에는 그저 흥미로운 지적 탐구에 불과하다. AI를 비즈니스 현장에 배치해야 경제적인 이점이 창출된다”라고 말했다.
 

AI 엔지니어링의 토대가 되는 실천 사항

정부 지원 연구 개발 센터인 카네기 멜론 대학 산하 소프트웨어 엔지니어링 연구소(SEI)는 AI 엔지니어링의 토대가 되는 실천 사항 11가지를 제시하고 있다. 이는 소프트웨어 엔지니어링, 사이버 보안, 응용 AI 분야 전문가들이 IT와 비즈니스 부문 의사결정자들에게 권장하는 사항들이다. 다음은 이 가운데 일부를 요약한 내용이다.

– 조직에 AI로 해결할 수 있고, 해결해야 하는 문제가 있는지 확인한다. 잘 정의된 문제부터 시작한다. 달성하려는 목표와 필요한 결과를 이해하고, 이런 결과를 얻는 데 필요한 데이터를 입수한다.

– 소프트웨어 엔지니어링 팀에 데이터 사이언티스트와 데이터 아키텍트 등 다양한 주제 전문가를 참여시킨다. 유능한 AI 엔지니어링 팀은 문제 영역, 데이터 엔지니어링, 모델 선택 및 개선, 하드웨어 인프라, 소프트웨어 설계, 소프트웨어 엔지니어링 분야의 전문가들로 구성되어 있다.

– 데이터를 중시한다. 데이터 수집, 클린징, 보호, 모니터링, 검증은 AI 시스템을 성공적으로 엔지니어링 하는 데 아주 중요하다. 여기에는 많은 리소스, 시간, 주의가 필요하다. 프로세스가 환경의 변화, 존재할 수도 있는 편향, 악의적으로 이용될 가능성 등을 반영하도록 만든다.

– 인기가 아닌 모델로 처리해야 할 것들을 토대로 ML 알고리즘을 선택한다. 알고리즘은 해결할 수 있는 문제의 종류, 아웃풋 정보의 상세한 정도, 아웃풋과 모델의 해석 가능 정도 등 몇 가지 중요한 방식에서 차이가 있다. 특정 문제를 해결하는 데 적합하고, 비즈니스와 엔지니어링 니즈를 충족하는 알고리즘을 선택한다.

– 통합 모니터링 및 경감 전략을 도입해 AI 시스템을 안전하게 만든다. AI 시스템의 공격 표면이 확대되고 있다. SEI에 따르면, 더 넓어진 공격 표면이 환경을 더 취약하게 만든다. 지속적인 평가와 검증으로 여기에 대응해야 한다. 아주 빠르게 새로운 위협이 출현하고 있기 때문에 특히 중요한 부분이다.

– 복구, 추적성, 의사결정 근거가 필요한 경우에 대비한 체크포인트를 규정한다. SEI에 따르면, AI 시스템은 인풋 데이터, 트레이닝 데이터, 모델 같은 종속성에 아주 민감하다. 특정 시스템 하나의 특징이나 버전이 변경되면 다른 부분에 빠르게 영향이 초래될 수 있다.

– 지속적으로 모델을 검증하고 발전시킬 수 있도록 사용자 경험과 상호작용을 통합한다. 자동화된 방식을 가능한 많이 활용, 시스템 아웃풋에 대한 피드백을 수집하고 모델을 개선한다. 사용자 경험과 환경을 모니터링, 조기에 문제를 파악한다. 사용자 편향과 편견을 고려한다.

– 아웃풋을 해석할 필요성에 대비한다. SEI에 따르면, AI 아웃풋은 다른 대부분 시스템보다 훨씬 더 많은 해석이 필요하다. AI 시스템으로 초래되는 불확실성이 특정 상황에서는 용인되지 못할 수도 있다. ML 구성요소를 통합하기 위해서는 아웃풋 불확실성에 대한 고려와 설계가 요구된다.

– 불가피한 데이터 및 모델 변경이나 변화에 맞춰 확장하거나 교체할 수 있게끔 느슨하게 연결된 방식으로 도구들을 구현한다. SEI는 데이터가 얽혀 있기 때문에 AI 시스템 구성요소 간 경계는 전통적인 시스템의 경계보다 더 빨리 희석된다고 설명한다.

– 시스템 생애 동안 지속적인 변화에 대비해 충분한 시간과 전문가를 투입한다. SEI는 팀들이 필요한 리소스를 과소평가하고 있다고 지적했다. 초기 AI 시스템 구현에 훨씬 더 많은 리소스가 필요하다. 신속히 확장할 필요성이 있기 때문이다. 또 시스템 생애 동안 많은 리소스를 투입해야 한다.

– 소프트웨어 디자인과 정책을 고려할 때 윤리적인 부분을 반영해야 한다. SEI는 모든 시스템 구성요소를 대상으로 윤리적 문제를 평가해야 한다고 설명했다. 데이터 수집부터 의사결정, 성능 및 효과성 검증과 모니터링까지 시스템의 모든 부분에서 조직 가치, 사회적 가치를 반영해야 한다.

dl-ciokorea@foundryco.com