Skip to content

Commit 2dfb5e6

Browse files
committed
Patch EOD out of inference results
1 parent f8becec commit 2dfb5e6

File tree

2 files changed

+18
-6
lines changed

2 files changed

+18
-6
lines changed

megatron/core/inference/data_parallel_inference_coordinator.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -504,9 +504,15 @@ def detokenize(self, finished_request):
504504
finished_request["prompt"] = self.tokenizer.detokenize(
505505
finished_request["prompt_tokens"][1]
506506
)
507-
finished_request["generated_text"] = self.tokenizer.detokenize(
508-
finished_request["generated_tokens"]
509-
)
507+
generated_tokens = finished_request["generated_tokens"]
508+
termination_id = (finished_request.get("sampling_params", {}) or {}).get("termination_id")
509+
while (
510+
generated_tokens
511+
and termination_id is not None
512+
and generated_tokens[-1] == termination_id
513+
):
514+
generated_tokens = generated_tokens[:-1]
515+
finished_request["generated_text"] = self.tokenizer.detokenize(generated_tokens)
510516

511517
@classmethod
512518
def entrypoint(

megatron/core/inference/engines/dynamic_engine.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1638,9 +1638,15 @@ async def async_bookkeep(
16381638
request.prompt = self.controller.tokenizer.detokenize(
16391639
request.prompt_tokens.tolist()
16401640
)
1641-
request.generated_text = self.controller.tokenizer.detokenize(
1642-
request.generated_tokens
1643-
)
1641+
generated_tokens = request.generated_tokens
1642+
termination_id = request.sampling_params.termination_id
1643+
while (
1644+
generated_tokens
1645+
and termination_id is not None
1646+
and generated_tokens[-1] == termination_id
1647+
):
1648+
generated_tokens = generated_tokens[:-1]
1649+
request.generated_text = self.controller.tokenizer.detokenize(generated_tokens)
16441650
range_pop()
16451651

16461652
# Handle necessary ZMQ DP coordinator communication.

0 commit comments

Comments
 (0)