Sr. Machine Learning Engineer

Posted:
5/1/2024, 10:57:47 AM

Location(s):
Seoul, South Korea

Experience Level(s):
Senior

Field(s):
AI & Machine Learning

Workplace Type:
Hybrid

Pay:
$81/hr or $168,480 total comp

하이퍼커넥트 Machine Learning Engineer (MLE) 는 사람과 사람 사이를 연결하는 서비스에서, 기존의 기술로는 접근하기 어렵지만 머신러닝 기술을 통해 풀 수 있는 문제들을 찾아내고 해결하여 사용자 경험을 혁신합니다. 이를 위해 영상/음성/문자 등을 포함하여 다양한 도메인의 수많은 모델을 개발하고, 모바일 및 클라우드 서버를 통해 안정적으로 제공하면서 마주하는 연구 주제들을 풀어내어 우리가 만들어 내는 기술이 실제 서비스의 성장에 기여하는 것을 목표로 합니다.

이러한 목표 아래 하이퍼커넥트의 ML Engineer는 아자르, 하쿠나 등 하이퍼커넥트의 여러 제품들에 기여하는 머신러닝 기술들을 수년간 발전시켜 나가고 있으며, 이렇게 축적된 기술들을 다양한 글로벌 비즈니스 서비스에도 손쉽게 활용하기 위한 방안을 연구하고 있습니다. 

ML Engineer는 최첨단의 모델을 연구하고 개선하는 과학자로서의 연구 능력과, 만들어진 모델의 시간/공간적 복잡도를 고려해 추론 성능을 극한으로 끌어올리는 공학자로서의 개발 능력이 필요합니다. 이런 능력을 바탕으로 실제 서비스에서 겪는 문제를 발견/정의하고, 문제해결을 위한 SotA 모델을 재현 또는 개발하고, 모델을 온디바이스 및 서버 환경에 배포하고, 이후 모니터링하며 지속적으로 모델을 개선하는 AI flywheel 을 구축하는 등 다양한 업무를 수행합니다. 이 과정에서 백엔드/프론트엔드/DevOps 엔지니어, 데이터 분석가, PM 등 다양한 전문조직과 적극적으로 협업하며 도움을 받습니다. 일하는 모습에 대한 조금 더 자세한 이야기는 다음의 내용을 참고하시면 좋습니다.


연구의 결과물을 정리하여 논문 혹은 코드로 공개하는 것 또한 팀 목표 중 하나입니다. 제품에 사용하기 위한 목적으로 머신러닝 모델을 만들다 보면, 기존 연구로는 부족한 경우가 많습니다. 부족한 부분을 채우기 위해 진행된 연구의 결과물을 프로젝트 참여자들이 모두 함께 협업하여 연구의 의미 있는 부분을 정돈하고 가능하다면 코드와 함께 공개합니다. 그 결과, 지금까지 아래와 같은 대외적 연구 성과를 거둘 수 있었습니다.

• 2018년 저전력 이미지 인식 대회 (LPIRC) 2등

ML 연구가 잘 진행되기 위해서는 딥러닝 학습을 위한 인프라도 잘 갖추어져야합니다. 하이퍼커넥트에서는 ML Engineer들이 충분히 모델 개발 및 실험을 진행할 수 있도록 자체적인 딥러닝 연구용 클러스터를 구축하여 활용하고 있습니다. DGX-A100 20대로 구성된 클러스터(총 160대의 A100 GPU)를 포함한 다양한 on-premise 장비들을 연구개발에 활용할 수 있습니다. 추가적으로, 프로덕션을 위한 파이프라인, 데이터 수집 및 전처리와 서빙은 Kubeflow pipeline을 비롯하여 BigQuery 등을 적극 활용 중입니다. 또, ML 모델의 제품화를 도와주실 다양한 Software Engineer(백엔드/프론트엔드/DevOps/MLSE)분들과 함께 일하고 있습니다. 


업무 내용

하이퍼커넥트는 제품에 머신러닝 기술을 적용하기 위해 다양한 방면으로 노력하고 있습니다. 하이퍼커넥트의 ML Engineer는 크게 다음과 같은 3가지 분야 중 한 가지 분야에서 업무를 수행하게 됩니다.

[Recommendation]
제품에 포함되는 다양한 추천 문제를 해결함으로써 사용자들에게 보다 나은 경험을 제공하고, 궁극적으로 장기 매출 향상에 기여합니다. 함께 다음과 같은 문제들을 해결할 수 있는 분들을 찾고 있습니다. (스쿼드 인터뷰)

• 신규 사용자에게 좋은 경험을 주기 위한 cold-start 추천 문제(session-based recommendation, graph-based recommendation, contextual bandit과 같이 few-shot 데이터만으로도 사용자의 선호를 파악할 수 있는 시스템, 신규 사용자에 대한 데이터가 부족할 때 신규 사용자에 대한 추천 성능을 향상시키기 위한 학습 방법 등)
• 양쪽 사용자가 모두 만족할 수 있는 상호(reciprocal) 추천 문제
• 실시간으로 변경되는 추천 후보군에 대해 매우 빠른 시간 안에 추론을 수행하는 real-time 추천 문제 (session-based recommendation, graph-based recommendation, reinforcment learning, …)
• 여러 목표 지표들 사이의 trade-off를 고려하는 추천 문제
• 장기 지표를 향상시키는 1차 목표 지표를 찾는 문제

[Trust & Safety]
사용자들의 만족스러운 경험을 위해 콘텐츠가 어떤 내용을 담고 있는지 이를 이해하는 다양한 기술 및 이러한 정보를 활용하는 연구 개발을 수행합니다. 영상이나 음성 및 자연어로 구성된 비정형 데이터를 입력으로 받아들여 의사결정을 내릴 수 있도록 유용한 정보를 추출하기 위해서 다음과 같은 문제를 함께 풀 수 있는 분들을 찾고 있습니다. (스쿼드 인터뷰)

• 모바일 환경에서 빠른 속도를 낼 수 있는 경량 모델과 최적화에 대한 문제
• 효율적이고 label의 중요도를 조절할 수 있는 multi-task 혹은 multi-label 모델에 대한 문제
• Partial multi-modal 데이터를 활용하는 문제
• 스트림으로 유입되는 사용자 행동 로그와 content understanding 결과에 기반한 실시간 이상 사용자(ex. 스팸/가짜 계정)를 탐지하는 문제
• Active learning을 통한 효율적인 데이터 라벨링 방법 혹은 모델 학습에 필요한 데이터를 줄일 수 있는 core-set selection 방법

[Generative AI]
다양한 생성형 AI 연구 개발을 통해 사용자들에게 이전에 없던 새로운 경험을 제공합니다. 서비스 내에서 사용자들이 개인화된 컨텐츠를 쉽게 생성하고 자기 표현을 할 수 있는 도구를 만들며, 생성형 AI를 활용해 새로운 기능을 개발합니다. 이를 위해 함께 다음과 같은 문제를 해결할 수 있는 분들을 찾고 있습니다. (스쿼드 인터뷰)

• 사용자가 원하는 대상의 이미지를 생성할 수 있는 개인화된 이미지 생성 모델 개발
• 대규모 언어모델(Large Language Model)을 활용한 새로운 피쳐 개발, 이를 위한 대규모 언어 모델 학습, 튜닝 및 서빙
• 큰 규모의 생성형 모델이 대용량 트래픽을 안정적으로 처리할 수 있도록 모델 개발 및 최적화
• 생성형 모델을 활용하여 서비스 내 사용자 경험을 혁신할 수 있는 방법에 대한 연구와 고민

[공통]
공통적으로, 제품에 포함되는 AI 기술을 연구하기 위한 노력들도 꾸준히 진행하고 있습니다. 실제 프로덕션 환경에서는 Kaggle과 같은 정제된 데이터셋이 존재하지 않으며, 대부분의 경우 매일 새로운 데이터가 시스템에 유입됩니다. 어제보다 오늘 더 나은 모델을 자동으로 생성하는 Flywheel을 구축하기 위해, 함께 다음과 같은 문제를 해결할 수 있는 분들을 찾고 있습니다.

• Highly imbalanced 또는 noisy label 데이터를 다루는 방법
• 기존에 deploy된 모델을 지속적해서 개선할 수 있는 continual/life-long learning 방법
• 모델 task 요구사항의 변화와 신규 서비스에 대응할 수 있는 meta-learning 방법
• Large scale model을 학습하고, 실제 서비스 환경에서 초당 수백 또는 수천 개의 입력을 안정적으로 처리할 수 있도록 할 수 있는 modeling, optimization, distillation 방법


하이퍼커넥트가 채용하는 포지션에 지원하는 경우, 개인정보 처리에 관하여서는 본 개인정보처리방침이 적용됩니다: https://career.hyperconnect.com/privacy