Configuring Parameters

Optimizing your foundation model training process

📘

Note

This article refers to BaseModel accessed via Docker container. Please refer to Snowflake Native App section if you are using BaseModel as SF GUI application.


As explained in this article, foundation model training requires a YAML config file as an input to pretrain function. Its first major part - data_sources - was covered in depth in previous article of the guide.

We will now focus on the other blocks, ie.:

  • data_params: data related parameters, eg. temporal splits for training / validation / test set.
  • loading_params: settings that modify how the data is loaded from source (eg. caching).
  • data_loader_params: parameters that modify how the data is loaded to the model, such as batch sizes, workers etc.
  • training_params: parameters describing the training process, such as learning rate, epochs etc.
  • memory_constraining_params: parameters that control size of the model, eg. the hidden dimension.
  • query_optimization: parameters controlling parallelization, eg. dividing query in chunks.

Please follow the links above to learn more about the options available in each of the sections.

🚧

Remember

The parameters set in these sections will be applied by default also to specialized models created downstream. However, you can modify most of them at the downstream model configuration stage as described here.


Please refer to this section for an end-to-end example of YAML configuration file.

Once the model is fully configured, you can run the training like described in here.