국방품질연구회(DQS)가 전하는 품질 인사이트
DQS 매거진
인공지능(AI) 시스템의 품질관리
2022. 05. 04
글. ㈜스텝포워드솔루션 박영근 대표
AI시스템의 품질 확보가 어려운 이유
IT 분야 시장조사기관인 IDC가 2019년 5월에 발표한 ‘AI Global Survey 2019’ 통계에 따르면 절반에 가까운 응답자가 AI 프로젝트 실패율을 10 ~ 29%라고 응답했고, 20%에 가까운 응답자는 실패율이 30 ~ 49%에 이른다고 응답하였다. 가장 큰 실패 사유는 AI 시스템이 기대한 만큼 성능이 나오지 않는 것, 그리고 전문적인 기술 역량이 부족해서라고 조사되었다. AI 기술이 우리 사회에 널리 적용되기에는 아직까지는 넘어야 할 과제가 많다는 점을 보여주는 통계인데, AI 개발 프로젝트가 적정 수준의 성능과 품질을 확보하기 어려운 것은 다음과 같은 원인들이 있다고 생각된다.
데이터 양
AI 시스템의 품질은 시스템에 제공되는 학습용 데이터에 크게 의존하기 때문에 데이터는 AI 시스템의 핵심 요소이다. 따라서 AI 시스템을 개발할 때 가장 먼저 고려해야 할 점은 컴퓨터가 데이터를 활용할 수 있도록 필요한 요소를 갖추는 것이다. 원시 데이터 자체를 수집하는 것도 많은 시간과 비용이 수반되는 일이며, 확보된 데이터가 있어도 데이터 거버넌스 또는 보안 정책으로 인해 데이터에 대한 접근 자체를 제한하는 경우가 많기 때문에 필요한 데이터를 확보하지 못하는 문제가 빈번히 발생한다. AI 시스템은 인간과 유사한 방식으로 학습하지만 데이터에서 어떠한 패턴을 식별하려면 사람이 필요한 것보다 훨씬 더 방대한 데이터가 필요하고 특히 딥러닝 알고리즘은 그보다 많은 데이터를 제공할수록 결과가 좋기에 충분한 양의 데이터를 확보하지 못하면 AI 시스템의 품질은 제한적일 수밖에 없다.
데이터 품질
충분한 양의 데이터를 확보했더라도 그 데이터가 시스템 개발에 필요한 요건을 갖추고 있는지가 더 중요하다. 가령, 데이터의 분포가 특정 부분에만 편중되어 수집된 데이터로 학습한 모델은 편향된 결과를 낼 수밖에 없다. 또한, 데이터의 다양성이 부족하면 왜곡된 결과를 출력하게 된다. 데이터의 다양성이라 함은 현실 세계가 갖고 있는 상황을 포괄해야 한다는 것과 주어진 상황에서 변동될 수 있는 변동 요소를 모두 갖추어야 한다는 의미이다. 예를 들어, 음성 데이터를 수집한다면 발화자의 연령, 성별 등이 골고루 있어야 할 것이고, 특정 발화자라 할지라도 주변 잡음이 있는 경우와 없는 경우 등 여러 변동 요소를 고려한 데이터가 있어야 오류 없는 결과를 출력할 수 있다는 것이다. 아울러, 데이터의 신뢰성, 프라이버시 문제 해결 등이 보장되지 않으면 우리가 신뢰할 수 있는 AI 시스템의 품질을 얻기가 어렵게 된다.
데이터 라벨링 품질
지도학습의 경우, 데이터의 라벨링이 정확하지 않으면 AI 시스템이 잘못된 학습을 하기 때문에 출력 성능에 영향을 주게 된다. 요즘은 사물인터넷(IoT)을 통해 수집되는 정형 데이터 뿐만 아니라 이미지와 동영상과 같은 비정형 데이터가 많다. 이렇게 수집되는 데이터에 누군가는 데이터에 라벨을 지정해야(컴퓨터가 알 수 있는 정답을 부여해야) 하는데, 이 작업은 대단히 많은 시간을 소모하는 과정이고, 사람의 노력을 필요로 함과 동시에 관련된 도메인 지식과 맥락, 부단한 소통이 동원되어야 하는 과정이다. 과연 데이터 라벨링의 정확성, 즉, 부여된 라벨이 실제 조건과 얼마나 잘 일치하도록 보장하고 이를 확인하는 프로세스가 있는지 되돌아볼 필요가 있다.
AI 기술 성숙도
AI 기술이 성숙 단계가 아니라는 점도 우리가 성공적인 AI 프로젝트 또는 고품질의 AI 시스템을 개발하는 데 있어서 넘어야 하는 장애물 중 하나이다. 성공적인 AI 시스템을 개발하려면 기술적 지식과 비즈니스에 대한 이해를 모두 갖추는 것이 반드시 필요하지만, 일반적으로 AI 전문가는 데이터 사이언스를 기반으로 한 전문성을 갖추고 있는 반면 해당 도메인, 소프트웨어 품질에 대한 이해가 부족한 경우가 많고, 기존의 소프트웨어 엔지니어는 AI 기술에 대한 전문성을 아직까지 충분히 갖추지 못한 경우가 많다.
인공지능을 전공하고 구체적인 기술과 구현과정에 대한 지식과 경험을 갖춘 전문가는 의외로 많지 않다. AI 시스템 개발 프로젝트를 기획 단계부터 최종 구현까지 완전하게 완료해 본 경험을 갖춘 전문가 역시 그리 많지 않은 것이 현실이다. 설령 그런 전문가가 있더라도 인공지능의 세부 분야도 너무 다양하기 때문에 특정 분야의 비즈니스 또는 특정 데이터에 꼭 맞는 능력과 경험을 가진 사람일 가능성은 높지 않다.
전반적으로 AI 기술이 아직까지 발전 단계이지 성숙 단계가 아니기 때문에 주어진 비즈니스 문제에 올바른 기술과 프로세스를 적용하는 방법을 아는 AI 전문가의 수는 제한적이라는 현실이 아직까지는 만족스러운 품질의 AI 시스템을 개발하는 데 있어서 하나의 장벽이 되고 있는 것이다.
블랙박스 특성
또 한 가지 AI 시스템의 특성은 머신러닝 프로세스가 가진 블랙박스 특성입니다. 전통적인 소프트웨어는 사람이 정한 규칙(rule)에 따라서 주어진 문제를 해결할 수 있는 프로그래밍을 하기 때문에 출력에 대한 이미지가 명확하다. 구현해야 할 요구사항과 프로그램에 대한 통찰력을 사람이 가지고 있다. 반면에 머신러닝은 주어진 데이터로부터 규칙(rule)을 학습해서 확률적 결과를 내놓기 때문에 출력에 대한 이미지가 명확하지 않다. 인공신경망은 인간의 뇌가 구조화되는 방식을 모방하여 수많은 노드의 층(layer)으로 구성되어 입력층, 출력층 및 여러 개의 ‘숨겨진’ 중간층이 존재한다. 노드 자체는 비교적 간단한 수학적 연산을 수행하지만, 학습한 내용을 기반으로 결과를 생성하는 각 층 사이에서 의사결정 과정은 사람이 구체적으로 알 수 없는 블랙박스와 유사하다. 이러한 블랙박스 특성으로 인해 사람이 전체 과정을 통찰할 수 없기 때문에 모델이 왜 그런 결과를 출력했는지 사람이 다 파악할 수 없고, 또 이렇게 모르는 것들 때문에 모델을 최적화하는 것에도 제한이 있을 수밖에 없다.
품질관리 방법론 부재
전통적인 소프트웨어 품질관리 방법론에서 제품의 품질을 관리하는 핵심적인 두 가지 수단으로 ‘검증(verification)’과 ‘확인(validation)’이 있다.
‘검증’은 작업 결과물이 앞 단계가 부여한 요건을 만족하는지를 평가하는 수단을 의미하는데, “제품을 제대로 만들었는가?”(To ensure “You built it right?”)의 관점으로 검증하는 것을 말한다. 구체적으로는 동료검토(peer review) 기법을 활용한 요구사항 검증, 설계검증, 소스코드 검증이나 단위 테스트, 통합 테스트 등이 그 예가 되겠다.
‘확인(validation)’은 작업 결과물이 사용자의 특정한 목적을 만족하는지 평가하는 수단을 의미하는데, “제대로 된 제품을 만들었는가?”(To ensure “You built the right thing?”)의 관점으로 확인하는 것을 말한다. 구체적인 예로 시스템 테스트나 인수 테스트가 있다.
그런데 AI 시스템에 전통적인 소프트웨어 품질관리 방법론, 즉 검증과 확인을 적용하려고 해도 요구사항 정의서, 설계서 등이 체계적으로 잘 정리되지 않아서 품질관리를 위한 구체적인 기준이 명확하지 않다는 현실과 마주하게 된다. AI 시스템의 요구사항 정의서와 설계서가 구체적으로 작성되지 않는 이유는 여러 가지가 있지만 가장 큰 이유는 앞에서 설명한 머신러닝 프로세스의 블랙박스 특성 때문이다. 사람이 전체 과정을 모두 통찰하지 못하므로 어떤 결과를 출력할지 확신을 갖기가 곤란하다 보니 요구사항 정의서나 개발사양서를 작성하는 일을 자꾸 이후 단계로 미루는 상황이 되고, 결국 품질관리를 실효성 있게 수행할 수 있는 기준이 존재하지 않은 채 개발 과정이 계속 진행되는 상황이되고 마는 것이다.
AI 시스템 품질관리
앞 절에서 AI 시스템은 데이터의 양과 질, 기술 자체의 미성숙, 블랙박스 특성, 체계화되지 못한 품질관리 방법론 등의 복합적인 원인으로 우리가 신뢰할 수 있는 성능과 품질 수준을 만족하기가 쉽지 않다는 것을 알았다. 이 절에서는 AI 시스템에 대한 구체적인 품질관리 방법을 데이터 측면, AI 모델 측면으로 구분하여 소개하고자 한다.
데이터에 대한 품질
AI 프로젝트에서는 데이터를 수집, 식별, 취합, 정제, 라벨링, 데이터 확장에 이르기까지 데이터를 정리하고 준비하는 작업이 큰 비중을 차지하며 시간 또한 많이 소용되는 작업이다. 품질이 좋은 데이터를 사용하면 알고리즘의 결과물이 더 높은 정확도를 가져오는 반면에 데이터의 품질이 보장되지 않으면 알고리즘의 결정도 신뢰할 수 없기 때문이다. 따라서 AI 프로젝트에서는 데이터의 품질이 프로젝트의 성공을 좌우하는 핵심 요소라고 생각해야 한다.
데이터 충분성(Sufficiency)
일반적으로 ‘의사결정 트리’나 ‘회귀분석’과 같이 초기 머신러닝 알고리즘에서는 더 많은 데이터를 제공하더라도 알고리즘이 더 이상 개선되지 않는 경우가 많았다. 그렇지만 심층신경망을 기반으로 한 딥러닝 알고리즘이 나오면서 알고리즘이 고도화될수록 데이터가 많으면 더 좋은 성능을 보이게 되었다.
데이터 세트는 시스템 전체 성능에 높은 신뢰를 줄 수 있을 만큼 충분히 많아야 한다. 그러나 더 많은 데이터를 수집하기 위해서는 더 많은 비용이 수반되기 때문에 데이터 수집량에 대해 고민하게 되는데, 핵심은 의미 있는 데이터 양을 수집하여 개발에 활용해야 한다는 점이다.
그리고, AI 시스템은 학습과 검증을 반복하기 때문에 알고리즘 학습용 데이터, 검증용 데이터, 테스트용 데이터와 같이 교차검증, 일반화 성능확인, 최종 성능확인 등 각각의 목적에 따라 서로 독립적이면서도 양적으로 충분한 데이터를 확보하였는지 확인하는 것도 중요하다. 이런 확인 작업을 하려면 기준이 있어야 할 테니 개발하려는 시스템의 ‘개발사양서’ 또는 ‘요구사항 정의서’ 등에 목표로 하는 데이터 품질 기준을 충분성(sufficiency) 항목에 구체적으로 명시하는 것이 필요하다.
데이터 다양성(Diversity)
데이터 세트의 양적인 충분성 이외에 데이터의 다양성이 부족하게 되면 AI 알고리즘 결괏값은 편향성을 나타내기 쉽다. 우리가 AI 시스템을 활용하면서 만날 수 있는 위험한 상황 중에 하나이다. 원래 의도했던 AI 시스템의 활용 목적을 달성할 수 있으려면 우리가 살고 있는 세상의 실제 상황과 유사한 특징을 가진 데이터를 반영해야 한다. 데이터의 다양성에는 대표적으로 ‘포괄성’과 ‘변동성’ 등의 요소가 있다.
데이터 다양성 구분 | 의미 | 예시 |
---|---|---|
포괄성 (Coverage) |
학습에 유용한 모든 데이터 피처(feature) 정보를 AI 시스템의 학습에 반영할 수 있도록 하는 것 | 자율주행 자동차 데이터: 위치정보(GPS), 촬영시간, 도로종류, 차량 속도 등 |
변동성 (Variation) |
데이터 피처(feature) 정보가 실제 상황에서 변동될 수 있는 다양한 범위를 AI 시스템의 학습에 반영할 수 있도록 하는 것 | 자율주행 자동차 데이터: 낮과 밤, 우천, 눈 등 조건하에서 도심도로와 고속도로, 외곽/시골도로를 중심으로 저속과 중속, 고속 주행 환경에서 촬영한 영상 |
데이터 신뢰성(Trustworthiness)
AI 시스템은 우리 주변 어디에서나 볼 수 있게 되었지만, ‘인간이 인공지능을 얼마나 신뢰할 수 있는지’는 점점 중요한 질문이 되어 가고 있다. AI 알고리즘을 지속적으로 튜닝함으로써 성능을 개선하고 그 결과값에 대해 검증하는 과정을 부단히 거쳐야 하겠지만, 실제 환경과 사실에 근거한 데이터, 신뢰할 수 있는 데이터를 수집하여 AI 시스템의 모델을 학습하느냐가 중요한 출발점이 될 것이다. 한국지능정보사회진흥원(NIA)이 최근 공개한 “인공지능 학습용 데이터 품질관리 가이드라인 v2.0”의 ‘제2권 데이터 구축 안내서’를 보면 AI 데이터 획득-정제-어노테이션/라벨링-검수-활용 각 단계에서 데이터 신뢰성을 확보하기 위한 구체적 사항들을 참조할 수 있다.
AI 모델에 대한 품질
AI 시스템 개발 과정 중 알고리즘을 학습시켜서 모델을 개발하는 단계 또한 시스템의 성능에 대단히 많은 영향을 주게 된다. AI 모델은 학습용 데이터, 그리고 이 데이터에 선정되 알고리즘으로 학습용 데이터로 튜닝 작업을 거쳐서 만들어진 특화된 알고리즘이 AI 모델이 되는 것이므로 모델의 성능을 높이려면 좋은 데이터와 적절한 알고리즘, 최적화된 튜닝 작업 등이 모두 기여해야 하는 요소가 된다. 가장 자주 당면하는 품질 문제는 AI 모델의 편향성과 변동성이 될 것이다.
결국 AI 모델의 품질은 편향성과 변동성을 줄이기 위한 다양한 기술적 활동으로 달성되는 것이라고 보아도 과언이 아니다. 물론 편향성과 변동성 이외에도 AI 기술의 윤리적 측면, 설명가능성(Explainability), 강건성(Robustness) 등도 신뢰할 수 있는 AI 시스템이 되기 위해 반드시 확인해야 할 중요한 요소이다. AI 개발자들이 스스로 이러한 품질 요소들을 완전하게 해결해 나가기에는 한계가 있으므로 전문적인 품질관리 역할이 필요로 하게 된다. 한국정보통신산업진흥원(TTA)dl 발표한 “2022 신뢰할 수 있는 인공지능 개발 안내서(안)”을 보게 되면 AI 시스템 개발 과정에서 반드시 짚고 넘어가야 할 요구사항 및 이에 대한 검증항목들을 체크리스트의 형태로 잘 제시하고 있으므로 이를 참조하면 많은 도움이 될 것으로 생각한다.
국방 분야 AI 시스템 품질관리를 위한 제언
국방부는 2020년 12월, “국방 인공지능 추진전략”을 통해 3대 핵심가치와 5대 추진전략, 13개 주요과제를 발표하였는데, 주요 내용은 ‘인공지능 기술 신속 도입을 위한 혁신적 획득제도 개선’, ‘국과연, 기품원(국기원), 국방ICT지원단 등 전담부서 지원 및 민군 생태계 조성을 위한 전문기관별 역할 정립’, ‘양질의 데이터 확보 및 지속적 혁신을 위한 인프라 보강’ 등으로 요약할 수 있다.
국방 분야의 인공지능 기술 활용을 제약받는 가장 큰 이슈는 보안 규제로 인해 군 데이터 사용이 용이하지 않다는 점이다. 즉, 보안 규정으로 인한 외부망 접속 불가, 시험 및 운용 데이터 사용 곤란, 오픈소스 사용 제한 문제 등이 대표적인 예시가 될 것이다. 또 한가지 이슈는 무기체계 개발 프로세스 및 지침이 전통적인 국방 시스템 개발에 초점이 맞추어져 있으므로 인공지능 기술 시스템 개발 환경 관련 사항이 반영되도록 개선이 필요하다는 점이다.
국방 분야에서의 인공지능 활용을 강화하는 것은 단지 기술적 이슈 뿐만 아니라 제도적 여건 등도 종합적으로 고려해야 하는 복잡한 문제 해결 과정이 될 것으로 생각된다.
국방 분야에 인공지능 기술이 적용된 시스템들의 도입이 본격적으로 요구되는 시기가 곧 도래하게 될 것이므로 이에 대한 다양한 측면의 준비를 해나가는 것이 필요로 할 것이다. 인력/제도/조직 등 여러 가지 준비할 것이 있겠으나, 기술 측면에서 국한하여 본다면 국방 분야에 특화된 인공지능 기술력 확보에 집중하는 것과 동시에 신뢰할 수 있는 인공지능 시스템을 개발하기 위한 ‘AI 품질관리’ 에 대한 연구와 기술력 확보를 빼놓을 수가 없다.
민간 분야에서 과학기술정보통신부 산하의 한국지능정보사회진흥원(NIA), 한국정보통신기술협회(TTA) 등의 기관들이 중심이 되어 AI 품질관리에 대한 연구에 많은 자원을 투입하고 있다는 점은 국방 분야에도 많은 시사점을 줄 것이라 생각한다. 국방 분야에는 국방 품질을 전문적으로 연구하는 기품원이 있으므로 국과연, 각 군과 협조하여 국방이라는 특수한 환경을 고려한 국방 AI 품질관리 체계가 마련되는 것이 바람직할 것으로 생각된다.
- 참고문헌
-
- 1. 박영근, “더 좋은 개발자가 되기 위한 AI 품질관리 가이드”, 도서출판 프리렉, 2021
- 2. 과학기술정보통신부, “인공지능 학습용 데이터 품질관리 가이드라인 v2.0” , 제1권 품질관리 안내서, 제2권 데이터 구축 안내서, 2022
- 3. 과학기술정보통신부, “2022 신뢰할 수 있는 인공지능 개발 안내서”, 2022
- 4. 윤정현, “국방 분야 인공지능 기술 도입의 주요 쟁점과 활용 제고 방안”, 과학기술정책연구원 STEPI Insight 제279호, 2021.08.30