For the complete documentation index, see llms.txt. This page is also available as Markdown.

병렬 HTTP API

더 높은 처리량과 더 낮은 지연 시간을 위해 추론 요청을 비동기적으로 처리하는 Roboflow Inference 병렬 HTTP 서버를 실행합니다.

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

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

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

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

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

먼저 병렬 서버를 빌드합니다:

./inference/enterprise/parallel/build.sh

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

./inference/enterprise/parallel/run.sh

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

Docker Hub에 컨테이너가 게시되어 있습니다:

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

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

벤치마크

우리는 Roboflow Universe의 다양한 모델에 대해 동일한 하드웨어(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를 넘었습니다.

마지막 업데이트

도움이 되었나요?