Update TensorRT backend tensorrt_llm==0.9.0

Signed-off-by: makaveli10 <vineet.suryan@collabora.com>
This commit is contained in:
makaveli10
2024-06-03 05:24:41 -04:00
parent e1a42c22d2
commit f73a146eb9
5 changed files with 73 additions and 41 deletions
+23 -5
View File
@@ -35,6 +35,8 @@ class WhisperEncoding:
with open(config_path, 'r') as f:
config = json.load(f)
use_gpt_attention_plugin = config['plugin_config'][
'gpt_attention_plugin']
dtype = config['builder_config']['precision']
n_mels = config['builder_config']['n_mels']
num_languages = config['builder_config']['num_languages']
@@ -51,12 +53,21 @@ class WhisperEncoding:
return session
def get_audio_features(self, mel):
inputs = OrderedDict()
output_list = []
inputs.update({'x': mel})
output_list.append(
TensorInfo('x', str_dtype_to_trt(self.dtype), mel.shape))
input_lengths = torch.tensor(
[mel.shape[2] // 2 for _ in range(mel.shape[0])],
dtype=torch.int32,
device=mel.device)
inputs = OrderedDict()
inputs['x'] = mel
inputs['input_lengths'] = input_lengths
output_list = [
TensorInfo('x', str_dtype_to_trt(self.dtype), mel.shape),
TensorInfo('input_lengths', str_dtype_to_trt('int32'),
input_lengths.shape)
]
output_info = (self.session).infer_shapes(output_list)
@@ -101,6 +112,8 @@ class WhisperDecoding:
decoder_engine_buffer = f.read()
decoder_model_config = ModelConfig(
max_batch_size=self.decoder_config['max_batch_size'],
max_beam_width=self.decoder_config['max_beam_width'],
num_heads=self.decoder_config['num_heads'],
num_kv_heads=self.decoder_config['num_heads'],
hidden_size=self.decoder_config['hidden_size'],
@@ -141,6 +154,10 @@ class WhisperDecoding:
device='cuda')
decoder_max_input_length = torch.max(decoder_input_lengths).item()
cross_attention_mask = torch.ones(
[encoder_outputs.shape[0], 1,
encoder_outputs.shape[1]]).int().cuda()
# generation config
sampling_config = SamplingConfig(end_id=eot_id,
pad_id=eot_id,
@@ -161,6 +178,7 @@ class WhisperDecoding:
sampling_config,
encoder_output=encoder_outputs,
encoder_input_lengths=encoder_input_lengths,
cross_attention_mask=cross_attention_mask,
)
torch.cuda.synchronize()