A sophisticated web tool that helps machine learning practitioners calculate optimal training parameters for their models. Built with Next.js and React, this calculator provides intelligent recommendations for key hyperparameters based on your dataset and training requirements.
Determining the optimal training parameters for machine learning models is a common challenge. Incorrect hyperparameter choices can lead to underfitting, overfitting, or inefficient use of computational resources. The Training Parameters Calculator addresses this problem by providing intelligent, data-driven recommendations. It helps you:
- Save time by automating parameter calculations.
- Optimize model performance with appropriate hyperparameters.
- Estimate training costs and time based on hardware choices.
- 🧮 Automatic Calculation: Computes optimal batch size, learning rate, epochs.. etc.
- 🔄 Support for Multiple Model Architectures:
- Variational Autoencoders (VAE)
- Convolutional Neural Networks (CNN)
- Residual Networks (ResNet)
- Transformers
- Deep Neural Networks (DNN)
- Multimodal Diffusion Transformer Architecture (MDTA)
- ⚡ LoRa and Fine-Tuning Adjustments:
- LoRa Applied: Adjusts parameters when using Low-Rank Adaptation.
- Fine-Tuning: Tailors recommendations for fine-tuning scenarios.
- 💰 Cost Estimation:
- Provides estimated training costs for various AWS GPU instances.
- Helps in budgeting and resource planning.
- ⏱️ Training Time Predictions:
- Estimates total training time based on hardware and parameters.
- 📊 Detailed Calculation Steps:
- Shows mathematical formulas and step-by-step calculations.
- Enhances understanding of how parameters are derived.
- 💡 Smart Hints and Recommendations:
- Offers color-coded hints to guide parameter selection.
- Alerts for potential issues like underfitting or overfitting.
- 🎯 Real-Time Recalculation:
- Updates recommendations instantly as inputs change.
- 🖥️ Advanced Mode:
- Unlocks additional settings like GPU memory, dimensions, precision, and optimizer selection.
- Suitable for advanced users needing fine-grained control.
- 🛠️ User-Friendly Interface:
- Intuitive design for easy navigation and input.
- Responsive layout suitable for various devices.
- Machine Learning Researchers optimizing training configurations.
- Data Scientists estimating training costs and planning resources.
- Educators and Students learning about hyperparameter tuning.
- Engineering Teams preparing for model deployment and scaling.
- Project Managers needing quick estimates for timelines and budgets.
This guide will help you set up and deploy the Optimal Training Calculator project on your local machine and optionally deploy it to the cloud using Vercel.
Before you start, ensure you have the following installed:
- Node.js (version 14 or higher) - JavaScript runtime required to run and build the project.
- npm - Node package manager to handle dependencies and scripts.
- Git - Version control system to clone the repository.
Follow these steps to set up the project on your local machine:
-
Clone the Repository
Clone the Optimal Training Calculator repository from GitHub to your local machine.
git clone https://github.com/skytells-research/optimal-training-calculator.git
-
Navigate to the Project Directory
Change into the project directory to access its files.
cd optimal-training-calculator
-
Install Dependencies
Install the required packages and dependencies specified in the
package.json
file.npm install
-
Run the Project Locally
To start the project on your local server, use the following command:
npm run dev
This will start the project locally, typically available at
http://localhost:3000
.
You can easily deploy this project to Vercel, a platform for fast and scalable cloud deployment.
Click the button above to deploy directly to Vercel. This will guide you through the setup process on Vercel and allow you to deploy the project from the GitHub repository in one click.
To start the application locally, run:
npm run dev
This will start the development server. Open your browser and navigate to:
http://localhost:3000
-
Select Model Type
Choose the type of model you're training (e.g., VAE, CNN, ResNet, Transformer, etc.).
-
Select Hardware Type
Choose the hardware configuration you plan to use for training. Options include local training and various AWS GPU instances.
-
Enter Total Number of Assets
Input the total number of images or data samples in your dataset.
-
Optional Settings
- Advanced Mode: Enable to access additional settings like GPU memory, image dimensions, precision, and optimizer selection.
- Finetuning: Check if you're fine-tuning an existing model.
- LoRa Applied: Check if you're using LoRa (Low-Rank Adaptation). When enabled, you can set the LoRa rank too.
-
Calculate Parameters
Click the Calculate button to compute optimal training parameters.
-
Review and Adjust
- The calculated parameters and estimates will be displayed, including batch size, learning rate, epochs, and more.
- Adjust parameters like batch size, learning rate, etc., if needed. The results will update automatically with your changes.
- View Hints and Calculation Steps for detailed insights.
-
Reset
Click the Reset button to clear all inputs and start over.
For detailed information about updates, new features, and improvements, please refer to the Changelog.
This project is licensed under the MIT License. See the LICENSE file for details.
DrHazemAli - Skytells AI Research
Repository: optimal-training-calculator
Note: If you have any questions or need further assistance, feel free to reach out!