> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/deployment/ko/self-hosted/enterprise/parallel-http-api.md).

# 병렬 HTTP API

{% hint style="warning" %}
**엔터프라이즈 기능입니다.** 이 기능은 Roboflow Enterprise 사용자에게만 제공됩니다. [영업팀에 문의하세요](https://roboflow.com/sales) Roboflow Enterprise에 대해 더 알아보려면.
{% endhint %}

병렬 처리를 사용하면 여러 모델을 동시에 실행할 수 있습니다. 이는 추론 요청을 비동기적으로 처리하는 Roboflow Inference의 버전입니다.

Inference Parallel은 핵심 모델(CLIP 및 SAM)을 지원하지 않는다는 점을 제외하면 Roboflow Inference와 동일한 기능을 지원합니다.

Inference Parallel에서는 전처리, 자동 배칭, 추론, 후처리가 모두 별도의 스레드에서 실행되어 서버 FPS 처리량을 높입니다. 동일한 모델에 대한 개별 요청은 허용되는 범위 내에서 즉시 배칭됩니다. `$MAX_BATCH_SIZE`에 따라, 응답 처리는 이후 독립적으로 진행됩니다. 이미지는 처리량을 극대화하기 위해 Python의 `SharedMemory` 모듈을 통해 전달됩니다.

이러한 변경으로 최대 **76% 속도 향상** 을 보였습니다.

## 병렬 처리를 사용해 Inference를 실행하는 방법

{% tabs %}
{% tab title="Bash" %}
먼저 병렬 서버를 빌드합니다:

```bash
./inference/enterprise/parallel/build.sh
```

그다음 서버를 실행합니다:

```bash
./inference/enterprise/parallel/run.sh
```

터미널에 서버가 실행 중이며 사용 가능하다는 메시지가 표시됩니다.
{% endtab %}

{% tab title="Docker" %}
Docker Hub에 컨테이너가 게시되어 있습니다:

```bash
docker pull roboflow/roboflow-inference-server-gpu-parallel:latest
```

고정 태그를 가져오는 경우, `$TAG` 변수를 `run.sh` 에서 일치하도록 변경하세요.
{% endtab %}
{% endtabs %}

## 벤치마크

우리는 [Roboflow Universe](https://universe.roboflow.com/)의 다양한 모델에 대해 동일한 하드웨어(8코어와 GPU 1개를 탑재한 컴퓨터)에서 Inference Server 0.9.5.rc와 비교하며 Inference Parallel의 성능을 평가했습니다. 인스턴스 분할 메트릭은 `"mask_decode_mode": "fast"` 를 요청 본문에 넣어 계산했습니다. 요청은 병렬성 1000으로 동시에 전송되었습니다.

| Workspace                   | 모델                         | 모델 유형   | 분할 | 0.9.5.rc FPS | 0.9.5.parallel FPS |
| --------------------------- | -------------------------- | ------- | -- | ------------ | ------------------ |
| senior-design-project-j9gpp | nbafootage/3               | 객체 탐지   | 훈련 | 30.2 fps     | 44.03 fps          |
| niklas-bommersbach-jyjff    | dart-scorer/8              | 객체 탐지   | 훈련 | 26.6 fps     | 47.0 fps           |
| geonu                       | water-08xpr/1              | 인스턴스 분할 | 검증 | 4.7 fps      | 6.1 fps            |
| university-of-bradford      | detecting-drusen\_1/2      | 인스턴스 분할 | 훈련 | 6.2 fps      | 7.2 fps            |
| fy-project-y9ecd            | cataract-detection-viwsu/2 | 분류      | 훈련 | 48.5 fps     | 65.4 fps           |
| hesunyu                     | playing-cards-ir0wr/1      | 분류      | 훈련 | 44.6 fps     | 57.7 fps           |

병렬 처리를 활성화한 Inference는 모든 테스트에서 더 높은 FPS를 달성했습니다. 일부 모델에서는 FPS 증가폭이 10 FPS를 넘었습니다.
