jmullings commited on
Commit ·
61da2de
1
Parent(s): 254fd6c
DeepSeek Update
Browse files- src/audit/engine.py +10 -12
src/audit/engine.py
CHANGED
|
@@ -314,18 +314,12 @@ def silence_specific_warnings():
|
|
| 314 |
|
| 315 |
|
| 316 |
# -----------------------------------------------------------------------------
|
| 317 |
-
# 4.
|
| 318 |
# -----------------------------------------------------------------------------
|
| 319 |
try:
|
| 320 |
import torch
|
| 321 |
-
|
| 322 |
-
|
| 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.
|
| 667 |
dtype = torch.bfloat16 if self.device == "cuda" else torch.float32
|
| 668 |
model_loaded = None
|
| 669 |
load_errors = []
|
| 670 |
|
| 671 |
-
loader_classes = [AutoModelForCausalLM, AutoModel
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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 |
-
|
| 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),
|