关于generator.decode 的并发问题
- Dominant language
- Python
- Stars
- 8.1k
- Forks
- 748
- Avg merge
- 6d 2h
- Merged PRs (30d)
- 54
Description
这里有一个已经close的 issue https://github.com/InternLM/lmdeploy/issues/2958
使用generator.decode 完成了 tts 工程里面 llm 的 decode 过程,现在单 batch已经完成了,结果和性能都很棒,
我简化一下过程
```
self.tm_model = tm.TurboMind.from_pretrained(pretrain_path,
engine_config = TurbomindEngineConfig(max_batch_size=1,cache_max_entry_count=0.2))
self.generator = self.tm_model.create_instance()
for i in range(max_len):
output = self.generator.decode(input_ids,
steps=[lmdeploy_len],
input_embeddings=input_embeddings,
input_embedding_ranges=input_embedding_ranges,
sequence_start=(i == 0),
sequence_end=False)[-1][-1]
if top_ids == self.speech_token_size:
break
```
现在我想使用一下max_batch_size=4,或者 Persistent Batch,来提升一下单卡下的并发量
所以想问一下,在上面代码逻辑下,怎样才能 利用上Persistent Batch的能力
我想了三点:
1. self.generator = self.tm_model.create_instance() 是不是可以create多个
2. 是不是可以充 self.generator.decode这里下功夫
3. 因为这整个流程跟传统的大模型不太一样,所以到万不得已的时候才会考虑 lmdeploy serve api_server
Contributor guide
Assessment
This issue has not been assessed yet.