콘텐츠로 건너뛰기
STAGING SERVER
DEVELOPMENT SERVER

pylon AI 시작하기#

이 항목에서는 pylon AI 기능을 사용하기 위한 개발 환경 설정 방법을 설명합니다.

pylon AI를 사용하려면 다음 구성 요소를 설치해야 합니다:

  • pylon Software Suite
  • pylon AI용 pylon Supplementary Package
    Supplementary Package 설치 방법은 이 항목에서 설명합니다.
  • 또한 사용하려는 vTools에 대한 라이선스가 필요합니다. 라이선스 취득 및 활성화 방법에 대한 정보는 vTool 라이선스 항목을 참조하십시오.

pylon AI용 pylon Supplementary Package는 AI vTool이 딥 러닝 모델을 실행할 수 있도록 지원하는 백엔드 서비스를 제공합니다. 이 백엔드 서비스는 모델 암호화 및 라이선스를 지원하는 Basler 애드온이 포함된 NVIDIA Triton Inference Server입니다.

개발 환경에서 Triton Inference Server가 배치되는 위치에 대한 개요는 다음과 같습니다:

AI 개발 환경 개요

Triton Server를 설치하는 데는 두 가지 옵션이 있습니다:

  • 로컬 컴퓨터
  • 네트워크상의 원격 컴퓨터

첫 번째 옵션은 개인 프로젝트를 단독으로 진행할 때 권장되며, 두 번째 옵션은 팀으로 작업할 때 더 적합합니다.

Basler는 라이브 Triton 서버 인스턴스를 제공하지 않으며, 서버를 공개 인터넷 엔드포인트로 노출하는 것을 권장하지 않습니다. 항상 개발 환경의 일부로 간주하고 그에 따라 보호해야 합니다.

pylon AI용 pylon Supplementary Package에는 pylon AI vTools 및 pylon AI Agent와 함께 사용할 수 있도록 Triton Inference Server를 준비하기 위한 수정된 Docker 이미지가 포함되어 있습니다. 또한 설정 및 실행 스크립트와 릴리스 노트, 서드파티 라이선스 정보도 포함되어 있습니다.

시스템 요구 사항#

Ubuntu 및 WSL용 Ubuntu#

  • x86_64 CPU: 최신 Intel Core i5 (이상) 또는 동급 프로세서.
  • Memory: 최소 8 GB 이상의 사용 가능한 RAM. 16 GB 이상의 사용 가능한 RAM이 권장됩니다.
  • 디스크 유형: SSD가 권장됩니다.
  • 디스크 공간: 설치에 최소 20 GB의 여유 디스크 공간이 필요합니다. 모델 리포지토리에 필요한 공간은 배포하려는 모델의 크기와 수에 따라 다릅니다. 모델은 각각 수 메가바이트에서 수기가바이트까지 다양할 수 있습니다.
  • CUDA 버전: 12 이상
  • GPU 카드: 적절한 카드의 예로는 NVIDIA RTX A5000, NVIDIA RTX A2000 Laptop GPU, NVIDIA Tesla T4 등이 있습니다.

정보

Triton Inference Server를 실행하는 데는 CPU로도 충분합니다. 더 빠른 성능이 필요한 경우 GPU를 사용하는 것이 좋습니다.

JetPack 6이 포함된 Jetson Family#

  • 모듈: 모든 NVIDIA Jetson
  • Memory: 최소 8 GB 이상의 사용 가능한 RAM. 16 GB 이상의 사용 가능한 RAM이 권장됩니다.
  • 디스크 유형: SSD가 권장됩니다.
  • 디스크 공간: 설치에 최소 20 GB의 여유 디스크 공간이 필요합니다. 모델 리포지토리에 필요한 공간은 배포하려는 모델의 크기와 수에 따라 다릅니다. 모델은 각각 수 메가바이트에서 수기가바이트까지 다양할 수 있습니다.

사전 요구 사항#

정보

  • 설치 과정에서 인터넷 연결이 필요합니다.

  • 로컬 컴퓨터에서 8000, 8001, 8002 및 22350 포트가 차단되어 있지 않은지 확인하십시오.
    사용자 환경의 다양한 시나리오와 복잡성으로 인해 Basler는 일반적인 솔루션을 제공할 수 없습니다. 따라서 잠재적인 액세스 문제는 IT 부서의 지원을 받아 고객이 직접 처리해야 합니다.

Ubuntu#

자세한 내용은 Ubuntu에 docker 설치를 참조하십시오.

컴퓨터에 NVIDIA GPU가 있는 경우 NVIDIA 드라이버 및 NVIDIA Container Toolkit 설치를 참조하십시오.

WSL용 Ubuntu#

정보

WSL 내부에 Linux 디스플레이 드라이버를 설치하지 마십시오. 드라이버는 Windows에 직접 설치해야 합니다.

다음 지침에 따라 WSL에 Ubuntu OS를 설치하십시오.

다음 지침에 따라 WSL의 Ubuntu 내에 Docker를 설치하십시오.

Jetson Family (JetPack 6.x)#

장치는 SDK Manager를 사용하여 플래싱해야 합니다. JetPack 6.x가 필요합니다. 여기에는 이미 Docker가 포함되어 있습니다.

모든 OS 버전#

운영 체제를 준비한 후 다음 요구 사항이 충족되었는지 확인하십시오.

  • CodeMeter Runtime이 설치되어 있습니다.
    CodeMeter Runtime의 설치는 pylon Software Suite 설치의 일부입니다.
  • AI vTools 라이선스를 사용할 수 있습니다.
    자세한 내용은 Basler 웹사이트를 방문하십시오.
  • Docker Engine이 설치되어 있습니다.
    Docker Engine이 설치되어 있는지 확인하려면:

    docker --version
    
  • GPU 사용의 경우: NVIDIA Container Toolkit이 설치되어 있습니다.
    이 툴킷이 설치되어 있는지 확인하려면:

    nvidia-container-toolkit -version
    

    아직 설치되지 않은 경우 다음 섹션을 읽어보십시오.

NVIDIA 드라이버 및 NVIDIA Container Toolkit 설치 (GPU 사용에 필수)#

NVIDIA Container Toolkit은 GPU 가속 컴퓨팅에 필요한 라이브러리와 도구를 제공합니다. Triton Inference Server는 CUDA를 사용하여 모델 추론과 같은 GPU 가속 연산을 실행합니다. NVIDIA Container Toolkit 버전은 Triton Server 및 배포하려는 모델에서 요구하는 버전과 일치해야 합니다.

NVIDIA 드라이버의 버전을 확인하려면 터미널을 열고 다음 명령어를 입력하십시오:

nvidia-smi

드라이버나 툴킷이 아직 설치되지 않은 경우 이 페이지의 지침을 따르십시오: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html

NVIDIA 드라이버가 NVIDIA Container Toolkit 및 Triton Inference Server와 호환되는지 확인하려면 이 페이지를 참조하십시오: https://docs.nvidia.com/deeplearning/triton-inference-server/release-notes/rel-24-11.html#rel-24-11

Triton Inference Server 설치#

모델 리포지토리는 설치의 일환으로 홈 디렉터리에 생성됩니다(예: /home/username/pylon_ai/model_repository). 이를 변경해서는 안 됩니다.

온라인 설치#

pylon AI용 pylon Supplementary Package에서 Triton Inference Server를 설치하려면 다음 단계를 따르십시오:

  1. Basler 웹사이트에서 다운로드한 pylon-supplementary-package-for-pylon-ai-*.tar.gz 아카이브가 포함된 디렉터리로 이동합니다.
  2. pylon AI용 pylon Supplementary Package tar.gz 아카이브를 원하는 디렉터리에 압축 해제합니다(다른 디렉터리에 압축 해제하려면 ./pylon_ai_setup을 변경하십시오).

    mkdir pylon_ai_setup && tar -xzvf ./pylon-supplementary-package-for-pylon-ai-*.tar.gz -C pylon_ai_setup
    
  3. pylon AI용 pylon Supplementary Package를 압축 해제한 폴더로 이동합니다.

    cd pylon_ai_setup
    
  4. root 권한으로 설정 스크립트를 실행합니다.

    sudo chmod +x setup-pylon-ai-triton-inference-server.sh && sudo ./setup-pylon-ai-triton-inference-server.sh
    

오프라인 설치#

인터넷에 연결할 수 없는 경우 다음 단계를 따르십시오.

  1. 인터넷에 연결된 컴퓨터에서 Docker Hub에 방문하여 Basler Triton Server Docker 이미지를 다운로드합니다.
    이미지는 다음 링크에서 확인할 수 있습니다: https://hub.docker.com/repository/docker/basler/tritonserver/general
  2. Triton Server를 설치하려는 컴퓨터로 이미지를 전송합니다.
    다음 명령을 사용하여 1단계와 2단계를 수행할 수 있습니다.

    docker pull basler/tritonserver:[tagname]
    
    docker save basler/tritonserver:[tagname] | gzip > tritonserver.[tagname].tgz
    

    예:

    docker image save basler/tritonserver:24.11-py3_1.3.0 | gzip > tritonserver.24.11-py3_1.3.0_rc4.tgz
    

  3. Basler 웹사이트에서 다운로드한 pylon-supplementary-package-for-pylon-ai-*.tar.gz 아카이브가 포함된 디렉터리로 이동합니다.

  4. pylon AI용 pylon Supplementary Package tar.gz 아카이브를 원하는 디렉터리에 압축 해제합니다(다른 디렉터리에 압축 해제하려면 ./pylon_ai_setup을 변경하십시오).

    mkdir pylon_ai_setup && tar -xzvf ./pylon-supplementary-package-for-pylon-ai-*.tar.gz -C pylon_ai_setup
    
  5. 저장한 .tar 파일을 pylon_ai_setup 폴더로 복사합니다.

  6. root 권한으로 설정 스크립트를 실행합니다.

    sudo chmod +x setup-pylon-ai-triton-inference-server.sh && sudo ./setup-pylon-ai-triton-inference-server.sh
    

Triton Inference Server 실행#

이 섹션에서는 Inference Server를 시작하는 세 가지 방법에 대해 자세히 설명합니다. 서버 및 vTools를 원격으로 실행하는 것과 관련하여 다음 정보를 참고하여 요구 사항에 가장 잘 맞는 방법을 선택하십시오.

Inference Server를 실행하면 서버는 기본 위치, 즉 /home/username/pylon_ai/model_repository에 모델 리포지토리가 있을 것으로 예상합니다. 실수로 리포지토리의 이름을 변경하거나 삭제한 경우, 서버를 재설치하여 리포지토리를 다시 만들어야 합니다.

서버 및 vTools 원격 실행

원격 컴퓨터에서 Triton Inference Server를 실행하고 다른 위치에서 AI vTools 또는 AI Agent를 실행하는 경우, 다음과 같은 중요한 제한 사항 및 고려 사항을 숙지해야 합니다.

  • 추론 요청을 수행하는 vTool과 Triton Inference Server 사이에서 데이터가 이동하는 데 걸리는 시간은 전체 응답 시간에 영향을 미칠 수 있습니다.
  • 대기 시간이 길어지면 특히 실시간 애플리케이션의 경우 추론 프로세스가 느려질 수 있습니다.
  • 네트워크 대역폭이 제한되면 특히 대량의 데이터를 전송할 때 통신이 느려지거나 불안정해질 수 있습니다.
  • 원격 기능을 사용하려면 8000, 8001, 8002 포트에 액세스할 수 있어야 합니다. (이 작업은 방화벽 및 프록시 확인 실행 등 IT 부서의 지원이 필요할 수 있습니다.)

필요시 서버 실행#

컴퓨터 부팅 시 Docker 컨테이너로 Triton Inference Server를 시작하지 않으려면, 필요할 때 다음 셸 스크립트를 사용하여 Triton Inference Server를 시작할 수 있습니다.

  1. pylon AI용 pylon Supplementary Package를 압축 해제한 폴더로 이동합니다.
  2. Triton Inference Server를 실행합니다.

    sudo chmod +x run-pylon-ai-triton-inference-server.sh && sudo ./run-pylon-ai-triton-inference-server.sh
    

부팅 시 서버 실행#

컴퓨터 부팅 시 Triton Inference Server Docker 컨테이너가 자동으로 시작되도록 하거나 충돌 시 자동으로 다시 시작되도록 하려면, 추가 매개변수와 함께 "run-pylon-ai-triton-inference-server.sh" 셸 스크립트를 실행하여 요구에 맞는 systemd 서비스를 생성할 수 있습니다.

  1. pylon AI용 pylon Supplementary Package를 압축 해제한 폴더로 이동합니다.
  2. 설치 프로그램 스크립트를 실행합니다.

    sudo chmod +x run-pylon-ai-triton-inference-server.sh && sudo ./run-pylon-ai-triton-inference-server.sh --service
    

Triton Inference Server를 서비스로 설치한 후 필요할 때 일시 중지할 수 있습니다. 기기를 재부팅하면 자동으로 다시 시작된다는 점에 유의하십시오.

Triton Inference Server 실행을 담당하는 systemd 서비스를 일시 중지하려면 (아무 디렉터리에서나) 터미널을 열고 다음을 실행하십시오.

sudo systemctl stop tritonserver.service

서비스를 다시 활성화하려면 다음을 실행하여 시작해야 합니다.

sudo systemctl start tritonserver.service

서비스에서 관리하는 현재 실행 중인 서버에 문제가 있는 경우 다음을 실행하여 다시 시작할 수 있습니다.

sudo systemctl restart tritonserver.service

서비스를 영구적으로 비활성화하려면 다음을 실행하면 됩니다.

sudo systemctl disable tritonserver.service

라이선스#

라이선스 정보는 여기 또는 pylon AI용 pylon Supplementary Package에 포함된 라이선스 파일에서 확인할 수 있습니다.

문제 해결#

Triton Inference Server가필요한 라이선스에 액세스할 수 있도록 pylon 설치 중에 CodeMeter가 구성됩니다.

드물게 이 작업이 실패할 수 있습니다. 이 경우 CodeMeter를 네트워크 서버로 구성하십시오.

  1. CodeMeter Control Center를 열고 오른쪽 하단의 WebAdmin 버튼을 클릭합니다.
  2. CodeMeter WebAdmin에서 Configuration > Server > Server Access로 이동합니다.
  3. Network Server 영역에서 Enable을 선택하고 Apply로 적용합니다.
  4. CodeMeter Control Center로 돌아갑니다.
  5. Process 메뉴에서 Restart CodeMeter Service를 클릭하여 CodeMeter를 네트워크 서버로 다시 시작합니다.

알려진 문제#

Jetson Orin에서의 ONNX Runtime 오류

디바이스가 저전력 모드로 실행 중인 경우 run-pylon-ai-triton-inference-server.sh 명령을 실행할 때 Jetson Orin 디바이스에서 런타임 오류가 발생합니다. 그러나 로드하려는 모델은 여전히 로드됩니다. 이 오류를 방지하려면 Jetson Orin에서 더 높은 전력 모드를 구성하십시오.