Skip to content

Commit 257978f

Browse files
songbellGuoliangShiIntel
authored andcommitted
eagle3 cb impl with top-1 proposal PR#2740
1 parent ffa946a commit 257978f

21 files changed

+1370
-182
lines changed

.github/workflows/linux.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -534,7 +534,7 @@ jobs:
534534
run_condition: ${{ fromJSON(needs.smart_ci.outputs.affected_components).tokenizers.test }}
535535
timeout: 60
536536
- name: 'API tests'
537-
cmd: 'python -m pytest -v ./tests/python_tests/test_continuous_batching.py ./tests/python_tests/test_generation_config.py ./tests/python_tests/test_sampling.py ./tests/python_tests/test_text_streamer.py'
537+
cmd: 'python -m pytest -v ./tests/python_tests/test_continuous_batching.py -k "not eagle3" ./tests/python_tests/test_generation_config.py ./tests/python_tests/test_sampling.py ./tests/python_tests/test_text_streamer.py'
538538
run_condition: ${{ fromJSON(needs.smart_ci.outputs.affected_components).continuous_batching.test || fromJSON(needs.smart_ci.outputs.affected_components).sampling.test || fromJSON(needs.smart_ci.outputs.affected_components).text_streamer.test }}
539539
timeout: 60
540540
- name: 'Rag tests'
@@ -551,6 +551,12 @@ jobs:
551551
python -m pytest -v ./tools/who_what_benchmark/tests -m nanollava
552552
run_condition: ${{ fromJSON(needs.smart_ci.outputs.affected_components).WWB.test }}
553553
timeout: 90
554+
- name: 'EAGLE3 speculative decoding tests'
555+
cmd: |
556+
python -m pip install git+https://github.com/xufang-lisa/optimum-intel.git@ea9607daf32919024cdd4390deec9693a7b64d23
557+
python -m pytest -v ./tests/python_tests/test_continuous_batching.py -k "eagle3"
558+
run_condition: ${{ fromJSON(needs.smart_ci.outputs.affected_components).speculative_decoding.test }}
559+
timeout: 90
554560
defaults:
555561
run:
556562
shell: bash

.github/workflows/manylinux_2_28.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -472,7 +472,7 @@ jobs:
472472
run_condition: ${{ fromJSON(needs.smart_ci.outputs.affected_components).tokenizers.test }}
473473
timeout: 60
474474
- name: 'API tests'
475-
cmd: 'python -m pytest -v ./tests/python_tests/test_continuous_batching.py ./tests/python_tests/test_generation_config.py ./tests/python_tests/test_sampling.py ./tests/python_tests/test_text_streamer.py'
475+
cmd: 'python -m pytest -v ./tests/python_tests/test_continuous_batching.py -k "not eagle3" ./tests/python_tests/test_generation_config.py ./tests/python_tests/test_sampling.py ./tests/python_tests/test_text_streamer.py'
476476
run_condition: ${{ fromJSON(needs.smart_ci.outputs.affected_components).continuous_batching.test || fromJSON(needs.smart_ci.outputs.affected_components).sampling.test || fromJSON(needs.smart_ci.outputs.affected_components).text_streamer.test }}
477477
timeout: 60
478478
- name: 'Rag tests'
@@ -489,6 +489,12 @@ jobs:
489489
python -m pytest -v ./tools/who_what_benchmark/tests -m nanollava
490490
run_condition: ${{ fromJSON(needs.smart_ci.outputs.affected_components).WWB.test }}
491491
timeout: 90
492+
- name: 'EAGLE3 speculative decoding tests'
493+
cmd: |
494+
python -m pip install git+https://github.com/xufang-lisa/optimum-intel.git@ea9607daf32919024cdd4390deec9693a7b64d23
495+
python -m pytest -v ./tests/python_tests/test_continuous_batching.py -k "eagle3"
496+
run_condition: ${{ fromJSON(needs.smart_ci.outputs.affected_components).speculative_decoding.test }}
497+
timeout: 90
492498
defaults:
493499
run:
494500
shell: bash

.github/workflows/windows.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -623,7 +623,7 @@ jobs:
623623
run_condition: ${{ fromJSON(needs.smart_ci.outputs.affected_components).tokenizers.test }}
624624
timeout: 60
625625
- name: 'API tests'
626-
cmd: 'python -m pytest -s -v tests/python_tests/test_continuous_batching.py tests/python_tests/test_generation_config.py tests/python_tests/test_sampling.py tests/python_tests/test_text_streamer.py'
626+
cmd: 'python -m pytest -s -v tests/python_tests/test_continuous_batching.py -k "not eagle3" tests/python_tests/test_generation_config.py tests/python_tests/test_sampling.py tests/python_tests/test_text_streamer.py'
627627
run_condition: ${{ fromJSON(needs.smart_ci.outputs.affected_components).continuous_batching.test || fromJSON(needs.smart_ci.outputs.affected_components).sampling.test || fromJSON(needs.smart_ci.outputs.affected_components).text_streamer.test }}
628628
timeout: 60
629629
- name: 'Rag tests'
@@ -640,6 +640,12 @@ jobs:
640640
python -m pytest -v ./tools/who_what_benchmark/tests -m nanollava
641641
run_condition: ${{ fromJSON(needs.smart_ci.outputs.affected_components).WWB.test }}
642642
timeout: 90
643+
- name: 'EAGLE3 speculative decoding tests'
644+
cmd: |
645+
python -m pip install git+https://github.com/xufang-lisa/optimum-intel.git@ea9607daf32919024cdd4390deec9693a7b64d23
646+
python -m pytest -v ./tests/python_tests/test_continuous_batching.py -k "eagle3"
647+
run_condition: ${{ fromJSON(needs.smart_ci.outputs.affected_components).speculative_decoding.test }}
648+
timeout: 90
643649
defaults:
644650
run:
645651
shell: pwsh

src/cpp/include/openvino/genai/continuous_batching_pipeline.hpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,13 +65,18 @@ class OPENVINO_GENAI_EXPORTS ContinuousBatchingPipeline {
6565
class ContinuousBatchingImpl;
6666

6767
class ContinuousBatchingForSpeculativeDecodingImpl;
68+
class ContinuousBatchingForEagle3DecodingImpl;
6869
class ContinuousBatchingForPromptLookupImpl;
6970
class SpeculativeDecodingImpl;
71+
class Eagle3DecodingImpl;
7072
class PromptLookupImpl;
7173

7274
friend class ContinuousBatchingForSpeculativeDecodingImpl;
75+
7376
friend class ContinuousBatchingForPromptLookupImpl;
77+
friend class ContinuousBatchingForEagle3DecodingImpl;
7478
friend class SpeculativeDecodingImpl;
79+
friend class Eagle3DecodingImpl;
7580
friend class PromptLookupImpl;
7681

7782
std::shared_ptr<IContinuousBatchingPipeline> m_impl;

0 commit comments

Comments
 (0)