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.0 -- 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.0.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.0-py3-none-any.whl (434.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dioptra_platform-1.0.0.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.0.tar.gz
Algorithm Hash digest
SHA256 eb848c76740293daece3160b03a9ad2eed7e7c5d19cf2374f4c8650a1a18f08e
MD5 cffbc529398c5ffe1c8945bc1c967f53
BLAKE2b-256 67fbfc36e02bd83d2159ac795ff625996e6c53be36c6fbd981dd7e0e27ac243e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dioptra_platform-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 434.9 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 934010fee4b8da997fb9ad0fb354dab3110a8f997c776b80f04b853c08c8b0b4
MD5 5f788f51093c095aed9cd8013ff27ecc
BLAKE2b-256 5e80de8595d8282c1af946f24328555a727ce557f8c593bc576bc01d19c7be61

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