NVIDIA Jetson 및 Azure를 사용하는 에지에 AI 도입
IoT(사물 인터넷)는 조명을 깜박이고 센서를 읽는 것 그 이상입니다. 또한 IoT는 AI 워크로드를 대중에게 제공하는 메커니즘이기도 합니다. 일반적으로 IoT는 처리할 수 있도록 판독값을 클라우드 서비스에까지 보고하는 물리적 센서가 있는 특수 하드웨어로 생각합니다.
소형 폼 팩터 GPU 사용 및 FPGA(필드 프로그래머블 게이트 어레이) 지원 디바이스가 등장하면서 포함된 하드웨어에서 직접 실행되는 더욱 무거운 AI 애플리케이션을 보는 것이 일반적입니다. 이 패러다임을 사용하면 데이터 유출을 줄이면서 에지에서 데이터를 처리할 때 발생하는 중요한 결과에 집중할 수도 있습니다.
디바이스에서 가속화된 워크로드를 활용하도록 처리하는 데 클라우드를 사용하지 않으면 오프라인 환경에서도 훨씬 더 빠르게 결과를 얻을 수 있습니다. Microsoft의 Azure IoT Edge 플랫폼은 이러한 유형의 사용 사례를 위해 설계되었습니다.
Azure IoT Edge는 컨테이너화된 모듈을 사용하여 코드를 안전하게 IoT 디바이스에 배포합니다. 이 모듈에는 서버리스 함수, Stream Analytics, Machine Learning 모듈, Custom Vision AI 서비스 및 SQL Server를 사용하는 로컬 스토리지를 포함한 인기 있는 Azure 서비스의 컨테이너화된 형태가 포함될 수 있습니다. IoT Edge 플랫폼을 사용하면 이미 알고 있고 많이 사용하는 클라우드 서비스의 강력한 기능을 에지 환경에서 동일하게 사용할 수 있습니다. 마찬가지로 NVIDIA Graph Composer를 사용하여 개발된 컨테이너화된 워크로드를 모듈화한 다음, 워크로드를 IoT Edge 지원 하드웨어에 배포할 수 있습니다.
이 모듈에서는 Azure IoT Edge 및 관련 Azure IoT 서비스를 사용하여 에지에서 AI 워크로드를 배포하기 위해 NVIDIA 포함 하드웨어 대상 GPU 가속 워크로드를 개발하는 과정을 살펴봅니다.
NVIDIA Jetson 포함 하드웨어
에지 환경에 적합한 소형 폼 팩터 포함 디바이스의 GPU 가속 워크로드는 NVIDIA Jetson 플랫폼에서 실행될 수 있습니다. NVIDIA Jetson 하드웨어는 최신 휴대전화 크기에 맞는 디바이스에서 컴퓨터 비전 워크로드를 실행하는 데 필요한 모든 CPU, GPU 및 메모리가 있는 전체 SOM(system on module)입니다.
NVIDIA는 Jetson 디바이스 제품의 에지에 있는 AI에 적합한 다양한 디바이스를 제공합니다. 제품에는 강력한 512코어 Jetson AGX Xavier와 Jetson Xavier NX, 미드 레인지 256코어 Jetson TX2 및 입문자용 128코어 Jetson Nano가 있습니다.
다음 차트에서는 이러한 하드웨어 제품의 사양을 보여줍니다.
NVIDIA Jetson 제품군의 모든 디바이스에서는 처리에 ARM 기반 CPU 하드웨어를 사용합니다. Azure IoT Edge 플랫폼은 이 아키텍처를 대상으로 할 수 있으므로 NVIDIA 포함 디바이스를 IoT Edge 런타임과 관련 Azure IoT 서비스와 함께 작동하도록 계측할 수 있습니다.
이 모듈을 수행하려면 JetPack 4.6으로 프로비저닝된 다음 NVIDIA Jetson 임베디드 디바이스 중 하나가 필요합니다.
Azure IoT Edge
Azure IoT Edge는 에지에서 분석을 생성하는 프로세스를 간소화하도록 설계되었습니다. IoT Edge에서는 모듈이라고 하는 컨테이너화된 워크로드를 통해 최신 애플리케이션 배포 방법을 사용합니다. IoT Edge 런타임으로 계측된 디바이스는 처리량이 높고 대기 시간이 짧은 메시징 프로토콜을 사용하여 통찰력을 Azure 클라우드에 게시할 수 있습니다. 디바이스는 오프라인 시나리오에서 해당 통찰력을 계속 생성할 수도 있습니다. 이러한 기능과 기타 기능으로 인해 Azure IoT Edge는 에지 환경에서 실시간 AI 워크로드를 채택하는 데 매우 적합한 솔루션입니다.
IoT Edge 기반 솔루션에는 다음 세 가지 구성 요소가 있습니다.
- IoT Edge 모듈: 이 모듈은 Azure 서비스, 타사 서비스 또는 사용자 지정 코드를 실행하는 컨테이너입니다. 컨테이너는 Azure IoT Hub의 허브에 정의된 사양을 통해 배포되며 IoT Edge 계측 디바이스에서 로컬로 실행됩니다.
- IoT Edge 런타임: 런타임은 IoT Edge 디바이스에서 실행되는 서비스로, 모듈 워크로드를 관리하고, 모듈 간 및 디바이스-클라우드/클라우드-디바이스 메시징에 필요한 메커니즘을 제공하고, 허브에 정의된 워크로드를 오케스트레이션합니다.
- 클라우드 기반 인터페이스: 인터페이스는 Azure IoT Hub 리소스 인스턴스에 포함된 Azure 서비스 컬렉션입니다. 이 서비스에서는 보안 디바이스 등록에 사용되는 메커니즘, AMQP, MQTT 또는 HTTPS를 통해 데이터를 수집할 수 있는 처리량이 높은 메커니즘, 배포 사양을 정의 및 적용하는 기능, IoT Edge 디바이스를 원격으로 모니터링 및 관리하는 기능을 제공합니다.
IoT Edge 솔루션은 필요에 따라 Azure Container Registry 인스턴스를 통합하여 안전한 컨테이너화된 모듈 배포를 제공할 수 있습니다. 프로덕션 배포 시나리오에 이 방법을 사용하는 것이 좋습니다. 다음 이미지에서는 세 가지 핵심 구성 요소가 컨테이너 레지스트리를 사용하여 엔드투엔드 에지-클라우드 솔루션 아키텍처를 달성하는 방법을 보여줍니다.
앞의 이미지에서 (1) Azure IoT Hub는 (2) IoT Edge 런타임으로 계측되고 허브에서 안전하게 IoT Edge 디바이스로 등록된 yourEdgeDevice에서 실행될 모듈을 정의하는 배포 사양을 배포합니다. 그런 다음, (3) IoT Edge 런타임에서 (4) Azure Container Registry에 저장된 센서 모듈을 참조하는 이 사양을 수신합니다. 이 모듈은 안전하게 검색되고 에지 디바이스에서 로컬로 실행된 다음, 디바이스에서 허브로 이동하는 원격 분석을 생성합니다.
이 모듈에서는 여기에 표시된 것과 유사한 아키텍처가 있는 솔루션을 배포합니다. 주요 차이점은 IoT 허브에 개체 감지 결과를 게시하는 DeepStream 기반 IoT Edge 모듈을 정의하는 배포 사양이 포함된다는 점입니다. 배포는 기본적으로 IoT Edge 런타임의 ARM64 배포를 지원하는 NVIDIA Jetson 포함 디바이스에서 실행됩니다.
사용 방법
에지에서 AI 솔루션을 배포하는 작업을 수행하는 경우 클라우드 서비스 제품을 사용하여 어떻게 프로덕션 시간을 절약할 수 있을까요? 구현하는 동안 Azure IoT Edge와 같은 서비스를 사용하면 어떤 이점을 얻을 수 있나요?