문제 해결

타임아웃, SAHI 성능, OOM 오류를 포함한 일반적인 Batch Processing 문제를 해결하세요.

이 페이지에는 Batch Processing에 대한 알려진 문제, 제한 사항 및 해결 방법이 나와 있습니다. 여기에 나열되지 않은 문제가 발생하면 다음을 통해 보고해 주세요. 지원 채널arrow-up-right.

알려진 제한 사항

  • 환경 변수와 로컬 스토리지에 대한 접근이 필요한 일부 Workflow 블록(File Sink 및 Environment Secret Store 등)은 차단되며 실행되지 않습니다.

  • 이 서비스는 다음을 정의하는 Workflows에서만 작동합니다. 단일 입력 이미지 파라미터.

기술 세부 정보

  • 데이터는 다음과 함께 Data Staging에 저장됩니다. 7일 만료.

  • 각 batch processing 작업에는 여러 단계가 포함됩니다(일반적으로 processingexport). 각 단계는 출력 batch를 생성합니다. 다음을 사용하는 것을 권장합니다. export stage outputs는 효율적인 전송을 위해 압축되기 때문입니다.

  • 실행 중인 작업은 processing stage에서 UI와 CLI 모두를 사용해 중단할 수 있습니다.

  • 중단되었거나 실패한 작업은 다시 시작할 수 있습니다.

  • 이 서비스는 데이터를 자동으로 shard로 분할하고 병렬로 처리합니다:

    • 머신 수는 데이터 حجم에 따라 자동으로 확장됩니다(일부 워크로드에서는 처리량이 시간당 50만~100만 이미지에 이를 수 있습니다).

    • 각 머신은 데이터 청크를 처리하는 여러 worker를 실행합니다. 이는 구성 가능하며 속도와 비용의 균형을 맞추도록 조정해야 합니다.

작업 시간 초과

문제

batch 작업은 다음 경우 조기에 종료됩니다. Processing Timeout Hours 가 작업 크기나 복잡성에 비해 너무 낮게 설정된 경우.

UI의 Processing Timeout 설정

세부 정보

타임아웃 설정(UI) 또는 --max-runtime-seconds (CLI)는 다음을 정의합니다. 모든 병렬 worker에 걸친 최대 누적 머신 실행 시간.

  • 총 컴퓨팅 시간: 제한이 2시간이고 작업이 2대의 머신을 생성하면 각 머신은 최대 1시간 동안 실행될 수 있습니다(2대 x 1시간 = 총 2시간).

  • 청크별로 분할: 병렬 처리를 위해 작업은 processing 청크로 분할됩니다. 타임아웃은 청크에 걸쳐 나뉘므로, 타임아웃이 짧고 청크가 많으면 청크당 시간이 너무 적어질 수 있습니다.

  • 머신 유형이 중요합니다: CPU에서 복잡한 Workflows를 실행하면 처리 시간이 크게 증가합니다. 적절한 경우 GPU를 사용하세요.

권장 사항

  • 대용량 데이터셋이나 다단계 Workflows에는 넉넉한 타임아웃(예: 4~6시간)으로 시작하세요.

  • 향후 타임아웃 설정에 반영할 수 있도록 실제 작업 실행 시간을 모니터링하세요.

  • 더 빠른 처리를 위해 청크 수를 줄이거나 비디오 프레임 서브샘플링 사용을 고려하세요.

SAHI가 포함된 Workflow가 너무 오래 실행됨

문제

SAHI를 사용하는 작업은 특히 고해상도 입력과 instance segmentation이 함께 사용될 때 예상보다 훨씬 오래 걸릴 수 있습니다.

원인 및 권장 사항

slice 수가 너무 많음: SAHI는 탐지를 위해 이미지를 더 작은 slice로 분할합니다. 기본 설정과 고해상도 입력에서는 이미지당 수십 또는 수백 번의 추론이 발생할 수 있습니다.

  • Image Slicer 블록 구성을 확인하세요. Workflow 앞부분에 Resize Image 블록을 사용하여 slice 수를 줄이거나 입력을 축소하세요.

SAHI 대신 더 큰 model input size를 고려하세요: 더 큰 입력 크기로 모델을 학습하면 SAHI가 아예 필요 없어질 수 있습니다. 먼저 작은 샘플로 테스트하세요.

instance segmentation 병목: SAHI를 instance segmentation과 함께 사용하면 Detections Stitch 블록(특히 NMS 포함)이 주요 병목이 될 수 있습니다. 단일 프레임을 스티칭하는 데 수십 초가 걸릴 수 있습니다.

SAHI가 포함된 비디오 작업: FPS 서브샘플링을 사용해 프레임을 건너뛰세요:

  • UI에서 다음을 사용하세요. Video FPS sub-sampling 드롭다운.

  • CLI에서는 다음을 사용하세요. --max-video-fps 플래그.

UI의 FPS sub-sampling 설정

메모리 부족(OOM) 오류

문제

Workflow가 사용 가능한 RAM 또는 VRAM보다 더 많은 메모리를 사용하면 OOM 오류로 작업이 실패합니다.

일반적인 원인

  • SAHI + Instance Segmentation: 이 조합은 메모리를 매우 많이 사용합니다. SAHI는 추론 호출 수를 늘리고, instance segmentation은 큰 출력(마스크, 점수)을 생성하므로, 종종 충돌로 이어집니다.

  • 머신당 worker 수가 너무 많음: 여러 worker는 경량 Workflows의 비용과 속도를 최적화하지만, 무거운 Workflows(여러 개의 큰 모델, 복잡한 후처리)는 사용 가능한 메모리를 초과합니다.

권장 사항

  • 큰 모델, SAHI 또는 고해상도 입력이 있는 Workflows에서는 머신당 worker 수를 더 적게(예: 1 또는 2) 사용하세요.

  • 다음을 줄이세요. Workers Per Machine 고급 옵션에서 값을 낮추세요.

  • 모델에 더 높은 메모리 처리량이 필요하면 CPU에서 GPU로 전환하세요.

  • 대규모 batch를 실행하기 전에 작은 데이터셋으로 Workflow를 테스트하세요.

  • 입력 해상도를 낮추거나 불필요한 블록을 제거하여 Workflow를 단순화하세요.

UI의 머신당 worker 수 설정

Last updated

Was this helpful?