Neural Magic ã® DeepSparse ãšã³ãžã³ã䜿ã£ãŠYOLO11 æšè«ãæé©åããã
ã®ãããªãªããžã§ã¯ãæ€åºã¢ãã«ãããŸããŸãªããŒããŠã§ã¢ã«å±éããå Žåãæé©åãªã©ç¬ç¹ã®åé¡ã«ã¶ã€ããããšãããã Ultralytics YOLO11ã®ãããªãªããžã§ã¯ãæ€åºã¢ãã«ãããŸããŸãªããŒããŠã§ã¢ã«ãããã€ããå Žåãæé©åã®ãããªç¬èªã®åé¡ã«ã¶ã€ããããšããããŸããããã§YOLO11 ãšNeural Magic ã® DeepSparse Engine ãšã®çµ±åãå¿ èŠã«ãªããŸããããã¯ãYOLO11 ã¢ãã«ã®å®è¡æ¹æ³ãå€æããGPU-ã¬ãã«ã®ããã©ãŒãã³ã¹ãCPUäžã§çŽæ¥å®çŸããŸãã
ãã®ã¬ã€ãã§ã¯ãNeural Magic ã® DeepSparse ã䜿çšããŠYOLO11 ããããã€ããæ¹æ³ãæšè«ãå®è¡ããæ¹æ³ãããã³ããã©ãŒãã³ã¹ãæé©åãããŠããããšã確èªããããã®ãã³ãããŒã¯æ¹æ³ã瀺ããŸãã
Neural Magicã®DeepSparse
Neural MagicDeepSparseã¯ãCPUäžã§ã®ãã¥ãŒã©ã«ãããã¯ãŒã¯ã®å®è¡ãæé©åããããã«èšèšãããæšè«ã©ã³ã¿ã€ã ã§ãããã¹ããŒã¹ããã«ãŒãã³ã°ãéååãªã©ã®é«åºŠãªãã¯ããã¯ãé©çšãã粟床ãç¶æããªããèšç®éãåçã«åæžããŸããDeepSparseã¯ãããŸããŸãªããã€ã¹ã§å¹ççãã€ã¹ã±ãŒã©ãã«ã«ãã¥ãŒã©ã«ãããã¯ãŒã¯ãå®è¡ããããã®ä¿æãªãœãªã¥ãŒã·ã§ã³ãæäŸããŸãã
Neural Magic ã® DeepSparse ãšçµ±åããã¡ãªããYOLO11
DeepSparseã䜿çšããYOLOV8 ã®å±éæ¹æ³ã«ã€ããŠèª¬æããåã«ãDeepSparseã䜿çšããã¡ãªãããç解ããŸããããäž»ãªå©ç¹ã¯ä»¥äžã®ãšããã§ãïŒ
- æšè«é床ã®åäžïŒæ倧525 FPSïŒYOLO11nã®å ŽåïŒãéæããYOLO11 ã®æšè«èœåãåŸæ¥ã®æ¹æ³ãšæ¯èŒããŠå€§å¹ ã«é«éåã
- æé©åãããã¢ãã«å¹çïŒãã«ãŒãã³ã°ãšéååã䜿çšããŠYOLO11 ã®å¹çãé«ãã粟床ãç¶æããªããã¢ãã«ãµã€ãºãšèšç®éãåæžããŸãã
-
æšæºçãªCPUã§é«ãããã©ãŒãã³ã¹ãçºæ®ïŒGPU ã®ãããªããã©ãŒãã³ã¹ãCPUäžã§å®çŸããããŸããŸãªã¢ããªã±ãŒã·ã§ã³ã«ãããã¢ã¯ã»ã¹ããããã³ã¹ãå¹çã®é«ããªãã·ã§ã³ãæäŸããŸãã
-
åçåãããçµ±åãšå±éïŒç»åããããªã®æ³šéæ©èœãªã©ãYOLO11 ãã¢ããªã±ãŒã·ã§ã³ã«ç°¡åã«çµ±åã§ãããŠãŒã¶ãŒãã¬ã³ããªãŒãªããŒã«ãæäŸã
-
æ§ã ãªã¢ãã«ã¿ã€ãããµããŒãïŒæšæºã¢ãã«ãšã¹ããŒã¹æé©åYOLO11 ã¢ãã«ã®äž¡æ¹ã«å¯Ÿå¿ããé åã®æè»æ§ãé«ããŸãã
-
ã³ã¹ãå¹çãšæ¡åŒµæ§ã«åªãããœãªã¥ãŒã·ã§ã³ïŒéçšã³ã¹ããåæžããé«åºŠãªç©äœæ€åºã¢ãã«ãã¹ã±ãŒã©ãã«ã«å±éã
Neural Magic ãDeepSparseããã¯ãããžãŒã®ä»çµã¿ãšã¯ïŒ
Neural Magicã®ãã£ãŒãã»ã¹ããŒã¹ã»ãã¯ãããžãŒã¯ããã¥ãŒã©ã«ãããã¯ãŒã¯èšç®ã«ããã人éã®è³ã®å¹çæ§ã«ã€ã³ã¹ãã€ã¢ãããŠãããè³ãã以äžã®2ã€ã®éèŠãªååãæ¡çšããŠããïŒ
-
ã¹ããŒã¹åïŒã¹ããŒã¹åã®ããã»ã¹ã§ã¯ããã£ãŒãã©ãŒãã³ã°ãããã¯ãŒã¯ããåé·ãªæ å ±ãåã蟌ã¿ã粟床ãæãªãããšãªããããå°ããé«éãªã¢ãã«ãå®çŸããããã®ææ³ã«ããããããã¯ãŒã¯ã®ãµã€ãºãšèšç®éãå€§å¹ ã«åæžãããã
-
åç §ã®å±ææ§ïŒDeepSparseã¯ãŠããŒã¯ãªå®è¡æ¹æ³ãæ¡çšããŠããããããã¯ãŒã¯ãTensor ãåãã«åå²ããããããã®ã«ã©ã ã¯æ·±ãæ¹åã«å®è¡ãããCPU ã®ãã£ãã·ã¥å ã«å®å šã«åãŸãããã®ã¢ãããŒãã¯è³ã®å¹çæ§ãæš¡å£ããããŒã¿ã®ç§»åãæå°åããCPU'ã®ãã£ãã·ã¥äœ¿çšãæ倧åããã
Neural Magic ãDeepSparseããã¯ãããžãŒã®ä»çµã¿ã®è©³çŽ°ã«ã€ããŠã¯ã圌ãã®ããã°èšäºãã芧ãã ããã
ã«ã¹ã¿ã ããŒã¿ã»ããã§èšç·ŽãããYOLO11 ã®ã¹ããŒã¹ããŒãžã§ã³ã®äœæ
Neural Magic ã«ãããªãŒãã³ãœãŒã¹ã®ã¢ãã«ãªããžããªã§ãã SparseZoo ã¯ãäºåã«ã¹ããŒã¹åãããYOLO11 ã¢ãã«ã®ãã§ãã¯ãã€ã³ãã®ã³ã¬ã¯ã·ã§ã³ãæäŸããŠããŸããUltralytics ãšã·ãŒã ã¬ã¹ã«çµ±åãããSparseMLã䜿ãã°ããŠãŒã¶ã¯ç°¡åãªã³ãã³ãã©ã€ã³ã€ã³ã¿ãã§ãŒã¹ã䜿çšããŠãç¹å®ã®ããŒã¿ã»ããäžã§ãããã®ã¹ããŒã¹ãã§ãã¯ãã€ã³ããç°¡åã«åŸ®èª¿æŽããããšãã§ããŸãã
詳现ã¯Neural Magic ã® SparseMLYOLO11 ããã¥ã¡ã³ããåç §ããŠãã ããã
䜿çšæ¹æ³DeepSparse ã䜿çšããYOLOV8 ã®å±é
Neural Magic ã® DeepSparse ã䜿çšããŠYOLO11 ãå±éããã«ã¯ãããã€ãã®ç°¡åãªæé ãå¿ èŠã§ãã䜿çšæ¹æ³ã®èª¬æã«å ¥ãåã«ã Ultralytics ãæäŸããYOLO11 ã¢ãã«ã®ç¯å²ãå¿ ã確èªããŠãã ãããããã«ããããããžã§ã¯ãã®èŠä»¶ã«æé©ãªã¢ãã«ãéžæã§ããŸãã以äžã«ããã®æ¹æ³ã説æããŸãã
ã¹ããã1ïŒã€ã³ã¹ããŒã«
å¿ èŠãªããã±ãŒãžãã€ã³ã¹ããŒã«ããã«ã¯
ã¹ããã 2:YOLO11 ãONNX 圢åŒã«ãšã¯ã¹ããŒããã
ONNX DeepSparse Engineã§ã¯ãYOLO11 圢åŒã®ã¢ãã«ãå¿ èŠã§ããã¢ãã«ããã®åœ¢åŒã«ãšã¯ã¹ããŒãããããšã¯ãDeepSparseãšã®äºææ§ã®ããã«äžå¯æ¬ ã§ããYOLO11 ã¢ãã«ããšã¯ã¹ããŒãããã«ã¯ã以äžã®ã³ãã³ãã䜿çšããŸãïŒ
ã¢ãã«èŒžåº
ãã®ã³ãã³ã㯠yolo11n.onnx
ã¢ãã«ããã£ã¹ã¯ã«ä¿åããã
ã¹ããã3ïŒæšè«ã®å±éãšå®è¡
ONNX 圢åŒã®YOLO11 ã¢ãã«ãããã°ãDeepSparse ã䜿çšããŠæšè«ãå±éããã³å®è¡ã§ããŸããããã¯ãDeepSparseã®çŽæçãªAPIïŒPython ïŒã䜿ã£ãŠç°¡åã«è¡ãããšãã§ããŸãïŒ
æšè«ã®å±éãšå®è¡
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 äžã§æé©ã«åäœããŠããããšã確èªããããšãéèŠã§ããã¢ãã«ã®ããã©ãŒãã³ã¹ããã³ãããŒã¯ããŠãã¹ã«ãŒããããšåŸ ã¡æéãåæã§ããŸãïŒ
ãã³ãããŒãã³ã°
ã¹ããã5ïŒè¿œå æ©èœ
DeepSparseã¯ãç»å泚éãããŒã¿ã»ããè©äŸ¡ãªã©ã®ã¢ããªã±ãŒã·ã§ã³ã«YOLO11 ãå®çšçã«çµ±åããããã®è¿œå æ©èœãæäŸããã
ãã®ä»ã®ç¹åŸŽ
annotateã³ãã³ããå®è¡ãããšãæå®ããç»åãåŠçããããªããžã§ã¯ããæ€åºãããããŠã³ãã£ã³ã°ããã¯ã¹ãšåé¡ãšãšãã«ã¢ãããŒã·ã§ã³ãããç»åãä¿åãããŸããã¢ãããŒã·ã§ã³ãããç»åã¯ãannotation-resultsãã©ã«ãã«ä¿åãããŸããããã¯ãã¢ãã«ã®æ€åºèœåãèŠèŠçã«è¡šçŸããã®ã«åœ¹ç«ã¡ãŸãã
evalã³ãã³ããå®è¡ãããšãprecisionãrecallãmAPïŒmean Average PrecisionïŒãšãã£ã詳现ãªåºåã¡ããªã¯ã¹ãåŸãããŸããããã«ãããããŒã¿ã»ããäžã§ã®ã¢ãã«ã®ããã©ãŒãã³ã¹ãå æ¬çã«èŠãããšãã§ããŸãããã®æ©èœã¯ãç¹å®ã®ãŠãŒã¹ã±ãŒã¹ã«å¯ŸããŠYOLO11 ã¢ãã«ã埮調æŽã»æé©åããé«ã粟床ãšå¹çã確ä¿ããããã«ç¹ã«æçšã§ãã
æŠèŠ
ãã®ã¬ã€ãã§ã¯ãUltralytics'YOLO11 ãšNeural Magic's DeepSparse Engine ã®çµ±åã«ã€ããŠæ€èšããããã®çµ±åããYOLO11'ã®ããã©ãŒãã³ã¹ãCPU ãã©ãããã©ãŒã äžã§ã©ã®ããã«åäžãããGPU-ã¬ãã«ã®å¹çãšé«åºŠãªãã¥ãŒã©ã«ãããã¯ãŒã¯ã¹ããŒã¹æè¡ãæäŸãããã匷調ããã
詳现ãªæ å ±ãšé«åºŠãªäœ¿çšæ³ã«ã€ããŠã¯ãNeural Magic ã® DeepSparse ããã¥ã¡ã³ããåç §ããŠãã ããããŸããYOLO11 ãšã®çµ±åã«é¢ããNeural Magic'ã®ããã¥ã¡ã³ããåç §ããããã«é¢ããçŽ æŽãããã»ãã·ã§ã³ãã芧ãã ããã
ããã«ãYOLO11 ã®æ§ã ãªçµ±åãããåºãç解ããããã«ãUltralytics çµ±åã¬ã€ãã®ããŒãžãã芧ãã ãããããã§ã¯ãä»ã®ãšããµã€ãã£ã³ã°ãªçµ±åã®å¯èœæ§ãå¹ åºãçºèŠããããšãã§ããŸãã
ããããã質å
Neural Magic ãDeepSparse Engineããšã¯ã©ã®ãããªãã®ã§ãYOLO11 ããã©ãŒãã³ã¹ãã©ã®ããã«æé©åããã®ãïŒ
Neural MagicDeepSparseãšã³ãžã³ã¯ãã¹ããŒã¹ããã«ãŒãã³ã°ãéååãªã©ã®é«åºŠãªæè¡ã«ãã£ãŠãCPUäžã§ã®ãã¥ãŒã©ã«ãããã¯ãŒã¯ã®å®è¡ãæé©åããããã«èšèšãããæšè«ã©ã³ã¿ã€ã ã§ããDeepSparse ãYOLO11 ãšçµ±åããããšã§ãæšæºç㪠CPU äžã§GPU ã®ãããªããã©ãŒãã³ã¹ãå®çŸãã粟床ãç¶æããªããæšè«é床ãã¢ãã«å¹çãå šäœçãªããã©ãŒãã³ã¹ãå€§å¹ ã«åäžãããããšãã§ããŸãã詳现ã¯ãNeural Magic ã® DeepSparse ã»ã¯ã·ã§ã³ãã芧ãã ããã
Neural Magic ã® DeepSparse ã䜿çšããŠYOLO11 ãå±éããããã«å¿ èŠãªããã±ãŒãžãã€ã³ã¹ããŒã«ããæ¹æ³ãæããŠãã ããã
Neural Magic ã® DeepSparse ã§YOLO11 ãå±éããããã«å¿ èŠãªããã±ãŒãžã®ã€ã³ã¹ããŒã«ã¯ç°¡åã§ããCLI ã䜿çšããŠç°¡åã«ã€ã³ã¹ããŒã«ã§ããŸãã å®è¡ããå¿ èŠãããã³ãã³ãã¯ä»¥äžã®ãšããã§ãïŒ
ã€ã³ã¹ããŒã«ãå®äºãããã[ã€ã³ã¹ããŒã«] ã»ã¯ã·ã§ã³ã«èšèŒãããŠããæé ã«åŸã£ãŠç°å¢ãã»ããã¢ããããYOLO11 㧠DeepSparse ã®äœ¿çšãéå§ããŸãã
DeepSparse ã§äœ¿çšããããã«ãYOLO11 ã®ã¢ãã«ãONNX 圢åŒã«å€æããæ¹æ³ãæããŠãã ããã
YOLO11 ã¢ãã«ããDeepSparse ãšã®äºææ§ã«å¿ èŠãªONNX 圢åŒã«å€æããã«ã¯ã以äžã®CLI ã³ãã³ãã䜿çšããŸãïŒ
ãã®ã³ãã³ãã¯ãããªãã®YOLO11 ã¢ãã« (yolo11n.pt
) ããã©ãŒããã (yolo11n.onnx
) ã§å©çšã§ããŸããã¢ãã«ã®ãšã¯ã¹ããŒãã«é¢ãã詳现㯠ã¢ãã«ã»ãšã¯ã¹ããŒãã»ã¯ã·ã§ã³.
DeepSparse Engineã§YOLO11 ãããã©ãŒãã³ã¹ããã³ãããŒã¯ããã«ã¯ã©ãããã°ããã§ãã?
DeepSparse ã§YOLO11 ããã©ãŒãã³ã¹ã®ãã³ãããŒã¯ãå®è¡ãããšãã¹ã«ãŒããããšåŸ ã¡æéãåæããŠãã¢ãã«ãæé©åãããŠããããšã確èªã§ããŸãããã³ãããŒã¯ãå®è¡ããã«ã¯ã以äžã®CLI ã³ãã³ãã䜿çšã§ããŸãïŒ
deepsparse.benchmark model_path="path/to/yolo11n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"
ãã®ã³ãã³ãã¯ãéèŠãªããã©ãŒãã³ã¹ã»ã¡ããªã¯ã¹ãæäŸããŸãã詳现ã«ã€ããŠã¯ãããã©ãŒãã³ã¹ã®ãã³ãããŒã¯ã»ã»ã¯ã·ã§ã³ãåç §ããŠãã ããã
ç©äœæ€åºã¿ã¹ã¯ã«Neural Magic ã® DeepSparse ãšYOLO11 ã䜿çšããçç±ã¯ïŒ
Neural Magic ã® DeepSparse ãYOLO11 ãšçµ±åãããšãããã€ãã®å©ç¹ãããïŒ
- æšè«ã¹ããŒãã®åäžïŒæ倧525 FPSãéæããYOLO11 ã®æ©èœãå€§å¹ ã«é«éåã
- æé©åãããã¢ãã«å¹çïŒã¹ããŒã¹ããã«ãŒãã³ã°ãéååæè¡ã䜿çšãã粟床ãç¶æããªããã¢ãã«ãµã€ãºãšèšç®éãåæžããŸãã
- æšæºçãªCPUã§é«ãããã©ãŒãã³ã¹ïŒè²»çšå¯Ÿå¹æã®é«ãCPU ããŒããŠã§ã¢ã§GPU ã®ãããªããã©ãŒãã³ã¹ãæäŸããŸãã
- åçåãããçµ±åïŒãŠãŒã¶ãŒãã¬ã³ããªãŒãªããŒã«ã§ãå°å ¥ãšçµ±åãç°¡åã
- æè»æ§ïŒæšæºã¢ãã«ãšã¹ããŒã¹æé©åã¢ãã«ã®äž¡æ¹ããµããŒãYOLO11 ã
- è²»çšå¯Ÿå¹æïŒãªãœãŒã¹ã®å¹ççãªæŽ»çšã«ãããéçšã³ã¹ããåæžããŸãã
ãããã®å©ç¹ã®è©³çŽ°ã«ã€ããŠã¯ã Neural Magic ã® DeepSparse ãšYOLO11 ã®çµ±åã®å©ç¹ãã芧ãã ããã