[How AI Lab works] AIP Dev Team - David.S & Mario 인터뷰
2024.02.29
"AI Dreamers Unite: Let's make a global impact!"
하이퍼커넥트®는 설립 초기부터 AI 기술과 인재에 대한 전략적인 투자로 독보적인 영상 기술을 개발해왔으며 현재 세계적인 AI 기술 선도 기업으로서 입지를 확고히 하고 있습니다. 하이퍼커넥트®에서 업계 최고 실력을 갖춘 동료들과 AI 알고리즘의 무한한 가능성을 함께 펼쳐나갈 인재를 찾습니다!
Interviewee
AI Platform Dev Team / Global Engineering Team Leader, David.S(선종인)
AI Platform Dev Team / Backend Software Engineer, Mario(윤기남)
Q. AI Platform Dev 팀은 어떤 일을 하는 팀인가요?
David.S AI Platform Dev 팀은 머신러닝(ML) 기술을 활용한 다양한 서비스를 제공하기 위해 전문적인 플랫폼을 개발하는 팀입니다. 플랫폼을 통해 다른 팀에서 인공지능(AI)을 서비스에 쉽게 통합하도록 하며, 경쟁력 있는 기술력을 확보하고 시장에서 차별화된 서비스를 개발할 수 있도록 지원합니다. 다음과 같은 플랫폼을 개발하고 있습니다.
- 모더레이션 플랫폼: 콘텐츠를 신속하게 검토하고 관리해 사용자 경험이 향상되도록 돕는 시스템
- 레이블링 플랫폼: 데이터를 분류하고 태깅하여 머신러닝 모델이 학습할 수 있는 형식으로 만드는 시스템
- 라이브 스트리밍 모니터링 플랫폼: 실시간으로 진행되는 라이브 스트리밍을 모니터링하고 관리하는 시스템
- 온디바이스 머신러닝 모델 플랫폼: 디바이스(예: 스마트폰, 태블릿)에서 직접 머신러닝 모델을 실행할 수 있도록 지원하는 시스템
Mario 요약하자면, 모더레이션 관련 시스템, 온디바이스 모델을 위한 SDK 및 이를 위한 시스템 등 모두 다른 프로덕트를 위한 다양한 형태의 플랫폼을 제공하는 일을 하고 있습니다.
David.S 모더레이션은 기본적으로 사용자가 생성한 콘텐츠를 검토하고 관리하는 과정을 의미합니다. 웹 사이트나 애플리케이션에서 사용자들이 쾌적한 환경 아래 적절한 콘텐츠만 볼 수 있도록 하는 것이 모더레이션의 목표이고요. 쉽게 말해 어떤 사용자가 부적절한 콘텐츠를 만들었을 때 다른 사람에게 그 콘텐츠가 보이지 않도록 해주는 것이죠.
Mario 광범위하게 발생하는 콘텐츠를 사람이 직접 다 다룰 수는 없으니, 처음에는 사람이 모니터링을 하고 그 결과를 이용해 모델을 학습시킬 수 있는 파이프라인을 만들어요. 나중에는 이 모델을 통해 자동 처리를 하게 됩니다. 수동 모더레이션 시스템, 학습 파이프라인, 자동 모더레이션 시스템 등이 모두 모더레이션이라고 볼 수 있어요. 모더레이션의 대상이 되는 콘텐츠가 이미지, 비디오, 오디오, 텍스트 등 다양하고, 수동 모더레이션 때문에 사람을 위한 시스템까지 포함되기에 매우 복잡하고 흥미로운 시스템이라 할 수 있습니다.
Q. 팀에서 온디바이스 머신러닝 플랫폼도 다룬다고 들었어요. 온디바이스 모델이 왜 중요한가요?
David.S 여러가지 이유가 있지만, 가장 중요하게는 개인정보 보호가 우선시 되기 때문이에요. 사용자가 서비스를 이용할 때 디바이스에 저장된 여러 정보가 서비스와 공유될 수 있는데요. 이 때 사용자의 데이터를 서버로 전송하지 않고 디바이스 내에서 직접 처리해서 사용자의 프라이버시를 지킬 수 있습니다.
Mario 개인정보 보호 외에도 몇 가지 장점이 있어요. 통신없이 추론을 하기 때문에 네트워크의 영향을 받아 서비스가 불안정해지는 일이 없고, 서버와 통신하는 과정이 생략되므로 사용자에게 좀 더 빠른 응답을 할 수도 있습니다. 물론 온디바이스에서 실행이 어려운 경우도 많지만 온디바이스에서 모델을 작동할 수 있다면 사용자에게 더 좋은 경험을 제공할 수있어요.
David.S 또한 머신러닝 연산을 디바이스에서 처리하면 서버의 부하를 줄일 수 있어 서버에 덜 의존하게 되고, 서버 리소스와 관리 비용을 절감할 수 있습니다.
Q. 온디바이스 머신러닝 모델 운영이 왜 어려운가요?
David.S 온디바이스 머신러닝 모델 운영의 어려움 중 하나로 디바이스의 제한된 연산 능력과 저장 공간을 꼽을 수 있는데요. 대부분의 스마트폰이나 태블릿은 서버에 비해 작은 메모리와 낮은 컴퓨팅 능력을 가지고 있기 때문에, 이러한 환경에서도 빠르고 정확하게 돌아가는 모델을 개발하는 것이 큰 도전 과제입니다.
Mario 다양한 디바이스 간 호환성도 신경써야 해요. 같은 코드의 결과가 디바이스마다 다른 경우도 있어요. 모델이 다양한 브랜드와 버전의 디바이스에서 일관되게 작동되게 만들기 위해서는 장비 및 플랫폼 특성에 대한 깊은 이해를 바탕으로 한 최적화 전략이 필요합니다.
David.S 모델 업데이트에도 어려움이 있어요. 서버 기반의 머신러닝 모델에서는 데이터를 한 곳에서 관리하기 때문에 업데이트가 빠르고 쉬운 반면, 온디바이스 모델은 각각의 디바이스에 분산되어 있어 순차적으로 업데이트하고 배포해야 하거든요. 한 번 배포된 코드나 모델을 업데이트 없이 아주 오랫동안 사용하는 사용자가 있을 수도 있습니다.
Mario 비용과 전력 소모 문제도 고려해야 하는 부분이죠. 디바이스에서 직접 머신러닝 연산을 수행하게 되면 디바이스의 배터리 수명에 영향을 줄 수 있으므로, 효율적인 전력 사용 및 관리 방안을 연구해야 해요. 이처럼 문제가 다양하게 존재하기에 온디바이스 머신러닝 모델 운영은 난이도가 높은 작업입니다.
Q. AI Platform Dev팀에서 어떤 도전적인 문제를 더 다루고 있는지 궁금해요!
David.S 현재 저희 팀은 대용량 트래픽 처리를 위한 비동기 서비스 구조 개선에 많은 노력을 기울이고 있어요. Kafka와 Flink와 같은 기술을 사용하여 성능과 안정성을 높이려는 등의 작업을 하고 있죠.
Mario 데이터 파이프라인을 통해 지속적인 모델 훈련을 구현하는 것도 주요 도전 과제로 보고 있어요. 머신러닝 모델을 한 번 만들고 끝내는 게 아니라 새로운 데이터로 다시 훈련하여 배포해야 하는데, 이 과정을 끊임없이 개선하고자 합니다. 꾸준히 발전되는 시스템을 위해서 다양한 서브 시스템들을 연결해야 해요.
David.S 게다가 실시간으로 머신러닝 추론을 할 수 있는 파이프라인을 최적화하는 작업도 팀에서 진행 중이에요. AIP Dev 팀은 이를 통해 사용자들이 빠르고 정확한 결과를 얻을 수 있도록 지원하고 노력하고 있습니다.
Q. 팀에서 기대하는 인재상은 무엇인가요?
David.S 문제 해결 능력이 탁월한, 빠르게 새로운 기술을 습득하는, 그리고 팀 플레이를 잘하는 인재를 기대하고 있습니다. 다양한 기초 컴퓨터 과학 지식을 통해 습득하고 강화한 역량을 보유하고 있길 기대해요. 예를 들어, 자료구조, 알고리즘, 운영 체제와 같은 주제에 능숙한 인재를 선호합니다.
Mario 저희는 서로 다른 배경과 전문 지식을 가진 팀원들이 함께 작업하면 창의적인 아이디어와 혁신적인 결과물을 만들어 낼 수 있다고 믿습니다. 그래서 팀의 다양성을 중시하고, 모든 팀원이 자유롭게 의견을 나누고 협력할 수 있는 환경을 만드는 것을 중요하게 생각합니다.
David.S 원활한 커뮤니케이션 능력과 스스로 새로운 것을 배우려는 자세도 필요합니다. 급변하는 시장과 기술 환경에 빠르게 적응하고 성장하기 위해서요. 또 서로 간 지식을 나누고 돕는 것을 중요하게 봐요. 이를 통해 모든 팀원이 함께 성장하고 발전하는 것을 목표로 하고 있습니다.
Q. 팀의 기술 스택에 대해서 더 자세히 설명해 주세요.
David.S 저희 팀은 백엔드, 프론트엔드, 모바일 등 다양한 플랫폼에 대한 개발을 지향합니다. 이를 위해 언어로는 주로 Java, Kotlin, Go, Swift, Python 등을 사용하며, 데이터베이스 관리와 검색 시스템으로는 MySQL, Redis, ElasticSearch를 활용합니다. 제품의 신속한 개발과 빠른 실험을 가능하게 하기 위한 도구로는 Docker와 Kubernetes, Istio를, 프레임워크로는 Spring을 사용하고 있습니다. 데이터 처리 부분에서는 Data Lake Architecture를 도입했고, 클라우드 서비스로는 AWS를 주로 사용합니다.
Mario 비동기식 서비스 구축을 위해서는 Kafka를 사용하고 있으며, 데이터 스트리밍 처리에는 Flink도 사용합니다. 사용자 경험이 우수한 프론트엔드 개발을 위해서는 React.js를 활용해 프로젝트를 진행하고 있습니다.
Q. 왜 백엔드, 프론트엔드, 모바일 플랫폼을 모두 알아야 하나요?
Mario 백엔드, 프론트엔드, 모바일 플랫폼을 모두 이해할 때 여러 가지 이점이 있습니다. 먼저, 각 영역의 특징과 기술을 이해하면 전체 프로젝트에 대한 시각을 갖게 되어 서로 간 작업을 더 원활하게 진행할 수 있죠. 각 플랫폼의 지식을 도구로 문제를 해결할 수 있습니다.
David.S 저희 팀 성격 상 문제 해결에 초점을 맞춰 일하므로 넓은 시야를 가지는 게 특히 중요해요. 각 영역을 알아야 프로젝트의 요구 사항을 세부적으로 이해하고 적절한 기술을 선택하는 데 도움이 되고, 전체적인 개발 품질과 효율성이 향상되겠죠. 백엔드, 프론트엔드, 모바일 플랫폼을 모두 알고 있는 개발자는 팀과 프로젝트 전반에 걸쳐 건전한 기술적 접근법을 제공할 수 있고, 프로젝트에 참여하는 각 구성원들의 상호 이해도 증진시킬 수 있어요.
Q. AI Platform Dev 팀에 합류하려면, 머신러닝 지식을 얼마나 많이 알아야 하나요?
David.S 머신러닝과 관련된 전문적인 업무 경험이 있다면 도움이 많이 되겠지만, 합류 시점에 필수적으로 모든 지식을 다 갖춰야 한다고 보지는 않아요. 문제 해결 능력과 빠른 습득력을 가진 분이라면, 그리고 머신러닝에 대한 관심이 있다면 저희 팀과 함께 ML 기반 올라운더로 성장하실 수 있을 거예요.
Mario 자료구조, 알고리즘, 운영체제, 컴퓨터 구조와 같은 기본적인 컴퓨터 공학 지식을 탄탄하게 갖추고 있다면, 팀에 합류한 뒤에 머신러닝 지식을 쌓아 나가는 게 더욱 수월할 것 같습니다. 팀에서도 함께 공부하는 문화를 중요하게 생각하고 있으니, 경험이나 지식을 쌓아 나가시는 데 도움을 받을 수 있을 거예요.
그리고 팀플레이도 저희 팀이 중요하게 생각하는 역량이에요. 서로 다른 배경과 전문 지식을 가진 팀원들이 상호 작용하면서, 다양한 아이디어를 발굴하고 혁신적인 결과물을 만들어 낼 수 있다고 믿습니다.
AIP Dev 팀의 팀장이신 David.S와 부팀장 역할을 도맡아주고 계신 Mario와의 인터뷰를 통해 AIP 팀의 기술 스택과 지향하는 인재상까지 알아보았습니다.
하이퍼커넥트® AI 조직 내 다른 팀 업무가 궁금하다면?
아래 아티클을 통해 관심 분야에 더 알아보세요!
💬 Head of AI - Shurain 인터뷰
🔗 https://career.hyperconnect.com/post/64d1ffea7b0f3d00016fc4e7
💬 Recommendation Squad - Zerry & Airdish 인터뷰
🔗 https://career.hyperconnect.com/post/65124cfd92b8fd00017b2173
💬 Generative AI Squad - Shuki & Jeffrey 인터뷰
🔗 https://career.hyperconnect.com/post/6582604e8ba4ee00016245e0
💬 Trust & Safety AI Squad - Hunter & Enkhee 인터뷰
🔗 https://career.hyperconnect.com/post/658545c39761230001ffb8bf
💬 ML Application Team - Jack & Owen.L 인터뷰
🔗 https://career.hyperconnect.com/post/658d53c249d33b00016865c0