01 Solution파트 업무에 대해서 간단히 설명 부탁 드립니다.
반도체는 하드웨어 설계도 중요하지만 이를 활용하기 위한 소프트웨어 개발도 매우 중요합니다. 응용 소프트웨어 개발에 필요한 기본적인 SDK1)는 필수로 제공되어야 하며, AI Vision 반도체에 특화된 Solution을 제공하여 제품의 가치를 더욱 높일 수 있습니다.
그래픽스를 처리하기 위한 GPU를 판매하던 NVIDIA가 현재 Deep Learning 분야의 최강자가 될 수 있었던 것은 GPGPU2) 활용을 위해 제공한 CUDA와 다양한 개발 환경 덕분입니다. GPU가 단순히 게임을 위한 렌더링 하는 반도체를 뛰어넘어 Deep Learning의 필수품이 될 수 있었던 것은 바로 GPU의 가치를 높일 수 있는 GPGPU Solution을 제공했기 때문입니다. 이와 같이 저희 Solution 파트도 AI Vision 반도체의 가치를 높이기 위한 Solution을 발굴하고 개발하는 업무를 진행하고 있습니다.
1) SDK : Software Development Kit, 특정 하드웨어 및 플랫폼에서 응용 프로그램 개발 가능하도록 제공되는 환경
2) GPGPU : General-Purpose computing on Graphic Processing, GPU를 이용하여 범용 연산으로 OpenCL, CUDA
02 Solution파트 주요 업무와 과제는 무엇이고, 어떻게 진행되나요?
비전넥스트의 AI Vision 반도체는 CPU, GPU, NPU 등을 포함하고 있으며, Solution 파트에서는 이를 최대한 활용하기 위해 Heterogeneous Computing에 대한 개발을 진행하고 있습니다.
GPU는 영상처리 가속에 적합하여 Vision 처리에 필요한 Image Filtering에 활용됩니다. 이를 위해 OpenCL1) 및 OpenGL GLSL2) 등의 GPGPU 기반으로 개발하고 있습니다. NPU는 Neural Network 가속을 위한 하드웨어로, Vision 처리에 필요한 Detection 및 Classification 등에 활용됩니다.
이를 위해 필요한 Neural Network 설계 및 학습 등을 진행하고 있습니다. CPU는 범용 목적 하드웨어로, GPU와 NPU의 하드웨어 구조 상 가속이 비효율적인 경우 활용됩니다. 제한된 성능에서 최적화하기 위해 Multi-threading 및 SIMD3) 등이 사용됩니다.
1) OpenCL : Open Computing Language, Khronos Group의 개방형 범용 병렬 컴퓨팅 프레임워크
2) GLSL : 그래픽스 라이브러리인 OpenGL에서 제공되는 Shading Language
3) SIMD : Single Instruction Multiple Data, 하나의 명령어로 여러 개의 값을 동시에 계산하는 병렬처리방식
03 Solution파트 직무의 매력은 무엇인가요?
Solution 파트는 자사 반도체의 가치를 높이는 부서로써, AI 비전 반도체에 대한 경쟁 제품들이 늘어나고 있는 현시점에서 경쟁사 대비 차별화된 솔루션을 제공하는 필수적이고 중요한 과업을 수행하고 있습니다.
Solution 개발은 매우 도전적인 업무입니다. 제품 기획 단계부터 하드웨어에 대한 성능을 예측하여 이에 적합한 Solution 발굴과 최적화를 위해 하드웨어와 소프트웨어에 대한 모든 역량을 요구하기 때문입니다. 이러한 도전적 과제들은 목표 달성을 통해 충분히 자기 성장을 느끼게 해주는 매력이 있습니다.
안타깝게도 Solution 개발은 응용프로그램 및 알고리즘에 가깝기 때문에 반도체 설계와 관련 없는 단순 응용프로그램 개발 업무로 보는 시각들이 있습니다. 대부분의 반도체 설계 회사에서는 하드웨어 보다 소프트웨어에 더 많은 인력을 보유하고 있습니다.
소프트웨어 업무는 반도체 설계부터 공급 및 사후 지원에 이르는 전 과정에서 중요한 역할을 하고, 업무 내용과 일정도 반도체 설계와 생산 일정에 긴밀히 연결되어 있는데요, Solution 파트는 반도체 설계와 소프트웨어 업무의 전 과정에 포괄적으로 관여한다는 점에서 단순 응용프로그램 개발과는 구분되며, 더 넓은 시각으로 자사 반도체 제품에 대해 고찰해 볼 수 있다는 점에서 연구개발자로서 직무에 매력을 느낄 수 있습니다.
04 어떤 커리어 패스를 걸어오셨나요?
학부 전공은 소프트웨어였는데, GPU 하드웨어 연구실로 대학원을 진학하여 하드웨어 아키텍처에 대한 공부를 했습니다.
졸업 후에는 모 전자회사에 입사해 Mobile GPU 관련 성능 분석 및 소프트웨어 업무를 담당했습니다. 연차가 쌓이면서 하드웨어 아키텍처 수준이 아닌 실제 설계를 해보고 싶다는 바람이 있었는데, DTV SoC 설계 부서에서 하드웨어 설계 관련 자동화 작업에 참여하는 기회를 잡게 되어 관련 업무 역량도 습득할 수 있었습니다.
결과적으로 Solution 개발 업무에 필수적인 소프트웨어와 하드웨어에 대한 전반적인 이해와 개발 역량을 갖추게 되었습니다. 이후 비전넥스트에 합류하여 AI 비전 반도체의 Solution 개발 업무를 진행하고 있습니다.
05 Solution파트에서 일하기 위해 필요한 직무 수행 역량은 어떤 것이 있을까요?
소프트웨어 개발 역량도 필요하지만 운영체제, 컴퓨터 구조, 알고리즘, 자료구조와 같은 기본 전공 과목에 대한 지식도 중요합니다.
운영체제 및 컴퓨터 구조 과목은 CPU 가속을 위한 Multi-threading 및 SIMD에 대한 기본적인 이해도 도움이 되고, 알고리즘과 자료구조 지식은 병렬처리 및 최적화를 위해 필요합니다. 소프트웨어 개발은 기본적으로 C언어에 대한 지식이 필요합니다.
또한 알고리즘 및 Neural Network 분석이나 업무 자동화 등을 위해서는 Python, OpenCV 등에 대한 경험도 도움이 됩니다. 추가로 관련 연구 논문 분석, 연구 결과에 대한 학회 발표 등을 위해서 외국어 능력도 요구됩니다.
06 Solution파트에서 업무를 수행하면서 보람을 느낄 때는 언제인가요?
불가능할 것 같은 Solution 개발에 성공하여 상품의 수명 주기를 연장시킬 때 보람을 느낍니다.
설계가 완성된 반도체는 기능을 변경하기 어렵기 때문에 당장은 불필요한 기능이나 여유 성능 등을 포함해 상품의 수명 주기를 연장하기도 합니다. 하지만 현재 반도체에서 지원하지 않는 기능을 고객사에서 요청하는 경우가 있습니다. 이럴 때 CPU, GPU 등의 제한된 자원을 최대한 활용하여 이를 대체하게 되는데요, 이를 성공할 때 만족감을 느낍니다.
07 후배들에게 알려주고 싶은 일잘법이 있다면?
저는 업무 진행에 있어서는 가장 중요한 것은 효율성이라고 생각합니다. 자신에게 주어진 일을 단순히 처리하는 것으로 끝내는 것이 아니라, 업무를 어떻게 효율적으로 처리할지 고민하고 개선해나가는 게 중요합니다. 효율성 극대화는 개인의 발전뿐만 아니라 조직에게 큰 도움이 됩니다.
이런 맥락으로 일잘법 중 하나의 예를 든다면 자동화 구축입니다. 대부분의 업무들은 반복되는 일을 포함하는데 이를 자동화하여 효율성을 높이는 것이 필요하고, 자동화 환경이 일회성으로 끝나지 않도록 재사용 및 공유 가능한 수준으로 관리해야 합니다. 자동화 환경을 구축하고 관리하는 데 많은 노력이 필요하겠지만 반복 작업으로 발생하는 불필요한 작업 시간과 실수 등을 감소시킬 수 있기 때문에, 결과적으로는 알고리즘 최적화에 더욱 집중할 수 있게 되어 좋은 결과물에 도달할 수 있게 됩니다.
08 우리 부서에서 일하기를 꿈꾸는 미래의 후배들에게 한마디
세계 최고 수준의 반도체 제작, 그 꿈이 비전넥스트에 있습니다. 저는 같은 꿈을 지닌 열정적인 후배님들을 만나, 자사 AI 비전 반도체의 가치를 더욱 높이고자 합니다.
비전넥스트 Solution 파트는 언제나 여러분을 환영합니다.