jmullings commited on
Commit
61da2de
·
1 Parent(s): 254fd6c

DeepSeek Update

Browse files
Files changed (1) hide show
  1. src/audit/engine.py +10 -12
src/audit/engine.py CHANGED
@@ -314,18 +314,12 @@ def silence_specific_warnings():
314
 
315
 
316
  # -----------------------------------------------------------------------------
317
- # 4. Main Transformers and Auditor Classes
318
  # -----------------------------------------------------------------------------
319
  try:
320
  import torch
321
- from transformers import (
322
- AutoConfig,
323
- AutoModel,
324
- AutoModelForCausalLM,
325
- AutoModelForSeq2SeqLM,
326
- AutoModelForVision2Seq,
327
- AutoTokenizer,
328
- )
329
  HAS_TRANSFORMERS = True
330
  except ImportError:
331
  HAS_TRANSFORMERS = False
@@ -663,12 +657,16 @@ class TransformerAuditorBackend:
663
  except Exception as e_final:
664
  raise AuditError(f"Unable to load tokenizer for '{model_id}': {e_final}")
665
 
666
- # 2. Universal Multi-Architecture Model Loader (CausalLM -> AutoModel -> Vision2Seq -> Seq2Seq)
667
  dtype = torch.bfloat16 if self.device == "cuda" else torch.float32
668
  model_loaded = None
669
  load_errors = []
670
 
671
- loader_classes = [AutoModelForCausalLM, AutoModel, AutoModelForVision2Seq, AutoModelForSeq2SeqLM]
 
 
 
 
672
 
673
  with silence_specific_warnings():
674
  for loader_cls in loader_classes:
@@ -752,7 +750,7 @@ class TransformerAuditorBackend:
752
  conds.append(prof["cond"])
753
 
754
  return {
755
- "mean_srank": float(np.mean(sranks)) if sranks else 0.0,
756
  "mean_eff_rank": float(np.mean(eff_ranks)) if eff_ranks else 0.0,
757
  "mean_cond": float(np.mean(conds)) if conds else 0.0,
758
  "matrices_sampled": len(sranks),
 
314
 
315
 
316
  # -----------------------------------------------------------------------------
317
+ # 4. Safe Transformers Import (Guaranteed not to fail on deprecated classes)
318
  # -----------------------------------------------------------------------------
319
  try:
320
  import torch
321
+ import transformers
322
+ from transformers import AutoConfig, AutoModel, AutoModelForCausalLM, AutoTokenizer
 
 
 
 
 
 
323
  HAS_TRANSFORMERS = True
324
  except ImportError:
325
  HAS_TRANSFORMERS = False
 
657
  except Exception as e_final:
658
  raise AuditError(f"Unable to load tokenizer for '{model_id}': {e_final}")
659
 
660
+ # 2. Dynamically gather available model loaders (CausalLM -> AutoModel -> Multimodal)
661
  dtype = torch.bfloat16 if self.device == "cuda" else torch.float32
662
  model_loaded = None
663
  load_errors = []
664
 
665
+ loader_classes = [AutoModelForCausalLM, AutoModel]
666
+ for extra_loader_name in ["AutoModelForImageTextToText", "AutoModelForVision2Seq", "AutoModelForSeq2SeqLM"]:
667
+ extra_cls = getattr(transformers, extra_loader_name, None)
668
+ if extra_cls is not None and extra_cls not in loader_classes:
669
+ loader_classes.append(extra_cls)
670
 
671
  with silence_specific_warnings():
672
  for loader_cls in loader_classes:
 
750
  conds.append(prof["cond"])
751
 
752
  return {
753
+ "mean_srank": float(np.mean(sranks)) if sranks else 0.0,
754
  "mean_eff_rank": float(np.mean(eff_ranks)) if eff_ranks else 0.0,
755
  "mean_cond": float(np.mean(conds)) if conds else 0.0,
756
  "matrices_sampled": len(sranks),