์ฝ˜ํ…์ธ ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

Neural Magic ๋”ฅ์ŠคํŽ˜์ด์Šค ์—”์ง„์œผ๋กœ YOLO11 ์ถ”๋ก  ์ตœ์ ํ™”ํ•˜๊ธฐ

์™€ ๊ฐ™์€ ๊ฐ์ฒด ๊ฐ์ง€ ๋ชจ๋ธ์„ ๋‹ค์–‘ํ•œ ํ•˜๋“œ์›จ์–ด์— ๋ฐฐํฌํ•  ๋•Œ Ultralytics YOLO11 ๊ณผ ๊ฐ™์€ ๊ฐ์ฒด ๊ฐ์ง€ ๋ชจ๋ธ์„ ๋‹ค์–‘ํ•œ ํ•˜๋“œ์›จ์–ด์— ๋ฐฐํฌํ•  ๋•Œ ์ตœ์ ํ™”์™€ ๊ฐ™์€ ๊ณ ์œ ํ•œ ๋ฌธ์ œ์— ๋ถ€๋”ชํž ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์ด๋•Œ YOLO11 ์™€ Neural Magic ์˜ DeepSparse ์—”์ง„์ด ํ†ตํ•ฉ๋ฉ๋‹ˆ๋‹ค. YOLO11 ๋ชจ๋ธ์ด ์‹คํ–‰๋˜๋Š” ๋ฐฉ์‹์„ ํ˜์‹ ํ•˜๊ณ  CPU์—์„œ ์ง์ ‘ GPU ์ˆ˜์ค€์˜ ์„ฑ๋Šฅ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๊ฐ€์ด๋“œ์—์„œ๋Š” Neural Magic ์˜ DeepSparse๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ YOLO11 ๋ฅผ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•, ์ถ”๋ก ์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•, ์„ฑ๋Šฅ์„ ๋ฒค์น˜๋งˆํ‚นํ•˜์—ฌ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

Neural Magic์˜ ๋”ฅ์ŠคํŽ˜์ด์Šค

Neural Magic์˜ ๋”ฅ์ŠคํŽ˜์ด์Šค ๊ฐœ์š”

Neural Magic์˜ DeepSparse๋Š” CPU์—์„œ ์‹ ๊ฒฝ๋ง์˜ ์‹คํ–‰์„ ์ตœ์ ํ™”ํ•˜๋„๋ก ์„ค๊ณ„๋œ ์ถ”๋ก  ๋Ÿฐํƒ€์ž„์ž…๋‹ˆ๋‹ค. ํฌ์†Œ์„ฑ, ๊ฐ€์ง€์น˜๊ธฐ, ์–‘์žํ™”์™€ ๊ฐ™์€ ๊ณ ๊ธ‰ ๊ธฐ์ˆ ์„ ์ ์šฉํ•˜์—ฌ ์ •ํ™•๋„๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ๊ณ„์‚ฐ ์ˆ˜์š”๋ฅผ ํš๊ธฐ์ ์œผ๋กœ ์ค„์ž…๋‹ˆ๋‹ค. DeepSparse๋Š” ๋‹ค์–‘ํ•œ ๊ธฐ๊ธฐ์—์„œ ํšจ์œจ์ ์ด๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์‹ ๊ฒฝ๋ง ์‹คํ–‰์„ ์œ„ํ•œ ๋ฏผ์ฒฉํ•œ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Neural Magic ์˜ DeepSparse๋ฅผ ๋‹ค์Œ๊ณผ ํ†ตํ•ฉํ•  ๋•Œ์˜ ์ด์  YOLO11

DeepSparse๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ YOLOV8 ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๊ธฐ ์ „์—, DeepSparse ์‚ฌ์šฉ์˜ ์ด์ ์„ ๋จผ์ € ์ดํ•ดํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ช‡ ๊ฐ€์ง€ ์ฃผ์š” ์ด์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • ์ถ”๋ก  ์†๋„ ํ–ฅ์ƒ: ์ตœ๋Œ€ 525 FPS(YOLO11n์—์„œ)๋ฅผ ๋‹ฌ์„ฑํ•˜์—ฌ YOLO11 ์˜ ์ถ”๋ก  ๊ธฐ๋Šฅ์ด ๊ธฐ์กด ๋ฐฉ์‹์— ๋น„ํ•ด ํฌ๊ฒŒ ๋นจ๋ผ์กŒ์Šต๋‹ˆ๋‹ค.

ํ–ฅ์ƒ๋œ ์ถ”๋ก  ์†๋„

  • ์ตœ์ ํ™”๋œ ๋ชจ๋ธ ํšจ์œจ์„ฑ: ๊ฐ€์ง€ ์น˜๊ธฐ ๋ฐ ์ •๋Ÿ‰ํ™”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ YOLO11 ์˜ ํšจ์œจ์„ฑ์„ ํ–ฅ์ƒ์‹œ์ผœ ๋ชจ๋ธ ํฌ๊ธฐ์™€ ๊ณ„์‚ฐ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ค„์ด๋ฉด์„œ ์ •ํ™•๋„๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

์ตœ์ ํ™”๋œ ๋ชจ๋ธ ํšจ์œจ์„ฑ

  • ํ‘œ์ค€ CPU์—์„œ ๊ณ ์„ฑ๋Šฅ: CPU์—์„œ GPU-์™€ ๊ฐ™์€ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋ณด๋‹ค ์ ‘๊ทผํ•˜๊ธฐ ์‰ฝ๊ณ  ๋น„์šฉ ํšจ์œจ์ ์ธ ์˜ต์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • ๊ฐ„์†Œํ™”๋œ ํ†ตํ•ฉ ๋ฐ ๋ฐฐํฌ: ์ด๋ฏธ์ง€ ๋ฐ ๋™์˜์ƒ ์ฃผ์„ ๊ธฐ๋Šฅ์„ ํฌํ•จํ•˜์—ฌ YOLO11 ์„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์‰ฝ๊ฒŒ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์šฉ์ž ์นœํ™”์ ์ธ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • ๋‹ค์–‘ํ•œ ๋ชจ๋ธ ์œ ํ˜• ์ง€์›: ํ‘œ์ค€ ๋ฐ ํฌ์†Œ์„ฑ์— ์ตœ์ ํ™”๋œ YOLO11 ๋ชจ๋ธ๊ณผ ๋ชจ๋‘ ํ˜ธํ™˜๋˜๋ฏ€๋กœ ๋ฐฐํฌ ์œ ์—ฐ์„ฑ์ด ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค.

  • ๋น„์šฉ ํšจ์œจ์ ์ด๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์†”๋ฃจ์…˜: ์šด์˜ ๋น„์šฉ์„ ์ ˆ๊ฐํ•˜๊ณ  ๊ณ ๊ธ‰ ๊ฐ์ฒด ํƒ์ง€ ๋ชจ๋ธ์˜ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๋ฐฐํฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Neural Magic ์˜ ๋”ฅ์ŠคํŽ˜์ด์Šค ๊ธฐ์ˆ ์€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋‚˜์š”?

Neural Magic์˜ ๋”ฅ ์ŠคํŒŒ์Šค ๊ธฐ์ˆ ์€ ์ธ๊ฐ„ ๋‘๋‡Œ์˜ ์‹ ๊ฒฝ๋ง ๊ณ„์‚ฐ ํšจ์œจ์„ฑ์—์„œ ์˜๊ฐ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ์ˆ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‘ ๊ฐ€์ง€ ๋‡Œ์˜ ํ•ต์‹ฌ ์›๋ฆฌ๋ฅผ ์ฑ„ํƒํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค:

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

  • ์ฐธ์กฐ ์œ„์น˜: DeepSparse๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ Tensor ์—ด๋กœ ๋ถ„ํ• ํ•˜๋Š” ๊ณ ์œ ํ•œ ์‹คํ–‰ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์—ด์€ CPU ์˜ ์บ์‹œ ๋‚ด์— ์™„์ „ํžˆ ๋“ค์–ด๋งž๋„๋ก ๊นŠ์ด ๋‹จ์œ„๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ ๋‘๋‡Œ์˜ ํšจ์œจ์„ฑ์„ ๋ชจ๋ฐฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์ด๋™์„ ์ตœ์†Œํ™”ํ•˜๊ณ  CPU ์˜ ์บ์‹œ ์‚ฌ์šฉ์„ ์ตœ๋Œ€ํ™”ํ•ฉ๋‹ˆ๋‹ค.

Neural Magic ์˜ ๋”ฅ์ŠคํŽ˜์–ด์Šค ๊ธฐ์ˆ  ์ž‘๋™ ๋ฐฉ์‹

Neural Magic ์˜ ๋”ฅ์ŠคํŽ˜์ด์Šค ๊ธฐ์ˆ  ์ž‘๋™ ๋ฐฉ์‹์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ํ•ด๋‹น ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๋ฌผ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

์‚ฌ์šฉ์ž ์ง€์ • ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ์—์„œ ํ•™์Šต๋œ YOLO11 ์˜ ์ŠคํŒŒ์Šค ๋ฒ„์ „ ๋งŒ๋“ค๊ธฐ

Neural Magic ์˜ ์˜คํ”ˆ ์†Œ์Šค ๋ชจ๋ธ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์ธ SparseZoo๋Š” ๋ฏธ๋ฆฌ ์ŠคํŒŒ์Šคํ™”๋œ YOLO11 ๋ชจ๋ธ ์ฒดํฌํฌ์ธํŠธ ๋ชจ์Œ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Ultralytics ์™€ ์›ํ™œํ•˜๊ฒŒ ํ†ตํ•ฉ๋œ SparseML์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ„๋‹จํ•œ ๋ช…๋ น์ค„ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ๋ฐ์ดํ„ฐ ์„ธํŠธ์—์„œ ์ด๋Ÿฌํ•œ ์ŠคํŒŒ์Šค ์ฒดํฌํฌ์ธํŠธ๋ฅผ ์†์‰ฝ๊ฒŒ ๋ฏธ์„ธ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ Neural Magic ์˜ SparseML YOLO11 ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์‚ฌ์šฉ๋ฒ•: DeepSparse๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ YOLOV8 ๋ฐฐํฌ

Neural Magic ์˜ DeepSparse๋กœ YOLO11 ๋ฅผ ๋ฐฐํฌํ•˜๋ ค๋ฉด ๋ช‡ ๊ฐ€์ง€ ๊ฐ„๋‹จํ•œ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ ์ง€์นจ์„ ์‚ดํŽด๋ณด๊ธฐ ์ „์— Ultralytics ์—์„œ ์ œ๊ณตํ•˜๋Š” ๋‹ค์–‘ํ•œ YOLO11 ๋ชจ๋ธ์„ ํ™•์ธํ•˜์„ธ์š”. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํ”„๋กœ์ ํŠธ ์š”๊ตฌ ์‚ฌํ•ญ์— ๊ฐ€์žฅ ์ ํ•ฉํ•œ ๋ชจ๋ธ์„ ์„ ํƒํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ์‹œ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

1๋‹จ๊ณ„: ์„ค์น˜

ํ•„์š”ํ•œ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๋ ค๋ฉด ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค:

์„ค์น˜

# Install the required packages
pip install deepsparse[yolov8]

2๋‹จ๊ณ„: ONNX ํ˜•์‹์œผ๋กœ YOLO11 ๋‚ด๋ณด๋‚ด๊ธฐ

DeepSparse ์—”์ง„์—๋Š” ONNX ํ˜•์‹์˜ YOLO11 ๋ชจ๋ธ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ์„ ์ด ํ˜•์‹์œผ๋กœ ๋‚ด๋ณด๋‚ด๋Š” ๊ฒƒ์€ DeepSparse์™€์˜ ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ YOLO11 ๋ชจ๋ธ์„ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค:

๋ชจ๋ธ ๋‚ด๋ณด๋‚ด๊ธฐ

# Export YOLO11 model to ONNX format
yolo task=detect mode=export model=yolo11n.pt format=onnx opset=13

์ด ๋ช…๋ น์€ yolo11n.onnx ๋ชจ๋ธ์„ ๋””์Šคํฌ์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

3๋‹จ๊ณ„: ์ถ”๋ก  ๋ฐฐํฌ ๋ฐ ์‹คํ–‰

ONNX ํ˜•์‹์˜ YOLO11 ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๋ฉด DeepSparse๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ถ”๋ก ์„ ๋ฐฐํฌํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ž‘์—…์€ ์ง๊ด€์ ์ธ Python API๋กœ ์‰ฝ๊ฒŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

์ถ”๋ก  ๋ฐฐํฌ ๋ฐ ์‹คํ–‰

from deepsparse import Pipeline

# Specify the path to your YOLO11 ONNX model
model_path = "path/to/yolo11n.onnx"

# Set up the DeepSparse Pipeline
yolo_pipeline = Pipeline.create(task="yolov8", model_path=model_path)

# Run the model on your images
images = ["path/to/image.jpg"]
pipeline_outputs = yolo_pipeline(images=images)

4๋‹จ๊ณ„: ์„ฑ๋Šฅ ๋ฒค์น˜๋งˆํ‚น

YOLO11 ๋ชจ๋ธ์ด DeepSparse์—์„œ ์ตœ์ ์˜ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ๋ฒค์น˜๋งˆํ‚นํ•˜์—ฌ ์ฒ˜๋ฆฌ๋Ÿ‰๊ณผ ์ง€์—ฐ ์‹œ๊ฐ„์„ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

๋ฒค์น˜๋งˆํ‚น

# Benchmark performance
deepsparse.benchmark model_path="path/to/yolo11n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"

5๋‹จ๊ณ„: ์ถ”๊ฐ€ ๊ธฐ๋Šฅ

DeepSparse๋Š” ์ด๋ฏธ์ง€ ์ฃผ์„ ๋ฐ ๋ฐ์ดํ„ฐ ์„ธํŠธ ํ‰๊ฐ€์™€ ๊ฐ™์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ YOLO11 ์˜ ์‹ค์งˆ์ ์ธ ํ†ตํ•ฉ์„ ์œ„ํ•œ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ถ”๊ฐ€ ๊ธฐ๋Šฅ

# For image annotation
deepsparse.yolov8.annotate --source "path/to/image.jpg" --model_filepath "path/to/yolo11n.onnx"

# For evaluating model performance on a dataset
deepsparse.yolov8.eval --model_path "path/to/yolo11n.onnx"

์ฃผ์„ ๋‹ฌ๊ธฐ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ฉด ์ง€์ •๋œ ์ด๋ฏธ์ง€๊ฐ€ ์ฒ˜๋ฆฌ๋˜๊ณ , ๊ฐ์ฒด๋ฅผ ๊ฐ์ง€ํ•˜๊ณ , ์ฃผ์„์ด ๋‹ฌ๋ฆฐ ์ด๋ฏธ์ง€๊ฐ€ ๊ฒฝ๊ณ„ ์ƒ์ž ๋ฐ ๋ถ„๋ฅ˜์™€ ํ•จ๊ป˜ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ์ฃผ์„์ด ๋‹ฌ๋ฆฐ ์ด๋ฏธ์ง€๋Š” ์ฃผ์„ ๊ฒฐ๊ณผ ํด๋”์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ชจ๋ธ์˜ ๊ฐ์ง€ ๊ธฐ๋Šฅ์„ ์‹œ๊ฐ์ ์œผ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€ ์ฃผ์„ ๊ธฐ๋Šฅ

ํ‰๊ฐ€ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ฉด ์ •ํ™•๋„, ํšŒ์ˆ˜์œจ, ํ‰๊ท  ์ •๋ฐ€๋„(mAP)์™€ ๊ฐ™์€ ์ž์„ธํ•œ ์ถœ๋ ฅ ๋ฉ”ํŠธ๋ฆญ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ ์„ธํŠธ์— ๋Œ€ํ•œ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ์ข…ํ•ฉ์ ์œผ๋กœ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ํŠน์ • ์‚ฌ์šฉ ์‚ฌ๋ก€์— ๋งž๊ฒŒ YOLO11 ๋ชจ๋ธ์„ ๋ฏธ์„ธ ์กฐ์ •ํ•˜๊ณ  ์ตœ์ ํ™”ํ•˜์—ฌ ๋†’์€ ์ •ํ™•๋„์™€ ํšจ์œจ์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ๋ฐ ํŠนํžˆ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

์š”์•ฝ

์ด ๊ฐ€์ด๋“œ์—์„œ๋Š” Ultralytics' YOLO11 ๊ณผ Neural Magic ์˜ ๋”ฅ์ŠคํŽ˜์–ด์Šค ์—”์ง„ ํ†ตํ•ฉ์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ด ํ†ตํ•ฉ์„ ํ†ตํ•ด CPU ํ”Œ๋žซํผ์—์„œ YOLO11 ์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œ์ผœ GPU ์ˆ˜์ค€์˜ ํšจ์œจ์„ฑ๊ณผ ๊ณ ๊ธ‰ ์‹ ๊ฒฝ๋ง ํฌ์†Œ์„ฑ ๊ธฐ์ˆ ์„ ์ œ๊ณตํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ฐ•์กฐํ–ˆ์Šต๋‹ˆ๋‹ค.

๋” ์ž์„ธํ•œ ์ •๋ณด์™€ ๊ณ ๊ธ‰ ์‚ฌ์šฉ๋ฒ•์€ Neural Magic ์˜ DeepSparse ์„ค๋ช…์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. ๋˜ํ•œ Neural Magic์—์„œ YOLO11 ๊ณผ์˜ ํ†ตํ•ฉ์— ๋Œ€ํ•œ ์„ค๋ช…์„œ๋ฅผ ํ™•์ธํ•˜๊ณ  ์—ฌ๊ธฐ์—์„œ ์ด์— ๋Œ€ํ•œ ํ›Œ๋ฅญํ•œ ์„ธ์…˜์„ ์‹œ์ฒญํ•˜์„ธ์š”.

๋˜ํ•œ ๋‹ค์–‘ํ•œ YOLO11 ํ†ตํ•ฉ์— ๋Œ€ํ•œ ๋ณด๋‹ค ํญ๋„“์€ ์ดํ•ด๋ฅผ ์œ„ํ•ด Ultralytics ํ†ตํ•ฉ ๊ฐ€์ด๋“œ ํŽ˜์ด์ง€๋ฅผ ๋ฐฉ๋ฌธํ•˜๋ฉด ๋‹ค์–‘ํ•˜๊ณ  ํฅ๋ฏธ๋กœ์šด ํ†ตํ•ฉ ๊ฐ€๋Šฅ์„ฑ์„ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

Neural Magic ์˜ ๋”ฅ์ŠคํŽ˜์ด์Šค ์—”์ง„์ด๋ž€ ๋ฌด์—‡์ด๋ฉฐ YOLO11 ์„ฑ๋Šฅ์„ ์–ด๋–ป๊ฒŒ ์ตœ์ ํ™”ํ•˜๋‚˜์š”?

Neural Magic์˜ DeepSparse ์—”์ง„์€ ํฌ์†Œ์„ฑ, ๊ฐ€์ง€์น˜๊ธฐ, ์–‘์žํ™” ๋“ฑ์˜ ๊ณ ๊ธ‰ ๊ธฐ์ˆ ์„ ํ†ตํ•ด CPU์—์„œ ์‹ ๊ฒฝ๋ง์˜ ์‹คํ–‰์„ ์ตœ์ ํ™”ํ•˜๋„๋ก ์„ค๊ณ„๋œ ์ถ”๋ก  ๋Ÿฐํƒ€์ž„์ž…๋‹ˆ๋‹ค. DeepSparse๋ฅผ YOLO11 ์™€ ํ†ตํ•ฉํ•˜๋ฉด ํ‘œ์ค€ CPU์—์„œ GPU ์™€ ๊ฐ™์€ ์„ฑ๋Šฅ์„ ๋‹ฌ์„ฑํ•˜์—ฌ ์ •ํ™•๋„๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ์ถ”๋ก  ์†๋„, ๋ชจ๋ธ ํšจ์œจ์„ฑ ๋ฐ ์ „๋ฐ˜์ ์ธ ์„ฑ๋Šฅ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Neural Magic ์˜ DeepSparse ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”.

Neural Magic ์˜ DeepSparse๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ YOLO11 ๋ฅผ ๋ฐฐํฌํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”?

Neural Magic ์˜ DeepSparse์™€ ํ•จ๊ป˜ YOLO11 ๋ฅผ ๋ฐฐํฌํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์€ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. CLI ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‰ฝ๊ฒŒ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹คํ–‰ํ•ด์•ผ ํ•˜๋Š” ๋ช…๋ น์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

pip install deepsparse[yolov8]

์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ์„ค์น˜ ์„น์…˜์— ์ œ๊ณต๋œ ๋‹จ๊ณ„์— ๋”ฐ๋ผ ํ™˜๊ฒฝ์„ ์„ค์ •ํ•˜๊ณ  YOLO11 ์œผ๋กœ DeepSparse ์‚ฌ์šฉ์„ ์‹œ์ž‘ํ•˜์„ธ์š”.

YOLO11 ๋ชจ๋ธ์„ ONNX ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ DeepSparse์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”?

YOLO11 ๋ชจ๋ธ์„ DeepSparse์™€์˜ ํ˜ธํ™˜์„ฑ์— ํ•„์š”ํ•œ ONNX ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋ ค๋ฉด ๋‹ค์Œ CLI ๋ช…๋ น์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

yolo task=detect mode=export model=yolo11n.pt format=onnx opset=13

์ด ๋ช…๋ น์€ YOLO11 ๋ชจ๋ธ์„ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค(yolo11n.pt)๋ฅผ ํ˜•์‹(yolo11n.onnx)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋”ฅ์ŠคํŽ˜์ด์Šค ์—”์ง„์—์„œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ ๋‚ด๋ณด๋‚ด๊ธฐ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ชจ๋ธ ๋‚ด๋ณด๋‚ด๊ธฐ ์„น์…˜.

DeepSparse ์—”์ง„์—์„œ YOLO11 ์„ฑ๋Šฅ์„ ๋ฒค์น˜๋งˆํ‚นํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”?

YOLO11 ์„ฑ๋Šฅ์„ ๋ฒค์น˜๋งˆํ‚นํ•˜๋ฉด ์ฒ˜๋ฆฌ๋Ÿ‰๊ณผ ์ง€์—ฐ ์‹œ๊ฐ„์„ ๋ถ„์„ํ•˜์—ฌ ๋ชจ๋ธ์ด ์ตœ์ ํ™”๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ CLI ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฒค์น˜๋งˆํฌ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

deepsparse.benchmark model_path="path/to/yolo11n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"

์ด ๋ช…๋ น์€ ์ค‘์š”ํ•œ ์„ฑ๋Šฅ ๋ฉ”ํŠธ๋ฆญ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์„ฑ๋Šฅ ๋ฒค์น˜๋งˆํ‚น ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๊ฐ์ฒด ๊ฐ์ง€ ์ž‘์—…์— YOLO11 ๊ณผ ํ•จ๊ป˜ Neural Magic ์˜ DeepSparse๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

Neural Magic ์˜ DeepSparse๋ฅผ YOLO11 ์™€ ํ†ตํ•ฉํ•˜๋ฉด ๋ช‡ ๊ฐ€์ง€ ์ด์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค:

  • ์ถ”๋ก  ์†๋„ ํ–ฅ์ƒ: ์ตœ๋Œ€ 525 FPS๋ฅผ ๋‹ฌ์„ฑํ•˜์—ฌ YOLO11 ์˜ ์„ฑ๋Šฅ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.
  • ์ตœ์ ํ™”๋œ ๋ชจ๋ธ ํšจ์œจ์„ฑ: ํฌ์†Œ์„ฑ, ๊ฐ€์ง€์น˜๊ธฐ, ์ •๋Ÿ‰ํ™” ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ •ํ™•๋„๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ๋ชจ๋ธ ํฌ๊ธฐ์™€ ๊ณ„์‚ฐ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ค„์ž…๋‹ˆ๋‹ค.
  • ํ‘œ์ค€ CPU์—์„œ ๋†’์€ ์„ฑ๋Šฅ: ๋น„์šฉ ํšจ์œจ์ ์ธ CPU ํ•˜๋“œ์›จ์–ด์—์„œ GPU-์™€ ๊ฐ™์€ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฐ„์†Œํ™”๋œ ํ†ตํ•ฉ: ๊ฐ„ํŽธํ•œ ๋ฐฐํฌ ๋ฐ ํ†ตํ•ฉ์„ ์œ„ํ•œ ์‚ฌ์šฉ์ž ์นœํ™”์ ์ธ ๋„๊ตฌ.
  • ์œ ์—ฐ์„ฑ: ํ‘œ์ค€ ๋ชจ๋ธ๊ณผ ํฌ์†Œ์„ฑ์— ์ตœ์ ํ™”๋œ YOLO11 ๋ชจ๋ธ์„ ๋ชจ๋‘ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ๋น„์šฉ ํšจ์œจ์ : ํšจ์œจ์ ์ธ ๋ฆฌ์†Œ์Šค ํ™œ์šฉ์„ ํ†ตํ•ด ์šด์˜ ๋น„์šฉ์„ ์ ˆ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์ด์ ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๋ ค๋ฉด Neural Magic ์˜ DeepSparse์™€ YOLO11 ํ†ตํ•ฉ์˜ ์ด์  ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”.

11๊ฐœ์›” ์ „ ์ƒ์„ฑ๋จ โœ๏ธ 2๊ฐœ์›” ์ „ ์—…๋ฐ์ดํŠธ๋จ

๋Œ“๊ธ€