Skip to main content

Dioptra provides Machine Learning Security researchers with an environment for organizing and running experiments.

Project description

Dioptra: Test Software for the Characterization of AI Technologies

Dioptra is a software test platform for assessing the trustworthy characteristics of artificial intelligence (AI). Trustworthy AI is: valid and reliable, safe, secure and resilient, accountable and transparent, explainable and interpretable, privacy-enhanced, and fair - with harmful bias managed^1. Dioptra supports the Measure function of the NIST AI Risk Management Framework by providing functionality to assess, analyze, and track identified AI risks.

Dioptra provides a REST API, which can be controlled via an intuitive web interface, a Python client, or any REST client library of the user's choice for designing, managing, executing, and tracking experiments. Details are available in the project documentation available at https://pages.nist.gov/dioptra/.

Current Release Status

Release 1.0.1 -- with on-going improvements and development

Use Cases

We envision the following primary use cases for Dioptra:

  • Model Testing:
    • 1st party - Assess AI models throughout the development lifecycle
    • 2nd party - Assess AI models during acquisition or in an evaluation lab environment
    • 3rd party - Assess AI models during auditing or compliance activities
  • Research: Aid trustworthy AI researchers in tracking experiments
  • Evaluations and Challenges: Provide a common platform and resources for participants
  • Red-Teaming: Expose models and resources to a red team in a controlled environment

Key Properties

Dioptra strives for the following key properties:

  • Reproducible: Dioptra automatically creates snapshots of resources so experiments can be reproduced and validated
  • Traceable: The full history of experiments and their inputs are tracked
  • Extensible: Support for expanding functionality and importing existing Python packages via a plugin system
  • Interoperable: A type system promotes interoperability between plugins
  • Modular: New experiments can be composed from modular components in a simple yaml file
  • Secure: Dioptra provides user authentication with access controls coming soon
  • Interactive: Users can interact with Dioptra via an intuitive web interface
  • Shareable and Reusable: Dioptra can be deployed in a multi-tenant environment so users can share and reuse components

Usage Instructions

Build the containers

The first step in setting up Dioptra is to clone the repository and build the docker containers for the various services that are part of a deployment. See the Building the containers section of the documentation for instructions.

Run Dioptra

Once the containers have been built, the next step is to configure the deployment with cruft and run Dioptra. See the Running Dioptra section of the documentation for instructions.

Additionally, you may want to add datasets, see the Downloading datasets section of the documentation for details.

User registration

Register a user account with your Dioptra instance via either the user interface. The user interface can be accessed via your web browser at the URL specified when creating the deployment. The default is http://localhost.

Develop Dioptra

If you are interested in contributing to Dioptra, please see the Developer Guide

License

Creative Commons License

This Software (Dioptra) is being made available as a public service by the National Institute of Standards and Technology (NIST), an Agency of the United States Department of Commerce. This software was developed in part by employees of NIST and in part by NIST contractors. Copyright in portions of this software that were developed by NIST contractors has been licensed or assigned to NIST. Pursuant to Title 17 United States Code Section 105, works of NIST employees are not subject to copyright protection in the United States. However, NIST may hold international copyright in software created by its employees and domestic copyright (or licensing rights) in portions of software that were assigned or licensed to NIST. To the extent that NIST holds copyright in this software, it is being made available under the Creative Commons Attribution 4.0 International license (CC BY 4.0). The disclaimers of the CC BY 4.0 license apply to all parts of the software developed or licensed by NIST.

How to Cite

Glasbrenner, James, Booth, Harold, Manville, Keith, Sexton, Julian, Chisholm, Michael Andy, Choy, Henry, Hand, Andrew, Hodges, Bronwyn, Scemama, Paul, Cousin, Dmitry, Trapnell, Eric, Trapnell, Mark, Huang, Howard, Rowe, Paul, Byrne, Alex (2024), Dioptra Test Platform, National Institute of Standards and Technology, https://doi.org/10.18434/mds2-3398 (Accessed 'Today's Date')

N.B.: Replace 'Today's Date' with today's date

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

dioptra_platform-1.0.1.tar.gz (2.8 MB view details)

Uploaded Source

Built Distribution

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

dioptra_platform-1.0.1-py3-none-any.whl (430.7 kB view details)

Uploaded Python 3

File details

Details for the file dioptra_platform-1.0.1.tar.gz.

File metadata

  • Download URL: dioptra_platform-1.0.1.tar.gz
  • Upload date:
  • Size: 2.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for dioptra_platform-1.0.1.tar.gz
Algorithm Hash digest
SHA256 758c3b39f5939f6f9a7afe1054e58dce47d6cafb5a945384cda172c46c748899
MD5 9a9a16245ae332cde9b9d0fe512af1d6
BLAKE2b-256 35c8d8d1c2fb130fcef6cca5321daa295840b6c1d84c3d792348a1eef0c3e7d7

See more details on using hashes here.

File details

Details for the file dioptra_platform-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: dioptra_platform-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 430.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for dioptra_platform-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f2cdc298bf9068cebd5f2c2813d12004d00581dab3fb1960a949deb3c324a8e0
MD5 db0e7052eff5117f6fb783c0c43428d3
BLAKE2b-256 bd6b8b02891aedf52a6383c0502b4a9974fcf73c7ae577febada586efe2dfb65

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