You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Added support of 2-3 bit symmetric mode to LoRA-QAT - #4158
The CLI accepts AutoModelForCausalLM models, but GPT-2 exposes its backbone as transformer, not model. Selecting it with --pretrained therefore raises AttributeError while caching teacher states, before compression starts. Use the Transformers base_model accessor so both naming layouts work.
Scheduler miscalculates optimizer steps across epochs
The scheduler undercounts updates because run_training carries grad_steps across epochs. For four epochs with five microbatches and accumulation of four, training performs five optimizer steps, but this schedules only four; the final update consequently runs at zero learning rate. Divide after multiplying the epoch and microbatch counts.
Example is missing cross-framework integration coverage
The new example is absent from tests/cross_fw/examples/example_scope.json and has no runner in run_example.py, unlike the existing LoRA distillation example. Consequently, the example suite never exercises this training/export pipeline; the added FQ tests do not call it either. Please add small-model integration cases for both bit widths, including the scales-only phase and repacked export.
Matcher repacks boolean destinations into invalid operations
The matcher also accepts non-weight constants, such as a two-dimensional i8 attention mask containing zeros and ones followed by Convert(boolean). Repacking it constructs Subtract(boolean, boolean), which OpenVINO rejects, so this API fails on an otherwise valid model. Skip boolean destinations before constructing the replacement.
The dense identity and out-of-place addition allocate two extra full-size buffers during LoRA initialization, including existing 4/8-bit LoRA paths. For an 8192×8192 FP32 matrix, that adds about 512 MiB at the addition. Apply the stabilizer through the reshaped residual's diagonal view instead; this preserves rectangular and batched behavior without those allocations.
Graph conversion lacks support for repacked u3 tensors
src/nncf/quantization/repack_weights.py:44
Calling nncf.repack_weights on its own 3-bit output fails during build_graph: GraphConverter.convert_to_nncf_dtype in src/nncf/openvino/graph/nncf_graph_builder.py:46–73 has no u3 entry and raises NotImplementedError. Add "u3": "int" to that mapping so models containing already-repacked tensors can reach the skip logic.
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
documentationImprovements or additions to documentationNNCF OpenVINOPull requests that updates NNCF OpenVINONNCF PTPull requests that updates NNCF PyTorch
5 participants
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.
Changes
LoRA-QAT now support two new modes: CompressWeightsMode.INT3_SYM and CompressWeightsMode.INT2_SYM.
New function repack_weights was added to repack 4-8 bit weights to lower bit representation if possible.
Reason for changes
Support of 2-3 bit in compression in QAT and pytorch backend.
Related tickets
CVS-180191
Tests
In progress.
Weight compression - success
Test examples - failure
Conformance WC - success