Offcanvas

개발자 / 머신러닝|딥러닝 / 애플리케이션

"알고리즘으로 씨름하지 마세요"··· SaaS 방식 머신러닝 API 10선

2018.09.13 Peter Wayner  |  InfoWorld

그리 오래지 않은 과거만 해도 인공 지능이라고 하면 흰색 실험실 가운을 입은 사람들의 전유물이었다. 과학이란 신비롭고 복잡하며 극소수의 사람만 이해할 수 있는 학문이었다.

이제는 아니다. 실험실 가운을 입은 과학자들은 소프트웨어를 서비스로 배포하는 방식이 지닌 위력을 알아채고는 코드를 모아 누구나 사용할 수 있는 API로 만들었다. 서비스에 데이터를 게시하면 똑똑한 인공 지능이 몇 ms만에 결과를 가지고 온다. 물론 데이터 집합이 큰 경우 그보다 조금 더 오래 걸릴 수는 있다.



인공 지능은 데이터를 가지고 가서 도대체 무슨 일을 하는 걸까? 그 부분에는 별로 신경 쓸 필요 없다. 신경 쓰지 않아도 되는 것이 바로 SaaS(software as a service)의 핵심이다. 그저 데이터가 들어가면 똘똘하게 결과를 내보낼 뿐이다.

물론 이 말은 약간 과장이다. AI 코드 깊은 부분의 수학까지 속속들이 이해할 필요는 없고 “이것을 텐서(tensor)하고 저것을 벡터(vector)하고” 따위의 말을 능숙하게 구사할 정도의 지식이 필요하지도 않지만, 데이터가 잘 들어갈 때까지 어느 정도 시간을 들여 작업해야 한다. 적절한 줄에 올바른 유형의 값을 집어넣은 적절한 형식의 데이터를 완성하기까지는 여전히 상당한 작업이 필요하다.

데이터를 만족스럽게 가공한 이후에는 거의 대부분 API를 여러 번 반복해서 실행하게 된다. 이것이 이 모델의 핵심의 일부분이다. 시간을 들여 문제의 형태를 가다듬은 다음 API가 AI 코드를 실행하도록 하면 된다. 사람은 과학에 집중하고 API는 복잡한 수치 계산에 집중한다.

완벽하지는 않지만 직접 코드를 쓰는 것보다는 낫다. 그런 이유로 AI는 폭발적인 관심을 끌고, 선택할 수 있는 머신러닝 API가 많이 나오고 데이터를 모델로, 모델을 웹 서비스로 바꿔주는 클라우드 서비스가 있는 것이다. 복잡한 알고리즘을 붙잡고 씨름하는 몇 시간, 며칠, 몇 달의 시간을 아껴줄 머신러닝 API 몇 가지를 소개한다.

클라우드워즈(Cloudwords)
마케팅 자료에서는 “인공 지능”과 “머신러닝”이라는 용어를 찾아보기 어렵지만, 클라우드워즈는 분명 이 분야의 상품을 제공한다. 클라우드워즈의 공식적인 용도는 기업에서 대량의 텍스트를 편하게 관리하고 어떤 언어로든 일관적인 번역을 유지하도록 하는 데 있다. 마케팅 팀에서 다양한 언어를 사용하는 사람들을 상대해야 하는 다국적 기업은 클라우드워즈를 통해 고객에게 제공되는 모든 텍스트 버전을 일관적으로, 최신 상태로 유지할 수 있다.

클라우드워즈는 신경망과 통계 모델을 사용하는 여러 가지 번역 엔진에 의존한다. 또한 사람의 지도와 조정이 필요할 수 있는 일반적인 관용구와 구문을 캐시에 저장하는 메커니즘도 제공한다. 텍스트가 시스템을 거쳐 흐르면 이 번역 메모리도 자동으로 업데이트된다.

코드에는 기업 파일 시스템, 마케팅 자동화 툴, 주요 콘텐츠 관리 시스템과 클라우드워즈 파이프라인을 통합하는 모듈이 포함된다. 한 가지 언어로 새로운 텍스트가 수신되면 클라우드워즈가 이 텍스트를 파이프라인을 통해 구글, 마이크로소프트, 릴트(Lilt)와 같은 외주 계약 업체의 기계 번역 서비스로 보낸다. 이후 이 텍스트는 회사 저장소나 CMS로 돌아와서 사용자가 각자 적절한 언어로 해당 텍스트를 볼 수 있도록 한다.

페이스 API(Face API)
마이크로소프트 페이스 API를 사용할 수 있다면 “월리를 찾아라”에서 월리를 찾기도 별로 어렵지 않을 것이다. 페이스 API에서 인물 사진을 스캔하면 이미지에서 그 얼굴의 좌표가 기록된 데이터 구조를 받게 된다. 또한 이 API는 머리 색, 수염의 양, 나이나 성별도 상당히 구체적으로 추정해 알려준다. 월리를 찾아라 게임에 적용한다면 페이스 API는 이미지 데이터베이스에서 월리와 일치하는 사진을 찾은 다음 두 사진이 같은 사람일 가능성을 반환할 것이다.

이모션 API(Emotion API)
사람은 손쉽게 얼굴에서 감정을 읽고 여러 사진 중에서 행복, 슬픔 또는 분노한 표정을 골라낼 수 있다. 마이크로소프트 이모션 API는 이미지에 포함된 사람의 감정을 자동으로 판별할 수 있는 인공 지능을 제공한다.

인간의 감정은 복잡하지만 이모션 API는 이미지의 특정 얼굴이 표출하는 분노, 경멸, 혐오, 공포, 행복, 슬픔 또는 놀람의 정도를 나타내는 0과 1 사이의 8개 숫자 벡터로 감정을 간소화한다. 마이크로소프트는 여러 국가에서 이 시스템을 테스트한 결과, 다양한 문화권에 걸쳐 대체로 일관적인 결과를 얻었다고 한다. 정말일까? 이 벡터에는 너무 큰 가중치를 두지 말고, 알고리즘이 대충 비슷한 답을 얻을 수 있다는 것만도 기적으로 받아들이는 편이 좋을 듯하다.

자동 대체 텍스트(Automatic Alternative Text)
모범적인 웹사이트에는 <img> 태그에 대체 텍스트가 포함되어 있어 검색 인덱스에서 알아보고 시각 장애인도 무엇이 표시되는지 알 수 있다. 대체 텍스트 입력은 이미지 수가 많지 않다면 사람이 비교적 쉽게 할 수 있는 일이지만, 이미지가 많을 경우 매우 고단한 작업이 된다. 바로 이 부분에 인공 지능을 활용할 수 있다. 발빠른 웹마스터는 마이크로소프트의 컴퓨터 비전 API(Computer Vision API)를 사용해서 이미지에 자동으로 대체 텍스트를 집어넣고 있다. AI가 넣는 텍스트가 항상 정확한 것은 아니지만 많은 이미지를 다루는 지루한 수작업에서 해방될 수 있다.

드루팔(Drupal)용 자동 대체 텍스트(Automatic Alternative Text) 모듈은 CMS가 백그라운드의 비전 API에 이미지를 업로드한 다음 alt 필드를 자동으로 채우는 좋은 예다. 드루팔을 기반으로 구축된 웹사이트는 사용자들이 토론하고 이따금 이미지도 업로드하는 대규모 개방형 커뮤니티인 경우가 많다. 그 중에는 이미지에 맞는 캡션을 생각하는 데 시간을 소비하기 싫은 사람도 있을 것이다. 인공 지능을 사용하면 모두에게 사이트의 품질이 업그레이드되고 검색 속도가 빨라지며 사용자가 캡션을 쓰는 시간을 절약할 수 있다.
 


누드박스(Nudebox)
미꾸라지 한 마리가 웅덩이를 흐린다는 말이 있다. 사용자가 자유롭게 이미지를 올릴 수 있도록 웹사이트를 개방하면, 꼭 외설스러운 사진을 올려 사이트 물을 흐리는 사람이 나타난다. 머신박스(Machinebox)의 툴 중 하나인 누드박스는 노출이 심한 이미지를 스캔한다. 완벽한가? 그렇지는 않지만 가장 의심스러운 이미지를 골라내는 데 분명 도움이 된다. 그것 만으로도 많은 시간을 절약할 수 있다.

아마존 커넥트(Amazon Connect)
AWS 클라우드의 흥미로운 옵션 중 하나인 아마존 커넥트는 회사의 콜센터를 만드는 데 도움이 되는 툴 모음이다. 외부적으로는 전화 서비스 구축을 위한 단순한 툴킷이다. 그러나 내부에서는 아마존의 여러 AI 툴을 엮어 복잡한 일을 처리한다. 아마존 렉스(Lex)의 자연어 툴을 사용하면 고객의 첫 접촉 지점 역할을 할 수 있는 챗봇을 만들 수 있다. 사람의 지혜가 필요한 경우 커넥트는 문제 해결에 필요한 전문성을 갖춘 적절한 서비스 상담원에게 통화를 전달한다. 커넥트는 해결 과정을 추적하고 상담원의 순위를 매겨 다음에 전화를 건 고객이 최상의 경험을 할 수 있도록 보장한다. 아마존이 이미 다양한 AI 툴을 커넥트에 통합했으므로 직접 통합 작업을 할 필요가 없다.


구글 빅쿼리 ML(Google BigQuery ML)

우리 같은 사람들 대부분은 SQL 세계에서 편안함을 느낀다. INSERT 문으로 지금의 데이터 컬렉션을 구축했고 잠을 자면서도 JOIN 문을 쓸 수 있다. 구글은 SQL을 사용하는 사람들이 전체 스택을 다시 쓰지 않고도 AI를 사용해서 데이터를 분석할 수 있도록 하기 위해 빅쿼리 ML을 만들었다. 이상적인 과정은 SQL에 의존하는 대규모 소프트웨어 스택을 가져와서 SQL 저장 및 복사 루틴을 리디렉션해서 ANSI:2011 SQL을 사용해 빅쿼리 ML로 원하는 데이터를 푸시하는 것이다. 물론 현실은 절대 이 이상처럼 간단하지 않지만, 전체 아키텍처를 다시 고안하고 모든 코드를 다시 쓰는 것보다는 훨씬 더 간편하다.

빅쿼리 ML로 데이터를 푸시한 다음에는 새로운 “SQL” 명령인 CREATE MODEL로 원하는 열에 예측 모델을 집어넣는다. 이 명령은 표준 SQL 선택 절을 상당수 받아들이므로 데이터베이스 분석가는 파이썬이나 자바, 또는 전통적인 기타 머신러닝 언어를 사용하지 않고도 비교적 편하게 모델을 구축할 수 있다. 가장 큰 혜택은 모델을 만든 후 얻을 수 있다. 데이터가 이미 데이터베이스에 있고 리포팅 또는 비즈니스 인텔리전스 인프라에서 즉시 사용할 수 있기 때문이다. 구글은 태블로(Tableau), 마이크로스트래티지(MicroStrategy), 루커(Looker)를 비롯한 많은 표준 툴을 이미 통합했다.

애니메트릭스(Animetrics)
많은 얼굴이 등장하는 긴 영상이 있다면 애니메트릭스 API를 사용해 영상을 프레임별로 스캔할 수 있다. 애니메트릭스는 스캔에서 발견한 모든 얼굴을 식별과 분류를 위해 가져온다. 알고리즘은 2D 이미지를 확장해 3D 근사치를 도출하고 x, y, z축을 따라 “자세” 또는 얼굴의 방향을 추정한다. 나아가 캡처한 상태와는 다른 자세 또는 각도로 얼굴을 다시 렌더링할 수도 있다. 코드는 결과를 더 신속하게 생성하기 위해 복수의 이미지를 병렬로 처리한다. 영상만 가능한 것이 아니다. 기본 API는 얼굴이 나온 스틸 사진에서도 작동한다.

디스커버텍스트(DiscoverText)
트위터의 세계를 보면 세계에서 가장 말 많고 고집스러운 사람들이 쏟아내는, 시대상을 반영하는 텍스트 조각들이 마치 소방 호스를 통해 뿜어져 나오는 것 같다. 브랜드, 정치 동향을 비롯해 기타 단어의 급류를 따라 부유하는 텍스트를 추적하는 작업을 한다면, 디스커버텍스트의 도움을 받을 수 있다. 디스커버텍스트는 주 트위터 피드에 액세스할 수 있도록 하며 원하는 텍스트를 찾기 위한 자체 머신 분류기 또는 필터를 설정할 수 있는 툴을 제공한다. 디스커버텍스트는 관련 트윗을 식별한 후 결과를 저장, 분석, 분류해서 묶을 수 있다.

센드펄스(SendPulse)
AI를 여기저기 돌아다니면서 뚝딱 결과물을 던져주는 복잡하고 아무 제약 없는 기술로 여기는 것은 위험한 생각이다. 일부 인공 지능은 한 가지 목표를 달성하는 데 집중한다.

센드펄스는 마케팅 이메일을 더 설득력 있고 유용하게 만들어 수신자가 열어볼 가능성을 높여주는 툴이다. 센드펄스는 복잡한 모델을 사용해서 사람들이 이메일을 읽는 일반적인 시간을 파악한 다음 그 시간에 이메일이 도착하도록 조율한다. 수신자가 대충 훑어보고 한꺼번에 삭제하는 이메일 더미 안에 섞여들지 않도록 하기 위해서다. 센드펄스는 수신자에 대한 고급 정보를 수집하기 위해 주로 A/B 테스트를 사용해서 각 사용자별로 어떤 메시지가 성공했는지를 학습한다. 이러한 모든 데이터를 분석하고 최적화하는 목적은 한 가지, 수신자가 편지함을 대충 훑어보고 정리하는 짧은 순간에 최대한 주목을 끄는 것이다.

이 접근 방법은 인공 지능을 가장 잘 표현한다고 할 수 있다. 인공 지능은 결코 사람들이 떠드는 것과 같은 엄청나게 천재적인 기계가 아니다. 고급 수학으로 꽉 채워진 복잡하고 불가해한 기계도 아니다. 할 일이 명확히 규정된 실용적인 툴일 뿐이다. 인공 지능은 이런 식으로 실험실에서 나와 대중화되고 있다. editor@itworld.co.kr

CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.