용어집

가지 치기

프루닝을 통해 AI 모델을 최적화하여 복잡성을 줄이고 효율성을 높이며 성능 저하 없이 엣지 디바이스에 더 빠르게 배포하세요.

YOLO 모델을 Ultralytics HUB로 간단히
훈련

자세히 알아보기

인공 지능과 머신 러닝의 맥락에서 가지치기는 덜 중요한 연결이나 매개변수를 제거하여 모델의 복잡성을 줄이는 데 사용되는 기술을 말합니다. 이 프로세스의 목표는 모델을 간소화하여 정확도를 크게 떨어뜨리지 않으면서도 계산 및 메모리 사용량을 더 효율적으로 만드는 것입니다. 가지 치기는 리소스가 제한된 디바이스에 모델을 배포하거나 추론 속도를 가속화하려는 경우 특히 유용합니다.

가지 치기의 관련성

가지 치기의 주요 관련성은 모델 최적화에 있습니다. 더 높은 정확도를 달성하기 위해 딥러닝 모델의 크기와 복잡성이 커지면 계산 비용이 많이 들고 메모리 집약적이 됩니다. 이는 특히 리소스가 제한된 스마트폰이나 임베디드 시스템과 같은 엣지 디바이스에 배포할 때 문제가 됩니다. 프루닝은 배포하기 쉽고 연산 능력이 덜 필요한 더 작고 빠른 모델을 생성하여 다양한 애플리케이션에서 실시간 추론을 가능하게 함으로써 이 문제를 해결합니다. 이는 모델 배포를 위해 모델을 최적화하는 중요한 단계로, 다양한 플랫폼에서 AI의 접근성을 높이고 실용성을 높이는 데 중요한 역할을 합니다.

가지 치기의 응용

프루닝 기술은 AI와 머신러닝의 다양한 영역에 적용되고 있습니다. 다음은 몇 가지 구체적인 예시입니다:

  • 모바일 컴퓨터 비전: 고려 사항 Ultralytics YOLO 모바일 애플리케이션에서 물체 감지와 같은 작업에 사용되는 모델을 고려하세요. 가지치기를 통해 이러한 모델의 크기를 크게 줄일 수 있으므로 배터리 수명을 소모하거나 성능을 저하시키지 않고 스마트폰에서 효율적으로 실행할 수 있습니다. 이는 모바일 보안 시스템이나 증강 현실 앱과 같은 실시간 애플리케이션에 필수적입니다. 예를 들어, 라즈베리파이의 Edge TPU 에 가지치기된 YOLO 모델을 배포하면 추론 속도가 빨라지고 전력 소비가 감소할 수 있습니다.

  • 자율 주행 시스템: 자율 주행 차량에서는 빠르고 정확한 물체 감지가 가장 중요합니다. 자율 주행 차량은 센서 데이터를 실시간으로 처리하기 위해 복잡한 모델에 의존합니다. 이러한 모델을 정리하면 추론 지연 시간을 줄여 차량의 AI 시스템이 더 빠르게 의사 결정을 내릴 수 있습니다. 이는 역동적인 주행 환경에서의 안전과 반응성을 위해 매우 중요합니다. 가지치기를 통해 최적화된 모델은 다음을 사용하여 배포할 수도 있습니다. TensorRT 를 사용하여 자율주행 시스템에서 일반적으로 사용되는 NVIDIA GPU의 성능을 더욱 가속화할 수도 있습니다.

유형 및 기술

가지 치기에는 크게 다음과 같이 분류되는 다양한 접근 방식이 있습니다:

  • 가중치 가지치기: 여기에는 모델 출력에 최소한의 영향을 미치는 신경망의 개별 가중치 또는 연결을 제거하는 작업이 포함됩니다. 크기 기반 가지 치기와 같은 기술은 절대값이 가장 작은 가중치를 제거합니다.
  • 필터 가지치기: 이 보다 구조화된 접근 방식은 컨볼루션 레이어에서 전체 필터(및 관련 피처 맵)를 제거합니다. 필터 가지치기는 계산 횟수를 직접적으로 줄이기 때문에 가중치 가지치기에 비해 모델 크기가 더 크게 줄어들고 속도가 빨라지는 경우가 많습니다.

가지치기는 모델 개발 프로세스의 여러 단계에서도 적용할 수 있습니다:

  • 사전 학습 가지치기: 사전 학습된 모델에 대해 가지치기를 수행합니다. 사전 학습된 모델에는 중복 매개 변수가 있는 경우가 많으므로 이 방법은 일반적인 접근 방식입니다.
  • 훈련 중 가지치기: 가지치기는 훈련 프로세스 자체에 통합되어 있습니다. 이를 통해 보다 효율적인 훈련이 가능하며, 가지치기 후 모델 성능이 향상될 수 있습니다.
  • 훈련 후 가지치기: 가지치기는 모델이 완전히 학습된 후에 적용됩니다. 이는 가장 간단한 접근 방식이며 모델 크기를 더욱 줄이고 추론을 가속화하기 위해 종종 양자화와 같은 기술을 포함하며, 때로는 다음과 같은 형식과 함께 사용되기도 합니다. ONNX.

요약하자면, 프루닝은 리소스가 제한된 환경과 지연 시간에 민감한 애플리케이션에서 효율적이고 성능이 뛰어난 AI 모델을 배포할 수 있게 해주는 중요한 모델 최적화 기법입니다. 프루닝은 모델 복잡성을 줄임으로써 AI를 보다 실용적이고 광범위하게 적용하는 데 기여합니다.

모두 보기