We lead seed rounds and partner with founders from 0 to 1

63
companies
487
Jobs

Machine Learning Engineer

Hinge

Hinge

Software Engineering
Seoul, South Korea
Posted on Feb 20, 2023
하이퍼커넥트 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 장비들을 연구개발에 활용할 수 있습니다. 추가적으로, 프로덕션을 위한 파이프라인, 데이터 수집 및 전처리와 서빙은 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 방법

지원 자격

  • AI/ML에 대한 기본 지식과 적어도 한 개 이상의 특정 도메인에 대한 깊이 있는 지식을 갖추고, 관련 프로젝트 경험이 있으신 분
  • AI 기술의 서비스화에 관심이 많으신 분
  • Tensorflow, PyTorch, CatBoost, JAX 등 오픈소스 프레임워크 기반 개발역량을 포함한 파이썬 개발역량이 충분하신 분
  • ML 모델을 학습하고 서비스에 배포하기까지 필요한 엔지니어링 역량을 갖추신 분
  • Exploratory Data Analysis(EDA)를 통해, 데이터의 통계적 특성과 패턴을 발견하고 이를 ML 모델에 반영하실 수 있는 분
  • 구현체가 공개되지 않은 논문을 읽고 이를 빠르고 정확하게 구현할 수 있는 능력을 갖추신 분
  • 공개된 벤치마크 데이터 셋을 이용해 모델의 테스트 성능을 올리기 위해 여러 가지 모델링을 해본 경험이 있으신 분
  • 학위나 국적은 무관합니다.

우대 사항

  • 실제 서비스에 AI 기술을 통합하고 주요 지표를 유의미하게 향상시켜 본 경험이 있으신 분
  • 기계학습 관련 학회 및 저널 게재 실적 혹은 AI 관련 대회 수상 실적이 있으신 분
  • 클라이언트(Android, iOS) 혹은 백엔드 개발 경험이 있으신 분
  • 기계학습 관련 오픈 소스 개발에 참여해 본 경험이 있으신 분
  • AI/ML 도메인 전반에 대한 이해를 갖추신 분
  • A/B 테스트 실험 기획 및 타겟 KPI 지표를 정의하고, SQL기반 데이터 분석을 진행한 경험이 있으신 분
  • 영어에 능통하신 분

Hiring Process

  • 고용 형태: 정규직
  • 채용 절차: 서류전형 > 코딩테스트/사전과제 > Recruiter Call > 1차 면접 > 2차 면접 > 3차면접(해당 시) > 최종합격 (일부 순서가 변경될 수 있습니다.)
  • 근무 시간: 근무시간을 자율적으로 선택하는DIY(Do It Yourself) 근무제 (단, 병무청 복무규정에 따라 산업기능요원, 전문연구요원은 시차출근제 적용 - 오전 8시 ~ 11시 사이 출근)
  • 지원 서류: 자유 양식의 상세 경력기반 국문 또는 영문이력서(PDF)

etc

  • 하이퍼커넥트는 증명사진, 주민등록번호, 가족관계, 혼인여부 등 채용과 관계없는 개인정보를 요구하지 않습니다.
  • 수습기간 중 급여 등 처우에 차등이 없습니다.
  • 제출해 주신 내용 중 허위 사실이 있을 경우 채용이 취소될 수 있습니다.
  • 필요 시 사전에 안내된 채용 절차 외에도 추가 면접 전형이 진행될 수 있습니다.
  • 필요 시 지원자의 동의 하에 평판조회 절차가 진행될 수 있으며, 평판조회 결과에 따라 채용이 취소될 수 있습니다.
  • 이 포지션은 산업기능요원 보충역 편입/전직, 전문연구요원 현역 편입/전직, 전문연구요원 보충역 편입/전직 채용이 가능합니다. 병역특례요원의 경우, 병역특례 관련법에 따라 복무관리를 진행합니다. (*전문연구요원 현역 신규편입 TO가 선착순 마감될 수 있으며, 전형 진행 중 TO가 마감될 경우 별도 안내 드리겠습니다.)
하이퍼커넥트가 채용하는 포지션에 지원하는 경우, 개인정보 처리에 관하여서는 본 개인정보처리방침이 적용됩니다: https://career.hyperconnect.com/privacy