# Copyright 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. | |
# | |
# Redistribution and use in source and binary forms, with or without | |
# modification, are permitted provided that the following conditions | |
# are met: | |
# * Redistributions of source code must retain the above copyright | |
# notice, this list of conditions and the following disclaimer. | |
# * Redistributions in binary form must reproduce the above copyright | |
# notice, this list of conditions and the following disclaimer in the | |
# documentation and/or other materials provided with the distribution. | |
# * Neither the name of NVIDIA CORPORATION nor the names of its | |
# contributors may be used to endorse or promote products derived | |
# from this software without specific prior written permission. | |
# | |
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY | |
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | |
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR | |
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | |
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | |
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | |
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY | |
# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
name: "tensorrt_llm_bls" | |
backend: "python" | |
max_batch_size: 16 | |
model_transaction_policy { | |
decoupled: true | |
} | |
input [ | |
{ | |
name: "text_input" | |
data_type: TYPE_STRING | |
dims: [ -1 ] | |
}, | |
{ | |
name: "decoder_text_input" | |
data_type: TYPE_STRING | |
dims: [ -1 ] | |
optional: true | |
}, | |
{ | |
name: "max_tokens" | |
data_type: TYPE_INT32 | |
dims: [ -1 ] | |
}, | |
{ | |
name: "bad_words" | |
data_type: TYPE_STRING | |
dims: [ -1 ] | |
optional: true | |
}, | |
{ | |
name: "stop_words" | |
data_type: TYPE_STRING | |
dims: [ -1 ] | |
optional: true | |
}, | |
{ | |
name: "end_id" | |
data_type: TYPE_INT32 | |
dims: [ 1 ] | |
optional: true | |
}, | |
{ | |
name: "pad_id" | |
data_type: TYPE_INT32 | |
dims: [ 1 ] | |
optional: true | |
}, | |
{ | |
name: "top_k" | |
data_type: TYPE_INT32 | |
dims: [ 1 ] | |
optional: true | |
}, | |
{ | |
name: "top_p" | |
data_type: TYPE_FP32 | |
dims: [ 1 ] | |
optional: true | |
}, | |
{ | |
name: "temperature" | |
data_type: TYPE_FP32 | |
dims: [ 1 ] | |
optional: true | |
}, | |
{ | |
name: "length_penalty" | |
data_type: TYPE_FP32 | |
dims: [ 1 ] | |
optional: true | |
}, | |
{ | |
name: "repetition_penalty" | |
data_type: TYPE_FP32 | |
dims: [ 1 ] | |
optional: true | |
}, | |
{ | |
name: "min_length" | |
data_type: TYPE_INT32 | |
dims: [ 1 ] | |
optional: true | |
}, | |
{ | |
name: "presence_penalty" | |
data_type: TYPE_FP32 | |
dims: [ 1 ] | |
optional: true | |
}, | |
{ | |
name: "frequency_penalty" | |
data_type: TYPE_FP32 | |
dims: [ 1 ] | |
optional: true | |
}, | |
{ | |
name: "random_seed" | |
data_type: TYPE_UINT64 | |
dims: [ 1 ] | |
optional: true | |
}, | |
{ | |
name: "return_log_probs" | |
data_type: TYPE_BOOL | |
dims: [ 1 ] | |
reshape: { shape: [ ] } | |
optional: true | |
}, | |
{ | |
name: "return_context_logits" | |
data_type: TYPE_BOOL | |
dims: [ 1 ] | |
reshape: { shape: [ ] } | |
optional: true | |
}, | |
{ | |
name: "return_generation_logits" | |
data_type: TYPE_BOOL | |
dims: [ 1 ] | |
reshape: { shape: [ ] } | |
optional: true | |
}, | |
{ | |
name: "beam_width" | |
data_type: TYPE_INT32 | |
dims: [ 1 ] | |
optional: true | |
}, | |
{ | |
name: "stream" | |
data_type: TYPE_BOOL | |
dims: [ 1 ] | |
optional: true | |
}, | |
{ | |
name: "prompt_embedding_table" | |
data_type: TYPE_FP16 | |
dims: [ -1, -1 ] | |
optional: true | |
}, | |
{ | |
name: "prompt_vocab_size" | |
data_type: TYPE_INT32 | |
dims: [ 1 ] | |
optional: true | |
}, | |
{ | |
name: "embedding_bias_words" | |
data_type: TYPE_STRING | |
dims: [ -1 ] | |
optional: true | |
}, | |
{ | |
name: "embedding_bias_weights" | |
data_type: TYPE_FP32 | |
dims: [ -1 ] | |
optional: true | |
}, | |
{ | |
name: "num_draft_tokens", | |
data_type: TYPE_INT32, | |
dims: [ 1 ] | |
optional: true | |
}, | |
{ | |
name: "use_draft_logits", | |
data_type: TYPE_BOOL, | |
dims: [ 1 ] | |
reshape: { shape: [ ] } | |
optional: true | |
} | |
] | |
output [ | |
{ | |
name: "text_output" | |
data_type: TYPE_STRING | |
dims: [ -1 ] | |
}, | |
{ | |
name: "cum_log_probs" | |
data_type: TYPE_FP32 | |
dims: [ -1 ] | |
}, | |
{ | |
name: "output_log_probs" | |
data_type: TYPE_FP32 | |
dims: [ -1, -1 ] | |
}, | |
{ | |
name: "context_logits" | |
data_type: TYPE_FP32 | |
dims: [ -1, -1 ] | |
}, | |
{ | |
name: "generation_logits" | |
data_type: TYPE_FP32 | |
dims: [ -1, -1, -1 ] | |
} | |
] | |
parameters: { | |
key: "accumulate_tokens" | |
value: { | |
string_value: "${accumulate_tokens}" | |
} | |
} | |
parameters: { | |
key: "tensorrt_llm_model_name" | |
value: { | |
string_value: "tensorrt_llm" | |
} | |
} | |
parameters: { | |
key: "tensorrt_llm_draft_model_name" | |
value: { | |
string_value: "${tensorrt_llm_draft_model_name}" | |
} | |
} | |
instance_group [ | |
{ | |
count: 1 | |
kind : KIND_CPU | |
} | |
] | |