“새로운 기능이 필요하다면 회사에서는 누가 그 기능을 연구하고, 어떻게 검증할까요?”
- 퍼포먼스팀 PM 박한철, 최신국님 인터뷰
넷츠프레소(NetsPresso)는 인공지능 기술로 AI 모델을 디바이스에 맞춰 최적화하는 플랫폼입니다. 여러 기술을 한 번에 소화하는 올인원(All-in-one) 플랫폼인 만큼 노타에는 넷츠프레소를 개발하고 지원하는 팀이 여러 개 있는데요, 노타의 퍼포먼스팀은 넷츠프레소가 제공하는 기능의 폭을 고도화하고 확장하는 업무를 담당합니다.
퍼포먼스 팀이라는 직관적인 이름에서 알 수 있듯이, 넷츠프레소의 기능적인 요소들과 밀접하게 붙어 실용적인 피드백을 빠르게 반영하는 업무를 담당한다고 짐작할 수 있었는데요, 기능 확장의 최전선에서 선진 연구와 실사용 검증을 담당하는 퍼포먼스팀. 그들은 어떤 일을 하고 있으며 어떤 팀원들로 구성이 되어있을까요? 퍼포먼스팀의 PM인 박한철님과 최신국님의 인터뷰를 통해 자세히 알아보았습니다.
노타의 퍼포먼스팀을 한문장으로 설명한다면?
넷츠프레소의 화력을 더 강하게 만드는 서포터이자, 잘못된 부분을 고쳐줄 수 있는 힐러.
노타의 퍼포먼스팀은 어떤 구성으로 이루어져 있나요?
[한철] 퍼포먼스팀은 총 7명의 딥 컴프레션 리서치 엔지니어(Deep Compression Research Engineer)들로 이루어져 있고요, 내부적으로는 리서치 트랙과 엔지니어링 트랙, 두 가지 분야로 나뉘어 있습니다.
팀 내부에서 두 가지 트랙으로 나뉜 것이 흥미롭네요!
각 트랙은 어떤 업무를 담당하는지 알 수 있을까요?
[신국] 제가 속한 리서치 트랙은 선진 연구를 담당하며 이미지 분류, 객체 탐지 외에도 다양한 분야에 대해 딥러닝 모델 경량화 및 효율적인 모델 구조 설계에 관한 연구를 합니다. 학문적인 연구보다는 실사용과 실용성에 초점을 맞추고 있습니다. 저는 주로 새로운 기술이나 기법을 발굴하는 업무를 하며 새로운 경량화 파이프라인을 만들어 코드화한 뒤 엔지니어링 트랙의 검증 후에 실사용 단계까지 넘어가기도 합니다.
[한철] 엔지니어링 트랙은 리서치 트랙에서 만들어진 다양한 경량화 파이프라인과 경량 모델들이 넷츠프레소에서 사용될 수 있는지를 심도 있게 검증합니다. 또한 넷츠프레소 사용에 숙련된 엔지니어로서 고객에게 전문화된 경량 모델링 서비스를 제공하고, customer-centric 한 관점에서 넷츠프레소의 개선점을 발굴하죠.
현재 딥 컴프레션 리서치 엔지니어(Deep Compression Research Engineer)를 채용 중이신데요,
해당 직무로 합류 한다면 어떤 일을 하게 될까요?
[한철] 이 직무로 합류하신다면 AI 서비스용 실제 데이터셋(dataset)을 다루면서 딥러닝 모델 구조에 대한 경량화 및 경량 모델링 기법을 적용하여 모델을 최적화하고, 동시에 타깃 디바이스(target device)에서 동작하도록 딥러닝 모델을 컴파일(compile)하는 전반적인 on-device AI 구현 프로세스를 경험하실 수 있습니다.
[신국] 노타의 AI 최적화 플랫폼인 넷츠프레소를 사용하는 유저들의 피드백 반영이나 개선을 위한 연구를 기대합니다. 다방면의 성능 개선과 보완이 필요하기 때문에 컴퓨터비전 등 특정한 기법만 다루는 것보다 수요 중심적인 기법을 다룰 수도 있습니다. 폭넓은 기술을 다루는 포지션입니다.
[한철] 조금 더 덧붙이자면 우리 제품에 활용할 수 있도록 선행 연구 조사 후에 새로운 아이디어를 구상하거나 기존의 부분을 업그레이드할 수 있어서, 신국님이 말씀하셨다시피 업무를 특정 기법에 국한하지 않고 퍼포먼스 팀의 방향성에 맞춰 업무를 진행할 예정입니다. 새로운 부분으로 확장할 수도 있고 기존 플랫폼을 업그레이드할 수도 있다는 말이죠.
퍼포먼스 팀의 실무적인 예시가 궁금한데요,
대표적인 프로젝트에 대해 알려주실 수 있으실까요?
대표 프로젝트 1. 넷츠프레소 Super Resolution Best Practice
[신국] 얼마 전, 넷츠프레소에서 다룬 적 없었던 SR(Super Resolution)1) 모델을 NVIDIA Jetson 계열의 디바이스에 경량화하는 프로젝트를 진행했었고 결과적으로 넷츠프레소 Best practice에 선정되었습니다. NVIDIA Jetson 계열의 디바이스는 세계적으로 많은 AI 모델의 하드웨어로 활용되고 있는데요, 이처럼 대중적인 하드웨어에 우리 기술을 사용하여 성능이 우수한 AI 모델을 얻을 수 있는 것은 유의미한 결과입니다.
이 프로젝트를 통해 이전에는 다루지 못했던 SR 모델 경량화에 적합한 기법을 발굴하였습니다. 이를 통해 넷츠프레소의 모듈 중 하나인 넷츠프레소 모델 컴프레서 (NetsPresso Model Compressor)2)를 개선할 수 있었고, 현존하는 기법과 새로운 기법을 결합하여 기존 베이스라인 AI 모델 대비 성능이 좋은 latency를 가지는 SR 모델 또한 얻을 수 있었습니다.
1) Super Resolution: 저해상도 이미지로부터 고해상도 이미지를 생성하는 기술
2) 넷츠프레소 모델 컴프레서 (Model Compressor): 쉽고 빠르게 AI 모델을 경량화해주는 넷츠프레소 모듈 중 하나
대표 프로젝트 2. N사와의 OCR (Optical Character Recognition) 프로젝트
[한철] 2021년, 퍼포먼스 팀은 글로벌 게임 회사인 N사와 OCR 프로젝트를 진행했습니다. OCR이란 사진 속 문자를 읽는 기술입니다. 예를 들어, 인증이 필요할 때 신분증 사진을 찍으면 나의 정보가 자동으로 빈칸에 입력된 것을 보신 적이 있으실 텐데요. 이것도 OCR 기술이 활용되었다고 보시면 됩니다.
이번 OCR 프로젝트는 넷츠프레소 모델 서처(NetsPresso Model Searcher)1)를 이용하여 처음 외부 고객사에 대응한 사례였는데요, NVIDIA Jetson 계열의 디바이스에 최적화된 문자 인식을 위해 경량화된 디텍션 모델(detection model)을 생성하는 프로젝트였습니다.
넷츠프레소를 사용한 덕에 적은 공수를 들여 기존 베이스라인 AI 모델 대비 20% 이상의 latency를 감소시킬 수 있었습니다. 동시에 성능은 0.5% 개선하는 모델부터 성능 감소를 최소화하며 latency를 63%까지 향상한 모델까지 생성할 수 있었습니다.
1) 넷츠프레소 모델 서처 (NetsPresso Model Searcher): 타깃 디바이스에 맞는 최적화된 AI 모델을 자동으로 찾아주는 넷츠프레소의 모듈 중 하나
대표 프로젝트에 대해서 들어보니, 말 그대로 기능을 확장하고 개선하는 업무를 하고 계시네요.
이러한 일들을 완성도 높게 해내기 위해서 어떤 능력이 중요할까요?
[신국] 퍼포먼스 팀은 넷츠프레소의 내부 유저 역할도 하고 있어서, 새로운 것을 배우고 빠르게 습득한 뒤 실험을 거쳐 리포트를 하는 능력이 포인트가 될 것 같습니다.
[한철] 경량화 및 경량 모델링은 아직 정형화된 정답이 정해진 분야가 아닙니다. 그래서 꾸준하고 부지런한 실험을 통해 얻은 경험 지식이 결국 객관적인 제안을 할 수 있는 기반이 되리라 생각하는데요, 어떤 업무에서든 성공적인 결과를 도출하고자 하는 통찰력과 도전정신이 중요하다고 생각합니다.
실사용 검증을 담당하는 팀인 만큼 책임감과 의사결정 능력도 중요해 보이네요.
이를 효과적으로 발휘하기 위한 팀 내부의 문화는 어떻게 조성하고 있나요?
[한철] 저희 팀은 소위 ‘1인 1 프로젝트’를 담당하기 때문에 본인의 합리적인 의사결정에 비중을 두는 편입니다. 그래서 본인이 진행하는 업무를 공유하고 팀원의 의견을 받아볼 수 있는 시간을 아래와 같이 많이 마련하고 있어요.
6주 단위 프로젝트 회고: “실패 또한 우리의 자산"이라는 철학으로 진행 중인 프로젝트 회고. 팀원들에게 기술 관련 리포트를 전달하고 피드백을 주고받는 시간
팀 커피톡: 주제가 없는 것이 주제인 팀 커피톡. 업무 진행도를 보고하는 형식인 정기 미팅 외에 주 1회 자유로운 의견을 공유하는 시간
팀 세미나: 팀 대다수에게 해당하는 공통된 기술 관련 세미나. 팀의 프로젝트와 연관 있는 연구 소개부터 최근 떠오르는 연구 주제까지 다루며 최대한 많은 사람에게 인사이트를 주는 시간
한철님은 PM으로서 팀원들을 위한 공약이 있었다고 하는데,
어떤 공약이었나요?
[한철] 제가 PM이 되면서 팀원들에게 ‘다른 팀들과 협업 할 수 있는 기회를 이 회사 안에서 누구보다 많이 만들어 내겠다’라고 공약을 걸었습니다. 퍼포먼스 팀은 노타의 핵심적인 기술의 선행연구나 검증을 담당하는 팀인 만큼, 팀 간의 협업 링크가 많아야 한다고 생각합니다.
팀 자체가 고립되어서 자칫 우물 안 개구리가 되는 것을 방지하려고 애쓰고 있어요. 타 팀과 공통점이 있는 아이템을 리서치 주제로 선정한다거나, 개인의 의사결정을 팀 내에서만 끝내는 게 아니라 경영진들과도 미팅을 진행하기도 합니다. 이러한 실질적인 액션을 통해 팀원 모두가 회사가 흘러가는 방향과 자연스럽게 조율하며 프로젝트를 구상할 때도 전사적으로 도움이 되거나 필요한 방향으로 키를 잡고 시작하는 것 같아요.
퍼포먼스팀의 구성원으로서 두분이 느끼는 업무와 팀의 매력은 무엇인가요?
[신국] 업무적인 매력은 많은 사람이 사용하는 툴부터 신규 기술까지 다양하고 폭넓은 분야를 다뤄볼 수 있는 부분이라고 생각합니다. 프로젝트에 따라 특정 모델이 어떤 변화가 필요한지, 새로 추가되거나 없어져도 될 부분이 무엇인지 발견하는 재미를 느끼고 있습니다.
[한철] 연구를 위한 연구가 아닌 실제 수요가 있고 필요로 하는 곳에서 쓰이는 방안을 모색하며 큰 성취감을 느낄 수 있다고 생각합니다. 퍼포먼스 팀은 개인의 희망 사항이 가장 많이 고려되는 팀이라고 자부합니다. 본인이 하고 싶은 파트가 회사의 방향성과 일치한다면 더할 나위 없죠. 업무를 하면서 다른 팀보다 더 넓은 폭의 기술을 다뤄보며 큰 그림 속에서 업무 방향성을 잡아나가는 기회는 흔치 않은 것 같습니다.
마지막으로, 퍼포먼스팀의 직무에 관심이 있는 분들께 전하고 싶은 말이 있나요?
[한철] 컴프레션 엔지니어나 리서치 엔지니어는 AI 쪽에서 생소한 직군일 수도 있습니다. 하지만 딥러닝 프레임워크를 이용해서 모델링을 직접 해 본 경험과 용기만 있다면 퍼포먼스팀의 딥 컴프레션 리서치 엔지니어의 직무는 충분히 도전해볼 만합니다!
[신국] 얼리어답터, 프로토타이퍼 환영합니다! 리서치도 좋아하고 엔지니어링도 좋아하는 사람. 본인이 발견한 문제를 실용적으로 해결하고 싶어 하는 사람. 세상의 문제를 풀기 위해 연구하는 사람들이 모인 곳이 퍼포먼스 팀입니다.