2021.08.02

'책임 있는 AI' 설계 가이드… 마이크로소프트 HAX의 이해

Simon Bisson | InfoWorld
이제 곳곳에서 머신러닝(ML)이 활용되고 있다. 공상과학 영화와 소설에 나오는 것처럼 유연하고, 일반적이지는 않지만, 규칙 엔진과 무차별 대입(Brute force) 이미지 및 음성 인식 시스템의 강력한 대안이 될 수 있다. 그러나 한 가지 큰 문제가 남아 있다. 즉 오늘날 AI는 학습 데이터에 의해 성능이 좌우되는 블랙박스 시스템으로 구성돼 있다는 점이다.

우리가 애플리케이션과 서비스에 집어넣는 ML 기반 모듈의 근본적인 특성은 애플리케이션 설계 방법에 관한 새로운 질문을 제기한다. 애플리케이션에서 결정이 내려지는 방식을 모른다면, 어떻게 운영자와 사용자에게 알릴 수 있을까? 우리는 확실성과 불확실성을 혼합해 코드에 반영하는 방법이 필요하다. 그래야 사용자에게 (애플리케이션이 결정을 내리는 동안) 알고리즘의 편향과 다른 근본적인 오류를 인식할 필요가 있음을 알려줄 수 있다.

이와 관련, 2가지 개념이 대두되고 있다. 첫째, AI의 설명 가능성 문제이고, 둘째, '책임 있는 AI 사용'이라는 더 복잡한 문제이다. 첫 번째 문제는 다루기 어려운 문제다. 훈련된 딥 러닝 뉴럴 네트워크의 복잡성을 설명하는 것은 둘째 치고, 이해하기도 매우 어렵다. 두 번째는 데이터 세트와 학습 데이터 선택부터 시작해 머신러닝 활용 방법을 보여주는 것으로 끝나는 다층적인 문제다.
 

머신러닝과 디자인의 결합, 'HAX'

책임 있게 AI를 이용하도록 하려면, 전체 개발팀이 자신이 하는 일을 이해하고, 자신의 선택이 최종 사용자에게 어떤 영향을 주는지 보여줄 도구가 필요하다. 즉, 애플리케이션이 초래할 수 있는 피해를 없애지는 못해도 최소화할 수 있어야 한다.

바로 이런 용도로 활용할 수 있는 것이 마이크로소프트 리서치(Microsoft Research)가 새로 개발한 HAX(Human-AI eXperience) 툴킷이다. 이 툴은 우리가 이 새로운 기술로 일하는 방식, 사용자에게 계속 정보를 제공하기 위해 디자인을 활용하는 방법을 선택하는 데 도움을 주는 프레임워크를 제공한다. HAX는 2019년 발표된 논문에 토대를 두고 있다. 이 연구 개념을 실질적인 도구로 구현했다.

더 자세히 살펴보면, 개발자는 디자인(설계)에 대해 잊어버리는 경우가 많다. 하지만 결국 사용자 만족도를 결정하는 것은 디자인이다. 현대적인 소프트웨어 개발 생애주기에서 프로젝트 초기 단계부터 디자인을 포함하는 것도 이 때문이다. 프로토타입에 기반을 둔 애자일 개발 모델의 일부로 신속히 코드와 함께 디자인을 반복해야 한다. 사용자 중심 디자인은 비즈니스 분석과 시스템 아키텍처처럼 요구사항을 수집하는 것만큼 중요하다.

HAX는 이러한 업무처리 방식을 바꾸지 않으면서 정보와 안내를 제공하고, 동시에 모든 소프트웨어 개발 생애주기에 부합할 수 있는 도구를 제공하는 데 목적을 둔다. 쉽지 않은 과제지만, 동시에 필요한 도전이기도 하다.

우리는 이 기술이 제공하는 혜택을 계속 누릴 수 있는 방식으로 개발 프로세스에서 책임 있게 AI를 이용할 수 있어야 한다. 즉, UI 모델에서도 책임 있는 AI에 대한 필요성을 고려해야 한다. 머신러닝 애플리케이션에는 사용자 인터페이스가 없을 수도 있지만, 여전히 사용자 상호작용의 일부가 될 수도 있다.

예를 들어  누군가 위험한 장소를 배회할 때 위험한 기계의 작동을 중단시키는 컴퓨터 비전 기반 안전 도구에 책임 있게 이미지 인식 기법을 사용하고 있음을 보여주는 방법은 무엇일까? 애플리케이션 UI는 없다. 그렇다면 애플리케이션 디자인의 일부로 적절한 사이니지를 디자인할 필요가 있는데, HAX가 도움이 된다. 개발 프로세스의 일부로 적합한 질문을 하도록 도움을 주기 때문이다.
 

HAX를 활용하는 방법

HAX의 핵심은 사용자와 시스템 간 상호작용에 가이드로 사용할 수 있는 18개 모범 사례에 바탕을 둔 가이드라인이다. 애플리케이션에 사용하려 할 때 색상으로 분류하는 일련의 카드 형태인 디자인 패턴으로 제시된다. 이 디자인 패턴이 나타내는 것은 4가지의 상호작용 영역이다. 상호작용 이전, 상호작용 하는 동안, 무언가 잘못되었을 때, 더 장기간 사용자와 함께 시스템을 작동시키는 방식이 여기에 해당한다.

다양한 카드가 다양한 상호작용 예제가 추가된 인터랙티브 디자인 라이브러리에서 제시된다. 첫 번째 가이드라인 카드는 시스템이 무엇을 하는지 소명하고, 사용자가 제시하는 도구를 효과적으로 설명한다. 생산성 도구가 머신러닝을 활용하는 방식을 보여주는 등의 샘플을 제시한다. 마이크로소프트 워드에서 텍스트 예측 서비스를 위해 자연어 처리를 사용하는 것이 대표적이다.

그러나 가장 유용한 것은 불확실성을 처리하는 데 초점을 맞춘 가이드라인이다. 우리는 애플리케이션이 완벽하게 작동하고, 사용자가 개발 의도를 이해할 것이라고 기대한다. 따라서 문제가 있을 때를 명확히 알려주는 모범 사례를 마련하는 것이 중요하다. 어느 정도는, 이런 가이드라인은 UI 카피의 명확성, 실패 시 매끄러운 대비를 위한 대안이기도 하다.

결국, 가장 중요한 것은 AI 기반 시스템이 실패할 경우, 사용자가 무엇이 잘못되었는지, 그리고 그 이유가 무엇인지 이해하는 것이다. 챗봇이 용어를 이해하지 못한 상황이라면, 이를 명확히 하는 요청을 하고, 사용자의 대답을 확대된 라벨링 및 학습에 적용해야 한다.
 

개발 초기부터 HAX를 사용해야

HAX 같은 도구는 개발 프로세스 초기에 사용하는 것이 가장 좋다. 머신러닝이 AI 애플리케이션의 핵심 구성요소이므로, 머신러닝과의 상호작용이 나머지 코드에 어떻게 영향을 주는지 이해해야 하기 때문이다.

HAX에는 시스템에 책임 있게 AI 인터페이스를 구현할 때의 영향을 팀이 이해하는 데 도움을 주는 엑셀 워크북이 포함돼 있다. 이런 작업에는 디자인(설계) 팀만 참여하는 것이 아니다. 개발자와 프로젝트 매니저, 심지어 비즈니스 애널리스트도 참여해야 한다.

엑셀 기반의 계획 수립 도구는 소프트웨어 엔지니어링 프로세스에서 많이 사용되는 요소로 요건 수집과 기본적인 프로젝트 범위 수립에 도움을 준다. 전체 프로세스에서 ‘최신 상태’가 계속 유지되도록 소프트웨어 개발 생애주기 초기에 새 스프레드시트를 추가하는 것은 그다지 힘든 일이 아니다. HAX 워크북은 티셔츠 치수에 기반을 둔 친숙한 ‘비유’로 사람-AI 상호작용을 애플리케이션에 추가했을 때의 영향을 다루는 데 도움이 된다.

여기에서 친숙한 비유를 사용한다는 것이 중요하다. 여러 분야가 참여하는 개발 이니셔티브에서 가장 큰 문제 중 하나는 언어다. 엔지니어링, 디자인, 비즈니스팀은 각자 자신의 언어를 갖고 있다. 분야에 따라 단어나 용어의 의미가 달라질 수 있다. 반대로 다른 단어가 같은 의미를 가질 수도 있다. 이 도구를 이용하면 새로운 모델을 도입, 어려움이 많이 따르는 프로세스의 ‘지름길’을 찾을 수 있다. 서로 협력하고 모두가 효과가 있다고 판단하는 무언가를 선택하는 방법을 찾을 수 있다.
 

HAZ 플레이북으로 AI를 탐구하는 방법

HAX의 마지막 부분은 아직 개발 단계인 HAX 플레이북이다. 이는 애플리케이션의 기본 상호작용 시나리오를 테스트하는 데 도움을 주는 가이드 도구다. 질문에 대한 대답을 토대로 테스트할 여러 시나리오를 제공한다. 초기 버전은 자연어 시스템만 지원한다. 대화형 도구는 매우 자유로운 형태이므로 정의하기 가장 어려운 시스템이다. 이 플레이북이 제안하는 기능에는 시스템이 맞춤법 오류를 처리하는 방식, 응답을 생성하는 방식, 데이터를 분류하는 방식을 살펴보는 것이 포함된다.

마이크로소프트 리서치 팀은 현재 깃허브에서 HAX 플레이북을 작업하고 있다. 따라서 이들이 어떻게 구축을 하고, 무엇을 추가하는지 확인할 수 있다. 더 나아가, 자신의 시나리오와 애플리케이션에 초점을 맞춰 질문과 제안을 추가하기 위해 리포지토리를 더 찾아볼 수도 있다. 플레이북은 가이드라인의 ‘애드온’과 같다. 샘플카드 외에 고려할 필요가 있는 것을 제시하는 도구다.

마이크로소프트 리서치는 HAX로 중요한 일을 하고 있다. 그동안 책임 있는 AI를 구현하는 것은 실무 분야가 아닌 연구 주제로 취급하는 경향이 있었다. 하지만 머신러닝을 애플리케이션의 일부로 활용하려면, 이는 실제 소프트웨어 개발 프로세스의 일부가 될 필요가 있다는 점을 이해해야 한다.

HAX는 AI에서 사람과의 상호작용 부분에 초점을 맞추고, 소프트웨어가 AI를 이용하는 방식에 대해 질문할 수 있도록 지원한다. 이를 통해, 개발자가 기술 이용 방식에 대해 더 많이 고민하도록 유도한다. editor@itworld.co.kr


2021.08.02

'책임 있는 AI' 설계 가이드… 마이크로소프트 HAX의 이해

Simon Bisson | InfoWorld
이제 곳곳에서 머신러닝(ML)이 활용되고 있다. 공상과학 영화와 소설에 나오는 것처럼 유연하고, 일반적이지는 않지만, 규칙 엔진과 무차별 대입(Brute force) 이미지 및 음성 인식 시스템의 강력한 대안이 될 수 있다. 그러나 한 가지 큰 문제가 남아 있다. 즉 오늘날 AI는 학습 데이터에 의해 성능이 좌우되는 블랙박스 시스템으로 구성돼 있다는 점이다.

우리가 애플리케이션과 서비스에 집어넣는 ML 기반 모듈의 근본적인 특성은 애플리케이션 설계 방법에 관한 새로운 질문을 제기한다. 애플리케이션에서 결정이 내려지는 방식을 모른다면, 어떻게 운영자와 사용자에게 알릴 수 있을까? 우리는 확실성과 불확실성을 혼합해 코드에 반영하는 방법이 필요하다. 그래야 사용자에게 (애플리케이션이 결정을 내리는 동안) 알고리즘의 편향과 다른 근본적인 오류를 인식할 필요가 있음을 알려줄 수 있다.

이와 관련, 2가지 개념이 대두되고 있다. 첫째, AI의 설명 가능성 문제이고, 둘째, '책임 있는 AI 사용'이라는 더 복잡한 문제이다. 첫 번째 문제는 다루기 어려운 문제다. 훈련된 딥 러닝 뉴럴 네트워크의 복잡성을 설명하는 것은 둘째 치고, 이해하기도 매우 어렵다. 두 번째는 데이터 세트와 학습 데이터 선택부터 시작해 머신러닝 활용 방법을 보여주는 것으로 끝나는 다층적인 문제다.
 

머신러닝과 디자인의 결합, 'HAX'

책임 있게 AI를 이용하도록 하려면, 전체 개발팀이 자신이 하는 일을 이해하고, 자신의 선택이 최종 사용자에게 어떤 영향을 주는지 보여줄 도구가 필요하다. 즉, 애플리케이션이 초래할 수 있는 피해를 없애지는 못해도 최소화할 수 있어야 한다.

바로 이런 용도로 활용할 수 있는 것이 마이크로소프트 리서치(Microsoft Research)가 새로 개발한 HAX(Human-AI eXperience) 툴킷이다. 이 툴은 우리가 이 새로운 기술로 일하는 방식, 사용자에게 계속 정보를 제공하기 위해 디자인을 활용하는 방법을 선택하는 데 도움을 주는 프레임워크를 제공한다. HAX는 2019년 발표된 논문에 토대를 두고 있다. 이 연구 개념을 실질적인 도구로 구현했다.

더 자세히 살펴보면, 개발자는 디자인(설계)에 대해 잊어버리는 경우가 많다. 하지만 결국 사용자 만족도를 결정하는 것은 디자인이다. 현대적인 소프트웨어 개발 생애주기에서 프로젝트 초기 단계부터 디자인을 포함하는 것도 이 때문이다. 프로토타입에 기반을 둔 애자일 개발 모델의 일부로 신속히 코드와 함께 디자인을 반복해야 한다. 사용자 중심 디자인은 비즈니스 분석과 시스템 아키텍처처럼 요구사항을 수집하는 것만큼 중요하다.

HAX는 이러한 업무처리 방식을 바꾸지 않으면서 정보와 안내를 제공하고, 동시에 모든 소프트웨어 개발 생애주기에 부합할 수 있는 도구를 제공하는 데 목적을 둔다. 쉽지 않은 과제지만, 동시에 필요한 도전이기도 하다.

우리는 이 기술이 제공하는 혜택을 계속 누릴 수 있는 방식으로 개발 프로세스에서 책임 있게 AI를 이용할 수 있어야 한다. 즉, UI 모델에서도 책임 있는 AI에 대한 필요성을 고려해야 한다. 머신러닝 애플리케이션에는 사용자 인터페이스가 없을 수도 있지만, 여전히 사용자 상호작용의 일부가 될 수도 있다.

예를 들어  누군가 위험한 장소를 배회할 때 위험한 기계의 작동을 중단시키는 컴퓨터 비전 기반 안전 도구에 책임 있게 이미지 인식 기법을 사용하고 있음을 보여주는 방법은 무엇일까? 애플리케이션 UI는 없다. 그렇다면 애플리케이션 디자인의 일부로 적절한 사이니지를 디자인할 필요가 있는데, HAX가 도움이 된다. 개발 프로세스의 일부로 적합한 질문을 하도록 도움을 주기 때문이다.
 

HAX를 활용하는 방법

HAX의 핵심은 사용자와 시스템 간 상호작용에 가이드로 사용할 수 있는 18개 모범 사례에 바탕을 둔 가이드라인이다. 애플리케이션에 사용하려 할 때 색상으로 분류하는 일련의 카드 형태인 디자인 패턴으로 제시된다. 이 디자인 패턴이 나타내는 것은 4가지의 상호작용 영역이다. 상호작용 이전, 상호작용 하는 동안, 무언가 잘못되었을 때, 더 장기간 사용자와 함께 시스템을 작동시키는 방식이 여기에 해당한다.

다양한 카드가 다양한 상호작용 예제가 추가된 인터랙티브 디자인 라이브러리에서 제시된다. 첫 번째 가이드라인 카드는 시스템이 무엇을 하는지 소명하고, 사용자가 제시하는 도구를 효과적으로 설명한다. 생산성 도구가 머신러닝을 활용하는 방식을 보여주는 등의 샘플을 제시한다. 마이크로소프트 워드에서 텍스트 예측 서비스를 위해 자연어 처리를 사용하는 것이 대표적이다.

그러나 가장 유용한 것은 불확실성을 처리하는 데 초점을 맞춘 가이드라인이다. 우리는 애플리케이션이 완벽하게 작동하고, 사용자가 개발 의도를 이해할 것이라고 기대한다. 따라서 문제가 있을 때를 명확히 알려주는 모범 사례를 마련하는 것이 중요하다. 어느 정도는, 이런 가이드라인은 UI 카피의 명확성, 실패 시 매끄러운 대비를 위한 대안이기도 하다.

결국, 가장 중요한 것은 AI 기반 시스템이 실패할 경우, 사용자가 무엇이 잘못되었는지, 그리고 그 이유가 무엇인지 이해하는 것이다. 챗봇이 용어를 이해하지 못한 상황이라면, 이를 명확히 하는 요청을 하고, 사용자의 대답을 확대된 라벨링 및 학습에 적용해야 한다.
 

개발 초기부터 HAX를 사용해야

HAX 같은 도구는 개발 프로세스 초기에 사용하는 것이 가장 좋다. 머신러닝이 AI 애플리케이션의 핵심 구성요소이므로, 머신러닝과의 상호작용이 나머지 코드에 어떻게 영향을 주는지 이해해야 하기 때문이다.

HAX에는 시스템에 책임 있게 AI 인터페이스를 구현할 때의 영향을 팀이 이해하는 데 도움을 주는 엑셀 워크북이 포함돼 있다. 이런 작업에는 디자인(설계) 팀만 참여하는 것이 아니다. 개발자와 프로젝트 매니저, 심지어 비즈니스 애널리스트도 참여해야 한다.

엑셀 기반의 계획 수립 도구는 소프트웨어 엔지니어링 프로세스에서 많이 사용되는 요소로 요건 수집과 기본적인 프로젝트 범위 수립에 도움을 준다. 전체 프로세스에서 ‘최신 상태’가 계속 유지되도록 소프트웨어 개발 생애주기 초기에 새 스프레드시트를 추가하는 것은 그다지 힘든 일이 아니다. HAX 워크북은 티셔츠 치수에 기반을 둔 친숙한 ‘비유’로 사람-AI 상호작용을 애플리케이션에 추가했을 때의 영향을 다루는 데 도움이 된다.

여기에서 친숙한 비유를 사용한다는 것이 중요하다. 여러 분야가 참여하는 개발 이니셔티브에서 가장 큰 문제 중 하나는 언어다. 엔지니어링, 디자인, 비즈니스팀은 각자 자신의 언어를 갖고 있다. 분야에 따라 단어나 용어의 의미가 달라질 수 있다. 반대로 다른 단어가 같은 의미를 가질 수도 있다. 이 도구를 이용하면 새로운 모델을 도입, 어려움이 많이 따르는 프로세스의 ‘지름길’을 찾을 수 있다. 서로 협력하고 모두가 효과가 있다고 판단하는 무언가를 선택하는 방법을 찾을 수 있다.
 

HAZ 플레이북으로 AI를 탐구하는 방법

HAX의 마지막 부분은 아직 개발 단계인 HAX 플레이북이다. 이는 애플리케이션의 기본 상호작용 시나리오를 테스트하는 데 도움을 주는 가이드 도구다. 질문에 대한 대답을 토대로 테스트할 여러 시나리오를 제공한다. 초기 버전은 자연어 시스템만 지원한다. 대화형 도구는 매우 자유로운 형태이므로 정의하기 가장 어려운 시스템이다. 이 플레이북이 제안하는 기능에는 시스템이 맞춤법 오류를 처리하는 방식, 응답을 생성하는 방식, 데이터를 분류하는 방식을 살펴보는 것이 포함된다.

마이크로소프트 리서치 팀은 현재 깃허브에서 HAX 플레이북을 작업하고 있다. 따라서 이들이 어떻게 구축을 하고, 무엇을 추가하는지 확인할 수 있다. 더 나아가, 자신의 시나리오와 애플리케이션에 초점을 맞춰 질문과 제안을 추가하기 위해 리포지토리를 더 찾아볼 수도 있다. 플레이북은 가이드라인의 ‘애드온’과 같다. 샘플카드 외에 고려할 필요가 있는 것을 제시하는 도구다.

마이크로소프트 리서치는 HAX로 중요한 일을 하고 있다. 그동안 책임 있는 AI를 구현하는 것은 실무 분야가 아닌 연구 주제로 취급하는 경향이 있었다. 하지만 머신러닝을 애플리케이션의 일부로 활용하려면, 이는 실제 소프트웨어 개발 프로세스의 일부가 될 필요가 있다는 점을 이해해야 한다.

HAX는 AI에서 사람과의 상호작용 부분에 초점을 맞추고, 소프트웨어가 AI를 이용하는 방식에 대해 질문할 수 있도록 지원한다. 이를 통해, 개발자가 기술 이용 방식에 대해 더 많이 고민하도록 유도한다. editor@itworld.co.kr


X