용어집

반정밀

반정밀도(FP16)가 어떻게 더 빠른 연산, 메모리 사용량 감소, 효율적인 모델 배포로 AI를 가속화하는지 알아보세요.

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

자세히 알아보기

인공 지능과 머신 러닝 영역에서 숫자 데이터의 정밀도는 모델 성능과 계산 효율성에 큰 영향을 미칩니다. FP16 또는 float16이라고도 하는 반정밀은 단정밀도(FP32 또는 float32)에서 사용하는 32비트와 배정밀도(FP64 또는 float64)에서 사용하는 64비트와 달리 16비트를 사용하여 숫자를 표현하는 부동소수점 형식입니다. 이러한 비트 심도의 감소는 AI 모델의 훈련과 배포에 중대한 영향을 미치며, 장점과 고려 사항을 모두 제공합니다.

반정확도 이해

반정밀도의 핵심은 더 적은 비트를 사용하여 숫자 값을 표현하는 것입니다. 이는 표현할 수 있는 범위와 세부 수준에 영향을 미칩니다. 단정밀도(FP32)는 범위와 정밀도의 균형으로 인해 많은 머신 러닝 작업에서 표준으로 사용되는 반면, 반정밀은 보다 간결한 표현을 제공합니다. 부동소수점 연산을 위한 IEEE 754 표준과 같은 리소스에서 다양한 부동소수점 형식에 대해 자세히 알아볼 수 있습니다. 딥러닝에서 수치 정밀도는 모델 훈련 및 추론 중에 가중치, 바이어스, 활성화가 저장되고 처리되는 방식에 영향을 미칩니다.

반정밀의 장점

반정확도를 사용하면 특히 Ultralytics YOLO 과 같은 딥러닝 모델을 훈련하고 배포할 때 몇 가지 강력한 이점을 얻을 수 있습니다.

  • 메모리 사용량 감소: 가장 즉각적인 장점은 모델 매개변수와 중간 계산을 저장하는 데 필요한 메모리가 절반으로 줄어든다는 점입니다. 이는 대규모 모델로 작업하거나 엣지 장치 또는 모바일 플랫폼과 같이 메모리가 제한된 장치에 배포할 때 매우 중요합니다. 예를 들어 Ultralytics YOLO 모델을 NVIDIA Jetson 장치에 배포하면 메모리 사용 공간을 크게 줄일 수 있습니다.
  • 더 빠른 계산: NVIDIA 과 같은 최신 GPU는 반정밀 연산에 고도로 최적화되어 있습니다. 반정밀로 수행되는 연산은 단정밀보다 훨씬 빠르기 때문에 훈련 시간이 단축되고 추론 속도도 빨라집니다. 이러한 속도 향상은 Ultralytics YOLO 을 사용하는 실시간 객체 감지 작업에 특히 유용합니다.
  • 처리량 증가: 메모리 대역폭 요구 사항이 감소하고 계산 속도가 빨라지므로 반정밀도는 처리량 증가로 이어져 학습 중에 더 큰 배치 크기를 사용할 수 있고 같은 시간에 더 많은 데이터를 처리할 수 있습니다.
  • 전력 소비 감소: 메모리 액세스가 줄어들고 계산 속도가 빨라지면 전력 소비가 줄어들어 모바일 및 엣지 배포에 큰 이점이 되며, 반정밀도는 라즈베리 파이와 같은 디바이스의 애플리케이션이나 자율 주행 차량의 AI에 이상적입니다.

고려 사항 및 과제

이러한 장점에도 불구하고 반정확도를 사용하는 데 어려움이 없는 것은 아닙니다.

  • 정밀도 및 범위 감소: 가장 큰 단점은 단일 정밀도에 비해 수치 정밀도와 범위가 줄어든다는 점입니다. 이로 인해 특히 넓은 동적 범위의 값이 필요하거나 가중치의 작은 변화에 민감한 모델에서 언더플로 또는 오버플로 문제가 발생할 수 있습니다.
  • 정확도 저하 가능성: 경우에 따라 반정확도로 학습하거나 추론하면 모델 정확도가 약간 저하될 수 있습니다. 이는 정확도 저하가 학습 알고리즘의 안정성과 계산의 정확도에 영향을 미칠 수 있기 때문입니다. 그러나 혼합 정밀도 훈련과 같은 기술은 이러한 문제를 완화하도록 설계되었습니다.
  • 구현의 복잡성: PyTorch 및 TensorFlow 같은 프레임워크는 절반 정도의 정확도를 구현할 수 있는 도구를 제공하지만, 수치 안정성과 훈련 절차에 대한 잠재적 조정 가능성을 신중하게 고려해야 구현할 수 있습니다. 예를 들어, Ultralytics YOLO 모델을 다음과 같은 형식으로 내보낼 때 TensorRT 와 같은 형식으로 내보낼 때는 정밀도 설정을 신중하게 관리해야 합니다.

실제 애플리케이션

반정밀은 성능과 효율성이 중요한 다양한 AI 및 ML 애플리케이션에서 널리 사용됩니다.

  1. 실시간 객체 감지: 자율 주행이나 실시간 비디오 분석과 같은 애플리케이션에서는 빠른 추론이 가장 중요합니다. Ultralytics YOLO 같은 모델에 반정밀도를 사용하면 프레임을 더 빠르게 처리할 수 있어 더 높은 프레임 속도로 실시간 객체 감지가 가능합니다. 스마트 시티의 보안 경보 시스템과 컴퓨터 비전을 위한 솔루션은 효율적인 성능을 위해 반정밀도를 활용하는 경우가 많습니다.
  2. 대규모 언어 모델(LLM) 추론: GPT-4와 같은 대규모 언어 모델을 서비스하려면 상당한 컴퓨팅 리소스가 필요합니다. 추론에 반정확도를 사용하면 계산 비용과 지연 시간을 크게 줄일 수 있으므로 챗봇 및 텍스트 생성과 같은 애플리케이션에서 LLM의 접근성과 응답성이 향상됩니다.
  3. 엣지 AI 배포: 휴대폰, 드론 또는 임베디드 시스템과 같은 엣지 디바이스에 AI 모델을 배포하려면 제한된 컴퓨팅 리소스, 메모리 및 전력의 제약을 충족하기 위해 반정밀도를 사용해야 하는 경우가 많습니다. NVIDIA Jetson 또는 Raspberry Pi에서 Ultralytics YOLO 을 실행하면 반정밀 최적화를 통해 상당한 이점을 얻을 수 있습니다.

반정확도 대 혼합 정밀도

반정확도와 혼합 정밀도 학습을 구별하는 것이 중요합니다. 반정밀은 모든 계산에 16비트 부동 소수점 형식을 사용하는 것을 말하지만, 혼합 정밀도 훈련은 모델 및 계산의 특정 부분에는 반정밀을 선택적으로 사용하고 다른 부분, 특히 그라데이션 누적과 같이 수치에 민감한 연산에는 단정밀을 유지하는 것을 말합니다. 혼합 정밀도는 반정확도의 속도 이점을 활용하면서 잠재적인 정확도 문제를 완화하는 것을 목표로 합니다. Ultralytics YOLO 과 함께 사용되는 최신 훈련 파이프라인은 최적의 성능과 정확도를 달성하기 위해 기본적으로 혼합 정밀도 훈련을 사용하는 경우가 많습니다.

요약하자면, 반정확도는 특히 리소스가 제한된 환경과 실시간 성능이 필요한 애플리케이션에서 AI 및 ML 모델의 효율성을 향상시킬 수 있는 강력한 기술입니다. 반정확도에는 몇 가지 문제가 있지만, 신중한 구현과 혼합 정밀도 훈련과 같은 기술을 통해 이러한 문제를 해결할 수 있으므로 반정확도는 AI 실무자의 툴킷에서 유용한 도구가 될 수 있습니다.

모두 보기