통합적인 AI/ML 시스템 구축하기

쿠팡 개발자가 공유하는 AI/ML 시스템 접근 방식

쿠팡 엔지니어링
Coupang Engineering Blog
5 min readAug 3, 2022

--

By Hong Chen

본 포스트는 영문으로도 제공됩니다.

AI/ML 시스템은 산업계 및 학계에서 서로 다른 방식으로 구축됩니다. 산업계에서는 광대한 분량의 데이터를 활용하여 휴리스틱(heuristic)한 지식 기반 접근 방식으로 모델을 개발합니다. 반면, 학계에서는 수학적 모델 기반의 접근 방식을 사용하기 때문에 통계와 확률에 크게 의존합니다.

하지만 통합적인 AI/ML 시스템을 구축하려면 실제로는 지식 기반 및 수학적 모델 기반 접근 방식 둘 다를 조화롭게 사용해야 합니다. 두 접근 방식에는 상호 보완적으로 작용할 수 있는 약점과 강점이 있기 때문입니다. 두 접근 방식 모두를 적절히 사용했을 때 나타나는 시너지로 전반적인 시스템 성능 개선을 이끌어 낼 수 있습니다.

정의

우선 지식 기반 및 수학적 모델 기반 접근 방식의 차이를 알아보겠습니다.

위키피디아(Wikipedia)의 정의에 따르면 지식이란 “어떤 대상에 대해 여러 방식 그리고 다양한 출처에서 습득한 친숙함, 인식 또는 이해”입니다. AI라는 주제에 국한해 지식을 정의하면 “어떤 대상을 언어로 기술한 것” 또는 라벨의 집합입니다. 예를 들어, 브랜드 이름의 라벨링 집합, 로고 이름의 목록 등도 지식에 해당합니다.

AI/ML에서의 수학적 모델 기반 접근 방식은 기능적 매핑(functional mapping)을 의미합니다. 특정 데이터세트를 적절한 라벨, 또는 지식에 매핑하는 것입니다. 모든 매개 또는 비매개 알고리즘이 통계적 근사 및 최적화 기법을 사용해 입력값을 출력값으로 매핑합니다.

지식 기반 접근 방식의 한계

지식 기반 시스템은 인간의 지식에 의존합니다. 하지만 완전한 지식 기반 모델을 개발하는 것은 세 가지 이유로 어렵습니다.

첫째, 인간은 그 어떤 분야에서도 광범위한 분량의 지식을 온전히 소화할 수 없습니다. 그래서 인간의 지식에 의존하는 시스템은 확장할 수 없습니다.

둘째, 지식은 시간에 민감합니다. 특히 빠르게 변하는 기술 환경에서 지식은 금방 무용해질 수 있습니다. 예를 들어, 현재는 누구나 iPhone을 알지만 100년 후에는 그렇지 않을 수 있습니다. 이렇듯 인간 지식 기반은 유기적으로 진화하기 때문에 연산적으로 모델링하기 까다롭습니다.

셋째, 지식은 맥락 의존적입니다. 지식은 맥락에 의해 의미를 획득합니다. Apple은 기술 및 비즈니스 맥락에서는 특정 기업을 가리키지만, 음식 맥락에서는 사과를 가리킵니다. 지식 기반 접근 방식으로 다양한 맥락을 모델링하는 것은 상당히 어렵습니다. 반면 통계적 모델은 데이터 분포를 사용해 맥락적 상관관계를 쉽게 파악합니다.

수학적 모델 기반 접근 방식의 한계

그렇다고 해서 수학적 모델 기반 접근 방식이 무조건 더 좋은 것만은 아닙니다.

우선 통계적 모델은 전체 데이터세트의 가장 일반적인 근사치의 적합을 구합니다. 그 과정에서 일부 이상치(outlier)는 부정확한 출력 결과로 나타날 수 있고, 대부분 데이터 포인트가 모델의 최종 출력에 정확히 들어맞지 않습니다. 적합한 곡선도 대다수 데이터 포인트의 분포를 근사하게 예상할 뿐입니다. 모델의 출력이 모든 데이터 포인트를 정확하게 지나간다면 과적합의 증상이며 다른 데이터에 일반화할 수 없습니다.

또한, 인간의 의사 결정은 논리적 추론 과정으로 이루어집니다. 인간과 유사한 논리는 지식 기반 모델에서는 비교적 실현하기 쉽지만, 통계 또는 딥러닝 모델로는 모방하기 어렵습니다.

데이터에 적합한 기능의 예시와 과적합한 예시
그림 1. 데이터에 적합한 함수의 예시와 과적합한 예시 (출처)

사례 연구

지식 기반 및 수학적 모델 기반 접근 방식을 적절히 조합하여 성공적인 모델을 만들어낸 사례를 알아보겠습니다.

구글 검색(Google Search) 엔진은 알고리즘과 데이터를 기반으로 검색 랭킹을 학습하면서도, 지식 기반 로직을 실현한 대표적인 성공 사례입니다. 예를 들어, 부드럽고 매끄럽다는 의미의 중국어 단어인 “嫩滑”을 여러 검색 엔진에서 검색해 보겠습니다. 그러면 일부 검색 엔진은 성인 콘텐츠를 표시합니다. 하지만, 구글에서는 무해한 두부 사진이 표시됩니다. 다른 검색 엔진은 데이터 기반 모델만을 사용하기 때문에 대부분 해당 단어의 검색이 성인 콘텐츠를 목적으로 한다는 사실을 반영합니다. 반면 구글은 수학적 모델 기반과는무관한 지식을 적용해 더 “적절한” 결과를 제시합니다.

다른 예시로는 자율 주행이 있습니다. 일면, 자율 주행은 수학적 모델 기반의 매핑 알고리즘으로 구성되어 센서의 입력 신호를 주행과 연관된 출력 신호, 조종 장치, 브레이크, 가속 페달 등으로 매핑할 것이라고 생각할 수 있습니다. 실제로 Udacity 강연 중에 공개된 자율 주행 차량 시스템 아키텍처를 보면, 차로 및 교통 신호 감지 등의 맥락적 지식을 활용하도록 모델을 학습시킵니다. 이러한 지식 기반 접근 방식 훈련을 통해 지각을 형성합니다.

자동 주행 차량의 시스템 아키텍처
그림 2. 자율 주행 차량의 시스템 아키텍처 (출처)

목표

AI/ML 시스템 구축에는 지식 및 모델 기반 접근 방식을 모두 사용할 수 있는 여러 방법들이 존재합니다. 하지만 조화롭게 통합하는 것이 문제입니다. 최적의 모델을 개발하려면 다음의 목표를 염두에 두어야 합니다.

불특정 주제(Open-domain)에 대한 일반화

시스템은 학습 데이터 외의 데이터도 일반화해야 합니다. 일례로, 주어진 글에서 브랜드 이름을 추출하는 모델이 있다면, 학습 데이터세트에 포함되지 않은 브랜드 이름도 감지할 수 있어야 합니다.

자율 학습(Self-learning)

자율 학습 모델은 지속적인 학습을 위해 새로운 학습 데이터를 누적할 수 있는 기능을 내재한 동적 시스템이어야 합니다. 또한, 자율 학습 모델은 주기적으로 자체 평가를 시행 필요시 재학습을 하도록 개발되어야 합니다.

적응성(Adaptable)

특정 업무를 맡았을 때 인간은 직관적으로 필요한 출력 형식을 추정할 수 있지만, 기계는 그렇지 않습니다. 대신 여러 모델들을 구축해, 특정 매개변수(parameter)로 인해 입력의 범위가 다양해져도 이에 맞춰 출력을 제공할 수 있어야 합니다.

AI 시스템의 구축

이번 섹션에서는 지식 기반 및 수학적 모델 기반 접근 방식을 효율적으로 함께 활용하는 모델을 설계하는 방법을 공유하겠습니다.

모듈

통합 AI 시스템을 구축하려면 다음 모듈들이 필요합니다.

  • 데이터 수집 모듈. 현 머신러닝 기법은 막대한 데이터 볼륨에 의존합니다. 데이터 없이는 지식도 모델도 존재할 수 없습니다.
  • 데이터 라벨링 모듈. 초기에는 데이터를 수동으로 라벨링해야 합니다. 지식 및 데이터베이스가 진화하면서 데이터 라벨링 역시 부분적으로 자동화합니다.
  • 모델 학습 및 평가 모듈. 모델을 제공된 데이터로 학습 및 평가합니다.

운영

위의 세 가지 모듈이 적절히 함께 작동하면 시스템은지속적으로 개선될 수 있습니다. 다음은 저희가 성공적인 AI 시스템을 개발해내기 위해 우선 순위에 두었던 네 가지 기능입니다.

첫째, 모델은 사용 가능한 모든 지식을 온전히 활용해야 합니다. 예를 들어, 두 개의 이미지 내 상품이 동일한지 판단할 수 있는 모델을 학습시킨다고 가정하겠습니다. 모델 복잡도를 고도화하고 모델의 성능을 개선하기 위해, 신발, 모니터 등의 이미지 요소를 인식하도록 학습시킬 수 있습니다. 이러한 추가 정보를 바탕으로 모델은 두 상품의 동일성을 판단할 수 있습니다.

둘째, 모델은 프로덕션에서 처음 보는(unseen) 데이터에 노출될 가능성이 크기 때문에 불특정 주제(open-domain) 환경에서도 새로운 지식을 파악할 수 있는 능력을 내재하고 있어야 합니다. 특정 상품명에 대해 브랜드 이름을 출력하는 모델의 예시를 생각해 봅시다. 불특정 주제에 대한 적응력을 지니기 위해서는 모델을 다음과 같은 방식으로 개발해야 합니다.

  • 분류화 문제에 속성 활용. 상품과 브랜드 이름을 단순히 매핑하는 대신, 상품과 브랜드 이름의 토큰 임베딩을 획득하여 모델 성능을 개선할 수 있습니다. 이러한 임베딩은 각 토큰의 속성 정보를 지니고 있고 이를 기반으로 분류할 수 있습니다. 토큰 임베딩을 사용하면 상품명이 단일 클래스가 아닌 속성의 집합이 됩니다.
  • 특정 주제(closed-domain)의 문제를 불특정 주제(open-domain)의 문제로 변환. 특정 주제 접근 방식에서는 상응하는 브랜드 이름으로 라벨링된 상품명 집합에 대해 분류자(classifier)를 학습시킵니다. 반면, 불특정 주제 해결 방식은 상품과 브랜드 이름의 유의미한 토큰 임베딩을 도출하도록 모델을 학습시킵니다.
  • 원샷(one-shot) 학습 활용. 원샷 학습은 규모가 큰 데이터세트에서 파생된 작은 데이터세트를 무작위로 선정해 모델 학습에 사용하는 방식입니다. 학습된 데이터세트의 규모와 상관없이 동일한 성능 수준을 확보하는 것이 목표입니다.

셋째, 정확한 평가 지표로 모델 성능을 모니터링해야 합니다. 모델이 기대와는 달리 데이터에 적합(fitting)하지 않는다면, 평가 지표를 자세히 살펴 개선 방법을 찾아내 학습 이터레이션(iteration)에 적용해야 합니다. 또한, 학습 데이터의 유효성과 효율성을 측정할 수 있는 기제(mechanism)가 있으면 모델 평가에 도움이 됩니다.

마지막으로 모델에는 지식이 두 가지 방식으로 적용되어야 합니다. 지식은 우선 라벨링된 학습 데이터로 활용되어야 합니다. 이런 경우 모델은 지식을 학습하고 요구되는 결과를 출력합니다. 두 번째로 지식을 인간 논리로 학습하는 여러 모델들을 만들고 하나의 총체로 기능하게 만들어 궁극적으로는 엔드 투 엔드(end to end) 시스템을 구축합니다. 다음의 예시는 상품 목록을 제공했을 때 중복 상품을 제거하는 딥러닝 엔드 투 엔드 모델입니다. 개별 모듈은 각자 학습된 후에 조합됩니다.

중복 상품을 제거하는 엔드 투 엔드 AI 모델의 예시
그림 3. 중복 상품을 제거하는 엔드 투 엔드 AI 모델의 예시

마무리

이번 포스트에서는 저희가 쿠팡에서 실험하고 개발했던 과제들을 기반으로 어떻게 통합적인 AI/ML 시스템을 구축할 것인가를 논의해보았습니다. 가장 중요한 교훈은 최고의 모델은 지식 기반 그리고 수학적 모델 기반 접근 방식 모두를 사용한다는 점입니다.

--

--

쿠팡 엔지니어링
Coupang Engineering Blog

쿠팡의 엔지니어들은 매일 쿠팡 이커머스, 이츠, 플레이 서비스를 만들고 발전시켜 나갑니다. 그 과정과 결과를 이곳에 기록하고 공유합니다.