연속 배치 처리#
연속 배치 처리는 VLLM``과 같은 추론 엔진에서 처리량을 향상시키는 중요한 기술입니다. Xinference는 이 기술을 통해 ``transformers 추론 엔진의 처리량을 향상시키는 것을 목표로 합니다.
사용 방법#
대규모 언어 모델#
현재, 이 기능은 다음 조건이 충족될 때 활성화됩니다:
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
curl -X 'POST' \
'http://127.0.0.1:9997/v1/models' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"model_engine": "transformers",
"model_name": "qwen1.5-chat",
"model_format": "pytorch",
"size_in_billions": 4,
"quantization": "none"
}'
from xinference.client import Client
client = Client("http://127.0.0.1:9997")
model_uid = client.launch_model(
model_engine="transformers",
model_name="qwen1.5-chat",
model_format="pytorch",
model_size_in_billions=4,
quantization="none"
)
print('Model uid: ' + model_uid)
이 기능이 활성화되면, 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 인터페이스를 정상적으로 사용하기만 하면 되며, 다른 것은 전혀 변경할 필요가 없습니다.
요청 중단#
이 기능에서는 추론 중인 요청을 우아하게 중단할 수 있습니다.
먼저, 추론 요청의
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>"})
그런 다음, 당신이 지정한 ``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 call및vision(다중 모드) 기능만 지원합니다.현재 이미지 모델의 경우 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``입니다.