!"#$"%&'(
) ) )
)
*)
FOUNDATIONS OF LARGE LANGUAGE MODEL
COMPRESSIONPART 1: WEIGHT QUANTIZATION
Sean I. Young
siyoung@csail.mit.edu
ABSTRACT
+&)"#,#&')-#."/0),12$"#//%1&)13)4."5#)4.&56.5#)217#4/)899:/;)<./)#2#"5#7)./).&)
%2$1"'.&')$"1=4#2)'1).441>)4.&56.5#)217#4)7#$41-2#&')1&)"#/16",#?,1&/'".%&#7)
7#@%,#/0)"#76,#),12$6'.'%1&.4),1/'/0).&7)2%'%5.'#)'<#)#&@%"1&2#&'.4)311'$"%&')13)
4."5#?/,.4#)A+) %&3"./'"6,'6"#() +&) '<%/) $.$#"0)>#)$"#/#&') '<#) 316&7.'%1&/) 13) 99:)
B6.&'%C.'%1&)3"12).),1&@#D)1$'%2%C.'%1&)$#"/$#,'%@#).&7)$"1$1/#).)B6.&'%C.'%1&)
2#'<17)'<.')=6%47/)1&)'<#/#)316&7.'%1&/).&7)16'$#"31"2/)$"#@%16/)2#'<17/()E6")
B6.&'%C.'%1&)3".2#>1"F0)GHIJ0)/,.4#/)'1)217#4/),1&'.%&%&5)<6&7"#7/)13)=%44%1&/)
13)>#%5<')$.".2#'#"/).&7)$"1@%7#/)6/#"/)>%'<)'<#)K#D%=%4%'-)'1),12$"#//)217#4/)
'1).&-)/$#,%L#7)217#4)/%C#0)$1/'?'".%&%&5()A)"#3#"#&,#)%2$4#2#&'.'%1&)13)GHIJ)
,.&)=#)1='.%&#7)3"12)https://github.com/seannz/cvxq()
1 INTRODUCTION
9."5#)4.&56.5#):17#4/)899:/;)<.@#)=#,12#).)6&%@#"/.4)3".2#>1"F)31")/14@%&5).)@./')&62=#")13)
$"1=4#2/)%&)&.'6".4)4.&56.5#)$"1,#//%&50)3"12)'#D')'".&/4.'%1&).&7)/622."%C.'%1&)'1),1&@#"/.'%1&.4)
A+).&7).6'12.'%,)5#&#".'%1&)13)".7%1415%/'M/)"#$1"'/()N<%4#)99:/)16'$#"31"2)'".7%'%1&.4)2#'<17/)
%&)4.&56.5#?"#4.'#7)'./F/0)'<#-)13'#&)%&@14@#)'#&/)1")<6&7"#7/)13)=%44%1&/)13)>#%5<')$.".2#'#"/0).&7)
'<%/)"#&7#"/)'<#%")7#$41-2#&')1&'1)7#@%,#/)>%'<)4%2%'#7)"#/16",#/),<.44#&5%&5O217#4)>#%5<'/).&7)
.,'%@.'%1&/)&1)41&5#")L')%&)'<#)7#@%,#)2#21"-0)&#,#//%'.'%&5)'<1/#).,'%@.'%1&/)=#)/.@#7)'1).&7)41.7#7)
3"12)1P?,<%$)2#21"-)3"#B6#&'4-)76"%&5)'<#),16"/#)13)%&3#"#&,#()Q1')1&4-)71#/)'<%/)5"#.'4-)<%&7#")
'<#)6/.=%4%'-)13)99:/)$."'%,64."4-)%&)'%2#?/#&/%'%@#)'./F/)=6')%').4/1)#D.,#"=.'#/)'<#)#&@%"1&2#&'.4)
311'$"%&')13)4."5#?/,.4#)A+)%&3"./'"6,'6"#)"#B6%"#7)=-)99:/()
E&#)>.-)'1)"#76,#)'<#),12$6'.'%1&.4).&7)/'1".5#)"#B6%"#2#&'/)13)4."5#)217#4/)%/)=-),12$"#//%&5)
8'<.')%/0)/%2$4%3-%&5;)'<#)"#$"#/#&'.'%1&)13)'<#)217#4/)$1/'?'".%&%&5()R#&#".44-)/$#.F%&50)'<%/),.&)=#)
.,<%#@#7)@%.)>#%5<')$"6&%&50)B6.&'%C.'%1&)13).,'%@.'%1&/).&7)>#%5<'/0)1")!GA?'-$#)7%2#&/%1&.4%'-)
"#76,'%1&)13)>#%5<')2.'"%,#/()E6')13)'<#/#0)B6.&'%C.'%1&)13)>#%5<'/).&7).,'%@.'%1&)<./)$"1@#&)'1)=#)
$."'%,64."4-)6/#364)31"),12$"#//%&5)217#4/)'1)@#"-)41>)=%')7#$'</)1")."=%'"."-)6/#"?/$#,%L#7)217#4)
/%C#/)S*T*UV()W/%&5)/'.'#?13?'<#?."')B6.&'%C.'%1&)'#,<&%B6#/0)%')%/)&1>)$1//%=4#)'1),12$"#//)*XT*XX)
=%44%1&?$.".2#'#")99:/)'1)316")=%'/)$#")>#%5<')1&).@#".5#)>%'<)&#54%5%=4#)41//)13)217#4).,,6".,-)
SY0)*ZV0)3.,%4%'.'%&5)99:)%&3#"#&,#)1&).)/%&54#),1&/62#"?5".7#)R!W()
[#/$%'#)&62#"16/).7@.&,#/0)99:)B6.&'%C.'%1&)6&31"'6&.'#4-)"#2.%&/)3.")3"12)/14@#7()Q1')1&4-)71)
,6""#&')>#%5<')B6.&'%C.'%1&)2#'<17/)3"#B6#&'4-)4#.7)'1)/#@#"#4-)"#76,#7)217#4).,,6".,-).')41>)=%'?
7#$'</0)=6')21/')13)'<#/#)'#,<&%B6#/)<.@#)=##&)7#@#41$#7)/$#,%L,.44-)31")>#%5<')B6.&'%C.'%1&).&7)
."#)'11),12$4#D)'1).$$4-)'1).,'%@.'%1&/)76"%&5)%&3#"#&,#()R%@#&)'<#)/-22#'"-)=#'>##&)>#%5<'/).&7)
<%77#&)/'.'#/)%&)2.'"%D)264'%$4%,.'%1&/0).,<%#@%&5)3./').&7).,,6".'#)B6.&'%C.'%1&)13)=1'<)>#%5<'/).&7)
.,'%@.'%1&/)%/),"6,%.4)31")#&<.&,%&5),12$6'.'%1&.4)#\,%#&,-).&7)$"#7%,'%1&).,,6".,-0)./)>#44)./)31")
%&31"2%&5)<."7>."#)7#/%5&()]%/)>1"F).%2/)'1).77"#//)'<#/#)'#,<&1415%,.4)5.$/)%&)'<#),6""#&')217#4)
,12$"#//%1&)4%'#".'6"#).&7).7@.&,#).,,6".'#).&7)#\,%#&'),12$"#//%1&)2#'<17/)31")99:/()
+&)'<%/)$.$#"O'<#)L"/')13).)'<"##?$."')/#"%#/O>#)4.-)'<#)316&7.'%1&/)13)99:),12$"#//%1&)>%'<%&)
'<#),4.//%,.4)3".2#>1"F)13),1&@#D)1$'%2%C.'%1&()N#)=#5%&)>%'<)'<#)$"1=4#2)13)>#%5<')B6.&'%C.'%1&)
.&7)./F^)_1>)/<1647)'<#)>#%5<'/)13).)217#4)=#)B6.&'%C#7)'1)2.D%2%C#)$"#7%,'%1&).,,6".,-)5%@#&).)
'."5#')217#4)/%C#)%&)=%'/`)N#)'<#&)$"1$1/#).)/'1,<./'%,)5".7%#&')./,#&'?'-$#).451"%'<2)'1)/14@#)'<%/)
!"#$"%&'(
) ) )
)
Z)
$"1=4#2)#D.,'4-).&7)#\,%#&'4-)$1/'?'".%&%&5O%&)2%&6'#/)31")=%44%1&?$.".2#'#")217#4/).&7)%&).)3#>)
<16"/)31")*XT*XX?=%44%1&?$.".2#'#")217#4/()G12$."#7)>%'<)'<#)"#,#&')E!aJ)3.2%4-)13).$$"1.,<#/)
SbTcV0)16").451"%'<2)/$#&7/)@%"'6.44-)C#"1)'%2#)1&).,'6.4)>#%5<')B6.&'%C.'%1&)1&,#)'<#)1$'%2.4)=%')
7#$'</)<.@#)=##&)7#'#"2%&#7()]%/)"#&7#"/)16")3".2#>1"F)/6%'.=4#).4/1)31")B6.&'%C%&5)%&'#"2#7%.'#)
.,'%@.'%1&/0)><#"#)'<#)B6.&'%C.'%1&)$"1,#76"#)26/')&1')%&'"176,#)/%5&%L,.&')7#4.-/)'1)'<#)%&3#"#&,#)
$%$#4%&#()E6")/#B6#4O!."')Z^)A,'%@.'%1&)J6.&'%C.'%1&O7%/,6//#/)'<%/)%&)7#'.%4()
2 PREVIOUS WORK
:17#4)B6.&'%C.'%1&),.&)=#)'".,#7)=.,F)'1)'<#)#."4-)>1"F)13)H.& <1 6,F #)# ' ). 4()S*dV0)><1)7#21&/'".'#7)
'<.')Y?=%')%&'#5#")."%'<2#'%,),.&)=#)6/#7)31")&#'>1"F)'".%&%&5).&7)%&3#"#&,#)>%'<16')/%5&%L,.&')41//)
13).,,6".,-():1"#)5#&#".44-0)B6.&'%C.'%1&?.>."#)'".%&%&5)8JAa;)S*bTZZV)%&'#5".'#/)'<#)B6.&'%C.'%1&)
$"1,#//)%&'1)'<#)'".%&%&5)$<./#)=-).441>%&5)'<#)217#4)'1).7.$')'1)'<#)"#76,#7)$"#,%/%1&)%&)>#%5<'/)
S*bTZXV).&7).,'%@.'%1&/)SZ*0)ZZV)=-)7#'#"2%&%&5)'<#)1$'%2.4)=%')7#$'<)S*c0)ZZV).&7)/'#$)/%C#)SZXV)=-)
=.,F?$"1$.5.'%1&0)>%'<)/12#)'#,<&%B6#/)#@#&).441>%&5)'<#)5".7%#&'/)'1)K1>)'<"165<)B6.&'%C.'%1&)
1$#".'1"/()E&#)/<1"',12%&5)13)JAa)2#'<17/)%/)'<.')217#4)'".%&%&5)&##7/)'1)=#)"#$#.'#7)31")7%P#"#&')
B6.&'%C#7)217#4)/%C#/).&7).,,6".,-0)"#&7#"%&5)'<#2)4#//)%7#.4)31")'<#)B6.&'%C.'%1&)13)4."5#)217#4/)
"#B6%"%&5)/6=/'.&'%.4),12$6'#).&7)'%2#)31")'".%&%&5()
:1"#)"#,#&'4-)$"1$1/#7)B6.&'%C.'%1&)'#,<&%B6#/)31")4.&56.5#).&7)@%/%1&)217#4/)31,6/)$"%2."%4-)1&)
".$%7)7#$41-2#&')13).4"#.7-)'".%&#7)217#4/)>%'<16')"#'".%&%&5)SeT*UV()]#/#).$$"1.,<#/)B6.&'%C#)
217#4)>#%5<'/)'1)fTe)1")Y)=%'/)31")%&'#5#"?."%'<2#'%,?1&4-)%&3#"#&,#)S*YV)><%4#)/#$.".'#4-)<.&74%&5)
16'4%#"),<.&&#4/)SZfV)1")6/%&5)2%D#7)=%')7#$'<)B6.&'%C.'%1&)SZZ0)**V)'1)%2$"1@#)'<#)B6.&'%C#7)217#4)
.,,6".,-()91//?.>."#)B6.&'%C.'%1&)'#,<&%B6#/)SZeTZdV)/##F)'1)2%&%2%C#).,,6".,-)41//)%&)B6.&'%C#7)
217#4/)=-),.4%=".'%&5)B6.&'%C.'%1&).&7)=%./#/)1&),.4%=".'%1&)7.'.()[.'.?3"##)B6.&'%C.'%1&)2#'<17/)
SZbTfXV).''#2$')'1)"#21@#)'<#)&##7)31")"#.4),.4%=".'%1&)7.'.)=-),.4%=".'%&5)'<#)7%/'"%=6'%1&)13)>#%5<'/)
%&/'#.7)SZbV)1")6/%&5)/-&'<#'%,)7.'.)%&)$4.,#)13)"#.4),.4%=".'%1&)7.'.)SZcV())
g1")99:),12$"#//%1&)%&)$."'%,64."0).)@."%.&')13)'<#)E$'%262)h".%&)i6"5#1&)8Ehi;).451"%'<2)Sf*V)
F&1>&)./)R!aJ)SYV)<./)=##&)$"1$1/#7)31")B6.&'%C.'%1&)13)*T*XX)=%44%1&)$.".2#'#")217#4/():1"#)
"#,#&')#D'#&/%1&/)'1)R!aJ)Sc0)*UV).77%'%1&.44-)%&,1"$1".'#)<.&74%&5)13)/#&/%'%@#)>#%5<'/)=-)/,.4%&5)
1")/%2$4-)=-)"#'.%&%&5)'<#)1"%5%&.4)>#%5<')@.46#/0)>%'<)1'<#").$$"1.,<#/)Sd0)*ZV).4/1)%&7#$#&7#&'4-)
%&,1"$1".'%&5)/%2%4.")%7#./()9.'#"0)>#)>%44)/##)'<.')16"),1&@#D)1$'%2%C.'%1&)31"264.'%1&)$"1@%7#/).)
7%/,%$4%&#7).$$"1.,<)'1)%&,1"$1".'%&5),<.&&#4)/#&/%'%@%'-).&7)/,.4#/)%&'1)'<#)B6.&'%C.'%1&)'./F()
3 QUANTIZATION FRAMEWORK
_#"#0)>#)6/#)'<#)'./F)13)&#D'?'1F#&)$"#7%,'%1&)%&)4.&56.5#)217#4%&5)./).)"6&&%&5)#D.2$4#()g1")16")
$6"$1/#/0)'<#)#&7?'1?#&7)2.$$%&5)13)%&$6')'1F#&)#2=#77%&5/)'1)$"#7%,'#7)&#D'?'1F#&)#2=#77%&5/)
7#L&#7)=-).)$"#'".%&#7)4.&56.5#)217#4)),.&)=#)#D$"#//#7)%&)'<#)21/')5#&#".4)31"2)./)
)
= () =
(
,
1
,
2
, . . . ,
𝑁
)
= (,
1
,
2
, . . . ,
𝑁
,
1
,
2
, . . . ,
𝑁
)
8*;)
%&)><%,<)
𝐻×𝐸
)7#&1'#/).)/#B6#&,#)13))'1F#&/0)#.,<)13)><%,<)"#/%7#/)%&)/12#)?7%2#&/%1&.4)
#2=#77%&5)/$.,#0).&7)
𝐿×𝐸
0)#2=#77%&5/)13))$"#7%,'#7)&#D')'1F#&/()]#)'<)=41,F)13)>#%5<')
2.'"%,#/)
𝑚𝑀+1
, . . . ,
(𝑚+1)𝑀
).&7)=%./)@#,'1"/)
𝑚𝑀+1
, . . . ,
(𝑚+1)𝑀
)j1%&'4-)$.".2#'#"%C#)'<#)'<)
'".&/31"2#")=41,F0)><%,<)"#L&#/)'<#)#2=#77%&5/)$"176,#7)=-)'<#)(1)'<)'".&/31"2#")=41,F()+&)
$".,'%,#0)99:)3".2#>1"F/)6/#7)%&)4.&56.5#)217#4%&5).4/1)"#B6%"#).&)#2=#77#")
0
𝐸×𝑉
).&7).)
$"#7%,'%1&)<#.7)
𝑁+1
𝑉 ×𝐸
)31")'".&/31"2%&5)=#'>##&)'1F#&/).&7)#2=#77%&5/0)=6')31")&1>0)>#)
31,6/)1&)'<#),12$"#//%1&)13)'".&/31"2#")=41,F)>#%5<'/)./)'-$%,.44-)71&#)%&)$"#@%16/)>1"F)SY0)c0)*ZV(
a1)5#').)/#&/#)13)'<#)&62=#")13)>#%5<')2.'"%,#/).&7)'<#%")/%C#/)%&).)'-$%,.4)4.&56.5#)217#40)'<#)*f)
=%44%1&?$.".2#'#")217#4)%&)'<#)E!a)3.2%4-)8E!a?*fh;),1&'.%&/)= 240)>#%5<')2.'"%,#/)%&)=41,F/)
13)= 60)>%'<)#.,<)=41,F),12$"%/%&5)12
2
)>#%5<'/)%&).&)#2=#77%&5)7%2#&/%1&)13)= 5120()]#)
#2=#77#").&7)$"#7%,'%1&)<#.7)."#)$.".2#'#"%C#7)=-).)/<."#7)2.'"%D),1&'.%&%&5))>#%5<'/0)><#"#)
'<#)@1,.=64."-)/%C#) = 50272()Q1'#)'<.')#.,<)'".&/31"2#")=41,F).4/1),1&'.%&/)9)=%./)$.".2#'#"/)
=6')76#)'1)'<#%")"#4.'%@#)/,.",%'-0)=%./)$.".2#'#"/),.&)=#),1226&%,.'#7)41//4#//4-).&7)/'%44)<.@#)4%''4#)
'1)&1)%2$.,')1&)'<#)1@#".44),12$"#//%1&)$#"31"2.&,#()
Q1'%1&.44-0)'<#)#4#2#&'/)13).)>#%5<')2.'"%D))."#),1&'%&616/4-)@.46#7)/1)'<#-)"#B6%"#)B6.&'%C.'%1&)
31")#\,%#&'),1226&%,.'%1&)1")/'1".5#()G12$."#7)>%'<)@#,'1")B6.&'%C.'%1&).&7)4.''%,#)B6.&'%C.'%1&)
!"#$"%&'(
) ) )
)
f)
.$$"1.,<#/)SfZV0)/,.4.")B6.&'%C.'%1&)#&.=4#/)."%'<2#'%,)1$#".'%1&/)'1)=#)$#"31"2#7)1&)B6.&'%C.'%1&)
%&7%,#/)7%"#,'4-0)#4%2%&.'%&5)'<#)&##7)31").)/#$.".'#)7#B6.&'%C.'%1&)$"1,#//()]#)2%7?"%/#)6&%31"2)
/,.4.")B6.&'%C.'%1&)13).)>#%5<')).').)=%'?7#$'<)13))=%'/).&7)/'#$)/%C#))5%@#/)6/)'<#)"#,1&/'"6,'%1&)
)
𝑞
(
,
)
=
clip
floor
1
, 2
𝐵1
, 2
𝐵1
1
+ 2
1
, = 0, 1, 2, . . .
8Z;)
.&7)
𝑞
(, ) = )%3)= )31")&1'.'%1&.4),1&@#&%#&,#()]#)$"1=4#2)13),12$"#//%&5)'<#)217#4))
&1>).216&'/)'1)7#'#"2%&%&5)'<#)1$'%2.4)=%')7#$'<)).&7)'<#).//1,%.'#7)B6.&'%C.'%1&)/'#$)/%C#))31")
#.,<)>#%5<'()_1>#@#"0)%')>1647)=#)%2$".,'%,.4)'1)7#'#"2%&#).)/#$.".'#)(, ))31")#.,<)>#%5<'))%&)
'<#)217#4)/%&,#)'<#),1/')13)/%5&.4%&5)'<#),<1%,#)13)(, ))31")#.,<)1&#)>1647)3.")16'>#%5<)'<#)/.@%&5)
7#"%@#7)3"12)B6.&'%C.'%1&()a-$%,.44-0).)/%&54#)(, ))$.%")%/)6/#7)'1)B6.&'%C#).)5"16$)13)>#%5<'/)8.&)
#&'%"#)2.'"%D)1")"1>/)1"),1462&/)'<#"#13;)%&)><%,<),./#)'<#),1/')13)/%5&.4%&5)(, )),.&)=#)=1"&#)
=-).)5"16$)13)B6.&'%C#7)>#%5<')$.".2#'#"/)./).)&#54%5%=4#)$#"?>#%5<')1@#"<#.7()
f(* h IT [EPTH ASSIGNMENT)
i6$$1/#)>#)>.&')'1),12$"#//))=-)B6.&'%C%&5)#.,<)2.'"%D)
𝑛
),1&'.%&%&5)
𝑛
)#4#2#&'/).,,1"7%&5)'1))
%'/)1>&)=%')7#$'<)
𝑛
).&7)/'#$)/%C#)
𝑛
(
𝑛
)()_1>)/<1647)
𝑛
)=#)7#,%7#7`)k165<4-)/$#.F%&50)>#%5<'/)
'<.')."#)21"#)/#&/%'%@#)'1)16'$6')7%/'1"'%1&)/<1647)=#).441''#7)21"#)=%'/)'1)l=.4.&,#)'<#)/,.4#/m)><%4#))
F##$%&5)'<#)'1'.4)&62=#")13)=%'/)6&7#").)5%@#&)217#4)=%')=675#'()E&#),.&)31"2.4%C#)'<%/)&1'%1&)=-)
#D$"#//%&5)'<#)B6.&'%C.'%1&)'./F).')<.&7)./)'<#)1$'%2%C.'%1&)$"1=4#2)
)
minimize (
1
, . . . ,
𝑁
) =
𝐗
(,
1
𝑞
(
1
,
1
(
1
)), . . . ,
𝑁
𝑞
(
𝑁
,
𝑁
(
𝑁
))) ()
𝐹
2
)
subject to(
1
, . . . ,
𝑁
) =
𝑛
𝑛
𝑛
𝑁
𝑛=1
= 0
𝑁
𝑛=1
%&)><%,<))7#&1'#/).)6/#"?/$#,%L#7).@#".5#)217#4)=%')7#$'<)8=%')".'#;()]%/)$"1=4#2)%/)"#2%&%/,#&')
13)1$'%2.4)"#/16",#).441,.'%1&0)><#"#)'<#)1=j#,'%@#)%/)'1)2.D%2%C#)/12#)6'%4%'-)81")2%&%2%C#)16'$6')
7%/'1"'%1&)%&)16"),./#;)=-)1$'%2.44-)/$#&7%&5)71>&).)5%@#&)=675#')8'<#)'1'.4)&62=#")13)=%'/;()+&)'<%/)
/#,'%1&).&7)&#D'0)>#)$"1@%7#)%&/%5<'/)%&'1)$"1=4#2)8f;).&7)16")$"1$1/#7).$$"1.,<n)/##)A451"%'<2)*()
a1).$$4-)'<#)2.,<%&#"-)13)&62#"%,.4)1$'%2%C.'%1&)'1)8f;0)>#)>%44)"#4.D)'<#)7%/,"#'#),1&/'".%&')1&)'<#)
=%')7#$'</)
1
, . . . ,
𝑁
)><%4#)/14@%&5)'<#)$"1=4#2).&7)"16&7)'<#)/146'%1&)
1
, . . . ,
𝑁
)'1)'<#)&#."#/')
%&'#5#"/).3'#")'<#-)<.@#)=##&)1='.%&#7()9#')6/)>"%'#)'<#)9.5".&5%.&)13)8f;)./)(
1
, . . . ,
𝑁
, ) =
(
1
, . . . ,
𝑁
) + (
1
, . . . ,
𝑁
)0)><#"#))%/).)76.4)@."%.=4#).//1,%.'#7)>%'<)'<#)#B6.4%'-),1&/'".%&')
13)8f;()[%P#"#&'%.'%&5))>%'<)"#/$#,')'1)
1
, . . . ,
𝑁
, )5%@#/)6/)'<#)L"/'?1"7#")1$'%2.4%'-),1&7%'%1&/)
)
1
1
(
1
,
2
, . . . ,
𝑁
)
1
=  =
1
𝑁
(
1
,
2
, . . . ,
𝑁
)
𝑁
= −, (
1
, . . . ,
𝑁
) = 0
8e;)
/1)$"1=4#2)8f;),.&)=#)/14@#7)=-).4'#"&.'#4-)6$7.'%&5)'<#)=%')7#$'</)
1
, . . . ,
𝑁
)8$"%2.4)@."%.=4#/;)
.&7)'<#)'".7#?1P))876.4)@."%.=4#;)6&'%4).44)1$'%2.4%'-),1&7%'%1&/)."#)2#'()+&)>1"7/0)'<#)1$'%2.4%'-)
,1&7%'%1&/)."#)"#.,<#7)1&,#)'<#)2."5%&.4)7#,"#./#)%&)'<#)16'$6')7%/'1"'%1&)3"12).&)%&L&%'#/%2.4)=%')
%/)#B6.4).,"1//)4.-#"/).')−).&7)1&,#)>#)<.@#).//%5&#7)#D.,'4-))=%'/)$#")>#%5<')1&).@#".5#()
Algorithm 1. CVXQ: Convex Optimization for Weight Quantization
1 Input: f (⋅ ,Θ
1
,...,Θ
N
) (model), {X} (calibration set), R (target bit rate), B
max
(max bit depth)
2
Output: Θ
1
q
,...,Θ
N
q
(quantized weights), B
1
*
,...,B
N
*
(bit depths), S
1
,...,S
N
(weight scales)
3
Initialize: U pca_basis ({X})
E×E'
, S sub_sample (I
L×L
)
L×L'
4
B
n
, V 10
"6
, G
n
2
0, S
n
std(Θ
n
), Θ
n
q
Θ
n
, B
n
q
B
n
, X
&
n
0 for n in 1,...,N
5
for iter in 1,...,max_iter do
6
for X in minibatch do
7
Z,X
1
,...,X
N
f (X,Θ
1
q
,...,Θ
N
q
,B
1
q
,...,B
N
q
)
8
X
&
n
(1'– α)X
&
n
+ (α/L)1
T
X
n
for n in 1,...,N
9
Γ
1
,...,Γ
N
autograd(S
T
ZU,Θ
1
q
,...,Θ
N
q
)
10
G
n
2
(1 α)G
n
2
+ (α/P
n
) trace (Γ
n
T
Γ
n
) for n in 1,...,N
11
for _ in 1,...,10 do
12
B
n
clamp(
1
2
log
2
(G
n
2
S
n
2
/V),0,B
max
) for n in 1,...,N
13
V    V + β (sum(P
n
B
n
) (sum(P
n
)) R)
14 Θ
n
q
compand_quantize(Θ
n
,B
n
,S
n
), B
n
q
   B
n
+ (Θ
n
q
Θ
n
)X
&
n
for n in 1,...,N
!"#$"%&'(
) ) )
)
e)
i%&,#)'<#)B6.&'%C.'%1&)36&,'%1&)8Z;)%/),1&/'.&').421/')#@#"-><#"#0).)&.%@#),12$6'.'%1&)13)'<#)$."'%.4)
7#"%@.'%@#/)13))>%'<)"#/$#,')'1)
1
, . . . ,
𝑁
)6/%&5)'<#),<.%&)"64#)13)7%P#"#&'%.'%1&)71#/)&1')$"1@%7#)
.)6/#364)7%"#,'%1&)31")7#/,#&'()A)>#44?F&1>&)"#/64')3"12)".'#T7%/'1"'%1&)'<#1"-)SffV)%/)'<.')31").&-)
".&712)@."%.=4#)13)L&%'#)@."%.&,#0)B6.&'%C.'%1&)#""1")7#,"#./#/)=-)<.43)>%'<)#@#"-).77%'%1&.4)=%').')
.)/6\,%#&'4-)<%5<)=%')7#$'<():1"#)/$#,%L,.44-)'1)16")$"1=4#20)>#),.&)>"%'#)8A$$#&7%D)A;)
1
2 ln 2

(
1
, . . . ,
𝑁
)
𝑛
𝐗
(
1
𝑞
(
1
), . . . ,
𝑁
𝑞
(
𝑁
))
𝑛
𝑛
 𝑞
(
𝑛
)
𝐹
2
𝑛
𝑛
𝑛
2
𝑛
2
2
2𝐵
𝑛
= 𝑑
𝑛
(𝐵
𝑛
)
(5)
%&)><%,<)
𝑛
𝑞
(
𝑛
) =
𝑛
𝑞
(
𝑛
,
𝑛
(
𝑛
)))31")="#@%'-0)
𝑛
2
).&7)
𝑛
2
)"#$"#/#&')'<#)@."%.&,#/)13)'<#)#4#2#&'/)
13)
𝚯
𝑛
(,
1
, . . . ,
𝑁
)0).&7)13)
𝑛
0)"#/$#,'%@#4-0).&7)
𝑛
)%/).)B6.&'%C.'%1&),1#\,%#&')'<.')7#$#&7/)
1&)'<#)7%/'"%=6'%1&)13)>#%5<'/0)>%'<)
𝑛
= 1.42)31")R.6//%.&0)0.72)31")9.$4.,#0)#',()SffV()A//62%&5)
'<.')>#%5<'/)."#)7%/'"%=6'#7)/%2%4."4-).,"1//)4.-#"/)>%'<)
1
=  =
𝑁
0)3.,'1"/)
𝑛
)8.41&5)>%'<)'<#)
541=.4)3.,'1")
1
2 ln 2
;),.&)=#)"#21@#7)'<#).=1@#)#D$"#//%1&)>%'<16').P#,'%&5)'<#)/146'%1&)13)8f;()
G16$4#7)>%'<)'<#).=1@#),41/#7?31"2)#D$"#//%1&)31")'<#)$."'%.4)7#"%@.'%@#/0)1$'%2.4%'-),1&7%'%1&/)8e;)
4#&7)'<#2/#4@#/)&.'6".44-)'1)76.4)./,#&'?'-$#)2#'<17/)31")/14@%&5)$"1=4#2)8f;()]#)%7#.)=#<%&7)76.4)
./,#&')SfeV)%/)'1).4'#"&.'#4-)6$7.'#)'<#)$"%2.4)@."%.=4#/)
1
, . . . ,
𝑁
0).&7)'<#)76.4)0)<147%&5)1&#)/#')
LD#7)><%4#)6$7.'%&5)'<#)1'<#"()A3'#")%&%'%.4%C%&5)
1
=
2
= 
𝑁
= 0).&7))'1).)/2.44)$1/%'%@#)
&62=#"0)'<#)=%')7#$'</)8$"%2.4;).&7)'".7#?1P)876.4;)."#)6$7.'#7).')#@#"-)%'#".'%1&)./)
𝑛
clamp
1
2
log
2
𝑛
2
𝑛
2
, 0,
max
for = 1, . . . ,
 +
𝑛
𝑛
𝑁
𝑛=1
𝑛
𝑁
𝑛=1
(6)
%&)><%,<))7#&1'#/).)/'#$)/%C#)31")76.4)6$7.'#()N%'<)
𝑛
2
).&7)
𝑛
2
)LD#70)76.4)./,#&')/'#$/)(6)).4>.-/)
,1&@#"5#)>%'<%&).)3#>)%'#".'%1&/)8tol 10
6
bit;)31").)/6%'.=4-),<1/#&)/'#$)/%C#()g%56"#)*)%446/'".'#/)
'<#),1&7%'%1&/)31")1$'%2.4)=%')7#$'</).').&-)5%@#&)@.46#)13)'<#)76.4)@."%.=4#()W$1&),1&@#"5#&,#0)
𝑛
)
%/)"16&7#7)'1).&)%&'#5#").&7)6/#7)'1)B6.&'%C#)'<#)>#%5<')2.'"%D)
𝑛
)8A451"%'<2)*0)4&)**T*e;()
g1")'<#)$"%2.4)6$7.'#)%&)8d;0)1&#)F#-)B6#/'%1&)%/)<1>)'<#)5".7%#&')@."%.&,#)
𝑛
2
O'<#)@."%.&,#)13)'<#)
#4#2#&'/)13)
𝚯
𝑛
(,
1
, . . . ,
𝑁
)O/<1647)=#) .,,6264.'#7()A,,6264.'%&5)'<#/#) @."%.&,#/) .,"1//)
'<#)#&'%"#),.4%=".'%1&)/#').')#@#"-)%'#".'%1&)%/)$"1<%=%'%@#4-)#D$#&/%@#)5%@#&)'<#)7%2#&/%1&.4%'-)13)'<#)
16'$6')()
𝐿×𝐸
).&7)'<#),1/')13)=.,F?$"1$.5.'%&5)#.,<)13)%'/)#4#2#&'/)'<"165<)()a1)1@#",12#)
'<%/)7%\,64'-0)>#),.&)$#"31"2)!GA)1&)()).41&5)'<#)#2=#77%&5)7%2#&/%1&)813);).&7)/6=?/.2$4#)
.41&5)'<#)'1F#&)7%2#&/%1&)813);0).&7).,,6264.'#)@."%.&,#/)=-)=.,F?$"1$.5.'%&5)1&4-).)2%&%=.',<)
13),.4%=".'%1&)#D.2$4#/)#@#"-)3#>)%'#".'%1&/^)
𝑛
2
(1 )
𝑛
2
+ 
𝐗∼batch
𝑇
(
1
𝑞
(
1
), . . . ,
𝑁
𝑞
(
𝑁
))
𝑛
𝐹
2
for = 1, . . . ,
(7
%&)><%,<))7#&1'#/)'<#)4#."&%&5)".'#0).&7)
𝑇
).&7))"#$"#/#&')'<#)!GA)$"1j#,'%1&).&7)/6=?/.2$4%&5)
Figure 1: Optimal bit depths. Consider two weight matrices whose distortion functions are given by 𝑑
1
and
𝑑
2
,
where
𝑑
𝑛
(𝐵
𝑛
) = 𝐺
𝑛
2
𝑆
𝑛
2
2
2𝐵
𝑛
. For any given value of the dual variable
𝑉
, optimal bit depths
𝐵
1
and
𝐵
2
are
found where the derivative of 𝑑
1
and
𝑑
2
is
−𝑉 , respectively (left). ?ese points correspond to the intersections
between 𝑉
and
−𝑑
𝑛
= (2 ln 2)𝑑
𝑛
(center). Integerized bit depths occur on the rounded curves
−𝑑
𝑛
(right).
10
1
10
0
10
–1
0 1 2 3 4
Bit depth (𝐵)
Derivative of distortion
4
3
2
1
0
0 1 2 3 4
Normalized distortion
Bit depth (𝐵)
𝑑
2
𝑑
1
Feasible
region
𝑉 = 1
10
1
10
0
10
–1
0 1 2 3 4
Derivative of distortion
Bit depth (𝐵)
−𝑑
2
−𝑑
1
𝑉 = 1
𝑉 = 4
𝐵
1
𝐵
2
𝐵
2
𝐵
1
𝑉 = 1
𝑉 = 4
𝐵
2
−𝑑
2
−𝑑
2
!"#$"%&'(
) ) )
)
U)
1$#".'1"/0)"#/$#,'%@#4-()+&)$".,'%,#0)>#)36"'<#").,,#4#".'#)@."%.&,#).,,6264.'%1&)=-),-,4%&5)'<"165<)
!GA),1#\,%#&'/).&7)=.,F?$"1$.5.'%&5)1&4-)1&#),1#\,%#&')$#")/.2$4#)%&)#@#"-)=.',<()
f(Z i TEP iIZES AND hIASES)
i6$$1/#)&1>)'<#)>#%5<')2.'"%,#/)
1
, . . . ,
𝑁
)."#)'1)=#).//%5&#7)=%')7#$'</)
1
, . . . ,
𝑁
)8><%,<)."#)
&1')&#,#//."%4-)1$'%2.4(;)E6")&#D')B6#/'%1&)%/^)_1>)/<1647)'<#)B6.&'%C.'%1&)/'#$)/%C#)
𝑛
)=#)7#,%7#7)
5%@#&)=%')7#$'<)
𝑛
`)+&)'<#)"16&7?'1?&#."#/')/,<#2#)8kaQ0)g%56"#)Z0)4#3';0)
𝑛
)%/).4>.-/),<1/#&)/6,<)
'<.')'<#)B6.&'%C#"M/)2
𝐵
𝑛
)/'#$/)j6/'),1@#")'<#)#&'%"#)".&5#)13)>#%5<')@.46#/0).&7)'<%/)/'#$)/%C#)<.4@#/)
./)
𝑛
)%/)%&,"#./#7)=-)1&#()]#/#),"%'#"%.)1$'%2%C#)/'#$)/%C#/)><#&)>#%5<'/)."#)7%/'"%=6'#7)6&%31"24-)
.,"1//).)".&5#).&7)'<#)1=j#,'%@#)%/)'1)2%&%2%C#)7%/'1"'%1&)%&)B6.&'%C#7)>#%5<'/()_1>#@#"0)7%P#"#&')
,1&/%7#".'%1&/).$$4-)%3)16")1=j#,'%@#)%/)'1)2%&%2%C#)7%/'1"'%1&)%&)'<#)L&.4)#2=#77%&5/)./)%&)8*;()
+&)99:/0)'<#)#4#2#&'/)13).)>#%5<')2.'"%D)'-$%,.44-)#D<%=%').)<#.@-?'.%4#7)7%/'"%=6'%1&)SZfV0)><%,<)
"#&7#"/)$."'%'%1&%&5)'<#)#&'%"#)>#%5<')".&5#)%&'1)2
𝐵
𝑛
)#B6.4)/'#$/)/6=?1$'%2.4)#/$#,%.44-).')41>#")=%')
7#$'</)Sff0)fUV()E&#).4'#"&.'%@#)'1),12$6'.'%1&.44-)#D$#&/%@#)941-7T:.D)B6.&'%C.'%1&)Sfd0)fbV)%/)
,12$.&7#7)B6.&'%C.'%1&)SfYV0)><#"#)>#%5<'/)."#)6&%31"24-)B6.&'%C#7)%&)/12#)/%521%7)712.%&n)/##)
g%56"#)Z0),#&'#").&7)"%5<';()i%&,#)'<#)16'$6')#2=#77%&5/)."#)9.$4.,#)7%/'"%=6'#70)1&#)5117),<1%,#)
13),12$.&7%&5)36&,'%1&)31").)>#%5<')2.'"%D)
𝑛
)>%'<)C#"1)2#.&).&7)@."%.&,#)
2
)%/)5%@#&)=-)SffV^)
)
𝑐
() =
1 + sgn()
2
exp
2 abs()
3
(0, 1), (−, ),
8Y;)
'<.')%/0)'<#)&1"2.4%C#7),6=%,)"11')13)'<#),6264.'%@#)7%/'"%=6'%1&)36&,'%1&)31").)9.$4.,#)7%/'"%=6'%1&)
13)C#"1)2#.&).&7)@."%.&,#)
2
()]#),12$.&7#7)>#%5<'/)
𝑐
),.&)'<#&)=#)B6.&'%C#7)6/%&5)'<#)"16&7?
'1?&#."#/')/,<#2#)%&)'<#)".&5#)(0, 1)()]#)B6.&'%C.'%1&)%&7%,#/)."#)&1>)/%5&.4#7).41&5)>%'<)'<#)=%')
7#$'<)).&7)/,.4#))31")#\,%#&')7#B6.&'%C.'%1&)@%.)411F6$)'.=4#/O&1)&62#"%,.4)#@.46.'%1&)13)'<#)
%&@#"/#),12$.&7%&5)36&,'%1&)&##7)=#)$#"31"2#7()+&)$".,'%,#0))%/)'"#.'#7)./).)'6&.=4#)$.".2#'#").&7)
"#L&#7)#\,%#&'4-)1&).),1."/#)*[)5"%7)./).)$1/'?$"1,#//%&5)/'#$)1&,#)A451"%'<2)*)<./),12$4#'#7()
J6.&'%C.'%1&)%&@."%.=4-),.6/#/)/2.44)7#'#"2%&%/'%,)7%P#"#&,#/)'1)."%/#)=#'>##&)'<#)1"%5%&.4)8&1&?
B6.&'%C#7;)).&7)B6.&'%C#7)
𝑞
)>#%5<'/()N<%4#)'<#/#)#""1"/)."#)13'#&)217#4#7)./)C#"1?2#.&)&1%/#)
%&)'<#1"#'%,.4).&.4-/#/0)'<#-)."#)/#4712)C#"1?2#.&)%&)$".,'%,#).&7),.&)4#.7)'1)/-/'#2.'%,.44-)=%./#7)
217#4)16'$6'0)><%,<)/%5&%L,.&'4-)"#76,#/)$"#7%,'%1&).,,6".,-()a1),12$#&/.'#)31")'<#/#)&1&?C#"1)
7%P#"#&,#/0)>#),12$6'#)&#>)=%./)@#,'1"/)31")'<#)217#4)./)
𝑛
𝑞
𝑛
+ (
𝑛
𝑞
𝑛
))X
!
n
)#.,<)'%2#)'<#)
2.'"%D)
𝑛
)%/)B6.&'%C#7()_#"#0)X
!
n
)%/).)@#,'1")13)"6&&%&5)2#.&/)13)'<#)%&$6'/)'1)'<#)'<)4.-#"0)><%,<)
%/).,,6264.'#7)76"%&5)'<#)31">."7)$.//)%&).)2.&&#").&.41516/)'1)'<#).,,6264.'%1&)13)
𝑛
2
)76"%&5)'<#)
=.,F>."7)$.//()]#),1""#,'#7)=%./#/)
𝑛
𝑞
)."#)'<#&)6/#7)><#&#@#")'<#),1""#/$1&7%&5)B6.&'%C#7)>#%5<')
2.'"%,#/)
𝑛
𝑞
)."#)6/#7)76"%&5)5".7%#&')@."%.&,#).,,6264.'%1&).&7)%&3#"#&,#()
f(f : AT R I X !ARTITIONING)
k.'<#")'<.&)B6.&'%C#)1$'%2.44-).')'<#)5".&64."%'-)13).)><14#)>#%5<')2.'"%D0)>#),.&)/$4%')#.,<)2.'"%D)
Figure 2: Companding quantization. Illustrated for a 4-bit quantizer (16 bins) on Gaussian weights with a
mean of zero and a variance of one. Uniform quantization across the entire range of weight values (left) leads
to unduly large quantization bins (hence errors) for more probable values. Companding the weights to the range
(0,1) prior to uniform quantization (middle) reduces quantization errors for more probable weights (right).
1
0
–6 –3 0 3 6
4
2
0
–2
–4
0.2
0.1
0
–4 –2 0 2 4
Probability
Quantized value
Companded value
4
2
0
2
4
–4 –2 0 2 4
Probability
Compand-quantized value
0.2
0.1
0
Original weight
Original weight
Original weight
!"#$"%&'(
) ) )
)
d)
%&'1).),144#,'%1&)13)"1>)1"),1462&)2.'"%,#/0).//%5&%&5)1$'%262)=%')7#$'<).&7)/'#$)/%C#)'1)#.,<)/6=?
2.'"%D()+&)'<%/),./#0)'<#)'1'.4)&62=#")13)2.'"%,#/))%&)8f;),.&)=#)"#%&'#"$"#'#7)./)'<#)'1'.4)&62=#")
13)/6=?2.'"%,#/),144#,'#7).,"1//).44)4.-#"/0)>%'<)'<#)B6.&'%'%#/)
𝑛
0)
𝑛
).&7)
𝑛
0)/%2%4."4-)%&'#"$"#'#7)
./)'<#)=%'?7#$'<0)/'#$)/%C#).&7)&62=#")13)#4#2#&'/)13)'<#)'<)/6=?2.'"%D()Q1'#)'<.')B6.&'%C%&5).')'<#)
5".&64."%'-)13)"1>)1"),1462&)/6=?2.'"%,#/)71#/)&1')&1'%,#.=4-)%&,"#./#)'<#),12$4#D%'-)13)@."%.&,#)
.,,6264.'%1&)./)'<#)/.2#)/B6."#7)5".7%#&'/),12$6'#7)@%.)=.,F?$"1$.5.'%1&),.&)=#).@#".5#7)$#")
/6=?2.'"%D)'1)$"176,#)'<#),1""#/$1&7%&5)/6=?2.'"%D)@."%.&,#/()_#"#0)>%'<16')41//)13)5#&#".4%'-0)>#)
.//62#)'<.')#.,<)2.'"%D)%/)/$4%')%&'1).),144#,'%1&)13),1462&)2.'"%,#/()
g1").)>#%5<')2.'"%D))>%'<)5".7%#&').&7)>#%5<')@."%.&,#/)
2
).&7)
2
0)><1/#)$#"?,1462&)@."%.&,#/)
."#)
1
2
, . . . ,
𝑁
2
).&7)
1
2
, . . . ,
𝑁
2
0)"#/$#,'%@#4-0)'<#)'<#1"#'%,.4)5.%&)8.@#".5#)=%')7#$'<)/.@%&5/;)3"12)
$."'%'%1&%&5),.&)=#)#D$"#//#7)./)
)
partition
=
1
2
log
2
2
2
1
log
2
𝑛
2
𝑛
2
𝑁
𝑛=1
,)
8c;)
.)&1&?&#5.'%@#)B6.&'%'-)./).)7%"#,')"#/64')13)o#&/#&M/)%&#B6.4%'-()]%/)B6.&'%'-)"#$"#/#&'/)'<#)=%'?".'#)
8.@#".5#)=%'?7#$'<;)/.@%&5/)><#&)'<#)'<),1462&)%/).//%5&#7)
𝑛
=
1
2
log
2
(
𝑛
2
𝑛
2
) + )=%'/)31")/12#)
0),12$."#7)'1).//%5&%&5).)6&%31"2)=%')7#$'<)
𝑛
=
1
2
log
2
(
2
2
) + )=%'/).,"1//).44),1462&/)6&7#")
'<#).//62$'%1&)'<.')'<#)>#%5<'/)13)%'/)),1462&/)."#)%7#&'%,.44-)7%/'"%=6'#7()g%56"#)f)84#3';)$41'/)'<#)
$#"?2.'"%D)=%'?7#$'<)/.@%&5/)7#"%@#7)=-)$."'%'%1&%&5)'<#)8Q, K, V).&7 O;)$"1j#,'%1&)2.'"%,#/)13)'<#)
E!a?*ZU2)217#4)=-)"1>/)1"),1462&/()]#)$#"?,<.&&#4)="#.F71>&)13)'<#)/.@%&5/)%/).4/1)/<1>&()
+&).77%'%1&)'1)$"%2."-)/$4%''%&5)13)2.'"%,#/)%&'1),1462&/0)>#)2.-)>.&')'1)36"'<#")/$4%')#.,<),1462&)
%&'1).)LD#7)&62=#")13)5"16$/)13)>#%5<')#4#2#&'/)5%@#&)'<#)=#&#L'/)13)"1>)$."'%'%1&%&5)./)>#44()a1)
/$4%')'<#),1462&/)13).)>#%5<')2.'"%D)
𝑁×𝑁
0)1&#),.&)/%2$4-),46/'#")%'/)"1>/)%&'1))/%2%4."4-)
/%C#7)5"16$/)=./#7)1&)'<#%")"1>)@."%.&,#/)
1
2
1
2
, . . . ,
𝑁
2
𝑁
2
()h-).$$4-%&5)'<#)/.2#),46/'#"%&5)'1).44)
,1462&/)13).)2.'"%D0)>#),.&)/%5&.4)'<#),46/'#")%&7#D)31")#.,<)"1>)6/%&5)log
2
)=%'/O.)&#54%5%=4#)
$#"?>#%5<')1@#"<#.7)31").)'-$%,.4)&62=#")13),1462&/)%&).)4."5#)2.'"%D).&7)'<#)&62=#")13)5"16$/)
6/#7)%&)$".,'%,#()N#)%446/'".'#)$."'%'%1&%&5).&7)/6=7%@%/%1&)%&)g%56"#)e()a.=4#)Z)8,;)4%/'/)'<#).,,6".,-)
13)E!a)217#4/)B6.&'%C#7)6/%&5)7%P#"#&')&62=#"/)13)"1>),46/'#"/0)7#21&/'".'%&5)'<.'),46/'#"%&5)%&)
.77%'%1&)'1)$."'%'%1&%&5)%/),"6,%.4)31")%2$"1@#7)217#4).,,6".,-()
4 QUANTIZATION EXPERIMENTS
a1)/'67-)'<#)=#<.@%1")13)B6.&'%C#7)99:/)1&)'-$%,.4)4.&56.5#)'./F/0)>#).$$4-)GHIJ)8A451"%'<2)*;)
'1):#'.M/)E$#&)!"#'".%&#7)a".&/31"2#")8E!a;)SfcV).&7)94.2.)Z)SeXV)3.2%4%#/)13)4.&56.5#)217#4/)
8<655%&53.,#)@#"/%1&/;)1&)4.&56.5#)217#4%&5).&7)2.'<#2.'%,/)$"1=4#2)/14@%&5)'./F/()N#) /16",#)
,.4%=".'%1&)#D.2$4#/)3"12)'<#)'".%&%&5)/$4%')13)'<#)Ge)7.'./#')Se*V)31")=1'<)'./F/).&7)@.4%7.'#)1&)'<#)
'#/')/$4%')13)N%F%a#D'Z)7.'./#')SeZV)31")4.&56.5#)217#4%&5).&7)Ri:Yp)SefV)31")2.'<)$"1=4#2/()A)
&62=#")13)/'67%#/)1&)<-$#"$.".2#'#")'6&%&5)."#).4/1),1&76,'#7)6/%&5)'<#)Ge)7.'./#'()
Language Modeling.)A/)16")2.%&)/#')13)#D$#"%2#&'/0)>#)B6.&'%C#):#'.M/)E!a).&7)94.2.)Z)217#4/)
'1)f).&7)e)=%'/0).&7)2#./6"#)'<#)$#"31"2.&,#)13)'<#)B6.&'%C#7)217#4/)6/%&5)$#"$4#D%'-0).)/'"%&5#&')
.,,6".,-)2#'"%,()N#)6/#)"1>),46/'#"/)>%'<),46/'#")/%C#)13)U*Z)31")E!a)8bdY)31")E!a?*ZU:;).&7)ZUd)
Figure 3: Bit savings from partition. Plotted for OPT-125m. Bit savings are derived by partitioning weight
matrices into a collection of row or column matrices and assigning each sub-matrix its own bit depth. Savings
differ across the (𝑄
,
𝐾
,
𝑉
and
𝑂) projection matrices of the model’s 12 transformer blocks (left). Per-column
(middle) and per-row (right) bit savings can sometimes dip below zero but are always positive on average.
4
3
2
1
0
0 1 2 3 4 5 6 7 8 9 1011
Per-matrix bit savings
Transformer block index
)
Row
Column
Per-column bit savings
0 192 384 576 768
6
4
2
0
–2
Sorted column index
Column partition
Average
𝑉 proj (block 0)
6
4
2
0
–2
0 192 384 576 768
Per-row bit savings
Sorted row index
Row partition
Average
𝑉 proj (block 0)
!"#$"%&'(
) ) )
)
b)
31")94.2.)Z)217#4/0).,,6264.'%1&)=.',<)/%C#)13)*d0).&7)*b)'1F#&/)3"12)#.,<)/#B6#&,#)13)'1F#&/)13)
4#&5'<)ZXeY0).&7)1$'%2%C#)31")de)%'#".'%1&/)2.D%262()a.=4#)*) 4%/'/)'<#)$#"$4#D%'-) 13)16")B6.&'%C#7)
217#4/)8GHIJ;)1&)'<#)N%F%a#D'Z)'#/')/#'()N<%4#)>#)$#"31"2)B6.&'%C#7)217#4)/#4#,'%1&)=./#7)1&)
'<#)N%F%a#D'Z)@.4%7.'%1&)/#'0)/#4#,'%&5)'<#)4./')B6.&'%C#7)217#4)$"176,#/)/%2%4.")'#/').,,6".,-()g1")
,12$."%/1&0)>#)%&,467#)'<#)$#"$4#D%'%#/)13)'<#)/.2#)217#4/)B6.&'%C#7)>%'<)"16&7?'1?&#."#/'0)R!aJ)
SYV0)ENJ)ScV0).&7)ANJ)S*ZV)2#'<17/0)6/%&5)'<#),17#)$"1@%7#7)=-)'<#)"#/$#,'%@#).6'<1"/).&7)>%'<)
'<#)7#3.64')B6.&'%C.'%1&).&7)1$'%2%C.'%1&)<-$#"$.".2#'#"/n)/##)A$$#&7%D)h()G12$."#7)'1)'<#)&#D')
=#/')$#"31"2%&5)2#'<17/)ENJ).&7)ANJ0)'<#)$"1$1/#7)2#'<17)$"1@%7#/).)$#"$4#D%'-)"#76,'%1&)13)
6$)'1)e(UU)31")'<#)f?=%')E!a?*ZU:)217#4).4'<165<).)2%&1")$#"$4#D%'-)5.%&)8X(X*TX(XZ;)%/)1=/#"@#7)
31")f?=%')E!a?ddh).&7)94.2.)Z)bXh)217#4/()Q1'#)'<.')ANJ)%&)'<%/),12$."%/1&)6/#/).)5"16$)/%C#)
13)*ZY0)%&,6""%&5)ZTe)'%2#/)./)2.&-)1@#"<#.7)=%'/)./)'<#)$"1$1/#7)2#'<170).&7)ENJ)=-)%'/)&.'6"#)
1$#".'#/).').@#".5#)$#"?>#%5<')=%')7#$'</)'<.')."#)X(X*TX(XU)=%'/)<%5<#")'<.&)'<#)$"1$1/#7)2#'<17(
Effect of Hyperparameters.)a1)/'67-)'<#)#P#,')13)GHIJ)<-$#"$.".2#'#"/)1&)'<#).,,6".,-)13)'<#)
B6.&'%C#7)217#4/0)>#)B6.&'%C#)'<#)E!a?*(fh).&7)?*fh)217#4/)1@#").)".&5#)13)2%&%=.',<)/%C#/).&7)
'1F#&),16&'/)81$'%2%C.'%1&)<-$#"$.".2#'#"/;).&7),46/'#")/%C#/)8B6.&'%C.'%1&)<-$#"$.".2#'#";0)>%'<)
#.,<)<-$#"$.".2#'#")@."%#7)><%4#)F##$%&5)'<#)1'<#"/)LD#7).')'<#%")1$'%2%C#7)@.46#/()8]#)1$'%2.4)
<-$#"$.".2#'#")@.46#/)."#)=.',<)/%C#^)*d0)'1F#&),16&'^)*b0).&7),46/'#")/%C#^)U*Z(;)]#)$#"$4#D%'-)13)
'<#)B6.&'%C#7)217#4/)%/)'<#&)2#./6"#7)1&)'<#)Ge)'#/')7.'.()a.=4#)Z)8.T=;)7#21&/'".'#/)'<.')GHIJ)
%/)4."5#4-)%&/#&/%'%@#)'1)'<#)@.46#/)13)1$'%2%C.'%1&)<-$#"$.".2#'#"/)1@#").)>%7#)".&5#()g"12)a.=4#)
Z)8,;0)>#)/##)'<.')/2.44#"),46/'#")/%C#/)5#&#".44-)%2$"1@#)'<#)$#"31"2.&,#)13)'<#)B6.&'%C#7)217#4/)
.')41>#").@#".5#)=%')7#$'</0)=6')'<%/).4/1)4#.7/)'1)<%5<#")1@#"<#.7/)87%/,6//#7)&#D';()g%56"#)U)$41'/)
B6.&'%C#7)217#4).,,6".,-).,"1//)1$'%2%C.'%1&)%'#".'%1&/)><#&)'<#)=./#4%&#)<-$#"$.".2#'#")@.46#/)
."#)6/#70)/<1>%&5)'<.')4#//)'<.&)*X)%'#".'%1&/)."#)&##7#7)31")B6.&'%C.'%1&)$.".2#'#"/)8,46/'#"%&5).&7)
=%')7#$'<)7#,%/%1&/;)'1),1&@#"5#())
Pruning Due to Quantization.)GHIJ)B6.&'%C#/)41>?@."%.&,#)>#%5<'/)13)>#%5<')2.'"%,#/)'1)C#"1)
.&7)#P#,'/).)31"2)13)>#%5<')$"6&%&50)><%,<)<./)=##&)/<1>&)'1)%2$"1@#)5#&#".4%C.'%1&)Sf*V()a.=4#)
f)8.;)4%/'/)'<#)$#",#&'.5#/)13)C#"1?B6.&'%C#7)>#%5<'/)%&)'<#)E!a?*(fh).&7)*fh)217#4/)B6.&'%C#7)'1)
f).&7)e)=%'/)$#")>#%5<')1&).@#".5#()+&)5#&#".40)6/%&5).)/2.44#"),46/'#")/%C#)%&,"#./#/)'<#)&62=#")13)
C#"1)>#%5<'/)/%&,#)'<%/).441>/)41>?@."%.&,#)>#%5<'/)%&).)5%@#&),1462&)'1)=#),46/'#"#7)'15#'<#").&7)
B6.&'%C#7)'1)C#"1()_1>#@#"0)/2.44#"),46/'#"/)4#.7)'1)<%5<#")1@#"<#.7/)/1)'<.')/2.44)%2$"1@#2#&'/)
%&)5#&#".4%C.'%1&)76#)'1)$"6&%&5),12#).')'<#),1/')13)/%5&.4%&5)'<#)1@#"<#.7)=%'/()a.=4#)f)8=;)4%/'/)'<#)
&62=#")13)1@#"<#.7)=%'/)8,46/'#")%&7%,#/).&7)g!*d)#&,17%&5/)13)'<#)41,.'%1&).&7)/,.4#)$.".2#'#"/)
13)#.,<)>#%5<'),46/'#";)./).)$#",#&'.5#)13)'<#)'1'.4)&62=#")13)B6.&'%C#7)>#%5<')=%'/()
Downstream Tasks (Grade School Math 8K).)a1)/'67-)'<#)%2$.,')13)B6.&'%C.'%1&)1&)71>&/'"#.2)
'./F/0)>#)4%/')%&)a.=4#)e)8.;)'<#).,,6".,-)13)GHIJ?B6.&'%C#7)94.2.?Z)217#4/)1&)'<#)Ri:Yp)8R".7)
i,<114):.'<)Yp;)'./F)SefV0)7#/%5&#7)'1)#@.46.'#)'<#).=%4%'-)13)4.&56.5#)217#4/)'1)/14@#)5".7#?4#@#4)
2.'<)>1"7)$"1=4#2/()q@.46.'%1&)%/)$#"31"2#7)%&).)U?/<1')/#'6$)8K#D%=4#?#D'".,')L4'#";()g1").)3.%"#")
#@.46.'%1&0)>#)2.',<)'<#)5"16$)/%C#)13)R!aJ).&7)ANJ)'1)16"),46/'#")/%C#)13)ZUd()N#)1=/#"@#)'<.')
GHIJ)$"176,#/)"#4.'%@#4-)<%5<)/,1"#/)#/$#,%.44-)31")f?=%')B6.&'%C#7)217#4/)><#"#./)kaQ)4#.7/)'1)
/#@#"#4-)"#76,#7)/,1"#/)7#/$%'#)<.@%&5).)/%2%4.")$#"$4#D%'-)./)GHIJ)1&)N%F%a#D')Z)8a.=4#)*;()
2.x-bit Llama-2.)N#)/'67-)'<#).,,6".,-)13)94.2.)Z)217#4/)B6.&'%C#7)'1)Z(D)=%'/)6/%&5)GHIJ).&7)
ENJ0)=1'<)13)><%,<)."#),.$.=4#)13)B6.&'%C%&5)217#4/)'1)3".,'%1&.4).@#".5#)=%')7#$'</()a1)#&.=4#).)
21"#),12$"#<#&/%@#)/'67-0)>#),12$."#).5.%&/')ENJ)>%'<)&1)5"16$%&50)./)>#44)./)>%'<)5"16$)/%C#/)
13)*ZY).&7)ZUd()N#)/##)3"12)a.=4#) e)8=;)'<.')GHIJ?B6.&'%C#7)94.2.?Z)217#4/)."#),1&/%7#".=4-)
𝐵
0
= 5 bits
𝐵
:,2
= 6 bits
𝐵
:,1
= 2 bits
𝐵
:,2
= 6 bits
𝐵
1,2
𝐵
1,1
𝐵
1,2
𝐵
2,2
𝐵
2,1
𝐵
2,2
𝐵
3,2
𝐵
3,1
𝐵
3,2
𝐵
4,2
𝐵
4,1
𝐵
4,2
𝐵
1,:
= 4 bits
𝐵
2,:
= 1 bits
𝐵
3,:
= 3 bits
𝐵
4,:
= 2 bits
(a) No partitions or clusters (b) Row partitioning (c) Column clustering (d) Partition and cluster
No clusters No clusters Clusters 1 2 1 2 Clusters 1 2 1 2
1
2
3
4
1
2
3
4
Row partition
Row partition
No partitions
No partitions
Figure 4: Partitioning and clustering. Illustrated for a 4 × 4 weight matrix. Rather than assign the same bit
depth to all elements of a weight matrix (a), we can assign a separate bit depth to each row of weights (b), or
to a cluster of columns (c), and even combine partitioning and clustering (d) to realize bit savings.
!"#$"%&'(
) ) )
)
Y)
21"#).,,6".'#).')'<#/#)=%')7#$'</)'<.&)'<#%")ENJ),16&'#"$."'/()]%/)%/)#D$#,'#7)/%&,#)GHIJ).//%5&/)
=%')7#$'</)3"12)'<#)".&5#)(0,
max
)),122#&/6".'#4-)>%'<)5".7%#&')@."%.&,#/)><#"#./)ENJ)/%2$4-)
$"#/#"@#/).)LD#7)&62=#")13)<%5<?@."%.&,#)>#%5<'/)%&)*d)=%'/)8g!*d;).&7)B6.&'%C#/)'<#)"#/')'1)Z)=%'/()
Table 4: Grade School Math 8K (GSM8K) and 2.x-bit quantization. Quantized model accuracy translates
to performance on tasks such as GSM8K (cluster size of 256 is used) (a). Quantized to 2.x bits per weight on
average, CVXQ provides a significant perplexity reduction compared to OWQ models quantized to the same.
(a) Percentage score of correct answers on GSM8K (b) Perplexity of 2.1–2.8 bit-quantized models
Score (%)
GSM8K ()
Llama 2 (4 bits)
Llama 2 (3 bits)
7B
13B
70B
7B
13B
70B
FP16
14.10
23.43
53.90
14.10
23.43
53.90
RTN
7.05
19.11
46.93
1.82
1.67
6.14
GPTQ/256
11.60
21.46
52.01
6.60
14.48
46.47
AW Q/256
14.33
23.12
50.34
6.97
16.76
48.07
CVXQ/256
12.74
23.05
53.37
8.87
18.04
48.60
Perplexity
WikiText2 ()
Llama 2 7B (2.1–2.8 bits)
2.1
2.2
2.4
2.6
2.8
FP16
5.47
5.47
5.47
5.47
5.47
OWQ [9]
39.56
11.25
10.79
10.43
10.24
OWQ/256
10.34
10.01
9.98
9.50
9.26
OWQ/128
10.01
9.66
9.42
9.38
9.14
CVXQ/256
9.47
8.39
7.05
6.56
6.21
Table 3: Pruning and overhead bits due to quantization. A small fraction of weights are quantized to zero
and pruned away due to low variance, with smaller clusters increasing the degree of pruning (a). Quantization
incurs overhead bits for signaling cluster indices and location and scale parameters of each weight cluster (b).
(a) Pruned columns (%) in quantized models (b) Overhead bits (%) from quantization parameters
Overhead
bits (%)
OPT (4 bits)
OPT (3 bits)
350M
1.3B
13B
350M
1.3B
13B
30B
Cluster size
64
10.33
10.30
10.28
13.77
13.73
13.71
13.70
128
5.18
5.16
5.15
6.91
6.88
6.87
6.86
256
2.60
2.59
2.58
3.47
3.45
3.44
3.44
512
1.30
1.30
1.30
1.73
1.73
1.73
1.72
1024
0.64
0.65
0.65
0.85
0.87
0.87
0.86
Pruned
(%)
OPT (4 bits)
OPT (3 bits)
350M
1.3B
13B
350M
1.3B
13B
Cluster size
64
0.57
2.13
2.18
0.64
3.70
3.12
128
0.61
2.19
2.31
0.68
3.81
3.04
256
0.67
2.10
2.16
0.69
3.06
2.69
512
0.68
2.07
2.00
0.70
2.85
2.57
1024
0.68
2.08
1.92
0.70
2.39
2.26
Table 2: Effect of hyperparameters on quantized model accuracy. Quantized model accuracy is relatively
insensitive to the batch size (a) and number of tokens per sequence (b) used for optimization. Smaller clusters
improve quantized model accuracy at lower average bit depths (c). Perplexity measured on the C4 test set.
(a) Minibatch size and PPL (b) Number of tokens and PPL (c) Cluster size and PPL
PPL
C4 ()
OPT (4 bits)
OPT (3 bits)
1.3B
13B
1.3B
13B
FP16
16.07
12.06
16.07
12.06
Batch size
2
16.24
12.12
16.94
12.36
4
16.24
12.12
16.94
12.35
8
16.25
12.11
16.90
12.34
16
16.22
12.11
16.86
12.32
32
16.24
12.12
16.88
12.36
PPL
C4 ()
OPT (4 bits)
OPT (3 bits)
1.3B
13B
1.3B
13B
FP16
16.07
12.06
16.07
12.06
Cluster size
64
16.16
12.10
16.62
12.26
128
16.17
12.10
16.70
12.29
256
16.20
12.10
16.77
12.32
512
16.22
12.11
16.86
12.32
1024
16.23
12.11
16.99
12.42
PPL
C4 ()
OPT (4 bits)
OPT (3 bits)
1.3B
13B
1.3B
13B
FP16
16.07
12.06
16.07
12.06
Num tokens
3
16.40
12.29
17.05
12.47
5
16.28
12.18
16.93
12.37
9
16.24
12.12
16.91
12.35
17
16.22
12.11
16.86
12.32
33
16.21
12.10
16.87
12.34
Perplexity (PPL)
WikiText2 ()
Meta OPT (Open Pretrained Transformer)
Meta Llama 2
125M
350M
1.3B
2.7B
6.7B
13B
30B
66B
7B
13B
70B
Full precision (FP16)
27.65
22.00
14.63
12.47
10.86
10.13
9.56
9.34
5.47
4.88
3.32
4 bits
RTN
37.28
25.94
48.17
16.92
12.10
11.32
10.98
111.36
5.73
4.98
3.46
GPTQ [8]
32.05
23.87
15.47
12.83
11.14
10.29
9.57
9.34
5.69
4.98
3.42
OWQ [9] (4.01 bits)
29.47
23.19
15.01
12.39
10.87
10.26
9.50
9.25
5.63
5.01
3.43
AW Q [ 10]
29.11
14.95
12.74
10.93
10.22
9.59
9.39
5.60
4.97
3.41
CVXQ (Ours)
27.90
22.89
14.20
12.12
10.52
10.08
9.45
9.21
5.57
4.97
3.40
3 bits
RTN
1284.92
64.57
119.47
298.00
23.54
46.04
18.80
6122.33
6.66
5.52
3.98
GPTQ [8]
53.43
32.28
20.90
16.55
12.88
11.58
10.29
9.90
6.43
5.48
3.88
OWQ [9] (3.01 bits)
35.26
26.59
16.40
13.21
11.21
11.48
9.59
9.28
6.21
5.36
3.77
AW Q [ 10]
36.77
16.32
13.54
11.41
10.67
9.85
9.63
6.24
5.32
3.74
CVXQ (Ours)
30.71
25.96
14.75
12.42
11.07
10.28
9.56
9.29
6.00
5.25
3.76
Table 1: WikiText2 perplexity. We quantize the Meta OPT and Llama 2 families of LLMs to 3–4 bits using
the proposed quantization method, reporting the resulting perplexity of each quantized model on the WikiText2
dataset (test). For comparison, we also list the perplexities of models quantized using other approaches.
!"#$"%&'(
) ) )
)
c)
5 DISCUSSION
g1"264.'%&5)>#%5<')B6.&'%C.'%1&)./).),1&@#D)1$'%2%C.'%1&)$"1=4#20)./)>#)<.@#)71&#)<#"#0)=#/'1>/)
/#@#".4)=#&#L'/()g%"/'0)%')#D$4%,.'#/)'<#)1=j#,'%@#)>#)/##F)'1)1$'%2%C#)82%&%2%C%&5)16'$6')7%/'1"'%1&)
%&)16"),./#;).&7)/#'/)6/)1&).)$.'<)'1)/14@#)'<#)"%5<')$"1=4#2)6/%&5)217#"&).6'12.'%,)7%P#"#&'%.'%1&)
'114/)#(5()!-a1",<M/).6'15".7)$.,F.5#()i#,1&70)16")31"264.'%1&)#&.=4#/)6/)'1)%&'#"$"#')2.&-)13)'<#)
$"#@%16/)_#//%.&?=./#7).$$"1.,<#/)SYT**V)./)<#6"%/'%,/)31").$$"1D%2.'#)1$'%2%C.'%1&)13)'<#)'"6#)
6&7#"4-%&5)1=j#,'%@#()Q1'#)'<.')8Z;)%/).)&1&4%&#.")/-/'#2)13)#B6.'%1&/)%&)=%')7#$'<)@."%.=4#/0)/1).&-)
&1&?%'#".'%@#)/146'%1&)%/)&#,#//."%4-)1&4-).&).$$"1D%2.'#)1&#)%3)1&#M/)51.4)%/)'1)1$'%2%C#).&)1=j#,'%@#)
/%2%4.")'1)8Z;()+')%/)%&'#"#/'%&5)'1)/##)'<.')"#,#&')<%5<?$#"31"2%&5)217#4)B6.&'%C.'%1&)2#'<17/)SbTcV)
,.&)64'%2.'#4-)'".,#)'<#%")4%&#.5#)=.,F)'1)'<#),4.//%,)E$'%2.4)h".%&)i6"5#1&)Sf*V).451"%'<20)><%,<)
%/).),1&@#D)31"264.'%1&)31")>#%5<')$"6&%&5)./)1$$1/#7)'1)B6.&'%C.'%1&())
E6")#D$#"%2#&'.4)"#/64'/)%&7%,.'#)'<.').&).,,6".'#),<.".,'#"%C.'%1&)13)'<#)B6.&'%C.'%1&)$"1=4#2),.&)
%&7##7)4#.7)'1)=#''#"),12$"#//%1&)16',12#/()N<%4#)'<#)/2.44#")E!a?*ZU:)217#4)%/)'11)4%2%'#7)31")
$".,'%,.4)6/#)%&)2.&-)/%'6.'%1&/0)%'/)"#4.'%@#)%&,12$"#//%=%4%'-)<#4$/),1&'"./')'<#)$#"31"2.&,#)13)'<#)
7%P#"#&')>#%5<')B6.&'%C.'%1&)2#'<17/)'<#2/#4@#/)8a.=4#)*;()N%'<)4."5#")217#4/)4%F#)E!a?ddh).&7)
94.2.)Z?ddh0)21/').$$"1.,<#/)8%&,467%&5)kaQ;)$#"31"2)/%2%4."4-0)/655#/'%&5)'<.')4."5#")4.&56.5#)
217#4/)."#)21"#),12$"#//%=4#)%&)5#&#".4()A')L"/')54.&,#0)kaQ)2.-)/##2)/6\,%#&')31")B6.&'%C%&5)
4."5#")217#4/()_1>#@#"0)kaQ?B6.&'%C#7)217#4/)4#.7)'1)/#@#"#4-)"#76,#7).,,6".,-)1&)71>&/'"#.2)
'./F/)/6,<)./)Ri:Yp)8a.=4#)e)8.;;0)><%,<)<%5<4%5<'/)'<#)%2$1"'.&,#)13)@.4%7.'%&5)'<#).,,6".,-)13)
B6.&'%C#7)217#4/).,"1//)264'%$4#)'./F/).&7)7.'./#'/()
Limitations and future work. +&).)/#&/#0)'<#)#&7?'1?#&7)&.'6"#)13)16")1$'%2%C.'%1&).451"%'<2),.&)
.4/1)=#)%'/)1>&)>#.F&#//0)./),1&@#"5#&,#),.&)=#)/41>#")31")41>?=%')8Z)=%';)%&/'.&,#/)13)$"1=4#2)8f;)
.&7)'<#).451"%'<2),.&)"#B6%"#)21"#)<."7>."#)"#/16",#/)'<.&)$"#@%16/)2#'<17/()qD'#&/%1&/),6""#&'4-)
6&7#">.-)31")>#%5<')B6.&'%C.'%1&)%&,467#)3./'#")1$'%2%C#"/).&7)1$'%2.4),12$.&7#")7#/%5&()W&4%F#)
R!aJ).&7)%'/)#D'#&/%1&/0)'<#)$"1$1/#7)2#'<17)/$#&7/)21/')13)%'/)"6&&%&5)'%2#)1&)'<#),144#,'%1&)13)
,<.&&#4)/'.'%/'%,/)8/B6."#/)13)5".7%#&'/;).&7)@#"-)4%''4#)'%2#)1&)'<#).,'6.4)B6.&'%C.'%1&)$"1,#//()]%/)
.441>/)6/)'1).$$4-)GHIJ).4/1)'1).,'%@.'%1&)B6.&'%C.'%1&0)%&)><%,<)B6.&'%C.'%1&)#\,%#&,-)=#,12#/)
$.".216&'()N#)7%/,6//).,'%@.'%1&)B6.&'%C.'%1&).&7)1'<#")GW[A)%2$4#2#&'.'%1&?/$#,%L,)7#'.%4/)%&)
16")/#B6#4O!."')Z^)A,'%@.'%1&)J6.&'%C.'%1&())
ACKNOWLEDGMENTS
+3)-16)<.@#)316&7)'<%/)>1"F)6/#3640)$4#./#),1&/%7#")5%3'%&5),12$6'.'%1&.4)"#/16",#/)'1)/6$$1"')16")
1&51%&5)"#/#.",<)#P1"'/()]#).6'<1")#D$"#//#/)<%/)/%&,#"#)5".'%'67#)31")'<#),12$6'#),46/'#")F%&74-)
2.7#).@.%4.=4#)31")6/#)=-)'<#):.//.,<6/#''/)9%3#)i,%#&,#/)G#&'#")8:9iG;()
REFERENCES
) S*V) :."F6/)Q.5#40)k.&.)A4%)A2j.70):."')H.&)h..4#&0)G<"%/'1/)916%C1/0).&7)a%j2#&)h4.&F#@11"'()
W$)1")71>&`)A7.$'%@#)"16&7%&5)31")$1/'?'".%&%&5)B6.&'%C.'%1&()+&)Proc. ICML0)ZXZX()
Figure 5: Test perplexity across iterations. Calibrated on C4 (train) using a minibatch size of 16. Row clusters
used with a cluster size of 512. Perplexity decreases rapidly within the first 30 iterations, monotonically for C4
(test), whose distribution is similar to the calibration data, and with some oscillations for WikiText2 (test).
Test Perplexity
16
15
14
13
12
0 10 20 30 Iter
C4
C4 (Full)
OPT-2.7B (4 bits)
WT2 (Full)
14
13
12
11
10
0 10 20 30 Iter
Test Perplexity
OPT-6.7B (4 bits)
WT2
C4
C4 (Full)
WT2 (Full)
Test Perplexity
13
12
11
10
9
0 10 20 30 Iter
OPT-30B (3 bits)
WT2
C4
C4 (Full)
WT2 (Full)
!"#$"%&'(
) ) )
)
*X)
) SZV) +'.-) _6=.".0) r6"-) Q.</<.&0)r.%") _.&.&%0) k1&) h.&&#"0) .&7) [.&%#4) i167"-()A,,6".'#) $1/')
'".%&%&5)B6.&'%C.'%1&)>%'<)/2.44),.4%=".'%1&)/#'/()+&)Proc. ICML0)ZXZ*()
) SfV) r6< .&5 )9 %0)k6%<.1)R1&50)I6)a.&)#').4()hkqGJ^)!6/<%&5)'<#)4%2%')13)$1/'?'".%&%&5)B6.&'%C.'%1&)
=-)=41,F)"#,1&?/'"6,'%1&0)+&)Proc. ICLR0)ZXZ*()
) SeV) a%2)[#''2#"/0):%F#)9#>%/0)r16&#/)h#4F.7.0).&7)96F#)s#''4#21-#"()R!af(%&'Y8;^)Y?=%')2.'"%D)
264'%$4%,.'%1&)31")'".&/31"2#"/).')/,.4#()+&)Proc. NeurIPS0)ZXZZ()
) SUV) s<#>#%)r.10)k#C.)r.C7.&%)A2%&.=.7%0):%&j%.)s<.&50)I%.1D%.)N60)G1&541&5)9%0).&7)r6D%1&5)
_#()s#"1J6.&'^)q\,%#&').&7).P1"7.=4#)$1/'?'".%&%&5)B6.&'%C.'%1&)31")4."5#?/,.4#)'".&/31"2#"/()
+&)Proc. NeurIPS0)ZXZZ()
) SdV) R6.&5D6.&) I%.10) o%) 9%&0) :%,F.#4) i#C&#,0) _.1) N60) o64%#&) [#216'<0) .&7) i1&5) _.&()
i211'<J6.&'^)A,,6".'#).&7)#\,%#&')$1/'?'".%&%&5)B6.&'%C.'%1&)31")4."5#)4.&56.5#)217#4/()+&)
Proc. ICML0)ZXZf()
) SbV) q4%./)g".&'."0).&7)[.&)A4%/'."<()E$'%2.4)h".%&)G12$"#//%1&^)A)3".2#>1"F)31").,,6".'#)$1/'?
'".%&%&5)B6.&'%C.'%1&).&7)$"6&%&5()+&)Proc. NeurIPS0)ZXZZ()
) SYV) q4%./) g".&'."0) i.4#<) A/<F=11/0) a1"/'#&) _1#K#"0) .&7) [.&) A4%/'."<() E!aJ^) A,,6".'#)
B6.&'%C.'%1&)31")5#&#".'%@#)$"#?'".%&#7)'".&/31"2#"/()+&)Proc. ICLR0)ZXZZ()
) ScV) G<.&5<6&)9##0)o6&5-6)o%&0)a.#/6)p%20)_-6&5j6&)p%20).&7)q6&<-#1F)!."F()ENJ^)E6'4%#"?
.>."#)>#%5<')B6.&'%C.'%1&)31")#\,%#&')L&#?'6&%&5).&7)%&3#"#&,#)13)4."5#)4.&56.5#)217#4/()+&)
Proc. AAAI0)ZXZe()
)S*XV) s<#&) [1&50) s<#>#%)r.10)A2%")R<14.2%0) :%,<.#4)N():.<1&#-0).&7)p6"')p#6'C#"()_ANJ^)
_#//%.&)AN."#)J6.&'%C.'%1&)13)&#6".4)&#'>1"F/)>%'<)2%D#7?$"#,%/%1&()+&)Proc.)ICCV0)ZX*c()
)S**V) N#%<.&)G<#&0)!#%/1&5)N.&50).&7)o%.&)G<#&5()a1>."7/)2%D#7?$"#,%/%1&)B6.&'%C.'%1&)13)&#6".4)
&#'>1"F/)@%.),1&/'".%&#7)1$'%2%C.'%1&()+&)Proc ICCV0)ZXZ*()
)S*ZV) o%)9%&0)o%.2%&5)a.&50)_.1'%.&)a.&5)#').4()ANJ^)A,'%@.'%1&?.>."#)N#%5<')J6.&'%C.'%1&)31")1&?
7#@%,#)99:),12$"#//%1&).&7).,,#4#".'%1&()+&)Proc. MLSys0)ZXZe()
)S*fV) i#<11&)p%2)#').4()iB6##C#99:^)[#&/#?.&7?/$."/#)B6.&'%C.'%1&()+&)Proc. ICML0)ZXZe()
)S*eV) N#&B%) i<.1) #') .4() E2&%J6.&'^) E2&%7%"#,'%1&.44-) ,.4%=".'#7)B6.&'%C.'%1&)31")4."5#)4.&56.5#)
217#4/()+&)Proc. ICLR0)ZXZe()
)S*UV) a%2)[#''2#"/)#').4()i$Jk^)A)i$."/#?J6.&'%C#7)k#$"#/#&'.'%1&)31")&#."?41//4#//)99:)>#%5<')
,12$"#//%1&()http://arxiv.org/abs/2306.030780)ZXZf()
)S*dV) H%&,#&') H.&<16,F#0) A&7"#>) i#&%1"0) .&7) :."F) s() :.1() +2$"1@%&5) '<#) /$##7) 13) &#6".4)
&#'>1"F/)1&)G!W/()+&)Proc. NIPS Worksh o ps0)ZX**()
)S*bV) A1j6&) s<160) A&=.&5) r.10) r%>#&) R610) 9%&) I60) .&7) r6"1&5) G<#&() +&,"#2#&'.4) Q#'>1"F)
J6.&'%C.'%1&^)'1>."7/)41//4#//)GQQ/)>%'<)41>?$"#,%/%1&)>#%5<'/()+&)Proc. ICLR0)ZX*b()
)S*YV) h#&1%') o.,1=) #') .4() J6.&'%C.'%1&) .&7) '".%&%&5) 13) &#6".4) &#'>1"F/) 31") #\,%#&') %&'#5#"?
."%'<2#'%,?1&4-)%&3#"#&,#()+&)Proc.)CVPR0)ZX*Y()
)S*cV) [1&5B%&5) s<.&50) o%.141&5) r.&50) [1&5B%.&5C%) r#0) .&7) R.&5) _6.() 9J?Q#'/^) 9#."&#7)
J6.&'%C.'%1&)31")<%5<4-).,,6".'#).&7),12$.,')7##$)&#6".4)&#'>1"F/()+&)Proc. ECCV0)ZX*Y()
)SZXV) i'#@#&) p() q//#"0) o#P"#-) 9() :,p%&/'"-0) [##$%F.) h.=4.&%0) k.'<%&.F62.")A$$6/>.2-0) .&7)
[<."2#&7".)i():17<.()9#."&#7)/'#$)/%C#)B6.&'%C.'%1&()+&)Proc. ICLR0)ZX*c()
)SZ*V) r1 1 j%&) G<1%0) :1 / '.3.) q4?p<.2-0) .&7) o6&5>1&) 9##() a1>."7/) '<#) 4%2%'/) 13) &#'>1"F)
B6.&'%C.'%1&()+&)Proc. ICLR0)ZX*b()
)SZZV) p6.&)N.&50)s<%j%.&)9%60)r6j6&)9%&0)o%)9%&0).&7)i1&5)_.&()_AJ^)_."7>."#?.>."#).6'12.'#7)
B6.&'%C.'%1&)>%'<)2%D#7)$"#,%/%1&()+&)Proc. CVPR0)ZX*c()
)SZfV) k%',<%#) s<.10)r6>#%) _60) o1"7.&) [1'C#40) G<"%/) [#) i.0) .&7) s<%"6) s<.&5() +2$"1@%&5) &#6".4)
&#'>1"F)B6.&'%C.'%1&)>%'<16')"#'".%&%&5)6/%&5)16'4%#"),<.&&#4)/$4%''%&5()+&)Proc. ICML0)ZX*c()
)SZeV) 96)_160).&7)o.2#/)a()p>1F()91//?.>."#)>#%5<')B6.&'%C.'%1&)13)7##$)&#'>1"F/()+&)Proc. ICLR0)
!"#$"%&'(
) ) )
)
**)
ZX*Y()
)SZUV) r6 "- ) Q .</ <. &0 ) h " %.& ) G <2% #4 0) G <. %2) h . /F% &0 ) q @ 5#& %% ) s < #4' 1& 1C< /F %%0 ) k 1& ) h .& &# "0 )A4 #D ) :( )
h"1&/'#%&0) .&7)A@%) :#&7#4/1&() 91//) .>."#) $1/'?'".%&%&5) B6.&'%C.'%1&() +&) Mach Learn) **X)
fZeUTfZdZ0)i$"%&5#"0)ZXZX()
)SZdV) s<1&5&.&)J60)s%26)s<160)r6&)G<#&50).&7)91'<.")]%#4#()A7.$'%@#)41//?.>."#)B6.&'%C.'%1&)
31")264'%?=%')&#'>1"F/()+&)Proc. CVPR0)ZXZX()
)SZbV) :."F6/) Q.5#40) :."') @.&) h..4#&0) a%j2#&) h4.&F#@11"'0) .&7) :.D) N#44%&5() [.'.?3"##)
B6.&'%C.'%1&)'<"165<)>#%5<')#B6.4%C.'%1&).&7)=%./),1""#,'%1&()+&)Proc. CVPR0)ZX*c()
)SZYV) i<16F.%) I60) _.1F6&) 9%0) h1<.&) s<6.&50) o%&5) 9%60) o%#C<.&5) G.10) G<6.&5"6&) 9%.&50) .&7)
:%&5F6%)a.&()R#&#".'%@#)41>?=%'>%7'<)7.'.)3"##)B6.&'%C.'%1&()+&)Proc. ECCV0)ZXZX()
)SZcV) p.&5<-6&)G<1%0)[#1FF%)_1&50)Q1/#1&5)!."F0)r16&5/1F)p%20).&7)o%&<1)9##()J%2#".^)[.'.?
3"##)B6.&'%C.'%1&)>%'<)/-&'<#'%,)=16&7."-)/6$$1"'%&5)/.2$4#/()+&)Proc. NeurIPS0)ZXZ*()
)SfXV) h%.1)J%.&0)r.&5)N.&50)k%,<.&5)_1&50).&7):#&5)N.&5()A7.$'%@#)7.'.?3"##)B6.&'%C.'%1&()+&)
Proc. CVPR0)ZXZf()
)Sf*V) h.=.F)_.//%=%0).&7)[.@%7)i'1"F()i#,1&7)1"7#")7#"%@.'%@#/)31")&#'>1"F)$"6&%&5^)E$'%2.4)h".%&)
i6"5#1&()+&)Proc. NIPS0)*ccZ()
)SfZV) r6 &, <. 1)R 1& 50) 9% 6) 9%6 0) :%& 5)r.& 50 ).& 7) 96= 12% ") h1 6"7 #@( ) G12 $" #// %& 5)7 ## $), 1& @14 6' %1& .4 )
&#'>1"F/)6/%&5)@#,'1")B6.&'%C.'%1&()+&)ICLR)ZX*U()
)SffV) A44#&) R#"/<10) .&7) k1=#"') :() R".-()H#,'1") J6.&'%C.'%1&) .&7) i%5&.4) G12$"#//%1&() p46>#"0)
Q1">#440):A0)WiA)*cc*()
)SfeV) i'#$<#&) h1-70) Q#.4) !."%F<0) q"%,) G<60) h1"j.) !#4#.'10) .&7) o1&.'<.&) q,F/'#%&() [%/'"%=6'#7)
E$'%2%C.'%1&) .&7) i'.'%/'%,.4) 9#."&%&5) @%.) '<#)A4'#"&.'%&5) [%"#,'%1&) :#'<17) 13) :64'%$4%#"/()
Found. Trends® Mach. Learn.0)f8*;^*T*ZZ0)ZX**()
)SfUV) ]12./) :() G1@#"0) .&7) o1-)A() ]12./() q4#2#&'/) 13) +&31"2.'%1&) ]#1"-) 8N%4#-) i#"%#/) %&)
a#4#,1226&%,.'%1&/).&7)i%5&.4)!"1,#//%&5;()N%4#-?+&'#"/,%#&,#0)WiA)ZXXd()
)SfdV) i()941-7()9#./')/B6."#/)B6.&'%C.'%1&)%&)!G:()IEEE Trans. Inf. Oeory0)ZY8Z;^*ZcT*fb0)*cYZ()
)SfbV) o():.D()J6.&'%C%&5)31")2%&%262)7%/'1"'%1&()IRE Trans. Inf. Oeory0)d8*;^bT*Z0)*cdX()
)SfYV) k(:()R".-0).&7)[(9()Q#6<1P()J6.&'%C.'%1&()IEEE Trans. Inf. Oeory0)ee8d;^ZfZUTZfYf0)*ccY()
)SfcV) i6/.&) s<.&50) i'#$<#&) k144#"0) Q.2.&) R1-.4) #') .4() E!a^) E$#&) !"#?'".%&#7) a".&/31"2#")
9.&56.5#):17#4/()http://arxiv.org/abs/2205.010680)ZXZZ()
)SeXV) _651)a16@"1&0)916%/):."'%&0)p#@%&)i'1&#)#').4()94.2.)Z^)E$#&)316&7.'%1&).&7)L&#?'6&#7),<.')
217#4/()http://arxiv.org/abs/2307.092880)ZXZf()
)Se*V) G14%&)k.P#40)Q1.2)i<.C##"0)A7.2)k1=#"'/)#').4()qD$41"%&5)'<#)4%2%'/)13)'".&/3#")4#."&%&5)>%'<)
.)6&%L#7)'#D'?'1?'#D')'".&/31"2#"()J. Mach. Learn. Res.0)Z*8*eX;^*Tdb0)ZXZX()
)SeZV) i'#$<#&) :#"%'-0) G.%2%&5) I%1&50) o.2#/) h".7=6"-0) .&7) k%,<."7) i1,<#"() !1%&'#") /#&'%&#4)
2%D'6"#)217#4/()+&)Proc. ICLR0)ZXZZ()
)SefV) p."4)G1==#0)H%&##')p1/.".j60):1<.22.7)h.@."%.&)#').4()a".%&%&5)@#"%L#"/)'1)/14@#)2.'<)>1"7)
$"1=4#2/()http://arxiv.org/abs/2110.141680)ZXZ*()
)