Instructions to use zeronamoni/TMFT-adv with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use zeronamoni/TMFT-adv with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("EleutherAI/pythia-160m") model = PeftModel.from_pretrained(base_model, "zeronamoni/TMFT-adv") - Notebooks
- Google Colab
- Kaggle
File size: 1,978 Bytes
98188cc | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | """Result-table and figure generation for TMFT experiments."""
from __future__ import annotations
from pathlib import Path
import matplotlib.pyplot as plt
import pandas as pd
def _save_figure(fig, output_dir: Path, stem: str) -> None:
for suffix in ("png", "pdf"):
fig.savefig(output_dir / f"{stem}.{suffix}", dpi=220, bbox_inches="tight")
plt.close(fig)
def plot_results(csv_path: str | Path, output_dir: str | Path = "results/figures") -> list[Path]:
"""Generate privacy-utility, MIA, and masking figures from main_results.csv."""
frame = pd.read_csv(csv_path)
output_dir = Path(output_dir)
output_dir.mkdir(parents=True, exist_ok=True)
fig, axis = plt.subplots(figsize=(7, 5))
axis.scatter(frame["mdp"], frame["ter"], s=70)
for _, row in frame.iterrows():
axis.annotate(row["method"], (row["mdp"], row["ter"]), xytext=(5, 5), textcoords="offset points")
axis.set(xlabel="Delta perplexity vs baseline (lower is better)", ylabel="TER (lower is better)")
axis.grid(alpha=0.25)
_save_figure(fig, output_dir, "privacy_utility_tradeoff")
fig, axis = plt.subplots(figsize=(7, 5))
frame.plot(x="method", y=["loss_mia_auc", "min_k_mia_auc"], kind="bar", ax=axis)
axis.axhline(0.5, linestyle="--", color="black", linewidth=1)
axis.set(ylabel="MIA AUC", xlabel="", ylim=(0, 1))
axis.tick_params(axis="x", rotation=25)
_save_figure(fig, output_dir, "mia_auc")
fig, axis = plt.subplots(figsize=(7, 5))
frame.plot(x="method", y="masked_token_ratio", kind="bar", legend=False, ax=axis, color="#3b7a57")
axis.axhline(0.15, linestyle="--", color="black", linewidth=1, label="RMFT target 0.15")
axis.set(ylabel="Masked token ratio", xlabel="")
axis.tick_params(axis="x", rotation=25)
axis.legend()
_save_figure(fig, output_dir, "masked_token_ratio")
return [output_dir / name for name in ("privacy_utility_tradeoff.png", "mia_auc.png", "masked_token_ratio.png")]
|