용어집

모델 가지치기

모델 가지치기로 머신 러닝 모델을 최적화하세요. 리소스가 제한된 배포에서 더 빠른 추론, 메모리 사용량 감소 및 에너지 효율성을 달성하세요.

모델 가지치기는 신경망을 더 작고 계산적으로 효율적으로 만드는 모델 최적화 기법입니다. 핵심 아이디어는 학습된 모델에서 중복되거나 중요하지 않은 매개변수(가중치, 뉴런 또는 채널)를 식별하고 제거하는 것입니다. 이 프로세스는 모델의 크기를 줄이고 추론 속도를 크게 높일 수 있으므로 메모리와 처리 능력이 제한된 엣지 디바이스에 배포하는 데 이상적입니다. 이 개념은 많은 대규모 모델이 과도하게 매개변수화되어 있어 최종 예측에 거의 기여하지 않는 구성 요소를 포함하고 있다는 관찰에 기반합니다. 최적 뇌 손상과 같은 중요한 논문은 모든 매개변수가 동일하게 생성되는 것은 아니라는 사실을 일찍이 확립했습니다.

모델 가지 치기의 유형

모델 가지치기 기술은 일반적으로 네트워크에서 제거되는 항목의 세분성에 따라 분류됩니다:

  • 가중치 가지치기(비정형): 가장 세분화된 방법으로, 특정 임계값 미만의 개별 모델 가중치가 0으로 설정됩니다. 이렇게 하면 "스파스" 모델이 생성되어 압축률이 높아질 수 있습니다. 하지만 추론 중에 상당한 속도 향상을 달성하기 위해서는 NVIDIA의 스파스 모델용 툴과 같은 특수 하드웨어 또는 소프트웨어 라이브러리가 필요한 경우가 많습니다.
  • 뉴런 가지치기: 이 접근 방식에서는 중요하지 않다고 판단되는 경우 전체 뉴런과 모든 수신 및 발신 연결이 제거됩니다. 이는 개별 가중치를 제거하는 것보다 더 구조화된 형태의 가지치기입니다.
  • 필터/채널 가지치기(구조화): 컨볼루션 신경망(CNN)에 특히 적합한 이 방법은 전체 필터 또는 채널을 제거합니다. 이 방법은 네트워크 계층의 조밀하고 규칙적인 구조를 유지하기 때문에 특수 라이브러리 없이도 표준 하드웨어에서 직접적인 성능 향상을 가져오는 경우가 많습니다. Neural Magic의 DeepSparse와 같은 도구는 CPU에서 이러한 스파스 모델을 가속화하도록 설계되었습니다.

가지치기 후 모델은 일반적으로 미세 조정을 거치는데, 여기에는 파라미터 제거 과정에서 손실된 정확도를 회복하기 위해 몇 회기에 걸쳐 더 작은 네트워크를 재학습하는 작업이 포함됩니다. 유명한 복권 가설에 따르면 대규모 네트워크 내에는 처음부터 다시 학습시킬 경우 비슷한 성능을 얻을 수 있는 더 작은 하위 네트워크가 존재합니다. PyTorch와 같은 프레임워크는 공식 PyTorch 프루닝 튜토리얼에서 설명한 대로 구현을 위한 기본 도구를 제공합니다.

실제 애플리케이션

모델 가지치기는 다양한 시나리오에서 효율적인 AI 모델을 배포하는 데 매우 중요합니다:

  1. 엣지 디바이스에서 객체 감지 최적화: Ultralytics YOLO와 같은 모델은 라즈베리 파이 또는 NVIDIA Jetson과 같이 리소스가 제한된 하드웨어에서 객체 감지 작업을 효율적으로 실행하도록 프루닝할 수 있습니다. 이를 통해 교통 관리, 스마트 감시, 로봇 공학에 컴퓨터 비전 통합과 같은 실시간 애플리케이션을 구현할 수 있습니다.
  2. 대규모 언어 모델(LLM)을 로컬로 배포하기: 프루닝은 Transformer 아키텍처를 기반으로 대규모 모델을 축소하는 데 사용되어 스마트폰과 같은 장치에서 자연어 처리(NLP) 작업을 위해 실행할 수 있도록 합니다. 이 접근 방식은 때때로 양자화와 같은 다른 기술과 결합되어 데이터 프라이버시를 강화하고 지연 시간을 줄이면서 강력한 온디바이스 AI 비서 및 번역 앱을 구현할 수 있습니다. Hugging Face와 같은 조직의 연구 및 도구에서 LLM 가지치기를 살펴보세요.

가지 치기 대 다른 최적화 기술

모델 가지치기는 여러 가지 보완적인 모델 최적화 기법 중 하나입니다:

  • 모델 정량화: 이 기술은 모델 가중치 및 활성화의 수치 정밀도를 낮춥니다(예: 32비트 부동 소수점에서 8비트 정수로). 파라미터를 제거하는 가지 치기와 달리 양자화는 기존 파라미터의 크기를 작게 만듭니다. 양자화는 최적화를 극대화하기 위해 가지치기 후에 적용하는 경우가 많으며, 특히 TensorRT와 같은 특수 지원 하드웨어를 대상으로 할 때 더욱 그렇습니다.
  • 지식 증류: 이 방법은 더 작은 '학생' 모델을 훈련시켜 미리 훈련된 더 큰 '교사' 모델의 결과물을 모방하는 것입니다. 목표는 교사가 학습한 지식을 보다 간결한 구조로 옮기는 것입니다. 이는 새로운 모델을 훈련하는 것이 아니라 이미 훈련된 모델을 슬림화하는 가지치기와는 다릅니다.

궁극적으로 이러한 기술을 조합하여 매우 효율적인 모델을 만들 수 있습니다. 일단 모델이 최적화되면, 다양한 추론 엔진에 광범위하게 배포할 수 있도록 Ultralytics의 내보내기 옵션을 사용하여 ONNX와 같은 표준 포맷으로 내보낼 수 있습니다. Ultralytics HUB와 같은 플랫폼은 훈련부터 최적화된 배포에 이르기까지 컴퓨터 비전 모델의 전체 수명 주기를 관리할 수 있는 도구를 제공합니다.

울트라 애널리틱스 커뮤니티 가입

AI의 미래와 함께하세요. 글로벌 혁신가들과 연결, 협업, 성장하기

지금 가입하기
링크가 클립보드에 복사됨