연속 배치 처리#

연속 배치 처리는 VLLM``과 같은 추론 엔진에서 처리량을 향상시키는 중요한 기술입니다. Xinference는 기술을 통해 ``transformers 추론 엔진의 처리량을 향상시키는 것을 목표로 합니다.

사용 방법#

대규모 언어 모델#

현재, 이 기능은 다음 조건이 충족될 때 활성화됩니다:

  • 먼저, Xinference를 시작할 때 환경 변수 ``XINFERENCE_TRANSFORMERS_ENABLE_BATCHING``를 ``1``로 설정해야 합니다.

XINFERENCE_TRANSFORMERS_ENABLE_BATCHING=1 xinference-local --log-level debug

참고

v0.16.0``부터 기능은 기본적으로 활성화되며, 이상 ``XINFERENCE_TRANSFORMERS_ENABLE_BATCHING 환경 변수를 설정할 필요가 없으며, 해당 환경 변수는 제거되었습니다.

  • 그런 다음, LLM 모델을 시작할 때 transformers 추론 엔진을 선택합니다. 예시:

xinference launch -e <endpoint> --model-engine transformers -n qwen1.5-chat -s 4 -f pytorch -q none

이 기능이 활성화되면, LLM 모델의 모든 인터페이스가 이 기능에 의해 관리됩니다. 모든 인터페이스의 사용 방식에는 변화가 없습니다.

Image model#

현재 FLUX.1 시리즈 모델의 text_to_image (텍스트-이미지) 인터페이스만 이 기능을 지원합니다.

이미지 모델에서 이 기능을 활성화하려면 xinference를 시작할 때 XINFERENCE_TEXT_TO_IMAGE_BATCHING_SIZE 환경 변수를 지정해야 하며, 이는 생성되는 이미지의 크기를 나타냅니다.

예를 들어, 다음과 같이 xinference를 시작합니다:

XINFERENCE_TEXT_TO_IMAGE_BATCHING_SIZE=1024*1024 xinference-local --log-level debug

이후에는 text_to_image 인터페이스를 정상적으로 사용하기만 하면 되며, 다른 것은 전혀 변경할 필요가 없습니다.

요청 중단#

이 기능에서는 추론 중인 요청을 우아하게 중단할 수 있습니다.

  1. 먼저, 추론 요청의 generate_config``에서 ``request_id 옵션을 지정합니다. 예를 들어:

from xinference.client import Client
client = Client("http://127.0.0.1:9997")
model = client.get_model("<model_uid>")
model.chat([{"role": "user", "content": "<prompt>"}], generate_config={"request_id": "<your_unique_request_id>"})
  1. 그런 다음, 당신이 지정한 ``request_id``를 가지고 해당 요청을 중단하십시오. 예를 들어:

from xinference.client import Client
client = Client("http://127.0.0.1:9997")
client.abort_request("<model_uid>", "<your_unique_request_id>")

주의, 만약 당신의 요청이 이미 종료되었다면, 이 작업은 아무것도 수행하지 않습니다.

주의 사항#

  • 현재 이 기능은 LLM 모델의 generate, chat, tool callvision (다중 모드) 기능만 지원합니다.

  • 현재 이미지 모델의 경우 FLUX.1 시리즈 모델의 text_to_image (텍스트-이미지 생성) 기능만 지원됩니다.

  • 멀티모달 작업의 경우, 현재 qwen2-vl-instruct, qwen2.5-vl-instruct, QvQ-72B-Preview, glm-4v, ``MiniCPM-V-2.6``을 지원합니다. 향후 더 많은 모델이 추가될 예정이니 기대해 주세요.

  • GPU 추론을 사용하는 경우, 이 기능은 비디오 메모리 요구 사항이 높습니다. 따라서 동일한 모델에 대한 동시 요청 수를 신중하게 늘리십시오. launch_model 인터페이스는 선택적 매개변수 ``max_num_seqs``를 제공하여 동시성을 조정할 수 있으며, 기본값은 ``16``입니다.