Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Perf] Evaluate API: Support parallelized evaluator batch run through pf.run #3380

Merged
merged 16 commits into from
Jun 17, 2024

Conversation

ninghu
Copy link
Member

@ninghu ninghu commented Jun 6, 2024

Description

The change in this PR addresses the performance issues we were seeing with the Evaluate API. This is the first step in optimizing performance. The improvements include:

Improvements from this change:
Windows OS, remote tracking disabled

  • 4 evaluators, 100 rows:

    • Previous (pf.run without threadpool): 320 secs
    • Current (pf.run with threadpool): 78 secs (~75% improvement)
  • 1 evaluator, 1 row:

    • Previous: 53 secs
    • Current: 17 secs (~68% improvement)

Investigation details can be found here

All Promptflow Contribution checklist:

  • The pull request does not introduce [breaking changes].
  • CHANGELOG is updated for new features, bug fixes or other significant changes.
  • I have read the contribution guidelines.
  • Create an issue and link to the pull request to get dedicated review from promptflow team. Learn more: suggested workflow.

General Guidelines and Best Practices

  • Title of the pull request is clear and informative.
  • There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

  • Pull request includes test coverage for the included changes.

Copy link

github-actions bot commented Jun 10, 2024

promptflow-evals test result

  9 files  ±0    9 suites  ±0   2h 55m 53s ⏱️ + 1h 0m 6s
 52 tests ±0   47 ✅ ±0   5 💤 ±0  0 ❌ ±0 
468 runs  ±0  423 ✅ ±0  45 💤 ±0  0 ❌ ±0 

Results for commit 5ddefa3. ± Comparison against base commit 01267fd.

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Jun 11, 2024

promptflow SDK CLI Azure E2E Test Result users/ninhu/perf_improve

  4 files    4 suites   4m 18s ⏱️
243 tests 203 ✅  40 💤 0 ❌
972 runs  812 ✅ 160 💤 0 ❌

Results for commit 5ddefa3.

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Jun 11, 2024

SDK CLI Global Config Test Result users/ninhu/perf_improve

6 tests   6 ✅  1m 24s ⏱️
1 suites  0 💤
1 files    0 ❌

Results for commit 5ddefa3.

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Jun 11, 2024

Executor Unit Test Result users/ninhu/perf_improve

796 tests   796 ✅  3m 48s ⏱️
  1 suites    0 💤
  1 files      0 ❌

Results for commit 5ddefa3.

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Jun 11, 2024

Executor E2E Test Result users/ninhu/perf_improve

246 tests   238 ✅  5m 4s ⏱️
  1 suites    6 💤
  1 files      2 ❌

For more details on these failures, see this check.

Results for commit 5ddefa3.

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Jun 11, 2024

SDK CLI Test Result users/ninhu/perf_improve

    4 files      4 suites   1h 7m 21s ⏱️
  785 tests   765 ✅ 20 💤 0 ❌
3 140 runs  3 060 ✅ 80 💤 0 ❌

Results for commit 5ddefa3.

♻️ This comment has been updated with latest results.

@ninghu ninghu changed the title Evaluate API perf improvement [Perf] Optimize Evaluate API: Switch to pf.run and Performance Enhancements Jun 11, 2024
@ninghu ninghu changed the title [Perf] Optimize Evaluate API: Switch to pf.run and Performance Enhancements [Perf] Optimize Evaluate API: Switch to pf.run and performance improvements Jun 11, 2024
@ninghu ninghu marked this pull request as ready for review June 11, 2024 16:42
@ninghu ninghu requested review from a team as code owners June 11, 2024 16:42
nick863
nick863 previously approved these changes Jun 11, 2024
@ninghu ninghu merged commit 32115d3 into main Jun 17, 2024
65 of 67 checks passed
@ninghu ninghu deleted the users/ninhu/perf_improve branch June 17, 2024 16:40
ninghu added a commit that referenced this pull request Jun 18, 2024
… runs instead of processes. (#3412)

# Description

This change is related to
#3380

# All Promptflow Contribution checklist:
- [ ] **The pull request does not introduce [breaking changes].**
- [ ] **CHANGELOG is updated for new features, bug fixes or other
significant changes.**
- [ ] **I have read the [contribution guidelines](../CONTRIBUTING.md).**
- [ ] **Create an issue and link to the pull request to get dedicated
review from promptflow team. Learn more: [suggested
workflow](../CONTRIBUTING.md#suggested-workflow).**

## General Guidelines and Best Practices
- [ ] Title of the pull request is clear and informative.
- [ ] There are a small number of commits, each of which have an
informative message. This means that previously merged commits do not
appear in the history of the PR. For more information on cleaning up the
commits in your PR, [see this
page](https://github.com/Azure/azure-powershell/blob/master/documentation/development-docs/cleaning-up-commits.md).

### Testing Guidelines
- [ ] Pull request includes test coverage for the included changes.

---------

Co-authored-by: Clement Wang <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants