하이퍼커넥트 Machine Learning Engineer(ML Engineer)는 사람과 사람 사이를 연결하는 서비스에서, 기존의 기술로는 접근하기 어렵지만 머신러닝 기술을 통해 풀 수 있는 문제들을 찾아내고 해결하여 사용자 경험을 혁신합니다. 이를 위해 영상/음성/자연어/추천 등을 포함하여 다양한 도메인의 수많은 모델을 개발하고, 모바일 및 클라우드 서버를 통해 안정적으로 제공하면서 마주하는 연구 주제들을 풀어내어 우리가 만들어 내는 기술이 실제 서비스의 성장에 기여하는 것을 목표로 합니다.
이러한 목표 아래 하이퍼커넥트의 ML Engineer는 틴더, 힌지, 아자르 등 하이퍼커넥트를 비롯한 매치그룹의 여러 제품들에 기여하는 머신러닝 기술들을 수년간 발전시켜 나가고 있으며, 이렇게 축적된 기술들을 다양한 글로벌 비즈니스 서비스에도 손쉽게 활용하기 위한 방안을 연구하고 있습니다.
ML Engineer는 최첨단의 모델을 연구하고 개선하는 과학자로서의 연구 능력과, 만들어진 모델의 시간/공간적 복잡도를 고려해 추론 성능을 극한으로 끌어올리는 공학자로서의 개발 능력이 필요합니다. 이런 능력을 바탕으로 실제 서비스에서 겪는 문제를 발견/정의하고, 문제해결을 위한 SotA 모델을 재현 또는 개발하고, 모델을 온디바이스 및 서버 환경에 배포하고, 이후 모니터링하며 지속적으로 모델을 개선하는 AI flywheel 을 구축하는 등 다양한 업무를 수행합니다. 이 과정에서 백엔드/프론트엔드/DevOps 엔지니어, 데이터 분석가, PM 등 다양한 전문조직과 적극적으로 협업하며 도움을 받습니다. 일하는 모습에 대한 조금 더 자세한 이야기는 다음의 내용을 참고하시면 좋습니다.
연구의 결과물을 정리하여 논문 혹은 코드로 공개하는 것 또한 팀 목표 중 하나입니다. 제품에 사용하기 위한 목적으로 머신러닝 모델을 만들다 보면, 기존 연구로는 부족한 경우가 많습니다. 부족한 부분을 채우기 위해 진행된 연구의 결과물을 프로젝트 참여자들이 모두 함께 협업하여 연구의 의미 있는 부분을 정돈하고 가능하다면 코드와 함께 공개합니다. 그 결과, 지금까지 아래와 같은 대외적 연구 성과를 거둘 수 있었습니다.
• 2018년 저전력 이미지 인식 대회 (LPIRC) 2등
ML 연구가 잘 진행되기 위해서는 딥러닝 학습을 위한 인프라도 잘 갖추어져야합니다. 하이퍼커넥트에서는 ML engineer들이 충분히 모델 개발 및 실험을 진행할 수 있도록 자체적인 딥러닝 연구용 클러스터를 구축하여 활용하고 있습니다.
DGX-A100 20대로 구성된 클러스터(총 160대의 A100 GPU)를 포함한 다양한 on-premise 장비들을 연구개발에 활용할 수 있습니다. 추가적으로, 데이터 수집, 전처리를 포함한 자체적인 데이터 파이프라인을 클라우드 서비스를 활용하여 구축 및 운영하고 있습니다. 또, ML 모델의 제품화를 도와주실 다양한 software engineer(백엔드/프론트엔드/DevOps/MLSE)분들과 함께 일하고 있습니다.
업무 내용
사용자 경험을 향상시키기 위해 사용자의 특성을 이해하고 활용하는 연구 개발을 수행합니다. 모바일 및 서버 환경에서 영상이나 이미지, 음성 및 자연어로 구성된 비정형 데이터 및 유저의 행동 로그로부터 유용한 정보를 추출하기 위해 다음과 같은 문제를 함께 풀 수 있는 분들을 찾고 있습니다.
• 모바일 환경에서 짧은 latency와 높은 성능을 유지하는 경량 모델 최적화에 대한 문제
• 서로 다른 도메인에서 수집된 데이터 간의 차이를 극복하는 domain adaptation 문제
• Multi-task 혹은 multi-label 분류 모델링에 대한 문제
• Unlabeled 데이터를 활용한 semi-supervised learning, self-supervised learning 문제
• Multi-modal 데이터를 활용하는 문제
• 사용자 행동 로그와 content understanding 결과에 기반한 유저 행동 패턴을 파악하는 문제
또한, 제품에 포함되는 AI 기술을 연구하기 위한 노력들도 꾸준히 진행하고 있습니다. 다양한 prototyping을 진행하여 빠르게 기술의 실현 가능성을 판단하고, 제품화 이후 시스템의 지속적인 개선과 성장을 이끄는 AI flywheel을 구축하기 위해 다음과 같은 방법들을 찾아낼 수 있는 분들을 찾고 있습니다.
• Highly imbalanced 또는 noisy label 데이터를 다루는 방법
• 기존에 deploy된 모델을 지속적으로 개선할 수 있는 continual/life-long learning 방법
• 모델 task 요구사항의 변화와 신규 서비스에 대응할 수 있는 meta-learning 방법
• Large scale model을 학습하고, 실제 서비스 환경에서 초당 수백 또는 수천 개의 입력을 안정적으로 처리할 수 있도록 할 수 있는 모델 최적화 및 distillation 방법
• ML 프로덕션 프로세스를 혁신하기 위해 large language models 및 vision-language models를 활용하는 방법
지원 자격
- AI/ML 도메인 전반에 대한 이해와 적어도 한 개 이상의 특정 도메인에 대한 깊이 있는 지식을 갖추고, 3년 이상의 관련 프로젝트 경험이 있으신 분
- 지속적인 주도적 학습을 통해 팀의 AI/ML을 포함한 기술적 경쟁력을 만들고 유지하게 도와주실 수 있는 분
- 보통의 방법으로 풀 수 없는 엔지니어링 제약 조건을 AI 모델링 능력과 소프트웨어 엔지니어링 전반에 대한 깊은 수준의 이해를 바탕으로 해결할 수 있는 역량을 갖춘 분
- 실제 서비스에 AI 기술을 통합하고 주요 지표를 유의미하게 향상시켜 본 경험이 있으신 분
- ML 모델을 학습하고 실제 서비스에 배포하기 위해, 여러 직군의 이해관계자와 협업할 수 있는 강력한 커뮤니케이션 능력과 엔지니어링 역량을 갖추신 분
- 구현체가 공개되어있지 않은 논문을 스크래치부터 빠르고 정확하게 구현해 본 경험이 있으신 분
- 다른 ML 관련 직군 엔지니어 의 성장을 도와본 경험이 있거나, 관련한 역량을 갖추신 분
- 학위나 국적은 무관하되, 한국어와 영어로 원활한 의사소통이 가능한 분
우대 사항
- 기계학습 관련 탑티어 학회 및 저널(NeurIPS, ICLR, ICML, CVPR, ICCV/ECCV, KDD, …) 게재 실적 혹은 AI 관련 대회 수상 실적이 있으신 분
- 공개된 벤치마크 데이터 셋에서 SotA를 찍어본 경험이 있으신 분
- 클라이언트(Android, iOS), 백엔드를 포함해 AI/ML 분야 외 개발 경험이 풍부하신 분
- 기계학습 관련 오픈 소스 개발에 참여해 본 경험이 있으신 분
- AI/ML 도메인 전반에 대한 방대한 지식을 자랑할 수 있으신 분
- A/B 테스트 실험 기획 및 타겟 KPI 지표를 정의하고, SQL기반 데이터 분석을 진행한 경험이 있으신 분
- 인과관계 분석 및 기타 통계 기법을 사용하여 데이터에서 의미 있는 통찰력을 발굴하고 의사결정에 활용해본 경험이 있으신 분
- 엔지니어링 팀을 리드해본 경험이 있으신 분
Hiring Process
- 고용 형태: 정규직
- 채용 절차: 서류전형 > 코딩테스트/사전과제 > 1차 면접 > 2차 면접/Recruiter Call > 3차면접(해당 시) > 최종합격 (*일부 순서가 변경될 수 있습니다.)
- 서류 전형의 경우 합격자에 한하여 개별 안내드릴 예정입니다.
- 지원 서류: 자유 양식의 상세 경력기반 국문 또는 영문이력서(PDF)
etc
- 하이퍼커넥트는 증명사진, 주민등록번호, 가족관계, 혼인여부 등 채용과 관계없는 개인정보를 요구하지 않습니다.
- 수습기간 중 급여 등 처우에 차등이 없습니다.
- 제출해 주신 내용 중 허위 사실이 있을 경우 채용이 취소될 수 있습니다.
- 필요 시 사전에 안내된 채용 절차 외에도 추가 면접 전형이 진행될 수 있습니다.
- 필요 시 지원자의 동의 하에 평판조회 절차가 진행될 수 있으며, 평판조회 결과에 따라 채용이 취소될 수 있습니다.
- 이 포지션은 산업기능요원 보충역 편입/전직, 전문연구요원 현역 전직, 전문연구요원 보충역 편입/전직 채용이 가능합니다. 병역특례요원의 경우, 병역특례 관련법에 따라 복무관리를 진행합니다. (*전문연구요원 현역 신규편입은 현재 마감되었습니다)