[NetsPresso] AI Compiler Engineer

Nota AI โ†—

๐Ÿ“ Seoul, South Korea ๐Ÿ‡ฐ๐Ÿ‡ท

full-time
mid-level
Posted โ€”

Key Skills

PythonPyTorchONNXTensorRTGit

Industry

Consumer ElectronicsSemiconductor

Job Description

๐Ÿ‘‹ ์šฐ๋ฆฌ ํŒ€์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.

NetsPresso Platform ํŒ€์€ Nota AI์˜ AI ๋ชจ๋ธ ๊ฒฝ๋Ÿ‰ํ™” ๋ฐ ์ตœ์ ํ™” ๊ธฐ์ˆ ์„ ๋ฐ”ํƒ•์œผ๋กœ, ์—ฐ๊ตฌยท๊ฐœ๋ฐœ๋œ ๊ธฐ์ˆ ์„ ์‹ค์ œ ์ œํ’ˆ์œผ๋กœ ๊ตฌํ˜„ํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณตํ•˜๋Š” ํ•ต์‹ฌ ํ”Œ๋žซํผ๊ณผ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์„ค๊ณ„ยท๊ตฌํ˜„ํ•˜๋Š” ์กฐ์ง์ž…๋‹ˆ๋‹ค.

Model Representation, Quantization, Graph Optimization, Model Engineering, SW Engineering ํŒŒํŠธ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์œผ๋ฉฐ, ๊ทธ์ค‘ Model Representation Part๋Š” ๋‹ค์–‘ํ•œ ๋”ฅ๋Ÿฌ๋‹ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ๋ถ€ํ„ฐ ์œ ์ž…๋˜๋Š” ๋ชจ๋ธ๋“ค์„ ์ž์‚ฌ ๊ณ ์œ ์˜ ํ†ตํ•ฉ IR (Intermediate Representation)์ธ NPIR๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ, Quantization, Graph Optimization, Compression ๋“ฑ์˜ ์ตœ์ ํ™” ๊ธฐ์ˆ ์„ ์ ์šฉ ๊ฐ€๋Šฅ์ผ€ ํ•ฉ๋‹ˆ๋‹ค.

  • ๋‹ค์–‘ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ ๋ชจ๋ธ์„ ์ž์‚ฌ ๊ณ ์œ ์˜ NPIR๋กœ ํ†ตํ•ฉํ•˜์—ฌ ๊ธฐ์ˆ ์  ๋ฒ”์šฉ์„ฑ์„ ํ™•๋ณดํ•˜๋ฉฐ
  • ์ตœ์‹  AI ๋ชจ๋ธ๋“ค๊ณผ ๋‹ค์–‘ํ•œ ํ•˜๋“œ์›จ์–ด๋ฅผ ์ง€์› ๊ฐ€๋Šฅํ•˜๋„๋ก ํ™•์žฅํ•˜๊ณ 
  • ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์˜ ๋…ผ๋ฆฌ์  ๊ตฌ์กฐ๋ฅผ ํƒ€๊ฒŸ ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์— ์ตœ์ ํ™”ํ•˜์—ฌ ์‹ค์ œ ํ•˜๋“œ์›จ์–ด์—์„œ์˜ ์ถ”๋ก  ํšจ์œจ์„ ๊ทน๋Œ€ํ™” ํ•ฉ๋‹ˆ๋‹ค.



๐Ÿ“Œ ํ•ด๋‹น ํฌ์ง€์…˜์œผ๋กœ ํ•ฉ๋ฅ˜ํ•˜์‹ ๋‹ค๋ฉด

NetsPresso์˜ ๊ธฐ๋ฐ˜์ด ๋˜๋Š” ํ†ตํ•ฉ๋œ IR์„ ์ œํ’ˆํ™”ํ•˜๋Š” ๊ณผ์ •์— ์ฐธ์—ฌํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ๋”ฅ๋Ÿฌ๋‹ ํ”„๋ ˆ์ž„์›Œํฌ์™€ ํ•˜๋“œ์›จ์–ด์˜ ํŠน์„ฑ์„ ํŒŒ์•…ํ•˜๊ณ , ๋…ธํƒ€๋งŒ์˜ ๊ณ ์œ ํ•œ IR(NPIR)์„ ์„ค๊ณ„ํ•˜๊ณ  ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐ ๊ธฐ์—ฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์—์„œ On-device AI๋ฅผ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ๊ฒฝ๋Ÿ‰ํ™” ๋ฐ ์ตœ์ ํ™” ๊ธฐ์ˆ ์ด ์‹ค์ œ ์ œํ’ˆ์— ์–ด๋–ป๊ฒŒ ์ ์šฉ๋˜๋Š”์ง€ ๊ฒฝํ—˜ํ•˜๋ฉฐ, ์ตœ์‹  ๋ชจ๋ธ๋“ค์ด ๋‹ค์–‘ํ•œ ํ•˜๋“œ์›จ์–ด์—์„œ ํšจ์œจ์ ์œผ๋กœ ๊ตฌ๋™๋  ์ˆ˜ ์žˆ๋„๋ก ๊ธฐ์ˆ ์  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ๋‚˜๊ฐ‘๋‹ˆ๋‹ค. AI ์ปดํŒŒ์ผ๋Ÿฌ ์—”์ง€๋‹ˆ์–ด๋กœ์„œ ์ด๋ก ์ ์ธ ์—ฐ๊ตฌ ๊ฒฐ๊ณผ๋ฌผ์„ ์‹ค์ œ ์†Œํ”„ํŠธ์›จ์–ด ์Šคํƒ์œผ๋กœ ๊ตฌํ˜„ํ•ด๋‚ด๋Š” ์„ฑ์ทจ๊ฐ์„ ๋А๋ผ์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.



โœ… ์ฃผ์š” ์—…๋ฌด

  • IR ๊ตฌํ˜„ ๋ฐ ์œ ์ง€๋ณด์ˆ˜
  • NPIR ๊ทธ๋ž˜ํ”„ ๊ตฌ์กฐ ๊ฐœ๋ฐœ: ๋‹ค์–‘ํ•œ ๋”ฅ๋Ÿฌ๋‹ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๋‹ค์–‘ํ•œ ๋ชจ๋ธ ๊ตฌ์กฐ๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” NetsPresso Intermediate Representation (NPIR)์˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค.
  • ํ”„๋ ˆ์ž„์›Œํฌ ๋ณ€ํ™˜ ๋กœ์ง ๊ฐœ๋ฐœ: PyTorch, ONNX ๋“ฑ ๋‹ค์–‘ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ์™€ NPIR ๊ฐ„์˜ ๋ณ€ํ™˜ ๋กœ์ง์„ ๊ตฌํ˜„ํ•˜๊ณ  ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค.
  • ํ•˜๋“œ์›จ์–ด ์นœํ™”์  IR ๋ณ€ํ™˜ ๋ฐ ๋กœ์›Œ๋ง
  • ๋ฐฑ์—”๋“œ ๋ณ€ํ™˜ ๋กœ์ง ๊ฐœ๋ฐœ: NPIR์„ ExecuTorch, TensorRT ๋“ฑ ํƒ€๊ฒŸ ๋Ÿฐํƒ€์ž„ ๋ฐ ํ•˜๋“œ์›จ์–ด ์ „์šฉ IR๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋กœ์›Œ๋ง ํŒจ์Šค๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  • ํ•˜๋“œ์›จ์–ด ์ œ์•ฝ ๊ธฐ๋ฐ˜ ๊ทธ๋ž˜ํ”„ ๋ณ€ํ™˜: ํƒ€๊ฒŸ HW ์˜คํผ๋ ˆ์ดํ„ฐ ๋ฐ ์ œ์•ฝ ์‚ฌํ•ญ ๋ถ„์„, ์ปดํŒŒ์ผ๋Ÿฌ/Low-level IR ๋ถ„์„ ๊ธฐ์ˆ ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ํ•˜๋“œ์›จ์–ด ์ตœ์ ํ™” ๊ธฐ์ˆ  ์—ฐ๊ตฌ ๊ฐœ๋ฐœ



โœ… ์ž๊ฒฉ์š”๊ฑด

  • ์ปดํ“จํ„ฐ๊ณตํ•™, ์ „์ž๊ณตํ•™ ๋“ฑ ๊ด€๋ จ ์ „๊ณต ํ•™์œ„๋ฅผ ์†Œ์ง€ํ•˜์‹  ๋ถ„
  • Python ์–ธ์–ด์— ๋Šฅ์ˆ™ํ•˜๋ฉฐ, ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(OOP) ๋ฐ ํด๋ฆฐ ์ฝ”๋“œ ์ž‘์„ฑ์ด ๊ฐ€๋Šฅํ•˜์‹  ๋ถ„
  • PyTorch, ONNX, Python, Linux, Git/GitHub, Docker ๊ฒฝํ—˜์„ ๋ณด์œ ํ•˜์‹  ๋ถ„
  • ๊ด€๋ จ ๋ถ„์•ผ 5๋…„ ์ด์ƒ์˜ ๊ฒฝ๋ ฅ์„ ์ง€๋‹ˆ์‹  ๋ถ„
  • ํ•ด์™ธ ์—ฌํ–‰์— ๊ฒฐ๊ฒฉ ์‚ฌ์œ ๊ฐ€ ์—†๋Š” ๋ถ„



โœ… ์šฐ๋Œ€์‚ฌํ•ญ

  • ์‹œ์Šคํ…œ ๋ ˆ๋ฒจ ๊ตฌํ˜„์„ ์œ„ํ•œ C++ ์—ญ๋Ÿ‰ ๋ฐ Python ํ™œ์šฉ ๋Šฅ๋ ฅ์„ ๊ฐ–์ถ”์‹  ๋ถ„
  • CPU/GPU/NPU์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณ„์ธต ๊ตฌ์กฐ, ๋ณ‘๋ ฌ ์ปดํ“จํŒ…(SIMD, Multi-threading)์— ๋Œ€ํ•œ ๊ธฐ์ดˆ ์ง€์‹์„ ๊ฐ–์ถ”์‹  ๋ถ„
  • IR(Intermediate Representation), ์ปดํŒŒ์ผ๋Ÿฌ ํŒจ์Šค(Pass), ์ถ”์ƒ ๊ตฌ๋ฌธ ํŠธ๋ฆฌ(AST) ๋“ฑ ์ปดํŒŒ์ผ๋Ÿฌ ๊ธฐ๋ณธ ์›๋ฆฌ์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ๊ฐ–์ถ”์‹  ๋ถ„
  • ExecuTorch, ONNX, TensorRT, AIMET ๋“ฑ์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ™œ์šฉํ•œ ๋ชจ๋ธ ์ตœ์ ํ™” ๊ฒฝํ—˜์ด ์žˆ์œผ์‹  ๋ถ„
  • ์ •์  ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น(Static Memory Allocation) ๋˜๋Š” ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ๋ ˆ์ด์•„์›ƒ ์ตœ์ ํ™” ๊ด€๋ จ ํ”„๋กœ์ ํŠธ ๊ฒฝํ—˜์ด ์žˆ์œผ์‹  ๋ถ„



โœ… ์ฑ„์šฉ ์ ˆ์ฐจ

์„œ๋ฅ˜ ๊ฒ€ํ†  โ†’ ์‚ฌ์ „๊ณผ์ œ ๋ฐœํ‘œ โ†’ 1์ฐจ ์ธํ„ฐ๋ทฐ โ†’ 2์ฐจ ์ธํ„ฐ๋ทฐ โ†’ 3์ฐจ ์ธํ„ฐ๋ทฐ โ†’ ์ฒ˜์šฐ ํ˜‘์˜ โ†’ ์ตœ์ข… ์„ ๋ฐœ (์ ˆ์ฐจ ๊ฐ„์— ์ถ”๊ฐ€์ ์ธ ๊ณผ์ œ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.)