
    oi                        S SK JrJrJrJrJrJrJrJr  S SK	J
r
  S SKJrJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S	S
KJr  S	SKJr  S	SKJrJr  S SKJ r J!r!J"r"J#r#  S	SK$r$S	SK%r%S	SK&r& S	SK'J(r(  S	SK'J+r+  S	SK,r-SSK.J/r/J0r0J1r1J2r2J3r3J4r4J5r5  S	SK6J7r7J8r8  S	SK9J:r:  S	SK;J<r<  \7" \5      r\\7" S5      :  r=\\7" S5      :  r>\\7" S5      :  r?\\7" S5      :  r@\\7" S5      :  rA\\7" S5      :  rB\\7" S5      :  rC\\7" S5      :  rD\\7" S5      :  rE\\7" S5      :  rF\\7" S5      :  rG\>(       a  S SKHJIrI  \?(       a  S S KJJKrK  \E(       a  S S!KLJMrM  S	SKNrNS S"K JOrOJPrPJQrQJRrRJSrSJTrTJUrUJVrV  / S#QqW/ S$QqXS%/qY " S& S'\5      rZSS(K[J\r\J]r]  S S)K^J_r_  S	S*KJ`r`   S	S+KJara  \arb " S- S.\_5      rc " S/ S0\c5      rd " S1 S2\c5      reg!    S	SK)J(r(   GNQ!   S	SK*J(r(    GN]= f= f!   S	S,KJbrb   NJ= f)3   )_prepare_model_for_qatis_bfloat16_supportedis_vLLM_availableHAS_FLASH_ATTENTIONHAS_FLASH_ATTENTION_SOFTCAPPINGUSE_MODELSCOPEget_transformers_model_typehf_login)FastGraniteModel)FastLlamaModellogger)FastMistralModel)FastQwen2Model)FastQwen3Model)FastQwen3MoeModel)FastCohereModel    )
AutoConfig)__version__)
PeftConfig	PeftModel) _get_fp8_mode_and_check_settings_offline_quantize_to_fp8"_tag_model_with_fp8_torchao_configget_model_nameN)	get_token)HfFileSystem   )is_hipget_device_typeDEVICE_TYPEDEVICE_TYPE_TORCHDEVICE_COUNTALLOW_PREQUANTIZED_MODELSALLOW_BITSANDBYTES)Version
_get_dtype)dtype_from_config)patch_tiled_mlpz4.37z4.38z4.42z4.43.2z4.45.0z4.46.0z4.50.34.53.0z4.55.0)FastGemmaModel)FastGemma2Model)FastFalconH1Model)patch_compiling_bitsandbytespatch_model_and_tokenizerprepare_model_for_kbit_training*patch_unsloth_smart_gradient_checkpointingpatch_compiled_autogradprocess_vision_infounsloth_compile_transformersfast_inference_setup)gemma3,gemma3ngpt_oss)
aya_vision
modernbertzgranite,llava_nextr6   c                   ^    \ rS rSr\                           SS j5       rSrg)FastLanguageModely   Nc                 P   UR                  SS 5      nUbj  [        U[        5      (       a%  UR                  SS5      nUR                  SS5      nO[        USS5      n[        USS5      nU(       a  SnSnU(       a  SnSn[	        U5      nUc  Ub  S n [        U[        5      (       a*  UR                  SS5      (       a  UR                  SS 5      n O[        USS5      (       a  [        USS 5      n [        U [
        5      (       a  [        [        U S 5      n [        U [        R                  5      (       a  U nU(       d
  U(       d  Ubm  [        R                  " U0 SU _SU_S	U_SU_SU_S
U_SU_SU_SU_SU	_SU
_SU_SU_SU_SU_SS_SS_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_S U_S!U_UD6$ [        U[
        5      (       a  US";   a  [        [        U5      nUb>  U[        R                  :X  d*  U[        R                  :X  d  U[        R                  :X  d   eU(       a  [        R                  R                  S#5      c  [!        S$5      e["        S%:X  a_  [%        [&        5       HL  n!S&[        [        R(                  R+                  U!5      5      R-                  5       ;   d  M?  [/        S'5        Sn  O   US:w  a  U(       d  [1        S(5      e[2        (       dF  U(       d?  U(       d+  U(       d$  U R5                  5       R7                  S)5      (       a  [/        S*5        SnU n"S n#U(       d8  [9        XUS+9n$U$c$  US:w  a  [;        UUUUUUU5      n#[=        U U#5      n OU$c   eU$n [>        (       db  U R5                  5       R7                  S,5      (       a>  U R5                  5       RA                  S-5      n U R5                  5       RA                  S)5      n U R5                  5       R7                  S.5      (       a  SnSnSnSn[B        (       a2  [D        RF                  RI                  U 5      (       d  S/S0K%J&n%  U%" U 5      n S/S1K'J(n&J)n'J*n(  U(" 5       n)U&" 5         S n*S n+S n,S n- [V        R                  " U UUUS29n,Sn. [^        R                  " U UUUS29n-Sn0U.=(       a    U0=(       a    [`        (       + n1U1(       a  [c        S75      e[e        U-b  U-OU,US89n2[g        U25      S9:X  a  U2S/   n3OU2n3[`        (       a  [D        RF                  Ri                  U 5      (       a  [D        RF                  RI                  [D        RF                  Rk                  U S:5      5      n4[D        RF                  RI                  [D        RF                  Rk                  U S;5      5      n5U4=(       a    U5n1OE[m        US<9Ro                  U  S=35      n6[q        S> U6 5       5      n6[s        S? U6 5       5      S@:  a  Sn1U.(       dT  U0(       dM  U*b  U*OU+n/SU/R5                  5       ;   a  [t        (       d  [!        SA[\         SB35      eSCU* SDU+ SE3n7[c        U75      eU0(       a  U-Rv                  n U(       d  [9        X5      n [>        (       db  U R5                  5       R7                  S,5      (       a>  U R5                  5       RA                  S-5      n U R5                  5       RA                  S)5      n U R5                  5       R7                  S.5      (       a  SnSnSnSn[V        R                  " U UUSF9n,U)(       d  U'" 5         U3SG:X  a{  S n8[        U,SS 5      b?  U,Rx                  R                  SHS 5      n9U,Rx                  R                  SIS 5      n:U9b  U9OU:n8U8SJ:X  a  [t        (       d  [!        SA[\         SK35      e[z        n;GOhU3SL:X  a  [|        n;GOZU3SM:X  a&  [~        (       d  [!        SA[\         SN35      e[        n;GO.U3SO:X  al  [        (       d  [!        SA[\         SP35      e[        5       (       a  [        (       d  [/        SQ5        O![        (       a  [        (       d  [/        SR5        [        n;OU3SS:X  a  [        n;OU3ST:X  a<  [        (       a  [        (       d  [!        SA[\         SU35      eU3ST:X  a  [        O[        n;Om[        R                  " U0 SU"_SU_S	U_SU_SU_S
U_SU_SU_SU_SU	_SU
_SU_SU_SU_SU_SS_SS_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_S U_S!U_UD6$ USV:X  a	  [        USW9  [D        RF                  RI                  [D        RF                  Rk                  U"SX5      5      (       a  [D        RF                  RI                  [D        RF                  Rk                  U"SY5      5      (       aE  [D        RF                  RI                  [D        RF                  Rk                  U"SZ5      5      (       a  U"n<OUR                  S[S 5      n<U(       a  [        U U,5      u  nn Un=Un>Ub  U(       d  Sn=Sn>U;R                  " U0 SU _SU_S	[        U5      _SU=_SU_SU_SU	_SU
_S\U;_S[U<_SU_SU0(       d  UOS _SU_SU_SU_SU_SU_SU_UD6u  n?n@Ub  U?R                  U5        [        U?S]5      (       a  U?R                  SV/5        [        W@S]5      (       a  W@R                  SV/5        U(       a  Uc@  [        U?R                  5      nAUAS^SSSS S_SSS`Sa.
nU?R                  R                  SU05        Oo[        USb5      (       a,  U?R                  R                  SUR                  5       05        O2[        U[        5      (       a  U?R                  R                  SU05        US:w  a  [        U?U#5        U0(       a+  [        R                  " U?U"UUSUSc9n?U;R                  U?U5      n?[D        R                  R                  SdU(       a  SeOSf5      nBUBSf:w  d  U(       a
  [        U?WBSg9  U?W@4$ ! [          a    e [X         a4  n/[        U/5      n*S3U*;   a  [[        S4U  S5[\         S635      eSn. S n/A/GNS n/A/ff = f! [          a    e [X         a4  n/[        U/5      n+S3U+;   a  [[        S4U  S5[\         S635      eSn0 S n/A/GNS n/A/ff = f)hNquantization_configload_in_4bitFload_in_8bitTbnb_4bit_compute_dtype
model_namemax_seq_lengthdtypeload_in_16bitfull_finetuningtoken
device_maprope_scalingfix_tokenizertrust_remote_codeuse_gradient_checkpointingresize_model_vocabrevisionreturn_logits	fullgraphuse_exact_model_nameoffload_embeddingfloat32_mixed_precisionfast_inferencegpu_memory_utilizationfloat8_kv_cacherandom_statemax_lora_rankdisable_log_stats
qat_schemeload_in_fp8unsloth_tiled_mlp)float16bfloat16vllmsUnsloth: Please install vLLM before enabling `fast_inference`!
You can do this in a terminal via `pip install vllm`cudaNVIDIA GB10Unsloth: DGX Spark detected - `fast_inference=True` is currently broken as of January 2026.
Defaulting to native Unsloth inference.>Unsloth: set `fast_inference = True` when doing `load_in_fp8`.	-bnb-4bitOUnsloth: AMD currently is not stable with 4bit bitsandbytes. Disabling for now.r@   r\   -unsloth-bnb-4bitrf   rj   -bf16r   snapshot_downloaddisable_progress_barsenable_progress_barsare_progress_bars_disabledrH   rO   rL   architecture`)` is not supported yet in `transformers==U`.
Please update transformers via `pip install --upgrade transformers` and try again.Unsloth: Your repo has a LoRA adapter and a base model.
You have 2 files `config.json` and `adapter_config.json`.
We must only allow one config file.
Please separate the LoRA and base models to 2 repos.rL   r   adapter_config.jsonconfig.jsonrH   /*.jsonc              3   f   #    U  H'  n[         R                  R                  U5      S    v   M)     g7fNospathsplit.0xs     O/home/james-whalen/.local/lib/python3.13/site-packages/unsloth/models/loader.py	<genexpr>4FastLanguageModel.from_pretrained.<locals>.<genexpr>  "     A5aRWW]]1-b15   /1c              3   B   #    U  H  oS :H  =(       d    US:H  v   M     g7fry   rz   N r   s     r   r   r     #     XRWQ22Ha=6HHRW   r   &Unsloth: Your transformers version of  does not support new RoPE scaling methods.
This includes Llama 3.1. The minimum required version is 4.43.2
Try `pip install --upgrade "transformers>=4.43.2"`
to obtain the latest transformers build, then restart this session.aUnsloth: Failed to load model. Both AutoConfig and PeftConfig loading failed.

AutoConfig error: 

PeftConfig error: 

rH   rL   llamatype	rope_typellama3z does not support Llama 3.1.
The minimum required version is 4.43.2
Try `pip install --upgrade "transformers>=4.43.2"`
to obtain the latest transformers build, then restart this session.mistralgemmaz does not support Gemma.
The minimum required version is 4.38.
Try `pip install --upgrade "transformers>=4.38"`
to obtain the latest transformers build, then restart this session.gemma2z does not support Gemma2.
The minimum required version is 4.42.3.
Try `pip install --upgrade "transformers>=4.42.3"`
to obtain the latest transformers build, then restart this session.zUnsloth: If you want to finetune Gemma 2, install flash-attn to make it faster!
To install flash-attn, do the below:

pip install --no-deps --upgrade "flash-attn>=2.6.3"a  Unsloth: If you want to finetune Gemma 2, upgrade flash-attn to version 2.6.3 or higher!
Newer versions support faster and less memory usage kernels for Gemma 2's attention softcapping!
To update flash-attn, do the below:

pip install --no-deps --upgrade "flash-attn>=2.6.3"qwen2qwen3z does not support Qwen3.
The minimum required version is 4.50.3.
Try `pip install --upgrade "transformers>=4.50.3"`
to obtain the latest transformers build, then restart this session.unslothrE   tokenizer_config.jsontokenizer.jsonspecial_tokens_map.jsontokenizer_namemodel_patcheradd_model_tagsnf4      @bitsandbytes
rB   bnb_4bit_quant_typebnb_4bit_use_double_quant llm_int8_enable_fp32_cpu_offloadllm_int8_has_fp16_weightllm_int8_skip_modulesllm_int8_thresholdr@   rA   quant_methodto_dictrH   rO   is_trainablerL   UNSLOTH_TILED_MLParctic0patch_options_str)[get
isinstancedictgetattrr
   strtorchrE   	FastModelfrom_pretrainedr^   r_   float32	importlibutil	find_specImportErrorr"   ranger#   rb   get_device_nameupperprintNotImplementedErrorr%   lowerendswithr   r   r   r$   removesuffixr   r   r   exists
modelscoperm   huggingface_hub.utilsro   rp   rq   r   	Exception
ValueErrortransformers_versionr   SUPPORTS_LLAMA32RuntimeErrorr	   lenisdirjoinr   globlistsumSUPPORTS_LLAMA31base_model_name_or_pathrJ   r   r   SUPPORTS_GEMMAr+   SUPPORTS_GEMMA2r   r   r   r,   r   SUPPORTS_QWEN3SUPPORTS_QWEN3_MOEr   r   r1   popr5   r'   resize_token_embeddingshasattrr   r(   configupdater   r   r   patch_peft_modelenvironr)   )CrC   rD   rE   r@   rA   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   argskwargsr?   q_load_in_4bitq_load_in_8bitbnb_compute_dtypeiold_model_namefp8_modenew_model_namerm   ro   rp   rq   was_disabledautoconfig_error
peft_errormodel_configpeft_configis_modelerroris_peft
both_existmodel_types
model_typeexist_adapter_configexist_configfilescombined_errorscaling_typescaling_type1scaling_type2dispatch_modelr   load_in_4bit_kwargsload_in_8bit_kwargsmodel	tokenizercompute_dtypepatch_tiled_mlp_choicesC                                                                      r   r   !FastLanguageModel.from_pretrainedz   s   B %jj)>E*-t44!4!8!8!O!4!8!8!O!()<ne!T!()<ne!T#$#$ =0< $-t44&**>5AA(;(?(?0$)% .FF(/+-Et)% +S11$+E3Dd$K!+U[[99)?j.D,,> ?!'!!/! !  ,	!
  ,! !.! #2! ! (!  ,! !.! %6! .H! &8! $!  !&!!" !#!$ (<%!& %6'!( +B)!, "0-!. *@/!0 #21!2  ,3!4 !.5!6 %67!8 (9!: *;!< %6A! !F eS!!e/F&FE5)EM%&%		
& ~~''/7!K  !F*|,A$EJJ,F,Fq,I(J(P(P(RRF */ - %!)T  "!*>|z/?/?/A/J/J;/W/We !L $#+{N %+*>;"#  !( 6j(K
%111+
 )(Z-=-=-?-H-H..
 .
 $))+889LMJ#))+88EJ&&w// L LK M>"''.."<"<4*:6J	
 	
 23
	%55#$5	L H	$44#$5	K G *7D4D0D
 G  2&2K 1
 {q $QJ %J ww}}Z((')ww~~GGLL-BC($  "ww~~bggll:}.UV1Bl
 %U388J<w9OPA5AAXRWXX "&J(8(D$*E.7G7G!<=Q<R SZ [ %%5$6 7%%/L6 
 ~.. $<<J'+JE
 -,1A1A1C1L1L22 2 (--/<<=PQ
'--/<<[I
!**733$$# $%55$5L  " L|^T:F , 9 9 = =fd K , 9 9 = =k4 P%2%>MM  x'0@0@!<=Q<R SZ [  ,N9$-N7"!>!<=Q<R SZ [  ,N8#"?!<=Q<R SZ [  %&&/B/BL
 %$-L-LL -N7"+N7"!>););!<=Q<R SZ [  #-"7=N & ,,> ?!+!!/! !  ,	!
  ,! !.! #2! ! (!  ,! !.! %6! .H! &8! $!  !&!!" !#!$ (<%!& %6'!( +B)!, "0-!. *@/!0 #21!2  ,3!4 !.5!6 %67!8 (9!: *;!< %6A! !F &26uE GGNN277<<8OPQQrww||N<LMNNrww||N<UVWW+N#ZZ(8$?N)=j,)W&NJ***>"'"')99& '
#
+
 u%
 /	

 
 $
 (
 *
 +
 ,
 !2
 (/xD
 ,
 &<
 .
  (!
" *#
$ !2)
y. )))*<= 5*++  
 9.//$$ "* 1%,, ? /<+0158=05-1*-$($)$2'# ##%:<O$PQ.	::LL''.0C0K0K0MN   3T::LL'')>@S(TU%.uh? --##$5E #33E;UVE "$->C"
 "S(,=E7MNiw
  	 	"5z!11 
|#LMaLb ci j  H	   	 	UJ+ 
|#LMaLb ci j  G	s0    p :q q&)qqr%1)r  r%r   )zunsloth/Llama-3.2-1B-Instruct   NTFFFN
sequentialNTFr   NNFFNF      ?FO  @   TNFF)__name__
__module____qualname____firstlineno__staticmethodr   __static_attributes__r       r   r<   r<   y   sg    4!!%.!$!"&!$ !7h  h r  r<   )patch_loss_functionspost_patch_loss_function)FastBaseModel)AutoModelForCausalLM)AutoModelForImageTextToText)AutoModelForVision2Seqc                   z    \ rS rSr\S 5       r\                                 SS j5       rSrg)r   i  c                     [        X5      n U $ )N)r   )r	  r[   s     r   _prepare_for_qatFastModel._prepare_for_qat  s    &u9r  Nc!                 v!   U"R                  SS 5      n#U#bj  [        U#[        5      (       a%  U#R                  SS5      n$U#R                  SS5      n%O[        U#SS5      n$[        U#SS5      n%U$(       a  SnSnU%(       a  SnSn[	        U5      nUb  [        U5      [        L d   eUb  [        U5      [        L d   eUc  U#b  S n&[        U#[        5      (       a*  U#R                  SS5      (       a  U#R                  SS 5      n&O[        U#SS5      (       a  [        U#SS 5      n&[        U&[        5      (       a  [        [        U&S 5      n&[        U&[        R                  5      (       a  U&n[        5       n'Uc(  U'(       d  [        R                  O[        R                  nOAU[        R                  :X  a-  U'(       d&  [        R                  " S5        [        R                  nU[        R                  [        R                  [        R                  4;   d   eUS;   d   e[        5         [!        5         U(       a!  U(       d  U(       a  [#        S	5        SnSnSnSn[%        U5      [%        U5      -   [%        U5      -   [%        US:g  5      -   S
:  a  ['        S5      eUb  U(       d  [)        S5      eUS:X  a  Sn[*        (       dF  U(       d?  U(       d+  U(       d$  U R-                  5       R/                  S5      (       a  [#        S5        SnU(       a  [0        R2                  R5                  S5      c  [7        S5      e[8        S:X  a_  [;        [<        5       HL  n(S[        [        R>                  RA                  U(5      5      RC                  5       ;   d  M?  [#        S5        Sn  O   US:w  a  U(       d  [E        S5      eU n)S n*U(       d8  [G        XUS9n+U+c$  US:w  a  [I        UUUUUUU5      n*[K        U U*5      n OU+c   eU+n [L        (       db  U R-                  5       R/                  S5      (       a>  U R-                  5       RO                  S5      n U R-                  5       RO                  S5      n U R-                  5       R/                  S5      (       a  SnSnSnSn[P        (       a2  [R        RT                  RW                  U 5      (       d  SSK,J-n,  U," U 5      n SSK.J/n-J0n.J1n/  U/" 5       n0U-" 5         S n1S n2S n3S n4 [d        Rf                  " U UUUS9n3Sn5 [l        Rf                  " U UUUS9n4Sn7U5=(       a    U7=(       a    [n        (       + n8U8(       a  ['        S#5      e[q        U4b  U4OU3US$9n9S%Rs                  U95      S%-   n:U R-                  5       n;[R        Rt                  R                  S&S'5      U:-   n<U(       a  U<S(-  n<U(       a  U<S)-  n<U(       a  U<S*-  n<U(       a  U<S+-  n<U<[R        Rt                  S&'   S,n=S-n>S.U:;   a!  [j        [w        S/5      :  a  ['        S0U=-   5      eS1U:;   a!  [j        [w        S/5      :  a  ['        S2U=-   5      eS3U:;   a\  [j        [w        S45      :  a  ['        S5U=-   5      eS6[R        Rt                  S7'   S8[R        Rt                  S9'   S6[R        Rt                  S:'   GOS;U:;   a6  [j        [w        S<5      :  a  ['        S=U>-   5      eS6[R        Rt                  S:'   GOS>U:;   a!  [j        [w        S<5      :  a  ['        S?U>-   5      eS@U:;   a;  SA[R        Rt                  SB'   S6[R        Rt                  S7'   SC[R        Rt                  S9'   GO)SDU:;   a'  S6[R        Rt                  S:'   S6[R        Rt                  S7'   OSEU:;   a!  [j        [w        S<5      :  a  ['        SFU>-   5      eSGU:;   a  SH[R        Rt                  S9'   OSIU:;   aU  S6[R        Rt                  S7'   U(       d  SJ[R        Rt                  S9'   OSK[R        Rt                  S9'   S6[R        Rt                  S:'   O`[x         HV  n?U?U;;   d  M  SA[R        Rt                  SB'   S6[R        Rt                  S7'   [j        [w        S<5      :  a  ['        SLU? SM3U>-   5      e  O   Ub  S6[R        Rt                  S7'   [n        (       a  [R        RT                  R{                  U 5      (       a  [R        RT                  RW                  [R        RT                  Rs                  U SN5      5      n@[R        RT                  RW                  [R        RT                  Rs                  U SO5      5      nAU@=(       a    WAn8OE[}        USP9R                  U  SQ35      nB[        SR UB 5       5      nB[        SS UB 5       5      S
:  a  Sn8U5(       dT  U7(       dM  U1b  U1OU2n6STU6R-                  5       ;   a  [        (       d  [7        SU[j         SV35      eSWU1 SXU2 SY3nC['        UC5      eU7(       a  U4R                  n U(       d  [G        X5      n [L        (       db  U R-                  5       R/                  S5      (       a>  U R-                  5       RO                  S5      n U R-                  5       RO                  S5      n U R-                  5       R/                  S5      (       a  SnSnSnSn[d        Rf                  " U UUSZ9n3U0(       d  U." 5         [R        Rt                  R                  S[S\5      S6:H  nDUD(       a  [        R                  " 5       nEO.[        R                  " [        [R        R                  S]5      5      nES^/U9-   n9S\[R        Rt                  S_'   SnFU9 H  nGUGS^:w  d  M    O   [         H  nHUHR-                  5       WGR-                  5       R                  S`S'5      R                  SaS'5      :X  d  WHR-                  5       U:;   d  M[  U[        R                  :X  d	  U'(       a  Mx  S6[R        Rt                  S_'   [        R                  n  O   USb:X  a	  [        USc9  WE   [        SSd9  [        S0 SeU_SfU _SgU9_ShU_SiS_SjS_SkS_SlS_SmS_SnS_SoS_SpS_SqS_SrS_SsS_StS_SuS_SvS_SwS_SxS_SyS_SzS_S{S_S|S_S}U_S~S_SS_SU_SU_SU_6u  n9nIS S S 5        [         H  nJUJU:;   d  M  SnIM     [R        RT                  RW                  [R        RT                  Rs                  U)S5      5      (       a  [R        RT                  RW                  [R        RT                  Rs                  U)S5      5      (       aE  [R        RT                  RW                  [R        RT                  Rs                  U)S5      5      (       a  U)nKOU"R                  SS 5      nK[        U3SS 5      nLULc  / nL[        S WL 5       5      nMUM=(       d    [        U3S5      nMUc  WM(       a  [        O[        nUnNUnOU#b  U(       d  SnNSnO[        Rf                  " U!0 SfU _SU_Se[        U5      _SWN_SWO_SU_SU_ShU_SU_SU_SU7(       d  UOS _SgU9_SWK_SU_SU_SWI_SU_SU_SU3_SU_SU_SU_SU_SU_SU_SU_SU_U"D6u  nPnQUb  WPR                  U5        [        WPS5      (       a  WPR                  Sb/5        [        WQS5      (       a  WQR                  Sb/5        U(       a  U#c@  [        WPR                  5      nRURSSSSS SSSSS.
n#UPR                  R                  SU#05        Oo[        U#S5      (       a,  WPR                  R                  SU#R                  5       05        O2[        U#[        5      (       a  WPR                  R                  SU#05        US:w  a  [        WPU*5        U7(       a.  [        Rf                  " WPU)UUSUS9nP[        R                  " UPXS$9nPUb!  [#        S5        [        R                  WPU5      nP[R        Rt                  R                  SU (       a  SOS\5      nSUSS\:w  d  U (       a
  [        WPWSS9  WPWQ4$ ! [6         a    e [h         a4  n6[        U65      n1SU1;   a  [)        S U  S![j         S"35      eSn5 S n6A6GNLS n6A6ff = f! [6         a    e [h         a4  n6[        U65      n2SU2;   a  [)        S U  S![j         S"35      eSn7 S n6A6GN}S n6A6ff = f! , (       d  f       GN6= f)Nr?   r@   FrA   TrB   z9Device does not support bfloat16. Will change to float16.)TFblockzcUnsloth: You selected full finetuning support, but 4bit / 8bit is enabled - disabling LoRA / QLoRA.r   a  Unsloth: Can only load in 4bit or 8bit or 16bit, not a combination!
Also, we by default set `load_in_4bit = True`.
If you want 8bit finetuning, set both `load_in_4bit = False` and `load_in_8bit = True`
If you want 16bit LoRA finetuning, set `load_in_16bit = True`zSpecifying `qat_scheme` in `FastLanguageModel.from_pretrained(...)` is only compatible with `full_finetuning=True`. If you wish to use QAT with LoRA, please pass in `qat_scheme` in `FastLanguageModel.get_peft_model(...)` instead.zphone-deploymentz	int8-int4rf   rg   r`   ra   rb   rc   rd   re   rh   ri   rj   rk   r   rl   rn   rr   rs   rt   ru   rv   rw   rx   ,UNSLOTH_MODEL_NAME _load_in_4bit__load_in_8bit__load_in_16bit_r\   zh
Please use transformers via `pip install --no-deps git+https://github.com/huggingface/transformers.git`zR
Please use nightly transformers via pip install --upgrade "transformers>=4.49.0"`pixtralz4.49.0z6Unsloth: Pixtral only works on transformers >= 4.49.0.qwen2_5z7Unsloth: Qwen 2.5 only works on transformers >= 4.49.0.r7   r*   z6Unsloth: Gemma 3N only works on transformers >= 4.53.01!UNSLOTH_DISABLE_STATIC_GENERATIONzfloat16;torch.float16;torch.float16;if name.endswith('norm'): module._pre_set_compute_dtype = torch.float32
;from unsloth_zoo.temporary_patches.gemma3n import patch_Gemma3nConv_Embed_forwards; patch_Gemma3nConv_Embed_forwards()UNSLOTH_FORCE_CUSTOM_DTYPE UNSLOTH_HIGH_PRECISION_LAYERNORMgemma3z4.50.0.dev0z6Unsloth: Gemma 3 only works on transformers >= 4.50.0.cohere2zEUnsloth: Cohere's Command model only works on transformers >= 4.50.0.csmpartialUNSLOTH_COMPILE_DISABLEzxall;torch.float32;torch.float16;if name.endswith(('_proj', 'fc1', 'fc2', 'codebook', 'head')): module.to(torch.float16);granitemoehybridolmo2z5Unsloth: OLMo-2 only works on transformers >= 4.50.0.	falcon_h1zfloat16;torch.float32;torch.float16;if name.endswith(('q_proj', 'k_proj', 'v_proj', 'o_proj', 'gate_proj', 'up_proj', 'down_proj', 'head')): module.to(torch.float16);os.environ['TRITON_F32_DEFAULT'] = 'ieee'r8   a  all;None;None;x = 'gate_up_proj_bias'
if hasattr(module, x): setattr(module, x, torch.nn.Parameter(getattr(module, x).to(torch.float32)) if isinstance(getattr(module, x), torch.nn.Parameter) else getattr(module, x).to(torch.float32))
x = 'down_proj_bias'
if hasattr(module, x): setattr(module, x, torch.nn.Parameter(getattr(module, x).to(torch.float32)) if isinstance(getattr(module, x), torch.nn.Parameter) else getattr(module, x).to(torch.float32))
;a.  torch.float16;torch.bfloat16;torch.float16;if ('down_projs' in name) and hasattr(module, 'weight') and torch.amax(dequantize_module_weight(module)) >= 0:module._pre_set_compute_dtype = torch.float32
if ('mlp.router' in name) and hasattr(module, 'weight'):module._pre_set_compute_dtype = torch.float32
;z	Unsloth: z& only works on transformers >= 4.50.0.ry   rz   r{   r|   c              3   f   #    U  H'  n[         R                  R                  U5      S    v   M)     g7fr~   r   r   s     r   r   ,FastModel.from_pretrained.<locals>.<genexpr>Y  r   r   c              3   B   #    U  H  oS :H  =(       d    US:H  v   M     g7fr   r   r   s     r   r   r;  [  r   r   rJ   r   r   r   r   r   r   UNSLOTH_ENABLE_LOGGINGr   wsiglipUNSLOTH_FORCE_FLOAT32-_r   r   )torch_compilerE   rC   r   rH   sdpa_dynamic_masksdpa_bool_maskssdpa_gqa_replacesdpa_dynamic_compilecompile_attentiondisable_causal_maskscompile_torch_modulescompile_custom_modulescompile_function_callsfuse_lm_headgradient_checkpointingmanual_replacementsfast_lora_forwardsfast_residual_streamaccurate_accumulationepilogue_fusionmax_autotuneshape_padding
cudagraphsdebugrQ   import_from_cachedisablerP   rL   unsloth_force_compiler   r   r   r   architecturesc              3   B   #    U  H  oR                  S 5      v   M     g7f)ForConditionalGenerationN)r   r   s     r   r   r;    s     S]ZZ :;;]r   vision_configrD   rF   rG   rI   rO   
auto_modelrM   supports_sdpawhisper_languagewhisper_taskauto_configrS   rT   rU   rV   rW   rX   rY   rZ   r   r   r   r   r   r   r   z:Unsloth: Applying QAT to mitigate quantization degradationr   r   r   r   )br   r   r   r   r
   r   r   r   rE   r   r^   r_   r   warning_oncer   r2   r.   r   intr   r   r%   r   r   r   r   r   r   r"   r   r#   rb   r   r   r   r   r   r   r$   r   r   r   r   r   r   rm   r   ro   rp   rq   r   r   r   r   r   r   r	   r   r   r&   DISABLE_COMPILE_MODEL_NAMESr   r   r   r   r   r   r   
contextlibnullcontextredirect_stdoutopendevnullFORCE_FLOAT32replacer1   r  r4   DISABLE_SDPA_MODEL_NAMESr   anyr   r  r  r  r'   r   r   r(   r   r   r   r   r   post_patch_modelr   r"  r)   )TrC   rD   rE   r@   rA   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   r_  ra  rb  rZ  rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r   r   r?   r   r   r   SUPPORTS_BFLOAT16r   r   r   r   rm   ro   rp   rq   r   r   r   r   r   r   r   r   r   r   model_types_alllowered_model_namestringLATESTNIGHTLYcheck_model_namer   r   r  r  
do_logging
redirectordo_forced_float32model_type_archdisable_namer`  r   r   r[  is_vlmr  r  r	  r
  r  r  sT                                                                                       r   r   FastModel.from_pretrained  s   P %jj)>E*-t44!4!8!8!O!4!8!8!O!()<ne!T!()<ne!T#$#$ '()S000#%,,,=0< $-t44&**>5AA(;(?(?0$)% .FF(/+-Et)% +S11$+E3Dd$K!+U[[99)13=):EMMEenn$->K MMEFFFF4444!$&u !L LK!M , - ! +&'( 	 P  !/b 
 ++$J!!*>|z/?/?/A/J/J;/W/We !L~~''/7!K  !F*|,A$EJJ,F,Fq,I(J(P(P(RRF */ - %!)T 
 $#+{N %+*>;"#  !( 6j(K
%111+
 )(Z-=-=-?-H-H..
 .
 $))+889LMJ#))+88EJ&&w// L LK M >"''.."<"<4*:6J	
 	
 23
	%55#$5	L H	$44#$5	K G *7D4D0D
G  2&2K 1
 ((;/#5 (--/ 4b9OK&&F&&F''Fm#F+1

'( }g',@78CT,TH6Q  /).BWXEV.VIFR  /)#gh&77"LvU  ?BBJJ:;I JJ34 >ABJJ9:(#gm&<<"LwV 
 >ABJJ9:/).BWF
 /
 W 
 o%4=BJJ01>ABJJ:; JJ34  ?2=@BJJ9:>ABJJ:;',@7D
 -
 G'Q  O+< JJ34 /)>ABJJ:;	 

78  

78 >ABJJ9:$? #'99<EBJJ89FIBJJBC+gm.DD*'(8'99_`%&   %@ !>ABJJ:; ww}}Z((')ww~~GGLL-BC($  "ww~~bggll:}.UV1Bl
$U388J<w9OPA5AAXRWXX "&J(8(D$*E.7G7G!<=Q<R SZ [ %%5$6 7%%/L6 
 ~.. $<<J'+JE
 -,1A1A1C1L1L22 2 (--/<<=PQ
'--/<<[I
!**733$$# $%55$5L  "ZZ^^$<cBcI
#//1J#33DS4IJJj;..1

*+!*O(*  + *L ""$"((*223;CCCLM%%'?:U]]*3D3D69

23 * &26uE 7)E **'* ** 	*
 %)* #'* $(* (,* %)* (,* )-* *.* *.*  $* *.*  '+!*" &*#*$ (-%*& )-'*( #')**  %+*, !%-*. #/*0 1*2 &3*4 %*5*6  7*8 !.9*: %6;*< )>=*&K F 3J_, % 3 GGNN277<<8OPQQrww||N<LMNNrww||N<UVWW+N#ZZ(8$?N  otD MS]SSA7<A39/?SJ***>"'"'(88: ;
#
+
 u%
 /	

 /
 *
 .
 
 $
 !2
 (/xD
 &
 ,
 $
 *D
  *!
"  0#
$ (%
& ''
( !2)
* '>+
. ,/
0 &<1
2 .3
4 (5
6 *7
8 !2=
yB )))*<= 5*++  
 9.//$$ "* 1%,, ? /<+0158=05-1*-$($)$2'# ##%:<O$PQ.	::LL''.0C0K0K0MN   3T::LL'')>@S(TU%.uh? --##$5E "221E
 !NO..ujAE "$->C"
 "S(,=E7MNi}  	 	"5z!11 
|#LMaLb ci j  H	   	 	UJ+ 
|#LMaLb ci j  G	| ZsN   1A@ AA 
A0AB)@AA@')AAAAAAAB&A2)AB!B!AB&B)
AB8r   )!z.unsloth/Llama-3.2-11B-Vision-Instruct-bnb-4bitr  NTFFFNr  NTFr   NNFTFNNNFFNFr  Fr  r  TNFF)r  r  r  r  r  r"  r   r  r   r  r   r   r     s      E!!%.!$ %!"&!$ !EX
  X
 r  r   c                       \ rS rSrSrg)FastVisionModeliY  r   Nr  r  r  r  r  r   r  r   r  r  Y      r  r  c                       \ rS rSrSrg)FastTextModeli]  r   Nr  r   r  r   r  r  ]  r  r  r  )f_utilsr   r   r   r   r   r   r	   r
   graniter   r   r   r   r   r   r   r   r   r   	qwen3_moer   coherer   transformersr   r   r   peftr   r   loader_utilsr   r   r   r   r   rg  syshuggingface_hubr   r   huggingface_hub.utils._tokenr   importlib.utilr   device_typer   r    r!   r"   r#   r$   r%   unsloth_zoo.utilsr&   r'   unsloth_zoo.hf_utilsr(   unsloth_zoo.tiled_mlpr)   SUPPORTS_FOURBITr   r   r   r   SUPPORTS_GRANITEr   r   SUPPORTS_FALCON_H1SUPPORTS_GEMMA3NSUPPORTS_GPTOSSr   r+   r   r,   r9  r-   r   r.   r/   r0   r1   r2   r3   r4   r5   rl  rf  rn  r<   kernelsr  r  visionr  r  r  r  r   r  r  r   r  r   <module>r     s  	 	 	 & ) % ! ! ( # # < &   ;) )    2 2 134 '76?: %8&'&/9'78+<< ''(*;; '78+<< %)::)WX->> )WX->> '78+<< &'(*;;%', 	 	 	   
j  j Z "488
_
  _
 D	i 		I 	a);;33;::B43s0   .F9 G 9G<GGGGG!