Fortanix Confidential AI is a service for developing and deploying AI models on sensitive data using confidential computing. The service provides multiple stages of the data pipeline for an AI project and secures the following stages using confidential computing which ensures that the data can be processed, and models can be developed while keeping the data confidential even when in use:
- Data ingestion
- Data preparation
This quickstart guide will help you get started with Fortanix Confidential AI. For a detailed user guide refer to User's Guide: Confidential AI.
Step 1: Sign Up and Log In - Existing DSM SaaS Users
- Log in to Fortanix DSM SaaS using your existing Fortanix DSM SaaS credentials. Figure 1: Log in to Fortanix DSM SaaS
- Select an existing Fortanix DSM SaaS account or create a new account. Figure 2: Select the account
- In the Fortanix DSM SaaS dashboard, click the GO TO CONFIDENTIAL AI button on the banner at the top of the page. Figure 3: Go to Confidential AI workspace
- You can now proceed to the first page of the Confidential AI workspace, that is, Data Ingestion. Figure 4: Confidential AI workspace
For a more detailed guide about the Confidential AI existing user sign-up process, refer to the User's Guide: Sign up (Existing Users).
Step 1: Sign Up and Log In - New Users
If you are a new user and want to sign up for Confidential AI:
- Go to the Confidential AI product page on the Fortanix product page.
- Register for a free trial by filling the “Start your free trial” form.
- Once your free trial starts, in the Confidential AI signup form, enter the user’s Email address, First name, Last name, and Password.
- Select the check box I agree to Terms and Conditions.
- Click SIGN UP to complete the signup process. Figure 5: Sign up for Confidential AI
- This will take you to the Fortanix DSM SaaS dashboard. Click the GO TO CONFIDENTIAL AI button on the banner at the top of the page.Figure 6: Go to Confidential AI workspace
- You can now proceed to the first page of the Confidential AI workspace, that is, Data Ingestion. Figure 7: Confidential AI workspace
For a more detailed guide about the Confidential AI new user signup process, refer to the User's Guide: Sign Up (New Users).
Step 2: Data Ingestion
This is the first phase, where the data will be collected either by connecting to an S3 bucket or uploading a file to the Confidential AI platform.
To collect the data:
- On the Data Ingestion page, click CREATE DATASET, and select CSV Dataset if you have a structured tabular data that consists of rows and columns in CSV format or an Image Dataset if your data is of the format
- Enter the Dataset name. For example:
- Select the Upload a file option if you want to upload your data directly to the Fortanix Confidential AI platform.
- Upload a
*.csvfile for a tabular dataset.
- Upload a
tar.gzfile for an image dataset. This file will contain images in the format:
- In the File Upload section, upload the file. In a CSV dataset, notice that after the file is uploaded, the headers (column names) are detected and displayed. For example: Name, Weight, Age, and so on. The number of rows is also detected and displayed.
Select S3 URL if you want to bring your data by connecting to an S3 account. For details on how to prepare your S3 bucket for Confidential AI, refer to the User's Guide: Preparing Your S3 Bucket for Confidential AI.
- Enter the S3 bucket URL (The S3 URL should start with `
s3://`), Access Key ID, Secret Key, and Encryption key (optional):
- S3 Bucket URL – The AWS S3 URL pointing to the input file
- Access Key ID – The AWS access key id needed to access the S3 URL
- Secret Key – The AWS secret access key needed to access the S3 URL
- Encryption Key – An optional encryption key that was used to encrypt the data that is available on the S3 account. The encryption supported is AES-256-GCM and the provided encryption key is expected to be a 64 character long hex string.
- Click RETRIEVE to save the S3 details and retrieve your data. Figure 9: S3 details
If you selected a CSV dataset, notice that the headers (column names) are detected and displayed. For example: Name, Weight, Age, and so on. The number of rows is also detected and displayed.
- Upload a
- Add Labels: To track what the data is used for; you can optionally add Labels in the form of “Key:Value” pairs.
- Click CREATE DATASET to save the data. Figure 10: Saved dataset
For a more detailed guide about the Confidential AI data ingestion process, refer to the User's Guide: Data Ingestion.
Step 3: Data Preparation
- In the Data Preparation page, click ADD VARIABLES to select the features and target. Figure 11: Add variables
- Select one or more features from the SET A FEATURE column and select one target from the SET A TARGET column for the model training phase. These features and targets are called Variables, for example:
- X: (Age, Gender) and Y: (Cholesterol) as one set of features AND
- X: (Age, Height) and Y: (Cholesterol) as another set of features.
- Click ADD to add the variables. Figure 12: Select the features and target
- The variables are added, click SAVE to save the variables and proceed to the next phase, that is, build a model.
For a more detailed guide about the Confidential AI data preparation process, refer to the User's Guide: Data Preparation.
Step 4: Add a Model
In this phase, you can add a model using the following options:
- Build Model: In this option you can choose to run a selection of pre-curated AI algorithms on the datasets defined in the previous phases, to analyze and build AI models.
For more details about the AI algorithms, refer to Confidential AI-Algorithms.
For more details about building a model, refer to User’s Guide: Build a Model.
- Upload Model: In this option, you can upload an already trained model and use it to make predictions in the next phase. The supported trained models are Open Neural Network Exchange (ONNX) and Predictive Model Markup Language (PMML). For more details about uploading a model, refer to User’s Guide: Upload a Model.
Build a Model
- On the Add Models page, click the ADD MODEL button to add a new model and then select Build Model to build a training model for the dataset created in the previous phase. Figure 13: Build a model
- In the “Build a Model” form, enter the
Training flow name, that is, the name of the model, for example:
- In the Training Dataset field, select the training dataset on which you want to run the AI algorithm and build a trained model.
- In the Algorithm field, select the algorithm that you want to run on the training dataset to get a trained model.
- Select ML variables that you created in the Data Preparation phase.
- In the Model name field, enter the name of the output dataset. This is the output model that will be used in the data inference phase.
- Click BUILD MODEL to run the selected algorithm on the training data and build the model for inference. Figure 14: Build a model
- To run the training model, click the RUN button below the model. Figure 15: Run training model
- After the execution is completed successfully, the model is now trained and ready for inference. Figure 16: Model training success
- Click the download report icon to download the execution log report.
Upload a Model
To upload an already trained model:
- On the Add Models page, click the ADD MODEL button to add a new model and then select Upload Model to upload an already trained model. Figure 17: Upload a model
- In the “Bring your Model” form, enter the Model name, that is, the name of the model, for example:
- Select the Model type, for example: Logistic regression. This is optional.
- The Input type is CSV by default since the “Upload model” phase is only applicable for tabular datasets.
- In the Upload your Model section, select Upload a file option to upload the model by browsing for the model file or select the S3 URL option to bring your trained model by connecting to an S3 account that contains either an encrypted model dataset or an un-encrypted model dataset.
- Click RETRIEVE to save the S3 details and retrieve your trained model.
- Click SAVE MODEL to run the selected algorithm on the training data and build the model for inference. Figure 18: Upload model
After the training model is uploaded, you will see the model created under the Uploaded Models tab.
Step 5: Data Inference
In this stage, the data (CSV or images) is passed through a machine learning model to identify and predict the output from the data.
- In the INFERENCE tab, click BUILD INFERENCE to predict the data output.
- Enter the Inference flow name and select the training dataset in the Input dataset
- In the Algorithm field, select the prediction algorithm.
- In the Model field, select the trained model that was built in the “build a model” stage.
- Built Models: select a trained model that was built in the “build a model” phase.
- Uploaded Models: select a trained model that was uploaded in the “upload a model” phase.
- Select ML variables that you created in the Data Preparation phase.
- In the Output Configuration field, enter a name for the output dataset that will contain the predicted output.
- The Encrypt Dataset option is selected by default to generate an encryption key and add an extra layer of protection to the output data. Copy or download the key to decrypt the output data for viewing.
- Click CREATE INFERENCE FLOW to pass the data through a machine learning model and predict the output. Figure 19: Build inference
- The inference is successfully created. Click RUN below the inference workflow to run the model and predict the output. Figure 20: Run inference
- If the model was executed successfully, you would see the status of the execution under the Execution Log. Click the Execution Log link to view the log details.
- After the execution is completed successfully, the output is now predicted and ready to be viewed. To view the output, click the DOWNLOAD button. Figure 21: Download output
- 15. In the DOWNLOAD dialog box, enter the Decryption key to decrypt the output. Figure 22: Decrypt output
*.tarfile is generated on your local machine. Extract the contents of the file. The output appears as shown below. A snapshot of the output appears as shown below.
Figure 23: Output
For a more detailed guide about the Confidential AI "build a model" process, refer to the User's Guide: Inference.