Skip to main content

Tools for the statistical disclosure control of machine learning models

Project description

License Latest Version DOI codecov Python versions

AI-SDC

A collection of tools and resources for managing the statistical disclosure control of trained machine learning models. For a brief introduction, see Smith et al. (2022).

Content

  • aisdc
    • attacks Contains a variety of privacy attacks on machine learning models, including membership and attribute inference.
    • preprocessing Contains preprocessing modules for test datasets.
    • safemodel The safemodel package is an open source wrapper for common machine learning models. It is designed for use by researchers in Trusted Research Environments (TREs) where disclosure control methods must be implemented. Safemodel aims to give researchers greater confidence that their models are more compliant with disclosure control.
  • docs Contains Sphinx documentation files.
  • example_notebooks Contains short tutorials on the basic concept of "safe_XX" versions of machine learning algorithms, and examples of some specific algorithms.
  • examples Contains examples of how to run the code contained in this repository:
    • How to simulate attribute inference attacks attribute_inference_example.py.
    • How to simulate membership inference attacks:
      • Worst case scenario attack worst_case_attack_example.py.
      • LIRA scenario attack lira_attack_example.py.
    • Integration of attacks into safemodel classes safemodel_attack_integration_bothcalls.py.
  • risk_examples Contains hypothetical examples of data leakage through machine learning models as described in the Green Paper.
  • tests Contains unit tests.

Documentation

Documentation is hosted here: https://ai-sdc.github.io/AI-SDC/

Quick Start

Development

Clone the repository and install the dependencies (safest in a virtual env):

$ git clone https://github.com/AI-SDC/AI-SDC.git
$ cd AI-SDC
$ pip install -r requirements.txt

Then run the tests:

$ pip install pytest
$ pytest .

Or run an example:

$ python -m examples.lira_attack_example

Installation / End-user

PyPI package

Install aisdc (safest in a virtual env) and manually copy the examples and example_notebooks.

$ pip install aisdc

Then to run an example:

$ python attribute_inference_example.py

Or start up jupyter notebook and run an example.

Alternatively, you can clone the repo and install:

$ git clone https://github.com/AI-SDC/AI-SDC.git
$ cd AI-SDC
$ pip install .

This work was funded by UK Research and Innovation Grant Number MC_PC_21033 as part of Phase 1 of the DARE UK (Data and Analytics Research Environments UK) programme (https://dareuk.org.uk/), delivered in partnership with HDR UK and ADRUK. The specific project was Guidelines and Resources for AI Model Access from TrusTEd Research environments (GRAIMATTER).­ This project has also been supported by MRC and EPSRC [grant number MR/S010351/1]: PICTURES.

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

aisdc-1.0.5.post1.tar.gz (89.9 kB view details)

Uploaded Source

Built Distribution

aisdc-1.0.5.post1-py3-none-any.whl (73.8 kB view details)

Uploaded Python 3

File details

Details for the file aisdc-1.0.5.post1.tar.gz.

File metadata

  • Download URL: aisdc-1.0.5.post1.tar.gz
  • Upload date:
  • Size: 89.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for aisdc-1.0.5.post1.tar.gz
Algorithm Hash digest
SHA256 cae32ef5bf8c1fddab59106afd8d9a2bf0dd264a37fc744b3371df77313668a5
MD5 34c8b5440b5de4afa3713c6c37b4e3ae
BLAKE2b-256 91e0c3dcf6ffc4b4f83de6920d7f23113f6bae6bd646e650ee15cfdfd61bb3c2

See more details on using hashes here.

File details

Details for the file aisdc-1.0.5.post1-py3-none-any.whl.

File metadata

  • Download URL: aisdc-1.0.5.post1-py3-none-any.whl
  • Upload date:
  • Size: 73.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for aisdc-1.0.5.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 ead25dcd9c1647579b8c0c4cd02c083ee119faa392c1820915772a0167c27ee0
MD5 1167458b38ac456995c3397dbe45f322
BLAKE2b-256 1ff854f4d530c928f92a1b3519b07505ef0c9b5000d09a48f780b351a0d9d831

See more details on using hashes here.

Supported by

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