Senior ML Software Engineering Team Leader

Hinge (View all Jobs)

Seoul

Please mention No Whiteboard if you apply!
I'm a one-man team looking to improve tech interviews, and could use any support! 😄


Interview Process

1. Hiring manager screen 2. Take-home project 3. Discussions via Zoom that include pair-programming to iterate on homework and culture-fit interview

Programming Languages Mentioned

Python, SQL, JavaScript, Java


[AI Lab 소개]

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



[ML Software Engineering Team 소개]

AI Lab 소속의 ML Software Engineering 팀은 하이퍼커넥트가 보유한 모든 AI 기술을 제품에 적용하여 비즈니스 임팩트를 낼 수 있도록 하며, 지속 가능한 시스템/플랫폼을 개발하여 AI 기술의 적용이 가속화 되도록 하는 것을 목표로 합니다. 이 목표를 달성하기 위해 다음과 같은 업무들을 수행하고 있습니다(인터뷰).


[머신러닝 기반의 백엔드 어플리케이션 설계 및 구현]

하이퍼커넥트와 매치그룹에서 운영 중인 서비스들의 품질을 높이기 위한 다양한 머신러닝 기반의 백엔드 서비스를 개발합니다(관련 테크 블로그). 주로 개인화 추천 시스템 및 검색 시스템 개발에 집중합니다. 글로벌 스케일에서 실시간 동작이 가능하도록 성능 관점에서의 많은 고민과 함께 설계되고 있으며, 팀에서 운영 중인 마이크로서비스들은 전사 내에서도 가장 높은 수준의 트래픽을 처리하고
있습니다.


[모델 추론을 위한 실시간 데이터 파이프라인 개발]

실시간 이벤트를 가공하여 모델 추론에 활용할 수 있게 하는 파이프라인(Apache Flink, KSQL)을 개발합니다. 피쳐를 빠르고 안정적으로 수집, 가공, 서빙하기 위한 시스템(ex. streaming application, feature store)을 고민하고 설계합니다. 때로는 파이프라인 개발 과정에서 모델 성능을 향상시키는 피쳐를 선제적으로 발굴하기도 합니다. 조금 더 자세한 이야기는 다음의 내용을 참고하시면 좋습니다.


[모델 서빙 플랫폼 개발]

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 조직과 함께 수행합니다.
Responsibilities
  • ML Software Engineering Team을 리딩하여 AI Lab 및 회사의 운영 방향과 정렬하고 높은 성과를 내는 팀으로 이끕니다.
  • 프로젝트의 우선순위를 조정하고 자원을 효율적으로 배분하며, 팀원들의 역량을 최대화할 수 있도록 코칭과 멘토링을 제공하고 협업과 성장 마인드셋을 장려하는 팀 문화를 조성합니다.
  • 고효율 저비용의 ML 플랫폼을 설계하고 구현하여, ML 시스템 개발을 통해 글로벌 사용자 경험을 혁신하고 ML 엔지니어들의 생산성을 향상시켜 조직의 성장을 도모합니다.
  • ML Engineer와 ML Research Scientist들과 긴밀하게 협업하여 최신 ML 기술을 프로덕션화하며, 깊이 있는 CS/ML 기술 이해를 바탕으로 세상에 없던 ML 시스템을 만들어냅니다.
  • 벤치마크할 서비스가 부족한 상황에서도 대규모 시스템에서 발생하는 기술적 문제들을 분석하고, 강한 CS 기본기를 바탕으로 트레이드오프에 맞는 의사결정을 수행하여 효과적인 솔루션을 제공합니다.
  • 최신 ML 시스템 기술과 트렌드를 파악하여 조직에 도입하고 혁신을 촉진합니다.
  • 다양한 이해관계자들과 원활한 소통을 통해 프로젝트의 성공적인 실행을 지원합니다.
  • Requirements
  • 극한의 오너쉽을 가지고 팀의 성과를 향상시키기 위해 주도적으로 팀원들을 동기부여하고 교육할 수 있는 역량을 갖추신 분
  • 5년 이상의 소프트웨어(백엔드, 데이터파이프라인, DevOps, ML 서빙 시스템 등) 설계 및 구현, 운영 등에 대한 경험이 있으신 분
  • CS fundamentals(운영체제, 네트워크, 컴퓨터 시스템 아키텍처, 자료구조 및 알고리즘 등)에 대한 탄탄한 기본지식을 보유하신 분
  • Java, Python, JavaScript, Go, RUST 중 두 개 이상의 언어에 대한 깊은 이해를 바탕으로 새로운 언어를 받아들이는데 어려움이 없는 분
  • 블랙 박스인 ML 모델을 unreliable한 컴포넌트로 두고 이를 바탕으로 자유로운 엔지니어링을 수행하실 수 있는 분
  • ML 모델을 서비스에 배포하기 위해 여러 직군의 이해관계자와 협업할 수 있는 강력한 커뮤니케이션 능력을 갖추신 분
  • 엔지니어링 팀을 리드해본 경험이 있으신 분으로 MLSE의 성장을 도와주는 리더쉽과 관리 역량을 갖추신 분
  • 학위나 국적은 무관하되 한국어로 원활한 의사소통이 가능한 분
  • Preferred Qualifications
  • ML 모델을 프로덕션에 적용해 서비스에 도입한 경험이 있으신 분
  • 추천, 생성형 AI 등 최신 ML 기술을 활용한 어플리케이션 개발 및 프로덕션 운영 경험이 있으신 분
  • 실제 서비스에 AI 기술을 통합하고 주요 지표를 유의미하게 향상시켜 본 경험이 있으신 분
  • 프로덕션 환경에서 대용량 트래픽 서비스 운영 경험이 있으신 분
  • RDBMS 또는 DynamoDB, Cassandra 등 분산 데이터베이스에 대한 이해가 있으신 분
  • Spark, Flink 등 대용량/실시간 처리를 위한 분산/병렬 시스템 개발 경험이 있으신 분
  • 모바일(Android, iOS) 클라이언트 개발 경험이 있으신 분
  • 영어로 원활한 의사소통이 가능하신 분
  • 고용형태/채용절차
  • 고용 형태: 정규직
  • 채용 절차: 서류전형 > Recruiter Call > 1차 면접 > 2차 면접 > 3차 면접 > 최종합격 (* 필요 시 면접 전형 등이 추가로 진행될 수 있습니다.)
  • 서류 전형의 경우 합격자에 한하여 개별 안내드릴 예정입니다.
  • 지원 서류: 자유 양식의 상세 경력기반 국문 또는 영문이력서(PDF)
  • 기타
  • 하이퍼커넥트는 증명사진, 주민등록번호, 가족관계, 혼인여부 등 채용과 관계없는 개인정보를 요구하지 않습니다.
  • 수습기간 중 급여 등 처우에 차등이 없습니다.
  • 제출해 주신 내용 중 허위 사실이 있을 경우 채용이 취소될 수 있습니다.
  • 관련법 상 근로제공에 결격사유가 있는 경우 채용이 취소될 수 있으며, 필요시 사전에 안내된 채용 절차 외에도 추가 전형 및 서류 확인이 진행될 수 있습니다.
  • 필요 시 지원자의 동의 하에 평판조회 절차가 진행될 수 있으며, 평판조회 결과에 따라 채용이 취소될 수 있습니다.
  • Please mention No Whiteboard if you apply!
    I'm a one-man team looking to improve tech interviews, and could use any support! 😄


    Get weekly alerts of new jobs from companies not using whiteboard interviews!