top

공간정보 로고

인공지능 알고리즘은 적용 분야가 다르더라도 최적화 알고리즘들에는 공통성이 있으므로 이를 모듈화하여 다양한 케이스에 반복적으로 사용할 수 있다. 인공지능 플랫폼을 구축하기 위해서는 전문가가 직접 환경설정 등 시스템을 구성하고, 알고리즘을 적용하여 애플리케이션을 개발해야 한다.
  또한 많게는 수백 대에 이르는 서버 시스템을 구축하고 동시 처리가 가능하도록 병렬처리 기술을 적용하는 것도 필요하다. 이 글에서는 사용자가 웹 인터페이스 기반으로 쉽게 접근하여 알고리즘을 선택한 후 데이터를 업로드하여 원하는 분석 작업을 쉽게 수행하고 결과를 전달받을 수 있는 방법에 관한 연구 결과를 소개한다.

아마존 SageMaker 현황

인공지능 학습을 위한 데이터와 알고리즘, 프레임워크를 빠르게 연결하여 인공지능 서비스를 쉽게 구축할 수 있게 만든 클라우드 서비스로 구축, 학습 및 배포 모듈로 구성되어 있다. 그중 모듈은 필요한 라이브러리와 솔루션 등이 호스트된 환경을 제공하여 데이터를 처리하고 알고리즘을 실험하며 그 결과를 시각화해준다. 학습 모듈에서는 한 번의 클릭을 통해 적은 비용으로도 대규모의 모델 학습 및 조정을 할 수 있다.
  배포 모듈은 관리형 환경을 제공하여 안전하고 짧은 지연 시간으로 유추 모델에 쉽게 호스트하여 테스트할 수 있게 한다. 인공지능 서비스를 위한 Tensorflow, PyTorch, Spark MiLib 등을 제공하며 Jupyter노트북 환경에서 개발하고 실행이 가능하다.

서비스 구현 및 테스트

아마존의 SageMaker는 인공지능 플랫폼 클라우드 서비스 중 가장 유명하지만, 개발자가 파이썬 등의 언어를 활용하여 개발해야 한다는 단점이 있다. 반면 이 연구의 목표는 사용자가 웹 인터페이스를 활용하여 기존에 구축된 알고리즘을 활용하여 분석을 수행할 수 있도록 환경을 제공하는 것이다. [그림1]과 같이 인공지능 알고리즘을 탑재하여 분석 작업을 수행하는 인공지능 클라우드와 사용자의 요청을 받고 수행 결과를 사용자에게 전달하는 클라우드 서비스 관리자로 구성된다. 클라우드 서비스 관리자는 서비스 유형, 인공지능 알고리즘, 활용 데이터 등 사용자 요청을 받아 인공지능 클라우드에게 요청하고 계산된 결과를 전달한다.
  인공지능 클라우드는 오픈소스 인공지능 플랫폼인 Apache Hadoop과 Spark를 Master-Node 기반의 분산병렬 환경으로 구성하여 대용량의 데이터를 저장하고 분석한다. Hadoop은 분산 파일 시스템에 저장되어 있는 방대한 데이터를 분석하기 위한 분산 환경에서 병렬처리를 지원하는 플랫폼이다. Spark는 Hadoop의 MapReduce 처리가 파일 시스템에 기반하여 처리속도가 느린 단점을 보완하기 위해 [그림2]에서와 같이 메모리상에서 빠른 분석을 수행한다.
  이를 위하여 RDD(Resilient Distributed Dataset)을 기반으로 데이터를 변환하고 계산을 수행한다. Hadoop은 분석 요청 데이터를 저장하고 Spark에 분석을 요청한다. 분석이 완료된 후에 결과는 Hadoop에 저장된다. 클라우드 서비스 관리자는 Spring Framework로 구성되며, Spring Hadoop을 통해 데이터를 Hadoop에 저장한다. Spring에서 Spark에 수행 요청을 전달하면 Hadoop의 데이터를 읽어서 처리를 수행한다. 클라우드 서비스 관리자를 통해 분석 작업을 요청하고 결과를 조회한다.

사용의 편의성을 높인 웹 기반 인터페이스

이 글에서는 사용자가 인공지능 알고리즘을 서비스로 쉽게 활용할 수 있도록, 클라우드 기반 서비스를 소개했다. 인터넷 서비스 형태로 구성되어 사용자는 언제 어디서나 서비스를 활용할 수 있으며, 웹 기반의 인터페이스를 통해 사용이 편리하다.인공지능 알고리즘 서비스를 통해 군집 분석, Naive Bayes 분류, 협업 필터링 제공이 가능하며, 사용자가 직접 수행을 요청하고 실행 결과를 조회할 수 있다.

[그림1] 인공지능 알고리즘 플랫폼 클라우드 개념도
[그림2] Spark 플랫폼 처리구조
[그림3] 인공지능 알고리즘 서비스 구성도
[그림4] 클라우드 서비스 실행요청
[그림5] 협업 필터링 수행 결과