llmcompressor.pipelines.layer_sequential
LayerSequentialPipeline
Bases: CalibrationPipeline
Source code in llmcompressor/pipelines/layer_sequential/pipeline.py
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | |
__call__(model, dataloader, dataset_args) staticmethod
Run a layer-wise sequential data pipeline according to the following steps:
- Layers are identified according to
sequential_targets - A hook is attached to the first layer. This hook raises an exception which is then caught and used to capture the input arguments to the first layer
- The inputs to the first layer are used to calibrate the first layer, and the output of the previous layer is used as inputs to calibrate the next layer
This pipeline requires that the model have distinct layers defined in its architecture and that the outputs of the previous layer are exactly the inputs to the next layer. This is violated by encoder-decoder architectures, among others.
If your model architecture violates these assumptions, consider using the sequential pipeline (see llmcompressor.pipelines.sequential). Architectures which are known to fail these assumptions include GPT-J and most vision models
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
model | Module | model being calibrated | required |
dataloader | DataLoader | loads data for calibration | required |
dataset_args | DatasetArguments | dataset arguments relevant to pipelines | required |
Source code in llmcompressor/pipelines/layer_sequential/pipeline.py
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | |