Skip to main content

Amulet is a Python machine learning (ML) package to evaluate the susceptibility of different risks to security, privacy, and fairness.

Project description

Amulet

CI Status CodeQL codecov PyPI version Python Versions License Code style: ruff

Amulet is a Python machine learning (ML) package to evaluate the susceptibility of different risks to security, privacy, and fairness. Amulet is applicable to evaluate how algorithms designed to reduce one risk may impact another unrelated risk and compare different attacks/defenses for a given risk.

Amulet builds upon prior work titled “SoK: Unintended Interactions among Machine Learning Defenses and Risks” which appears in IEEE Symposium on Security and Privacy 2024. The SoK covers only two interactions and identifies the design of a software library to evaluate unintended interactions as future work. Amulet addresses this gap by including eight different risks each covering their own attacks, defenses and metrics.

Amulet is:

  • Comprehensive: Covers the most representative attacks/defenses/metrics for different risks.
  • Extensible: Easy to include additional risks, attacks, defenses, or metrics.
  • Consistent: Allows using different attacks/defenses/metrics with a consistent, easy-to-use API.
  • Applicable: Allows evaluating unintended interactions among defenses and attacks.

Built to work with PyTorch , you can incorporate Amulet into your current ML pipeline to test how your model interacts with these state-of-the-art defenses and risks. Alternatively, you can use the example pipelines to bootstrap your pipeline.

Getting Started

Note: The package requires the CUDA version to be 11.8 or above for PyTorch 2.2

The easiest way to start is via pip:

pip install amuletml

Test installation

To test your installation, please run amulet/examples/get_started.py. This script also serves as a starting point to learn how to use the library.

Learn More

For more information on the basics about the library, please see the Getting Started guide.

To see the attacks, defenses, and risks (modules) that Amulet implements, please refer to the Module Heirarchy (link TBD) in the Tutorial (link TBD).

For each module, please see amulet/examples for implementations of pipelines that include recommendations on how to run each module.

Contributing

See CONTRIBUTING for guidance.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

amuletml-0.5.3.tar.gz (13.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

amuletml-0.5.3-py3-none-any.whl (87.8 kB view details)

Uploaded Python 3

File details

Details for the file amuletml-0.5.3.tar.gz.

File metadata

  • Download URL: amuletml-0.5.3.tar.gz
  • Upload date:
  • Size: 13.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for amuletml-0.5.3.tar.gz
Algorithm Hash digest
SHA256 31b85f21564e7bcb8e73d1f5247d46278a82eb65d6ce2b12a6bed077b38242a4
MD5 27c2d1e34655de929a0cfd5033620a0f
BLAKE2b-256 42fe8e806324ff58e823c9e3bb0edfd7d3c5f91cee27ccf75d05b4f999f4f707

See more details on using hashes here.

File details

Details for the file amuletml-0.5.3-py3-none-any.whl.

File metadata

  • Download URL: amuletml-0.5.3-py3-none-any.whl
  • Upload date:
  • Size: 87.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for amuletml-0.5.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8adc80c24cbe47a54ded3a7edc7765693c32f4e76f9e4421c2e81a0f4c817776
MD5 56b95378ec3899d02dc736db9bfc79e9
BLAKE2b-256 e73b27b9f048738ad3b5c59b38c5a8739b5e27eb20af98d340358658e329d1cf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page