+
    ÒÜ³j·  ã                   ór  € ^ RI t ^ RIt^ RIHt ^ RIHt ^ RIHtHtH	t	H
t
  ^ RIHt ^ RIHt ^ RIHt Rt] P$                  P&                  R
 4       tR tR R lt]R8X  dM   R;tt]
P4                  ! ]4      t]	P4                  ! ]RR7      t]	P4                  ! ]RR7      t]! ]]]RR7       R# R#    R	t L€; i)é    N)Útqdm)Úload_dataset)ÚPreTrainedTokenizerÚPreTrainedModelÚAutoModelForCausalLMÚAutoTokenizer)Ú	bayes_mvs)Út)Úmquantiles_cimjTFc                 óð   € V ^ 8„  V^ 8„  ,          p\         P                  ! W \         P                  ! W,          4      ,          \         P                  ! V 4      4      p\	        R4      W0^ 8„  V^ 8*  ,          &   V# )r   Úinf)ÚtorchÚwhereÚlogÚ
zeros_likeÚfloat)ÚxÚyÚmaskÚresults   &&  Ú]/home/luca/screen-checking/.venv/lib/python3.14/site-packages/awq/evaluation/kl_divergence.pyÚrel_entrr      s]   € à�‰E�a˜!‘eÕ€DÜ�[Š[˜¤5§9¢9¨Q­UÓ#3Õ3´U×5EÒ5EÀaÓ5HÓI€FÜ!& u£€F�‰E�a˜1‘fÕÑØ€Mó    c                 óÐ   € V ^ 8X  d   ^V^,           ,          p V ^8X  d   ^^V^,           ,          ,
          p V\         P                  ! V ^V ,
          ,          V,          4      ,          # )r   )r   Úsqrt)ÚpÚnÚzs   &&&r   Úbin_confr       sP   € ð 	ˆA„vØ��Q•�KˆØˆA„vØ��Q˜•U•�OˆØŒu�zŠz˜!˜q 1�u�+¨�/Ó*Õ*Ð*r   c                óH   € V ^8„  d   QhR\         R\         R\        R\        /# )é   Ú	ref_modelÚ
eval_modelÚ	tokenizerÚseqlen)r   r   Úint)Úformats   "r   Ú__annotate__r(   *   s6   € ÷ gñ gÜðgäðgô #ðgô ñ	gr   c                 ó  € \         '       g   \        R 4      h\        RRRR7      pV! RP                  VR,          4      RR7      pVP                  P                  V P                  4      pVP                  4       V,          pR	p. p^ p^ p	^ p
^ p^ p^ p^ p\        \        V4      R
R7      ;_uu_ 4       pV EFj  pWã,          pV^,           V,          pVV,
          pVRVV13,          p\        P                  ! 4       ;_uu_ 4        V ! V4      ^ ,          pV! V4      ^ ,          pRRR4       \        P                  ! XR/R7      p\        P                  ! XR/R7      p\        VV4      p\        P                  ! VR/R7      P                  ^ 4      pVP!                  \        P"                  ! V4      P%                  4       4       \        P&                  ! VR/R7      P                  ^ 4      p\        P&                  ! VR/R7      P                  ^ 4      p\        P(                  ! V^R/R7      P*                  R0,          P                  ^ 4      p\        P(                  ! V^R/R7      P*                  R0,          P                  ^ 4      p\        P(                  ! V^
R/R7      P*                  R1,          P                  ^ 4      p\        P(                  ! V^
R/R7      P*                  R1,          P                  ^ 4      pVVV8H  P                  4       P-                  4       ,          pV	VV8H  P                  4       P-                  4       ,          p	V
VV8H  P                  4       P-                  4       ,          p
VVV8H  P                  4       P-                  4       ,          pVVV8H  P                  4       P-                  4       ,          pVV,          pVP/                  R\        P0                  ! \        P2                  ! V4      4      R RW�,          R RW�,          R RW­,          R 24       EKm  	  RRR4       \4        P6                  ! ^V^,          ,
          V4      p T \8        P:                  ! \8        P0                  ! V U!u. uF  p!V!^,          NK  	  up!4      \=        V4      ,          4      ,          p"\?        V^V,
          4      w  p#p$p%\8        P@                  ! VR4      p&\8        P@                  ! VR4      p'\8        P@                  ! VR4      p(\C        V. R2OR7      p)\E        R4       \E        RV PF                  PH                  4       \E        RVPF                  PH                  4       \E        R4       \E        RV#^ ,          R RV#^,          ^ ,          R R V#^,          ^,          R R!24       \E        R"V&R RV)^ ,          ^ ,          R R V)^,          ^ ,          R R!24       \E        R#V'R RV)^ ,          ^,          R R V)^,          ^,          R R!24       \E        R$V(R RV)^ ,          ^,          R R V)^,          ^,          R R!24       \E        R%\8        PJ                  ! V4      R 24       \E        R4       \E        R&4       \E        R'W�,          R R(\M        W�,          VV 4      R 24       \E        R)W�,          R R(\M        W�,          VV 4      R 24       \E        R*W­,          R+ R(\M        W­,          VV 4      R 24       \E        R,4       \E        R-W½,          R R(\M        W½,          VV 4      R 24       \E        R.WÍ,          R+ R(\M        WÍ,          VV 4      R 24       R#   + '       g   i     EL?; i  + '       g   i     ELR; iu up!i )3zKSciPy needs to be installed for KL Divergence evaluation: pip install scipyÚwikitextzwikitext-2-raw-v1Útest)Úsplitz

ÚtextÚpt)Úreturn_tensorsg{®Gáz„?zKL Div)ÚdescºNNNN)Údim)Úaxis)Úkr2   zKL Div: z.4gz	, Top 1: z	, Top 5: z
, Top 10: çÍÌÌÌÌÌì?çffffffî?ç®Gáz®ï?)Úprobz -- z ** Reference model:z ** Evaluation model:z ** KL Divergence: z.6gz, [z - Ú]z	 ** q90: z	 ** q95: z	 ** q99: zmax: z.Reference top token in eval top-n probability:z ** ref_top1: u    Â± z ** ref_top5: z ** ref_top10: Ú4gz.Eval top token in reference top-n probability:z ** eval_top5: z ** eval_top10: éÿÿÿÿ)r1   r1   éûÿÿÿ)r1   r1   iöÿÿÿ)r5   r6   r7   )'ÚSCIPY_INSTALLEDÚ	Exceptionr   ÚjoinÚ	input_idsÚtoÚdeviceÚnumelr   Úranger   Úno_gradÚsoftmaxr   ÚsumÚsqueezeÚappendÚ
nan_to_numÚtolistÚargmaxÚtopkÚindicesÚitemÚset_descriptionÚmeanÚTensorÚ	student_tÚppfÚnpr   Úlenr	   Úquantiler   ÚprintÚconfigÚ
model_typeÚmaxr   )*r"   r#   r$   r%   ÚdataÚ	n_samplesÚalphaÚklsÚtop1Útop5Útop10Ú	eval_top5Ú
eval_top10ÚsamplesÚiÚprogress_barÚstart_indexÚ	end_indexÚ	batch_lenÚbatchÚy1Úy2Úy1_probsÚy2_probsÚrelative_entropyÚkl_divÚeval_argmaxÚ
ref_argmaxÚ
eval_part5Ú	ref_part5Úeval_part10Ú
ref_part10r   r4   Úm_confÚmÚ_Ú__Úq90Úq95Úq99Úq_boundss*   &&&&                                      r   Úeval_kl_divergencer€   *   sl  € ÷ ‹?ÜØYó
ð 	
ô
 ˜
Ð$7¸vÔF€DÙ�V—[‘[  f¥Ó.¸tÔD€DØ�>‰>×Ñ˜Y×-Ñ-Ó.€Dà—
‘
“ Õ&€Ià€EØ
€CØ€DØ€DØ€EØ€IØ€JØ€GØ	€Aô 
Œe�IÓ X×	.Õ	.°,ÜˆAØ�*ˆKØ˜Q� &Õ(ˆIØ! KÕ/ˆIØ˜˜K¨	Ð1Ð1Õ2ˆEô —’—•Ù˜uÓ% aÕ(�Ù Ó& qÕ)�÷ !ô
 —}’} R¨RÔ0ˆHÜ—}’} R¨RÔ0ˆHÜ'¨°(Ó;ÐÜ—Y’YÐ/°RÔ8×@Ñ@ÀÓCˆFØ�J‰J”u×'Ò'¨Ó/×6Ñ6Ó8Ô9ô  Ÿ,š, r°Ô3×;Ñ;¸AÓ>ˆKÜŸš b¨rÔ2×:Ñ:¸1Ó=ˆJÜŸš B¨!°Ô4×<Ñ<¸XÕF×NÑNÈqÓQˆJÜŸ
š
 2¨°Ô3×;Ñ;¸HÕE×MÑMÈaÓPˆIÜŸ*š* R¨2°2Ô6×>Ñ>¸yÕI×QÑQÐRSÓTˆKÜŸš B¨"°"Ô5×=Ñ=¸iÕH×PÑPÐQRÓSˆJØ�[ JÑ.×3Ñ3Ó5×:Ñ:Ó<Õ<ˆDØ�j JÑ.×3Ñ3Ó5×;Ñ;Ó=Õ=ˆDØ�z [Ñ0×5Ñ5Ó7×=Ñ=Ó?Õ?ˆEØ˜;¨)Ñ3×8Ñ8Ó:×@Ñ@ÓBÕBˆIØ˜K¨:Ñ5×:Ñ:Ó<×BÑBÓDÕDˆJØ�yÕ ˆGà×(Ñ(Øœ5Ÿ:š:¤e§l¢l°3Ó&7Ó8¸Ð=ð >Ø�.¨Ð-ð .Ø�.¨Ð-ð .Ø �?¨3Ð/ð1÷ñA ÷ 
/ôP 	�Š�a˜% !�)•m WÓ-€AØ”—’œŸš±Ó!4±¨1 ! Q§$ $±Ñ!4Ó5¼¸C»Õ@ÓAÕA€FÜ˜˜a %�iÓ(�H€A€qˆ"Ü
�+Š+�c˜4Ó
 €CÜ
�+Š+�c˜4Ó
 €CÜ
�+Š+�c˜4Ó
 €CÜ˜sÒ);Ô<€Hä	ˆ&„MÜ	Ð
  )×"2Ñ"2×"=Ñ"=Ô>Ü	Ð
! :×#4Ñ#4×#?Ñ#?Ô@Ü	ˆ&„MÜ	Ð  !¥ S˜z¨¨Q¨q­T°!­W°S¨M¸¸Q¸q½TÀ!½WÀS¸MÈÐ
KÔLÜ	ˆI�c˜#�Y˜c (¨1¥+¨a¥.°Ð!5°S¸À!½ÀQ½ÈÐ8LÈAÐ
NÔOÜ	ˆI�c˜#�Y˜c (¨1¥+¨a¥.°Ð!5°S¸À!½ÀQ½ÈÐ8LÈAÐ
NÔOÜ	ˆI�c˜#�Y˜c (¨1¥+¨a¥.°Ð!5°S¸À!½ÀQ½ÈÐ8LÈAÐ
NÔOÜ	ˆE”"—&’&˜“+˜cÐ"Ð
#Ô$Ü	ˆ&„MÜ	Ð
:Ô;Ü	Ø
˜�¨Ð,¨D´¸$½,ÈÐQRÓ1SÐTWÐ0XÐYôô 
Ø
˜�¨Ð,¨D´¸$½,ÈÐQRÓ1SÐTWÐ0XÐYôô 
Ø
˜%�/¨"Ð-¨T´(¸5½=È'ÐSTÓ2UÐVYÐ1ZÐ[ôô 
Ð
:Ô;Ü	Ø
˜)Õ-¨cÐ2°$´xÀ	Õ@QÐSZÐ\]Ó7^Ð_bÐ6cÐdôô 
Ø
˜:Õ/°Ð3°4¼ÀÕASÐU\Ð^_Ó8`ÐadÐ7eÐfö÷A !—�ú÷ 
/×	.Ð	.üòR "5s,   Â2A]-Ä]Ä#L]-Ñ6^Ý]*Ý$	]-Ý-]>	Ú__main__Úgpt2Úauto)Ú
device_mapi   )r%   )r   ÚnumpyrU   r   Údatasetsr   Útransformersr   r   r   r   Úscipy.statsr	   r
   rS   Úscipy.stats.mstatsr   r=   ÚjitÚscriptr   r   r€   Ú__name__Úref_model_pathÚeval_model_pathÚfrom_pretrainedr$   r"   r#   © r   r   Ú<module>r‘      sÊ   ðó Û Ý Ý !÷ó ðÝ%Ý*Ý2à€Oð
 ‡�×Ññó ðò+õgðT ˆzÔð (.Ð-€N�_à×-Ò-¨nÓ=€IØ$×4Ò4°^ÐPVÔW€IØ%×5Ò5Ø Fô€Jñ �y *¨iÀ×Eñ øðAØ‚Oús   ¢B0 Â0B6