11.1 사용자 경험
- 앞서 ML 시스템이 전통적인 소프트웨어와 어떻게 다른지 자세히 논의했다. 첫째, ML 시스템은 결정론적이 아니라 확률론적이다. 일반적으로 전통적인 소프트웨어 시스템의 경우 동일한 소프트웨어에서 동일한 입력 데이터로 각기 다른 시간에 두 번 실행하면 동일한 결과를 얻을 것이라 기대한다. 하지만 ML 시스템의 경우 같은 입력 데이터로 각기 다른 시간에 두 번 실행하면 다른 결과를 얻을 수 있다. 둘째, 이러한 확률론적 특성 때문에 ML시스템의 예측은 대부분 맞지만, 보통 ML 시스템이 어떤 입력에 대해 맞을지 모른다. 이것이 어려운 부분이다. 셋째, ML 시스템의 규모가 커지는 경우에는 예측을 생성하는 데 예상외로 오래 걸린다.
- 이러한 차이점은 ML 시스템이 사용자 경험에 기존과 다른 방식으로 영향을 미침을 의미한다. 특히 사용자가 전통적인 소프트웨어에 익숙하다면 더욱 그렇다. ML은 도입된 기간이 상대적으로 짧기에 ML 시스템이 사용자 경험에 어떤 영향을 미치는지 아직 충분히 연구되지 않았다. 이 절에서는 ML 시스템이 좋은 사용자 경험에 제기하는 세 가지 난제와 그 해결방안을 논의한다.
11.1.1 사용자 경험 일관성 보장하기
- 사용자는 앱이나 웹사이트를 사용할 때 일정 수준의 일관성을 기대한다.
- ML 예측은 확률론적이며 일관적이지 않다. 즉, 예측 컨텍스트에 따라 오늘 어떤 사용자에 대해 생성된 예측이 다음 날 같은 사용자에 대해 생성되는 예측과 다르다. ML을 활용해 사용자 경험을 개선하려는 작업에서는 일관적이지 않은 ML 예측이 방해가 된다.
- 시스템이 동일한 필터 추천 사항을 반환해야 하는 조건(ex. 사용자가 필터를 적용한 경우)과 시스템이 신규 추천 사항을 반환하는 조건(ex. 사용자가 목적지를 변경한 경우)을 지정하는 규칙을 만들었다. 이를 일관성-정확도 트레이드오프consistency-accuracy trade-off라고 부른다. 시스템에서 가장 정확하다고 간주하는 추천 사항이 사용자에게 일관성을 제공하는 추천 사항이 아닐 수도 있기 때문이다.
11.1.2 ‘대부분 맞는’ 예측에 맞서기
- 앞서 모델 예측 일관성이 지닌 중요성을 이야기했다. 이제 모델 예측에서 일관성이 떨어지고 다양성이 높아지는 사례를 알아보자.
- 2018년부터 대형 언어 모델 GPT와 그 후속 모델인 GPT-2, GPT-3이 전 세계를 휩쓸고 있다. 이러한 대규모 언어 모델의 장점은 작업별 훈련 데이터가 거의 혹은 전혀 필요하지 않은 상태에서 광범위한 작업에 대한 예측을 생성한다는 점이다.
- 이러한 모델의 단점이 예측이 항상 옳지는 않으며(대부분 맞으며) 예측을 개선하기 위해 작업별 데이터를 미세 조정하는 비용이 높다는 점이다. 대부분 맞는 예측은 예측 결과를 쉽게 수정할 수 있는 사용자에게 유용하다.
- 다만 대부분 맞는 예측은 사용자가 응답을 수정하는 방법을 모르거나 수정할 수 없다면 그다지 유용하지 않다. 언어 모델로 웹 페이지에 대한 리액트 코드를 생성하는 작업을 예로 들면 생성된 코드가 작동하지 않으면 지정된 요구 사항을 충족하는 웹 페이지로 렌더링되지 않을 수 있다. 리액트 엔지니어라면 이 코드를 빠르게 수정할 수 있지만 애플리케이션 사용자는 보통 리액트를 모를 것이다. 이 애플리케이션은 리액트를 모르는 사용자를 많이 끌어들이기에 문제가 된다.
- 이를 극복하기 위한 접근법은 동일한 입력에 대한 여러 예측 결과를 사용자에게 표시해 적어도 하나 이상이 맞을 가능성을 높이는 것이다. 이 예측 결과들은 비전문가 사용자도 평가할 수 있는 방식으로 렌더링돼야 한다. 앞선 예시에 적용해보면, 코드 스니펫은 시각적 웹 페이지로 렌더링되고, 엔지니어가 아닌 사용자는 자신에게 가장 적합한 것을 평가할 수 있다.
- 이 접근법은 매우 일반적이며 ‘휴면 인 더 루프human-in-the-loop’ AI라고 한다. 인간이 개입해 최상의 예측을 선택하거나 기계가 생성한 예측을 개선하기 때문이다. 휴먼 인 더 루프AI에 관심이 있다면 제시 린이 작성한 ‘인간과 AI의 상호 작용에 대한 새로운 시각’을 추천한다.
11.1.3 원만한 실패
- 일반적으로 빠른 모델이라 하더라도 특정 쿼리에는 여전히 시간이 걸린다. 이는 특히 언어 모델이나 시계열 모델과 같이 순차적 데이터를 처리하는 모델에서 발생한다. 예를 들어, 모델은 짧은 시리즈보다 긴 시리즈를 처리하는 데 더 오래 걸린다.
- 일부는 이 문제에 대해 백업 시스템을 사용한다. 주 시스템에 비해 최적은 아니지만 빠른 예측이 가능하다. 이러한 시스템은 휴리스틱이나 단순 모델일 수 있으며, 미리 계산된 예측을 캐싱할 수도 있다. 즉, ‘주 모델이 예측을 생성하는 데 X밀리초보다 오래 걸리면 대신 백업 모델을 사용하세요’와 같이 규칙을 지정한다. 일부 회사는 이 간단한 규칙을 사용하는 대신 또 다른 모델을 사용해, 주 모델이 주어진 쿼리에 대한 예측을 생성하는 데 걸리는 시간을 예측하고 해당 예측을 주 모델 혹은 백업 모델에 적절히 라우팅한다. 물론 추가된 모델로 인해 ML 시스템의 추론 레이턴시가 증가한다.
- 여기에는 속도-정확도 트레이드오프가 있다. 어떤 모델은 다른 모델보다 성능이 낮지만 추론을 훨씬 더 빨리 수행한다. 이처럼 최적은 아니지만 빠른 모델은 사용자에게 좀 덜 좋은 예측을 제공하지만 레이턴시가 중요한 상황에서는 선호된다. 많은 기업에서 두 모델 중 하나를 선택해야 하지만 백업 시스템을 사용하면 추론 속도가 빠른 모델과 정확도가 높은 모델을 모두 사용할 수 있다.