File size: 3,272 Bytes
c55f5b8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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
default_stage:
  default_modifiers:
    SmoothQuantModifier:
      smoothing_strength: 0.5
      mappings:
      - !!python/tuple
        - ['re:.*q_proj', 're:.*k_proj', 're:.*v_proj']
        - re:.*input_layernorm
      - !!python/tuple
        - ['re:.*gate_proj', 're:.*up_proj']
        - re:.*post_attention_layernorm
      ignore: []
      algorithm: smoothquant
    SpinQuantModifier:
      rotations: [R1, R2, R4]
      transform_type: hadamard
      randomize: false
      learnable: false
      precision: torch.float64
      transform_block_size: 128
      transform_config:
        config_groups:
          R1:
            type: hadamard
            apply:
            - targets: ['re:.*embed_tokens$', 're:.*o_proj$', 're:.*down_proj$']
              location: weight_output
              inverse: false
              ignore: []
            - targets: ['re:.*q_proj$', 're:.*k_proj$', 're:.*v_proj$', 're:.*up_proj$', 're:.*gate_proj$',
                lm_head]
              location: weight_input
              inverse: true
              ignore: []
            randomize: false
            requires_grad: false
            head_dim: 128
            precision: torch.float64
          R2:
            type: hadamard
            apply:
            - targets: ['re:.*v_proj$']
              location: weight_output
              inverse: false
              ignore: []
            - targets: ['re:.*o_proj$']
              location: weight_input
              inverse: true
              ignore: []
            randomize: false
            requires_grad: false
            head_dim: 128
            precision: torch.float64
          R4:
            type: hadamard
            apply:
            - targets: ['re:.*down_proj$']
              location: input
              inverse: false
              ignore: []
            - targets: ['re:.*down_proj$']
              location: weight_input
              inverse: true
              ignore: []
            randomize: false
            requires_grad: false
            head_dim: 128
            precision: torch.float64
    GPTQModifier:
      config_groups:
        group_0:
          targets: [Linear]
          weights:
            num_bits: 8
            type: int
            symmetric: true
            group_size: null
            strategy: tensor
            block_structure: null
            dynamic: false
            actorder: !!python/object/apply:compressed_tensors.quantization.quant_args.ActivationOrdering [
              static]
            scale_dtype: null
            zp_dtype: null
            observer: memoryless_minmax
            observer_kwargs: {}
          input_activations:
            num_bits: 8
            type: int
            symmetric: false
            group_size: null
            strategy: tensor
            block_structure: null
            dynamic: false
            actorder: null
            scale_dtype: null
            zp_dtype: torch.int8
            observer: memoryless_minmax
            observer_kwargs: {}
          output_activations: null
          format: null
      targets: [Linear]
      ignore: [lm_head]
      bypass_divisibility_checks: false
      block_size: 128
      dampening_frac: 0.01
      actorder: static
      offload_hessians: false