가지치기는 모델 성능에 최소한으로 기여하는 불필요한 가중치나 전체 뉴런을 제거하여 신경망의 크기를 줄이는 데 사용되는 머신 러닝 기법입니다. 이 프로세스는 모델을 간소화하여 계산, 메모리 및 에너지 소비 측면에서 더 효율적으로 만드는 동시에 허용 가능한 수준의 정확도를 유지하는 데 도움이 됩니다.
가지치기는 엣지 디바이스, 모바일 애플리케이션 또는 임베디드 시스템과 같이 컴퓨팅 리소스가 제한된 시나리오에서 필수적입니다. 모델에서 가장 중요한 구성 요소에 집중함으로써 더 빠른 추론을 가능하게 하고, 스토리지 요구 사항을 줄이고, 전력 소비를 최소화할 수 있습니다. 이러한 이점은 다음과 같은 실시간 애플리케이션에 모델을 배포할 때 특히 유용합니다. Ultralytics YOLO 에 의해 구동되는 애플리케이션과 같은 실시간 애플리케이션에 모델을 배포할 때 특히 유용합니다.
또한 가지치기는 모델 정량화 및 하이퍼파라미터 튜닝과 같은 기술을 보완하여 추가 데이터나 처음부터 다시 학습할 필요 없이 성능을 향상시킬 수 있으므로 모델 최적화에도 중요한 역할을 합니다.
가지치기는 일반적으로 신경망 내에서 가중치, 뉴런 또는 레이어의 중요성을 평가하는 작업을 포함합니다. 가중치 크기, 출력에 대한 기여도 또는 손실에 대한 민감도와 같은 메트릭을 사용하여 안전하게 제거할 수 있는 구성 요소를 식별합니다. 가지 치기가 완료되면 모델을 미세 조정하여 요소 제거로 인한 사소한 정확도 손실을 복구할 수 있습니다.
가지 치기에는 세 가지 일반적인 접근 방식이 있습니다:
프루닝은 다음과 같은 다양한 산업과 사용 사례에서 활용되고 있습니다:
자율주행 자동차: 프루닝된 모델은 실시간 물체 감지 및 추적 시스템에 사용되어 자율주행 차량의 빠르고 정확한 의사 결정을 보장합니다. 자율 주행 차량의 AI에 대해 자세히 알아보세요.
헬스케어: 종양 탐지와 같이 적시에 진단을 내리기 위해 계산 효율성이 중요한 의료 영상 도구에 프루닝 모델이 구현됩니다. 의료 분야의 AI에서 이에 대해 알아보세요.
스마트 농업: 가지치기를 통해 작물 모니터링 및 해충 탐지를 위해 드론이나 IoT 기기에서 경량 모델을 실행할 수 있습니다. 농업 분야에서 AI가 어떻게 활용되는지 알아보세요.
소비자 가전: 스마트폰과 같은 디바이스에서는 빠른 디바이스 내 처리가 필요한 얼굴 인식이나 음성 어시스턴트와 같은 기능에 프루프 모델을 활용합니다.
드론이나 감시 시스템과 같은 엣지 컴퓨팅 환경에서는 가지치기된 모델이 매우 중요합니다. 예를 들어, Ultralytics YOLO 모델에 가지치기 기법을 사용하면 정확도를 유지하면서 모델 크기를 크게 줄일 수 있으므로 클라우드 리소스에 의존하지 않고 디바이스에서 직접 물체를 더 빠르게 감지할 수 있습니다.
프루닝된 모델은 에너지 효율성과 빠른 사용자 상호작용이 우선시되는 모바일 애플리케이션에 널리 배포됩니다. 예를 들어 증강 현실이나 실시간 번역에 AI를 사용하는 모바일 앱은 원활한 성능을 보장하기 위해 프루닝된 버전의 딥러닝 모델을 사용합니다.
가지 치기는 학습된 모델의 크기를 줄이는 데 중점을 두지만, 모델 정량화나 지식 증류와 같은 관련 기법과는 다릅니다. 양자화는 모델 가중치의 정밀도를 낮추는 반면(예: 32비트에서 8비트로 변환), 지식 증류는 큰 모델에서 작은 모델로 지식을 옮기는 것입니다. 이러한 기법을 가지치기와 결합하여 효율성을 극대화할 수 있습니다.
가지치기는 수동으로 수행하거나 다음과 같은 머신 러닝 프레임워크에 통합된 자동화된 도구를 사용하여 수행할 수 있습니다. PyTorch. 가지치기를 실험하려는 사용자를 위해 Ultralytics HUB와 같은 플랫폼은 모델을 훈련하고 최적화하는 직관적인 도구를 제공하여 워크플로우를 간소화할 수 있도록 지원합니다.
머신 러닝 파이프라인에 가지치기를 통합하면 다양한 애플리케이션에 걸쳐 고성능의 리소스 효율적인 AI 모델을 배포할 수 있는 잠재력을 실현할 수 있습니다.