Machine Learning Engineer (HYPERCONNECT AI)
Hinge
Software Engineering, Data Science
Seoul, South Korea
Posted on May 2, 2024
[AI Lab 소개]
하이퍼커넥트 AI Lab은 사람과 사람 사이를 연결하는 서비스에서 기존의 기술로는 접근하기 어렵지만 머신러닝 기술을 통해 풀 수 있는 문제들을 찾아내고 해결하여 사용자 경험을 혁신합니다. 이를 위해 영상/음성/자연어/추천 등을 포함하여 다양한 도메인의 수많은 모델을 개발하고, 모바일 및 클라우드 서버를 통해 안정적으로 제공하면서 마주하는 문제들을 해결하여 AI Lab이 만들어 내는 기술이 실제 서비스의 성장에 기여하는 것을 목표로 합니다. 이러한 목표 아래 하이퍼커넥트 AI Lab은 아자르를 포함한 하이퍼커넥트의 제품에 기여하는 머신러닝 기술들을 수년간 발전시켜나가고 있습니다.
[ML1 Team 소개]
AI Lab 소속의 ML1 Team은 사용자들의 만족스러운 경험을 위해 콘텐츠가 어떤 내용을 담고 있는지를 이해하고 활용하는 연구 개발을 수행합니다. 모바일, 웹 브라우저 및 서버 환경에서 영상이나 이미지, 음성 및 자연어로 구성된 비정형 데이터를 입력으로 받아 유용한 정보를 추출하기 위해 다음과 같은 문제를 함께 풀 수 있는 분들을 찾고 있습니다(인터뷰).
- 모바일, 웹 브라우저 환경에서 짧은 레이턴시를 유지하면서도 높은 성능을 달성하는 경량 모델과 최적화에 대한 문제
- Label noisiness를 고려하여 labeling 퀄리티를 추적 및 관리하는 문제
- 서로 다른 도메인에서 수집된 데이터 간의 차이를 극복하는 도메인 적응 문제
- Multi-task 혹은 multi-label 분류 모델에 대한 문제
- Unlabeled 데이터를 활용한 semi-supervised learning, self-supervised learning 문제
- Multi-modal 데이터를 활용하는 문제
- 스트림으로 유입되는 사용자 행동 로그와 content understanding 결과에 기반한 실시간 이상 사용자(ex. 스팸/가짜 계정)를 탐지하는 문제
[ML3 Team 소개]
AI Lab 소속의 ML3 Team은 제품에 포함되는 다양한 추천 문제를 해결함으로써 사용자들에게 보다 나은 경험을 제공하고, 궁극적으로 장기 매출 향상에 기여합니다. 다음과 같은 문제들을 고민하고 있습니다(인터뷰).
- 신규 사용자에게 좋은 경험을 주기 위한 cold-start 추천 문제(session-based recommendation, graph-based recommendation, contextual bandit과 같이 few-shot 데이터만으로도 사용자의 선호를 파악할 수 있는 시스템, 신규 사용자에 대한 데이터가 부족할 때 신규 사용자에 대한 추천 성능을 향상시키기 위한 학습 방법 등)
- 양쪽 사용자가 모두 만족할 수 있는 상호(reciprocal) 추천 문제
- 실시간으로 변경되는 추천 후보군에 대해 매우 빠른 시간 안에 추론을 수행하는 실시간 추천 문제(session-based recommendation, graph-based recommendation, reinforcement learning, …)
- 여러 목표 지표들 사이의 trade-off를 고려하는 추천 문제
- 장기 지표를 향상시키는 1차 목표 지표를 찾는 문제
ML1 Team과 ML3 Team은 제품에 포함되는 AI 기술을 연구하기 위한 노력들도 꾸준히 진행하고 있습니다. 실제 프로덕션 환경에서는 Kaggle과 같은 정제된 데이터셋이 존재하지 않으며, 대부분의 경우 매일 새로운 데이터가 시스템에 유입됩니다. 어제보다 오늘 더 나은 모델을 자동으로 생성하는 flywheel을 구축하기 위해, 함께 다음과 같은 문제를 해결할 수 있는 분들을 찾고 있습니다.
- Highly imbalanced 또는 noisy label 데이터를 다루는 방법
- Active learning을 통한 효율적인 데이터 라벨링 방법 혹은 모델 학습에 필요한 데이터를 줄일 수 있는 core-set selection 방법
- 기존에 deploy된 모델을 지속적해서 개선할 수 있는 continual/life-long learning 방법
- 모델 task 요구사항의 변화와 신규 서비스에 대응할 수 있는 meta-learning 방법
- Large scale model을 학습하고, 실제 서비스 환경에서 초당 수백 또는 수천 개의 입력을 안정적으로 처리할 수 있도록 할 수 있는 modeling, optimization, distillation 방법
- ML 프로덕션 프로세스를 혁신하기 위해 large language models을 활용하는 방법
[Responsibilities]
ML Engineer는 최첨단의 모델을 연구하고 개선하는 과학자로서의 연구 능력과, 만들어진 모델의 시간/공간적 복잡도를 고려해 추론 성능을 극한으로 끌어올리는 공학자로서의 개발 능력이 필요합니다. 이런 능력을 바탕으로 실제 서비스에서 겪는 문제를 발견/정의하고, 문제해결을 위한 SotA 모델을 재현 또는 개발하고, 모델을 온디바이스 및 서버 환경에 배포하고, 이후 모니터링하며 지속적으로 모델을 개선하는 AI flywheel 을 구축하는 등 다양한 업무를 수행합니다. 이 과정에서 백엔드/프론트엔드/DevOps 엔지니어, 데이터 분석가, PM 등 다양한 전문조직과 적극적으로 협업하며 도움을 받습니다. 일하는 모습에 대한 조금 더 자세한 이야기는 다음의 내용을 참고하시면 좋습니다.
연구의 결과물을 정리하여 논문 혹은 코드로 공개하는 것 또한 팀 목표 중 하나입니다. 제품에 사용하기 위한 목적으로 머신러닝 모델을 만들다 보면, 기존 연구로는 부족한 경우가 많습니다. 부족한 부분을 채우기 위해 진행된 연구의 결과물을 프로젝트 참여자들이 모두 함께 협업하여 연구의 의미 있는 부분을 정돈하고 가능하다면 코드와 함께 공개합니다. 그 결과, 지금까지 아래와 같은 대외적 연구 성과를 거둘 수 있었습니다.
- 2019년 퓨샷 러닝을 통한 안면 재현 기술 AAAI 2020 게재
- 2018년 저전력 이미지 인식 대회(LPIRC) 2등
ML 연구가 잘 진행되기 위해서는 딥러닝 학습을 위한 인프라도 잘 갖추어져야합니다. 하이퍼커넥트에서는 ML Engineer들이 충분히 모델 개발 및 실험을 진행할 수 있도록 자체적인 딥러닝 연구용 클러스터를 구축하여 활용하고 있습니다. DGX-A100 20대로 구성된 클러스터(총 160대의 A100 GPU)를 포함한 다양한 on-premise 장비들을 연구개발에 활용할 수 있습니다. 추가적으로, 데이터 수집, 전처리를 포함한 자체적인 데이터 파이프라인을 클라우드 서비스를 활용하여 구축 및 운영하고 있습니다. 또, ML 모델의 제품화를 도와주실 다양한 소프트웨어 엔지니어(백엔드/프론트엔드/DevOps/MLSE)분들과 함께 일하고 있습니다.
Required Qualifications
- AI/ML에 대한 기본 지식과 적어도 한 개 이상의 특정 도메인에 대한 깊이 있는 지식을 갖추고, 관련 프로젝트 경험이 있으신 분
- AI 기술의 서비스화에 관심이 많으신 분
- Tensorflow, PyTorch, CatBoost, JAX 등 오픈소스 프레임워크 기반 개발역량을 포함한 파이썬 개발역량이 충분하신 분
- ML 모델을 학습하고 서비스에 배포하기까지 필요한 엔지니어링 역량을 갖추신 분
- Exploratory Data Analysis(EDA)를 통해, 데이터의 통계적 특성과 패턴을 발견하고 이를 ML 모델에 반영하실 수 있는 분
- 구현체가 공개되지 않은 논문을 읽고 이를 빠르고 정확하게 구현할 수 있는 능력을 갖추신 분
- 공개된 벤치마크 데이터 셋을 이용해 모델의 테스트 성능을 올리기 위해 여러 가지 모델링을 해본 경험이 있으신 분
- 학위나 국적은 무관하되 한국어로 원활한 의사소통이 가능한 분
Preferred Qualifications
- 실제 서비스에 AI 기술을 통합하고 주요 지표를 유의미하게 향상시켜 본 경험이 있으신 분
- 기계학습 관련 학회 및 저널 게재 실적 혹은 AI 관련 대회 수상 실적이 있으신 분
- 클라이언트(Android, iOS) 혹은 백엔드 개발 경험이 있으신 분
- AI/ML 도메인 전반에 대한 이해를 갖추신 분
- A/B 테스트 실험 기획 및 타겟 KPI 지표를 정의하고, SQL기반 데이터 분석을 진행한 경험이 있으신 분
- On-device ML 연구 및 배포 경험이 있으신 분
- 머신러닝 워크플로우의 자동화 경험이 있으신 분(예: AutoML, Hyperparameter optimization, 데이터 및 학습 파이프라인 구성 등)
- 영어로 원활한 의사소통이 가능하신 분
Hiring Process
- 고용 형태: 정규직
- 채용 절차: 서류전형 > 코딩테스트/사전과제 > 1차 면접 > 2차 면접 / Recruiter Call > 3차면접(해당 시) > 최종합격 (*일부 순서가 변경될 수 있습니다.)
- 서류 전형의 경우 합격자에 한하여 개별 안내드릴 예정입니다.
- 지원 서류: 자유 양식의 상세 경력기반 국문 또는 영문이력서(PDF)
etc
- 하이퍼커넥트는 증명사진, 주민등록번호, 가족관계, 혼인여부 등 채용과 관계없는 개인정보를 요구하지 않습니다.
- 수습기간 중 급여 등 처우에 차등이 없습니다.
- 제출해 주신 내용 중 허위 사실이 있을 경우 채용이 취소될 수 있습니다.
- 필요 시 사전에 안내된 채용 절차 외에도 추가 면접 전형이 진행될 수 있습니다.
- 필요 시 지원자의 동의 하에 평판조회 절차가 진행될 수 있으며, 평판조회 결과에 따라 채용이 취소될 수 있습니다.
- 이 포지션은 산업기능요원 보충역 편입/전직, 전문연구요원 현역 전직, 전문연구요원 보충역 편입/전직 채용이 가능합니다. 병역특례요원의 경우, 병역특례 관련법에 따라 복무관리를 진행합니다. (*전문연구요원 현역 신규편입은 현재 마감되었습니다)
하이퍼커넥트가 채용하는 포지션에 지원하는 경우, 개인정보 처리에 관하여서는 본 개인정보처리방침이 적용됩니다: https://career.hyperconnect.com/privacy
#HPCNT