Meet YOLO26: next-gen vision AI.

Link to this sectionYOLO 모델을 엣지 및 웹 배포용 LiteRT로 내보내기#

LiteRT edge deployment framework

LiteRT(Lite Runtime의 약자)는 온디바이스 AI를 위한 구글의 고성능 런타임입니다. 이는 TensorFlow Lite(TFLite)의 차세대 버전이자 새로운 명칭이며, 동일한 .tflite 모델 형식을 실행합니다. LiteRT를 사용하면 내보낸 하나의 Ultralytics YOLO 모델을 모바일, 임베디드, 엣지 및 브라우저 전반에 배포할 수 있습니다. 기존의 tflitetfjs 내보내기 형식이 별도로 처리하던 모든 작업을 이제 하나의 통합된 환경에서 수행합니다.

LiteRT 내보내기 형식은 객체 탐지, 세그멘테이션, 포즈 추정분류와 같은 작업을 위해 모델을 최적화하여 다양한 장치에서 빠르고 오프라인 상태로 실행할 수 있도록 합니다.

Link to this sectionLiteRT로 내보내야 하는 이유는 무엇입니까?#

LiteRT엣지 컴퓨팅이라고도 알려진 온디바이스 추론을 위해 설계된 오픈 소스 프레임워크입니다. 이 프레임워크는 개발자가 모바일, 임베디드 및 IoT 장치, 일반 컴퓨터, 그리고 LiteRT.js를 통해 웹 브라우저 및 Node.js 환경에서 학습된 모델을 직접 실행할 수 있는 도구를 제공합니다.

하나의 모델 형식, 모든 타겟:

  • 모바일 및 임베디드: Android, iOS, 임베디드 Linux 및 마이크로컨트롤러(MCU).
  • 엣지 가속기: 추가 가속을 위해 Coral Edge TPU와 호환됩니다.
  • 브라우저 및 Node.js: LiteRT.js는 WebGPU/WASM 가속을 통해 웹에서 동일한 .tflite 모델을 실행하며, 별도의 TensorFlow.js 내보내기가 필요하지 않습니다.

Link to this sectionLiteRT 모델의 주요 기능#

  • 온디바이스 최적화: 로컬에서 데이터를 처리하여 지연 시간을 줄이고, 개인 데이터를 전송하지 않아 프라이버시를 강화하며, 모델 크기를 최소화하여 저장 공간을 절약합니다.
  • 다양한 플랫폼 지원: Android, iOS, 임베디드 Linux, 마이크로컨트롤러 및 최신 웹 브라우저에서 실행됩니다.
  • 하드웨어 가속: CPU의 XNNPACK, OpenCL, Metal 및 WebGPU를 통한 GPU 가속을 활용합니다. GPU 델리게이트는 추가적인 속도를 위해 기본적으로 FP16으로 실행됩니다.
  • Quantization: Supports FP32, static INT8 (quantize=8, int8 weights + int8 activations), static INT16-activation (quantize="w8a16", int8 weights + int16 activations for higher accuracy), and dynamic INT8 (quantize="w8a32", int8 weights + FP32 activations, no calibration data needed) to compress models and speed up inference with minimal accuracy loss.
  • 다양한 언어 지원: Java/Kotlin, Swift, Objective-C, C++, Python 및 JavaScript와 호환됩니다.

Link to this sectionLiteRT로 내보내기: YOLO 모델 변환#

모델을 LiteRT 형식으로 변환하여 온디바이스 실행 효율성을 개선하고 배포 옵션을 넓힐 수 있습니다.

Link to this section설치#

필수 패키지를 설치하려면 다음을 실행하십시오:

설치
# Install the required package for YOLO
pip install ultralytics

자세한 지침 및 모범 사례는 Ultralytics 설치 가이드를 확인하십시오. 문제가 발생하면 공통 문제 가이드를 참조하십시오.

플랫폼 지원

LiteRT 내보내기는 현재 Linux x86_64macOS에서 지원됩니다. 내보낸 .tflite 모델은 LiteRT가 지원되는 모든 플랫폼(모바일, 임베디드, 엣지 및 브라우저)에서 실행됩니다.

Link to this section사용법#

모든 Ultralytics YOLO 모델은 즉시 내보내기를 지원합니다. LiteRT 형식은 내보내기, 예측검증 모드를 지원하므로, 모델을 내보낸 후 로드하여 로컬에서 추론을 실행하거나 정확도를 검증할 수 있습니다.

내보내기(Export)
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to LiteRT format
model.export(format="litert")  # creates 'yolo26n.tflite'
양자화된 내보내기
from ultralytics import YOLO

model = YOLO("yolo26n.pt")

# Dynamic INT8: int8 weights, FP32 activations - no calibration data needed
model.export(format="litert", quantize="w8a32")  # creates 'yolo26n_w8a32.tflite'

# Static INT8: int8 weights + int8 activations - needs calibration data
model.export(format="litert", quantize=8, data="coco8.yaml")  # creates 'yolo26n_int8.tflite'

# Static w8a16: int8 weights + int16 activations (higher accuracy) - needs calibration data
model.export(format="litert", quantize="w8a16", data="coco8.yaml")  # creates 'yolo26n_w8a16.tflite'
추론(Predict)
from ultralytics import YOLO

# Load the exported LiteRT model
model = YOLO("yolo26n.tflite")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
검증
from ultralytics import YOLO

# Load the exported LiteRT model
model = YOLO("yolo26n.tflite")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Link to this section내보내기 인수#

인수유형기본값설명
formatstr'litert'내보낸 모델의 대상 형식이며, 다양한 배포 환경과의 호환성을 정의합니다.
imgszint 또는 tuple640모델 입력에 필요한 이미지 크기입니다. 정사각형 이미지의 경우 정수를 사용할 수 있으며, 특정 치수의 경우 (height, width) 튜플을 사용할 수 있습니다.
quantizeint 또는 strNone양자화 정밀도: 8(정적 INT8, int8 가중치 + int8 활성화; data/fraction 보정 필요), 'w8a16'(정적, int8 가중치 + int16 활성화; data/fraction 보정 필요), 'w8a32'(동적 INT8, int8 가중치 + FP32 활성화; 보정 불필요) 또는 32/미설정(FP32). FP16은 별도로 내보내지지 않습니다(아래 참고 사항 참조). 더 이상 사용되지 않는 half/int8 플래그를 대체합니다.
batchint1내보낸 모델의 배치 추론 크기 또는 내보낸 모델이 predict 모드에서 동시에 처리할 최대 이미지 수를 지정합니다.
datastr'coco8.yaml'INT8 보정에 사용되는 데이터셋 YAML입니다. quantize=8과 함께 생략하면 Ultralytics는 모델 작업에 대한 기본 보정 데이터셋을 선택합니다.
devicestrNone내보내기를 위한 장치를 지정합니다. LiteRT 내보내기는 CPU(device=cpu)에서 실행됩니다.
FP16 정밀도

기존 tflite 내보내기와 달리, LiteRT는 별도의 FP16 내보내기가 필요하지 않습니다. FP32 .tflite 모델은 GPU 델리게이트(WebGPU, OpenCL, Metal) 사용 시 **런타임에 반정밀도(half precision)**로 실행되며, 이것이 FP16 추론에 대한 공식적인 LiteRT 접근 방식입니다.

내보내기 프로세스에 대한 자세한 내용은 내보내기에 대한 Ultralytics 문서 페이지를 참조하십시오.

Link to this section내보낸 YOLO LiteRT 모델 배포#

Ultralytics YOLO 모델을 LiteRT로 내보낸 후 다양한 플랫폼에 배포할 수 있습니다. 로컬에서 확인하는 가장 빠른 방법은 위에서 설명한 YOLO("yolo26n.tflite") 메서드를 사용하는 것입니다. 다른 환경에서의 배포는 다음 리소스를 참조하십시오:

Link to this section모바일 및 임베디드#

  • Android: Android 애플리케이션에 LiteRT를 통합하기 위한 퀵스타트 가이드입니다.
  • iOS: iOS 애플리케이션에 LiteRT 모델을 통합하고 배포하기 위한 가이드입니다.
  • 임베디드 Linux 및 Raspberry Pi: 싱글 보드 컴퓨터에서 LiteRT 모델을 실행하고, 필요에 따라 Coral Edge TPU로 가속화합니다.
  • 마이크로컨트롤러: 소량의 메모리만으로 MCU에 배포할 수 있습니다. 핵심 런타임은 Arm Cortex-M3에서 약 16KB를 차지합니다.

Link to this section브라우저 및 Node.js (LiteRT.js)#

  • LiteRT.js 개요: WebGPU/WASM 가속을 통해 브라우저에서 직접 동일한 .tflite 모델을 실행하여 서버 측 연산을 제거하고 데이터를 사용자 장치에 보관합니다.
  • 엔드투엔드 예제: 모바일, 엣지 및 웹 전반에 LiteRT를 구현하기 위한 실용적인 예제와 튜토리얼입니다.

Link to this section요약#

이 가이드에서는 Ultralytics YOLO 모델을 LiteRT 형식으로 내보내는 방법을 다루었습니다. 모바일/엣지(이전 TFLite) 및 브라우저(이전 TF.js) 배포를 하나의 .tflite 모델로 통합함으로써, LiteRT는 YOLO 모델을 더 빠르고 작게 만들며 거의 모든 온디바이스 타겟에서 이식 가능하게 합니다.

자세한 내용은 LiteRT 공식 문서를 방문하십시오.

또한 다른 Ultralytics YOLO 통합이 궁금하시다면, 유용한 리소스가 가득한 통합 가이드 페이지를 확인하십시오.

Link to this sectionFAQ#

Link to this sectionYOLO 모델을 LiteRT 형식으로 내보내려면 어떻게 해야 합니까?#

Ultralytics 라이브러리를 사용하여 YOLO 모델을 LiteRT(.tflite)로 내보낼 수 있습니다. 먼저 패키지를 설치하십시오:

pip install ultralytics

그런 다음 모델을 내보내십시오:

from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to LiteRT format
model.export(format="litert")  # creates 'yolo26n.tflite'

CLI 사용자용:

yolo export model=yolo26n.pt format=litert # creates 'yolo26n.tflite'

자세한 내용은 Ultralytics 내보내기 가이드를 방문하십시오.

Link to this sectionLiteRT, TFLite, TF.js의 차이점은 무엇입니까?#

LiteRT는 TensorFlow Lite의 새로운 명칭입니다. 동일한 .tflite 모델 형식이며, 동일한 런타임 계보를 가지고 구글에 의해 리브랜딩되었습니다. Ultralytics에서 단일 litert 내보내기 형식은 이전에 두 개의 별도 형식이 필요했던 두 가지 사용 사례를 모두 포괄합니다:

  • 기존 tflite 형식 → 모바일, 임베디드 및 엣지 배포.
  • The old tfjs format → browser and Node.js deployment, now handled by LiteRT.js running the same .tflite file.

기존 .tflite 파일이 있는 경우 YOLO("model.tflite")로 직접 로드하면 LiteRT 백엔드를 통해 실행됩니다.

Link to this sectionRaspberry Pi에서 YOLO LiteRT 모델을 실행할 수 있습니까?#

네, 가능합니다. 모델을 LiteRT 형식으로 내보낸 후 Raspberry Pi에서 실행하여 추론 속도를 높이십시오. 추가 최적화를 위해서는 Coral Edge TPU를 고려하십시오. 자세한 단계는 Raspberry Pi 배포 가이드를 참조하십시오.

Link to this sectionLiteRT를 사용하여 브라우저에서 YOLO 모델을 실행할 수 있습니까?#

네, 가능합니다. LiteRT.js는 WebGPU/WASM 가속을 사용하여 웹 브라우저나 Node.js 애플리케이션에서 직접 동일한 내보내기 .tflite 모델을 실행합니다. 이는 이전 TensorFlow.js 워크플로를 대체하며, 별도의 브라우저 내보내기 없이 LiteRT.js 런타임으로 LiteRT 모델을 배포하면 됩니다.

Link to this sectionLiteRT는 FP16(반정밀도) 추론을 지원합니까?#

네, 런타임 시 지원됩니다. FP32 LiteRT 모델은 GPU 델리게이트(WebGPU, OpenCL 또는 Metal)에서 실행될 때 공식 LiteRT 방식에 따라 자동으로 FP16으로 실행됩니다. 따라서 전용 FP16 내보내기가 필요하지 않습니다. 추가 압축을 하려면 quantize=8을 사용하여 INT8 양자화를 사용하십시오.

Link to this sectionLiteRT 내보내기 중 발생하는 일반적인 문제를 해결하려면 어떻게 해야 합니까?#

YOLO 모델을 LiteRT로 내보내는 중 오류가 발생하면 일반적인 해결 방법은 다음과 같습니다:

  • 플랫폼 확인: LiteRT 내보내기는 Linux x86_64 및 macOS에서 지원됩니다. 환경이 일치하는지 확인하십시오.
  • 패키지 호환성 확인: 호환되는 버전의 Ultralytics를 사용 중인지 확인하십시오. 설치 가이드를 참조하십시오.
  • 양자화 문제: INT8 양자화를 사용할 때는 data 매개변수에 데이터셋 경로가 올바르게 지정되었는지 확인하십시오.

추가 문제 해결 팁은 일반 문제 가이드를 방문하십시오.

댓글