Projects

A project is logical grouping of workloads and artifacts within a tenant. Projects are used to group jobs for training and batch inference as well as endpoints for deployment. Jobs and endpoints are created from a project window, which assigns the job or endpoint to that project. You can fine-tune existing models by creating a new training job. You can generate predictions from your models on your data by deploying it to an endpoint. Or, you can generate predictions on bulk data by creating a batch inference job. Creating a project is typically the first step of a workflow.

It’s important to understand the difference between a project and a tenant.

  • A project is logical grouping of workloads and artifacts within a tenant.

  • A tenant is an allotment of users and resources within an organization.

Create a project using the GUI

Follow the steps below to create a project using the GUI.

  1. Click Projects from the left menu to view the Projects window.

  2. Click New project. The Create a new Project window will open.

  3. Enter a name to be used into Project name field.

  4. Add a brief description into the Description field.

  5. Confirm that you want to create the new project:

    1. Click Save and close to create your project and go to the Projects window.

    2. Click Save and continue to create your project and go to your new project’s window. From the project window you can create a new job or new endpoint to be associated with your project.

    3. Click Cancel to stop the creation of a new project and return to the Projects window.

Create Project
Figure 1. Create a project

Create a project using the CLI

Create a project by using the snapi project create command, as shown in the example below. The command specifies user-workflows as the project name.

Example snapi project create command
$  snapi project create \
    --project user-workflows

Run snapi project create --help to display additional usage and options.

View, edit, or delete a project using the GUI

Follow the steps below to view, edit, or delete an existing project.

  1. Navigate to the Projects window to view the current projects. The Projects window can be viewed by selecting Projects from the left menu.

    1. Projects are displayed in a multi-column table.

      1. Name displays the project name.

      2. Description displays the project description, if inputted.

      3. Jobs displays the number of jobs associated with the project.

      4. Endpoints displays the number of endpoints associated with the project.

      5. Status displays the status of the project. For example, Deleting will display when the project is in the process of being deleted from the platform.

      6. Creation displays the creation timestamp of the project.

      7. Owner displays the owner of the project.

  2. Click the three dots in the Actions column to display the drop-down menu and available actions for the selected project.

    1. Click View project from the drop-down to go to the selected project’s window. Alternatively, you can select the project directly to go to its project window.

      1. From the selected project’s window you can view its jobs and endpoints.

      2. From the selected project’s window you can create a new training job, a new batch inference job, or a new endpoint to be associated with the project.

    2. Click Edit from the drop down. The Edit your project window will open. Edit the existing Project name or Description and click Save and close to confirm your edits.

      1. Click Cancel to stop the editing process and return to the projects table.

    3. Click Delete from the drop-down.

      Projects window
      Figure 2. Projects window
      1. Click Yes from the confirmation screen to delete the project. Click Cancel to close the window.

        Delete project confirmation screen
        Figure 3. Delete project confirmation screen

Deleting a project deletes all checkpoints and jobs associated with the project.

View the project list using the CLI

The snapi project list command can be used to view a list of the current projects in the platform.

Example snapi project list command
$  snapi project list
NAME                    CREATED AT                     LAST UPDATED
SNAPI_0304              03/04/2023 07:54:47 PST        03/04/2023 07:54:47 PST
UI_0306                 03/06/2023 06:34:35 PST        03/06/2023 06:34:35 PST
SNAPI                   03/06/2023 10:59:43 PST        03/06/2023 10:59:43 PST

Run snapi project list --help to display additional usage and options.

View the jobs and endpoints of a project

You can view the jobs and endpoints associated with a project using the GUI or CLI. Follow the instructions described in the corresponding section to learn how.

View jobs and endpoints of a projects using the GUI

  1. From the Projects list table, click the project you wish to view.

    Project list table
    Figure 4. Projects list table
  2. The Project window will open displaying its associated jobs and endpoints in multi-column tables.

    Project jobs and endpoints
    Figure 5. A project’s jobs and endpoints
  3. Click a job or endpoint to view its detail window.

View jobs of a project using the CLI

Use the snapi job list command to view the associated jobs of a project, as demonstrated in the example below. You will need to specify the project name or ID for the --project input.

Example snapi job list command to view projects
$  snapi job list \
    --project <project-name-or-id>

13b_job_train1
============
Name               : 13b_job_train1
Type               : train
Project ID         : 39db253a-63db-45c3-b2af-4265cf397361
Status             : EXIT_WITH_0

Run snapi job list --help to display additional usage and options.

View endpoints of a project using the CLI

Use the snapi endpoint list command to view the associated endpoints of a project, as demonstrated in the example below. You will need to specify the project name or ID for the --project input.

Example snapi endpoint list command to view projects
$  snapi endpoint list \
      --project <project-name-or-id>

13b-v2-ep1
==========
ID             : d23bfb9d-6643-4fb9-b11c-502893479ab5
Name           : 13b-v2-ep1
Description    :
Project ID     : 39db253a-63db-45c3-b2af-4265cf397361
ML App         : Generative Tuning 13B
Model          : GPT_13B_Generic_Instruction_Tuning_v2
Instances      : 1
URL            : <path-to-endpoint>
API Key        : <generated-api-key>
Status         : Stopped
Created at     : 2023-05-22T15:02:06.945712+00:00
Last Updated   : 2023-05-23T23:15:59.053498+00:00
API Keys       : [{'endpoint_id': 'd23bfb9d-6643-4fb9-b11c-502893479ab5', 'time_updated': '2023-11-10T16:44:14.271349+00:00', 'id': 'efdef074-8211-4252-83d5-8c1919a4645f', 'description': 'First Key', 'status': 'Live', 'time_created': '2023-11-10T16:44:14.271349+00:00', 'user_id': 'tharakar', 'api_key': '<generated-api-key>'}]
Hyperparams    : None

Run snapi endpoint list --help to display additional usage and options.