[AI Lab 소개]
하이퍼커넥트 AI Lab은 사람과 사람 사이를 연결하는 서비스에서 기존의 기술로는 접근하기 어렵지만 머신러닝 기술을 통해 풀 수 있는 문제들을 찾아내고 해결하여 사용자 경험을 혁신합니다. 이를 위해 영상/음성/자연어/추천 등을 포함하여 다양한 도메인의 수많은 모델을 개발하고, 모바일 및 클라우드 서버를 통해 안정적으로 제공하면서 마주하는 문제들을 해결하여 AI Lab이 만들어 내는 기술이 실제 서비스의 성장에 기여하는 것을 목표로 합니다. 이러한 목표 아래 하이퍼커넥트 AI Lab은 아자르를 포함한 하이퍼커넥트의 제품에 기여하는 머신러닝 기술들을 수년간 발전시켜나가고 있습니다.
[ML Application Team 소개]
AI Lab 소속의 ML Application 팀은 하이퍼커넥트가 보유한 모든 AI 기술을 제품에 적용하여 비즈니스 임팩트를 낼 수 있도록 하며, 지속 가능한 시스템을 개발하여 AI 기술의 적용이 가속화 되도록 하는 것을 목표로 합니다. 이 목표를 달성하기 위해 다음과 같은 업무들을 수행하고 있습니다(인터뷰).
[머신러닝 기반의 백엔드 어플리케이션 설계 및 구현]
하이퍼커넥트와 매치그룹에서 운영 중인 서비스들의 품질을 높이기 위한 다양한 머신러닝 기반의 백엔드 서비스를 개발합니다(관련 테크 블로그). 주로 개인화 추천 시스템 및 검색 시스템 개발에 집중합니다. 글로벌 스케일에서 실시간 동작이 가능하도록 성능 관점에서의 많은 고민과 함께 설계되고 있으며, 팀에서 운영 중인 마이크로서비스들은 전사 내에서도 가장 높은 수준의 트래픽을 처리하고 있습니다.
[모델 추론을 위한 실시간 데이터 파이프라인 개발]
실시간 이벤트를 가공하여 모델 추론에 활용할 수 있게 하는 파이프라인(Apache Flink, KSQL)을 개발합니다. 피쳐를 빠르고 안정적으로 수집, 가공, 서빙하기 위한 시스템(ex. streaming application, feature store)을 고민하고 설계합니다. 때로는 파이프라인 개발 과정에서 모델 성능을 향상시키는 피쳐를 선제적으로 발굴하기도 합니다. 조금 더 자세한 이야기는 다음의 내용을 참고하시면 좋습니다.
[ML Platform Team 소개]
AI Lab 소속의 ML Platform Team은 하이퍼커넥트의 여러 프로덕트에 ML 기술을 도입하고 안정적으로 운영하기 위해 다양한 플랫폼과 인프라를 구축합니다. 이를 위해 On-premise와 클라우드 환경에서 저비용 고효율의 ML 플랫폼을 구축하고, ML의 기술적 문제를 정의하여 해결하는 업무를 수행하고 있습니다.
[모델 서빙 플랫폼 개발]
Custom kubernetes operator와 NVIDIA Triton를 이용하여 일원화된 서빙 플랫폼을 제공합니다. 이를 통해 다양한 도메인에서 다양한 딥러닝 프레임워크(Tensorflow, PyTorch)로 학습된 ML 모델을 빠르게 프로덕션으로 배포할 수 있습니다. 소프트웨어 및 하드웨어의 개선을 통해 모델 추론의 속도와 처리량을 최적화하고, 지속적인 모니터링과 AWS Neuron 등 고효율 계산 자원을 사용함으로써 비용을 최적화하는 업무를 수행합니다. 현재 50개 이상의 모델을 프로덕션에서 운영하고 있으며, 이러한 규모에서 발생하는 복잡한 기술적 과제들을 해결하고 있습니다. 조금 더 자세한 이야기는 다음의 내용을 참고하시면 좋습니다.
[ML Ops 인프라 구축 및 도구 개발]
온프레미스 GPU 클러스터(NVIDIA DGX system) 및 고속 분산 스토리지를 구축하고, Ansible을 활용하여 관리/운영함으로써 연구에 필요한 인적/물적 비용을 절약합니다(참고: 초고성능 딥러닝 클러스터 구축하기 1편). 또, ML Platform 팀에서 제공하는 ML Ops 컴포넌트와 서빙 플랫폼을 제어하고 활용할 수 있는 개발자 포탈, CLI 도구 등을 개발합니다. 또한 빠르게 발전하는 MLOps 신기술의 PoC를 진행하고, 필요 시 프로덕션에 적용하는 일도 수행합니다.
[지속적 학습 파이프라인 구축]
프로덕트로부터 얻은 데이터를 활용하여 모델을 재학습, 평가, 배포하고, 다시 프로덕트를 개선하는 자동화된 선순환 구조(AI Flywheel)를 구축하는 업무를 수행합니다. ML 파이프라인의 각 단계(ML 데이터 처리, ML 모델 학습, ML 데이터 배포)별로 ML Ops 컴포넌트를 제공하여 연구자가 이를 조합해 쉽게 ML 파이프라인을 구축할 수 있도록 돕습니다. 또한 ML Ops 워크플로우 툴을 기반으로 다양한 도메인에서 데이터를 수집하는 데이터 파이프라인과 클라우드 스토리지와 학습 환경을 원활하게 연결하는 데이터 플랫폼을 개발하고, 자동 학습 워크플로우를 구성할 수 있도록 클라우드 인프라와 도구를 제공하며, 실험과 파이프라인 양면에서 활용할 수 있도록 새로운 영역을 탐색하고 있습니다.
[모바일 기기에서 동작하는 추론 엔진 개발]
TFLite, PytorchMobile 등을 이용하여 하이퍼커넥트의 on-device 모델을 활용할 수 있는 추론 엔진 SDK를 연구/개발합니다. 모바일 모델의 변환, 양자화(quantization), SIMD 최적화, 개발 환경 구축 등을 AI 조직과 함께 수행합니다.