Add multimodal benchmark evaluation with lmms-eval - #2615
Draft
Delwin Kim (DelwinKim) wants to merge 5 commits into
Draft
Add multimodal benchmark evaluation with lmms-eval#2615Delwin Kim (DelwinKim) wants to merge 5 commits into
Delwin Kim (DelwinKim) wants to merge 5 commits into
Conversation
Preserve complete ORT-GenAI package layouts across composite conversion and cache export, including direct file and nested-directory handlers. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Integrate upstream lmms-eval generation tasks with Hugging Face wrappers and deployed ORT-GenAI image/audio packages, including custom task paths and result persistence. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Describe the evaluator boundary, upstream dependency pin, supported handlers, custom task loading, and current runtime limitations. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
4 tasks
Contributor
|
Delwin Kim (@DelwinKim) please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
Contributor License AgreementContribution License AgreementThis Contribution License Agreement (“Agreement”) is agreed to by the party signing below (“You”),
|
Replace only ORT-GenAI package-owned output entries so CLI test workflows retain their saved reference model. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Describe your changes
Add
LMMSEvaluator, an Olive evaluator for protocol-defined image and audiobenchmarks from upstream
lmms-eval.
This is the focused evaluator replacement for draft PR #2531. It contains no
quantization algorithms, calibration passes, mixed-precision planning (for pytorch side quant passes), HQQ
changes/fixes, or ModelBuilder compatibility changes. Those are in PR #2531, which serves as a consolidated location for reproduction of experimental results.
Why a second multimodal evaluation path?
Olive's existing
OnnxEvaluatorremains the supported path for proprietarytasks, lightweight smoke tests, and workflows that should not depend on
lmms-eval.
LMMSEvaluatorserves a different use case: it delegates publicbenchmark task definitions, prompts, filters, aggregations, and metric
direction to lmms-eval so scores use the benchmark protocol rather than an
Olive-specific approximation.
Included changes
ortgenai_mmadapter that runs lmms-evalgenerate_untilrequestsagainst deployed multimodal ORT-GenAI packages.
model-native structured chat templates, task stop strings, and Gemma response
channel parsing.
HfModelHandlerinputs to model wrappers available in the pinnedupstream lmms-eval revision.
include_path, preservelmms-eval's metric direction, and optionally persist compact aggregates plus
per-sample generations.
CompositeToOnnxPackageso aMobiusBuildercomposite package can enterOlive evaluation without flattening or rewriting its nested ORT-GenAI layout.
Dependency
The test environment and documented installation pin upstream lmms-eval commit
3e675904f8cba6793de12b91979b04d91754bdf3. The latest PyPI release,0.7.2, omits extensionless task templates from its wheel and fails whileloading the default task registry. The pinned upstream commit contains
lmms-eval PR #1390, which fixes that packaging defect. The pin should move to
the first upstream release containing #1390.
The Git reference is not placed in Olive's
extras_require, because direct VCSrequirements make a distribution ineligible for PyPI. A normal
olive-ai[lmms-eval]extra can be added after upstream publishes the fix. Nopersonal lmms-eval fork is required. Automatic HF Gemma-4 dispatch is
intentionally omitted because upstream has no Gemma-4 wrapper.
Supported scope and limitations
ONNX model.
implemented.
sequences, and loglikelihood tasks are not supported.
entry point.
load_kwargsare rejected rather than silentlyevaluating a different checkpoint; wrapper-supported options use
hf_model_kwargs.Fresh deployed-package probes against the pinned upstream dependency cover:
include_pathtask discovery and scoring.Checklist before requesting a review
lintrunner -a.Release note: Add optional lmms-eval-backed multimodal benchmark evaluation for
Hugging Face models and deployed ORT-GenAI packages.
(Optional) Issue link