> ## Documentation Index
> Fetch the complete documentation index at: https://docs.simplismart.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# ECD Training Suite

> Step-by-step guide to training and deploying an Encoder-Combiner-Decoder (ECD) model on Simplismart

Learn how to create and deploy a custom Encoder-Combiner-Decoder (ECD) model on Simplismart. This guide covers the complete workflow from initiating a training job to deploying your trained model.

<Note>
  ECD models are particularly effective for tabular data and feature engineering tasks, using the TabNet architecture for superior performance on structured datasets.
</Note>

## Prerequisites

Before starting, ensure you have:

* A Simplismart account with access to the Training Suite
* A publicly accessible dataset URL
* Your training configuration prepared ([configuration schema](./ecd-training-config-schema))

## Creating a Training Job

<Steps>
  <Step title="Initiate Training Job">
    1. Navigate to **My Trainings** from the left sidebar
    2. Click **Add a Training Job**
    3. Select **ECD** as the model type from the available options

           <img src="https://mintcdn.com/simplismart-3f10d72e/Cudtlcmn3zwoEsS9/images/training/ecd/1-add-training-job.png?fit=max&auto=format&n=Cudtlcmn3zwoEsS9&q=85&s=a5ff9d88a63496bafa2afa74295fd5c6" alt="Add training job interface" width="3956" height="2168" data-path="images/training/ecd/1-add-training-job.png" />
  </Step>

  <Step title="Configure Training Parameters">
    Provide the following details:

    1. **Experiment Name**: Enter a descriptive name for your training experiment
    2. **Dataset URL**: Provide the publicly accessible URL to your dataset
    3. **Training Configuration**: Add your ECD model configuration

    <Tip>
      See the [ECD Model Configuration Schema](./ecd-training-config-schema) section for detailed configuration options and examples.
    </Tip>

    4. Review all settings and click **Create Job** to start training

           <img src="https://mintcdn.com/simplismart-3f10d72e/Cudtlcmn3zwoEsS9/images/training/ecd/2-create-training.png?fit=max&auto=format&n=Cudtlcmn3zwoEsS9&q=85&s=64efbfc3960a1d074e99854d8a7d2260" alt="Create training job with configuration" width="3957" height="2168" data-path="images/training/ecd/2-create-training.png" />
  </Step>

  <Step title="Monitor Training Progress">
    Once submitted, your training job will begin processing. You can:

    * Monitor training progress in real-time
    * View training metrics and logs
    * Track loss curves and validation performance

    When training completes successfully, you'll see a **Compile** button.
  </Step>
</Steps>

## Compiling Your Trained Model

After training completes, compile your model to prepare it for deployment.

<Steps>
  <Step title="Navigate to Model Compilation">
    1. Click the **Compile** button on your completed training job
    2. You'll be redirected to the model compilation page
    3. The page shows your model ready to be added to `My Models`

           <img src="https://mintcdn.com/simplismart-3f10d72e/Cudtlcmn3zwoEsS9/images/training/ecd/3-training-complete.png?fit=max&auto=format&n=Cudtlcmn3zwoEsS9&q=85&s=2fca045c40c87df60fa24c695fddf769" alt="Training complete screen" width="3956" height="2168" data-path="images/training/ecd/3-training-complete.png" />
  </Step>

  <Step title="Configure Model Details">
    Provide the following information:

    1. **Model Name**: Enter a descriptive name for your compiled model
    2. **Infrastructure**: Choose your deployment infrastructure:
       * **Simplismart Cloud**: Deploy on Simplismart's managed infrastructure
       * **Your Own Cloud**: Use your own infrastructure ([BYOC guide](/inference/bring-your-own-compute))

    <Note>
      Most configuration options will be auto-populated based on your model class. Review them before proceeding.
    </Note>

    3. Click **Add Model** to proceed with **Model Compilation**.
           <img src="https://mintcdn.com/simplismart-3f10d72e/Cudtlcmn3zwoEsS9/images/training/ecd/4-model-compile-add.png?fit=max&auto=format&n=Cudtlcmn3zwoEsS9&q=85&s=c30f7da55606596e1ae3a7079600d398" alt="Model compilation interface" width="3024" height="1650" data-path="images/training/ecd/4-model-compile-add.png" />
  </Step>
</Steps>

## Deploying Your ECD Model

<Steps>
  <Step title="Initiate deployment">
    Once your model is compiled, click on `Deploy Model` button from the top right corner on the model page.

    <img src="https://mintcdn.com/simplismart-3f10d72e/Cudtlcmn3zwoEsS9/images/training/ecd/5-model-compile-done.png?fit=max&auto=format&n=Cudtlcmn3zwoEsS9&q=85&s=91716415d1874b655b6b9e89d177dc6f" alt="Initiate model deployment" width="3971" height="2169" data-path="images/training/ecd/5-model-compile-done.png" />
  </Step>

  <Step title="Configure Basic Deployment Settings">
    Go to Set up your deployment with these parameters:

    ### Basic Details

    * **Deployment Name**: Choose a unique, descriptive name
    * **Model**: Auto-populated with your compiled model
    * **Cloud**: Select your infrastructure (Simplismart Cloud or your own)
    * **Accelerator Type**: Choose the GPU type for inference\\
          <img src="https://mintcdn.com/simplismart-3f10d72e/ztAaTeHDev4SY7B7/images/training/ecd/6-create-deployment.png?fit=max&auto=format&n=ztAaTeHDev4SY7B7&q=85&s=72648569de96be2d4a126741437f7bc0" alt="Deployment configuration screen" width="3024" height="1654" data-path="images/training/ecd/6-create-deployment.png" />
  </Step>

  <Step title="Set Up Auto-Scaling">
    Configure auto-scaling to handle variable workloads:

    ### Scaling Range

    * **Minimum**: 1 instance
    * **Maximum**: Up to 8 instances (adjust based on your needs)

    ### Scaling Metrics

    Add metrics that trigger scaling actions:

    1. **GPU Utilization**: Set threshold at 80% to scale up
    2. **CPU Utilization**: Set threshold at 80% for additional scaling control

    Click **Add Metrics** to include additional scaling triggers.

    <Warning>
      Set appropriate thresholds to balance performance and cost. Too low may cause unnecessary scaling; too high may impact response times.
    </Warning>
  </Step>

  <Step title="Add Deployment Tags">
    Organize your deployments with tags (optional but recommended):

    Example tags:

    * Key: `env`, Value: `staging`
    * Key: `model-type`, Value: `ecd`
    * Key: `version`, Value: `v1.0`

    Tags help filter and manage deployments in production environments.
  </Step>

  <Step title="Deploy and Verify">
    1. Review all configuration settings
    2. Click **Add Deployment** to start the deployment process
    3. Monitor the deployment status on the right side of the screen

    The deployment typically takes a few minutes to complete.

    <img src="https://mintcdn.com/simplismart-3f10d72e/Cudtlcmn3zwoEsS9/images/training/ecd/7-model-deployed.png?fit=max&auto=format&n=Cudtlcmn3zwoEsS9&q=85&s=7388b92d1f667cc5b3861269e37e92a1" alt="Successfully deployed model" width="3024" height="1650" data-path="images/training/ecd/7-model-deployed.png" />

    <Check>
      When the status shows **Deployed**, your model is ready to serve inference requests!
    </Check>
  </Step>

  <Step title="Access Your Model Endpoint">
    Once deployed, you can find your model endpoint:

    1. Navigate to **Deployments** in the left sidebar
    2. Click on your deployment name
    3. In the **Details** tab, find the **Model Endpoint** URL
    4. Copy this endpoint to use in your applications
  </Step>
</Steps>
