# 문제 해결

이 페이지에는 Batch Processing에 대한 알려진 문제, 제한 사항 및 해결 방법이 나열되어 있습니다. 여기에 없는 문제가 발생하면 다음을 통해 신고해 주세요. [지원 채널](https://github.com/roboflow/inference/issues).

## 알려진 제한 사항

* 환경 변수와 로컬 스토리지에 대한 접근이 필요한 특정 Workflow 블록(File Sink 및 Environment Secret Store 등)은 차단되어 실행되지 않습니다.
* 이 서비스는 다음을 정의하는 Workflows에서만 작동합니다. **단일** 입력 이미지 매개변수.

## 기술 세부 정보

* 데이터는 다음과 같은 조건으로 Data Staging에 저장됩니다. **7일 만료**.
* 각 배치 처리 작업에는 여러 단계가 포함됩니다(일반적으로 `처리` 와 `내보내기`). 각 단계는 출력 배치를 생성합니다. 다음을 사용하는 것을 권장합니다. `내보내기` 단계 출력은 효율적인 전송을 위해 압축되기 때문입니다.
* 다음의 실행 중인 작업은 `처리` 단계는 UI와 CLI를 모두 사용해 중단할 수 있습니다.
* 중단되거나 실패한 작업은 다시 시작할 수 있습니다.
* 이 서비스는 데이터를 자동으로 샤딩하고 병렬로 처리합니다:
  * 데이터 양에 따라 머신 수가 자동으로 확장됩니다(특정 워크로드에서는 처리량이 시간당 50만\~100만 이미지에 이를 수 있습니다).
  * 각 머신은 데이터 청크를 처리하는 여러 워커를 실행합니다. 이는 구성 가능하며 속도와 비용의 균형을 맞추도록 조정해야 합니다.

## 작업 시간 초과

### 문제

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

<figure><img src="https://media.roboflow.com/inference/batch-processing/batch-processing-timeout.png" alt=""><figcaption><p>UI의 Processing Timeout 설정</p></figcaption></figure>

### 세부 정보

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

* **총 컴퓨팅 시간:** 제한이 2시간이고 작업이 2대의 머신을 생성하면, 각 머신은 최대 1시간 동안 실행될 수 있습니다(2대 x 1시간 = 총 2시간).
* **청크별 분배:** 병렬 처리를 가능하게 하기 위해 작업은 처리 청크로 분할됩니다. 타임아웃은 청크에 걸쳐 분배되며, 짧은 타임아웃에 많은 청크가 있으면 청크당 시간이 너무 적을 수 있습니다.
* **머신 유형도 중요합니다:** CPU에서 복잡한 Workflows를 실행하면 처리 시간이 크게 늘어납니다. 적절한 경우 GPU를 사용하세요.

### 권장 사항

* 대용량 데이터셋이나 다단계 Workflows의 경우 충분히 긴 타임아웃(예: 4\~6시간)으로 시작하세요.
* 향후 타임아웃 설정에 반영할 수 있도록 실제 작업 실행 시간을 모니터링하세요.
* 더 빠른 처리를 위해 청크 수를 줄이거나 비디오 프레임 서브샘플링을 사용하는 것을 고려하세요.

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

### 문제

SAHI를 사용하는 작업은 특히 고해상도 입력과 인스턴스 세분화가 있는 경우 예상보다 훨씬 오래 걸릴 수 있습니다.

### 원인 및 권장 사항

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

* Image Slicer 블록 구성을 확인하세요. Workflow 앞부분에서 Resize Image 블록을 사용해 슬라이스 수를 줄이거나 입력 크기를 축소하세요.

**SAHI 대신 더 큰 모델 입력 크기를 고려하세요:** 더 큰 입력 차원으로 모델을 학습하면 SAHI가 완전히 필요 없어질 수 있습니다. 먼저 작은 샘플로 테스트하세요.

**인스턴스 세분화 병목:** SAHI를 인스턴스 세분화와 함께 사용하면 Detections Stitch 블록(특히 NMS 사용 시)이 주요 병목이 될 수 있습니다. 한 프레임을 스티칭하는 데 수십 초가 걸릴 수 있습니다.

**SAHI를 사용하는 비디오 작업:** 프레임을 건너뛰려면 FPS 서브샘플링을 사용하세요:

* UI에서 다음을 사용하세요. **Video FPS sub-sampling** 드롭다운
* CLI에서 다음을 사용하세요. `--max-video-fps` 플래그.

<figure><img src="https://media.roboflow.com/inference/batch-processing/limiting-video-fps.png" alt=""><figcaption><p>UI의 FPS sub-sampling 설정</p></figcaption></figure>

## 메모리 부족(OOM) 오류

### 문제

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

### 일반적인 원인

* **SAHI + 인스턴스 세분화:** 이 조합은 메모리 사용량이 매우 큽니다. SAHI는 추론 호출 수를 늘리고, 인스턴스 세분화는 큰 출력(마스크, 점수)을 생성하므로 종종 충돌로 이어집니다.
* **머신당 워커 수가 너무 많음:** 여러 워커는 가벼운 Workflows의 비용과 속도를 최적화하지만, 무거운 Workflows(여러 대형 모델, 복잡한 후처리)는 사용 가능한 메모리를 초과하게 됩니다.

### 권장 사항

* 대형 모델, SAHI 또는 고해상도 입력이 있는 Workflows에서는 머신당 워커 수를 더 적게(예: 1 또는 2) 사용하세요.
* 다음을 낮추세요. **Workers Per Machine** 고급 옵션 아래의 값을 조정하세요.
* 모델에 더 높은 메모리 처리량이 필요하다면 CPU에서 GPU로 전환하세요.
* 대규모 배치를 실행하기 전에 작은 데이터셋으로 Workflow를 테스트하세요.
* 입력 해상도를 낮추거나 불필요한 블록을 제거해 Workflow를 단순화하세요.

<figure><img src="https://media.roboflow.com/inference/batch-processing/workers-number-adjustment.png" alt=""><figcaption><p>UI의 Workers per machine 설정</p></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.roboflow.com/roboflow/roboflow-ko/deploy/batch-processing/troubleshooting.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
