Documentation
Everything you need to install, configure, and effectively use FrameTrain.
AI Training Coach ✨ – ML basics, loss curves, LoRA & more
The complete theory guide for anyone who wants to understand how ML training really works
Installation
How to set up FrameTrain on your system
1. Create an account & pay
Sign up at frame-train.com and choose a plan. After payment you'll receive your API key by email.
Create account2. Download
Download the desktop app for your operating system:
Windows
Windows 10/11 (64-bit)
macOS
macOS 11+ (Intel & Apple Silicon)
Linux
Ubuntu 20.04+ (AppImage)
3. Enter your API key
On first launch you'll be asked for your API key. Enter the key you received by email. It's stored locally – you only need to enter it once.
4. Done!
FrameTrain is now ready to use. Continue to the Quick Start.
Installation successful!
FrameTrain now runs locally on your system. No server, no cloud, full control.
System Requirements
Minimum
- • CPU: 4 cores
- • RAM: 8 GB
- • GPU: NVIDIA GTX 1060 6GB or Apple M1
- • Storage: 10 GB free
- • OS: Windows 10, macOS 11, Ubuntu 20.04
Recommended
- • CPU: 8+ cores
- • RAM: 16 GB
- • GPU: RTX 3060 12GB+ or Apple M2 Pro/Max
- • Storage: 50 GB+ free (for large models)
- • SSD recommended for fast data access
Quick Start
Your first model in 5 steps
Import a model
Open the Model Manager and import a HuggingFace model (e.g. bert-base-uncased) or load a local model.
Just enter the HuggingFace model ID in the search field and click Download.
Upload a dataset
Upload your dataset as a CSV or JSONL file. Minimal structure: text + label columns.
FrameTrain validates the dataset automatically and shows a preview of the first rows.
Configure training
Choose epochs, batch size, learning rate, and LoRA parameters. We recommend the defaults to get started.
The Quick Start defaults are optimal for most 7B models with LoRA.
Start training
Click Start Training. FrameTrain trains locally on your GPU – no internet connection needed.
The progress bar and live charts show loss and accuracy in real time.
Test the model
After training you can test the model right in the app. Enter text and see the predictions.
The model stays stored locally and can be reloaded at any time.
Congratulations!
You've trained your first model with FrameTrain. You'll find all saved checkpoints in the Versioning panel.
First Training Run
A complete practical example: sentiment classification
1. Create a dataset
Create a CSV file with two columns: text (your input text) and label (the category). Example:
text,label "Das ist ein positiver Review",positive "Mir hat das nicht gefallen",negative "Sehr zufrieden mit dem Produkt!",positive
2. Choose a model
For text classification we recommend:
- •bert-base-uncased – good for English, fast
- •deepset/gbert-base – good for German
- •distilbert-base-uncased – smaller & faster than BERT
3. Set parameters
Recommended starting parameters for this example:
4. Observe training
During training you'll see:
- 📈 Training Loss - should decrease steadily
- 📊 Validation Accuracy - should increase toward 90%+
- ⚡ GPU Utilization - should be around 80-100%
- 💾 Time Remaining - estimated training time
Pro Tip
For your first training run, always start with few epochs (2-3) and a small dataset. That way you quickly see whether the configuration works.
Model Manager
All your models in one place
Features
HuggingFace Import
Import any model directly from the HuggingFace Hub via model ID
Local Models
Load models from a local path (SafeTensors, GGUF, PyTorch)
Model Overview
All imported models with size, format, and origin
Versions
Each model can have multiple trained versions
Importing a model
How to import a model from HuggingFace:
- 1.Open the Model Manager tab
- 2.Click "New Model" or "HuggingFace Import"
- 3.Enter the model ID (e.g. meta-llama/Llama-3-8B)
- 4.Optional: provide a HuggingFace token for private/gated models
- 5.Click Download – FrameTrain automatically downloads all necessary files
Recommended starter models
bert-base-uncased
110MClassic model for English text classification. Fast and well-tested.
Classificationdistilbert-base-uncased
66MLighter version of BERT – just as good, but twice as fast.
Classificationmicrosoft/phi-3-mini-4k-instruct
3.8BSmall LLM, ideal for LoRA fine-tuning on consumer GPUs.
LLM Fine-Tuningmistralai/Mistral-7B-v0.1
7BStrong base model. Requires QLoRA on GPUs under 24 GB VRAM.
LLM Fine-TuningTraining Panel
The heart of FrameTrain
Training Workflow
Choose model & dataset
Select an imported model and your uploaded dataset from the dropdown menus.
Configure hyperparameters
Set epochs, batch size, learning rate, and LoRA parameters. Presets for common tasks are available.
Start training
Click Start Training. FrameTrain trains entirely locally – no cloud, no queue.
Monitor progress
Live charts show loss, accuracy, and GPU utilization in real time. Automatic checkpoints.
Save the result
After training, the model is automatically versioned and stored locally.
Training Controls
- Start training: Starts training with the current settings. All parameters are validated before starting.
- Pause / stop training: Training can be stopped at any time. The last checkpoint is preserved.
- Resume training: After a stop, training can be resumed from the last checkpoint.
Quick Presets
FrameTrain offers preconfigured training profiles for common use cases:
Quick Start (7B LoRA)
Fast & stableQuality (7B QLoRA)
Higher qualityClassification (BERT)
For classifiersExperimental
Quick testDataset Upload
Supported formats and best practices
Supported Formats
CSV (.csv)
JSONL (.jsonl)
JSON (.json)
HuggingFace Hub
How to upload your dataset
- 1.Click "Dataset" in the left panel
- 2.Choose "Upload File" or "HuggingFace Dataset"
- 3.Select your CSV/JSONL file
- 4.FrameTrain validates the file and shows a preview
- 5.Configure the text column and label column
Dataset preparation
Important notes for preparing your data:
- Minimum size: At least 100 examples per class for meaningful results.
- Class balance: Try to have roughly equal numbers of examples per class.
- Text length: Texts can vary, but very short texts (<5 words) can hurt quality.
- Train/val split: FrameTrain splits the dataset automatically (80/20). You can adjust the split manually.
Analysis
Understanding and interpreting training metrics
Key Metrics
Training Loss
↓ decreasingMeasures the model's error on the training data. Should decrease continuously during training.
Validation Loss
↓ decreasingError on the validation data. Shows generalization ability. If much higher than train loss: overfitting.
Accuracy
↑ increasingProportion of correctly classified examples. For classification tasks. Good from ~85%.
Gradient Norm
stable <5Magnitude of the gradients. With very large values (>10), gradient clipping can help.
Common Problems
Overfitting
Train loss decreases, validation loss increases. The model memorizes training data instead of generalizing.
Solution: more data, more dropout (0.1-0.3), fewer epochs, or a larger dataset.
Underfitting
Both losses decrease slowly or not at all. The model isn't learning enough.
Solution: more epochs, higher learning rate, higher LoRA rank, or a different model.
Testing & Inference
Test trained models directly in the app
Features
- Direct input: Enter any text and see the model's prediction immediately.
- Confidence scores: Shows the probability for each class.
- Batch testing: Test multiple texts at once from a file.
- Version comparison: Compare predictions across different model versions.
Example
Input:
"This product is fantastic! I'm very satisfied."
Output:
Versioning
Automatic versioning of all training artifacts
What gets versioned?
After every training run, FrameTrain automatically saves: model weights, training parameters, metrics, dataset reference, and a timestamp.
Versioning Workflow
After a successful training run, a checkpoint is created automatically.
Give your version a descriptive name (e.g. "v1.0-sentiment-en").
Select two versions and compare their metrics side by side.
Export any version as SafeTensors, GGUF, or PyTorch format.
Training History
In the history panel you can see all past training runs with:
- •Date & time
- •Model & dataset used
- •Final loss and accuracy
- •Hyperparameters used
- •Training duration
Training Basics
The most important concepts in ML training
Fine-Tuning vs. Training from Scratch
Fine-tuning (recommended)
- • Starts from a pretrained model
- • Needs less data (100-10,000)
- • Much faster (minutes instead of weeks)
- • Better results on small datasets
Training from scratch
- • Train a model from zero
- • Needs huge amounts of data (millions)
- • Very time-consuming (weeks to months)
- • Requires massive GPU resources
Epochs & Batches
Epoch: One complete pass through the entire dataset. Batch: A subset of the dataset processed simultaneously. Steps: Number of parameter updates = dataset size / batch size.
Example: 1000 data points, batch size 32:
1 Epoch = 1000 / 32 = ~31 Batches ✓
Loss & Accuracy
Training Loss
Measures the model's error. Lower loss = better predictions. Computed at every parameter update.
Accuracy
Measures the proportion of correct predictions. For classification: % of correctly classified examples. Goal: as high as possible.
Hyperparameters
Key parameters and their effects
Key Hyperparameters
Learning Rate
Default: 2e-4How large the parameter updates are. Too high: training diverges. Too low: training is too slow.
Range: 1e-6 to 1e-3
💡 Start with 2e-4 for LoRA, 2e-5 for full fine-tuning
Batch Size
Default: 4How many examples are processed simultaneously. Larger batches = more stable updates but more VRAM.
Range: 1 to 64
💡 Halve the batch size if you run into VRAM issues
Epochs
Default: 3How many times the entire dataset is passed through. More epochs can lead to overfitting.
Range: 1 to 20
💡 3-5 epochs is optimal for most tasks
LoRA Rank (r)
Default: 16Size of the LoRA matrices. Higher rank = more capacity but more VRAM and training time.
Range: 4 to 64
💡 r=16 is a good default. For limited VRAM: r=8
Max Seq Length
Default: 2048Maximum token count per input. Longer sequences = more VRAM.
Range: 128 to 4096
💡 Adjust to the average text length of your data
LoRA Training
Parameter-efficient fine-tuning
What is LoRA?
LoRA (Low-Rank Adaptation) is a method for adapting language models with a fraction of the VRAM of full fine-tuning. Instead of updating all model parameters, LoRA inserts small "adapter" matrices.
These adapters are trained while the original base model stays frozen. Result: 70-90% less VRAM with comparable quality.
LoRA vs. Full Fine-Tuning
Full Fine-Tuning
- • All parameters are trained
- • 60-80 GB VRAM for a 7B model
- • Very slow
- • Changes are permanently baked into the model
LoRA Fine-Tuning
- • Only adapter matrices are trained
- • 8-18 GB VRAM for a 7B model
- • Much faster
- • Adapters are separate files
LoRA Configuration
LoRA Rank (r)
Size of the low-rank matrices. Higher rank = more capacity. Default: 16
LoRA Alpha
Scaling factor for the LoRA weights. Usually set to the rank value. Default: 32
LoRA Dropout
Dropout rate for LoRA layers. Helps against overfitting on small datasets. Default: 0.05
Target Modules
Which layers are adapted. Default: q_proj, v_proj. More modules = more capacity
Enabling QLoRA
For 4-bit quantization (QLoRA), enable "4-bit Loading" in the Training Panel. Reduces VRAM requirements by ~50%.
Dataset Formats
All supported formats in detail
CSV Format
Simplest format. First row = header. Required fields: text, label.
text,label "Dies ist positiv",positive "Das gefällt mir nicht",negative "Sehr gut!",positive "Schrecklich",negative
JSONL Format
One JSON object per line. More flexible than CSV for complex structures.
{
"text": "Dies ist positiv",
"label": "positive",
"source": "review"
}
{
"text": "Das gefällt mir nicht",
"label": "negative",
"source": "comment"
}Best Practices
- Data volume: At least 100, ideally 500+ examples per class.
- Class balance: Similar number of examples per class for balanced training.
- Splitting datasets: 80% training, 20% validation. FrameTrain does this automatically.
- Cleaning text: Remove HTML tags, special characters, double spaces.
- Consistent labels: Label spelling must be consistent ("positive" != "Positive").
Monitoring
Track training progress in real time
Live Monitoring Panel
During training, FrameTrain shows the following real-time information:
- GPU utilization: VRAM usage and GPU temperature in real time
- Loss curves: Training loss and validation loss as interactive line charts
- Accuracy chart: Accuracy trend and gradient norm
- Time estimate: Elapsed time and estimated time remaining
Automatic Checkpoints
FrameTrain automatically saves checkpoints:
- At the end of every epoch
- When validation loss improves (best model saving)
- On manual stops
- As complete model snapshots
Optimization
Make training faster and more memory-efficient
Batch Size Optimization
Batch size is the most important factor for VRAM usage and training speed:
LoRA vs. Full Fine-Tuning
For most use cases, LoRA is the better choice:
Standard fine-tuning:
Updates all parameters, lots of VRAM, slow.
LoRA fine-tuning:
Trains only adapter matrices, low VRAM, fast, comparable results.
Gradient Checkpointing
Enable gradient checkpointing in the training settings to save ~30-40% VRAM. Training becomes a bit slower, but you can train larger models.
Example: 7B model with LoRA: 18 GB VRAM → with gradient checkpointing: 12 GB VRAM
GPU Setup
Configuring NVIDIA CUDA and Apple Silicon
NVIDIA CUDA Setup
FrameTrain detects NVIDIA GPUs automatically. Requirements:
Install NVIDIA drivers
Download and install the latest driver from nvidia.com/drivers (version 525+).
CUDA automatically
CUDA is automatically installed with FrameTrain – no separate installation needed.
Verify the GPU
In the FrameTrain dashboard: Settings → GPU Info. Shows VRAM, CUDA version, and GPU name.
Apple Silicon (M1-M4)
Apple Silicon is fully supported – no additional configuration needed. FrameTrain automatically uses Metal Performance Shaders (MPS) for GPU acceleration.
Supported Hardware
NVIDIA GPUs (CUDA)
- • GTX 1060 6GB (minimum)
- • GTX 1080 Ti
- • RTX 2080/2080 Ti
- • RTX 3060/3070/3080/3090
- • RTX 4060/4070/4080/4090
- • A100, A6000, H100 (workstation)
Apple Silicon (MPS)
- • M1 (8 GB+ unified memory)
- • M1 Pro / M1 Max
- • M2 / M2 Pro / M2 Max / M2 Ultra
- • M3 / M3 Pro / M3 Max
- • M4 / M4 Pro / M4 Max
Export
Export and deploy trained models
Export Formats
SafeTensors (.safetensors)
Recommended – safe and fast to loadPyTorch (.pt / .bin)
Compatible with all PyTorch-based frameworksGGUF (.gguf)
For llama.cpp, Ollama, LM StudioLoRA adapter only
Sharing and distributed deploymentDeployment Options
- Local: Use the model directly in FrameTrain or a local application.
- llama.cpp: GGUF export for efficient inference on CPU or GPU with llama.cpp.
- HuggingFace: SafeTensors export for direct loading with HuggingFace Transformers.
- Ollama: GGUF export for easy deployment with Ollama as a local LLM server.
Troubleshooting
Solutions for common problems
Common Errors
CUDA out of memory
Cause: Batch size too large, Model too large for VRAM
Solution: Halve the batch size, enable gradient checkpointing, use QLoRA instead of LoRA.
Training loss explodes (NaN/Inf)
Cause: Learning rate too high, Data issue
Solution: Reduce the learning rate by a factor of 10. Check the dataset for NaN values.
Invalid API key
Cause: Key expired, Wrong format
Solution: Generate a new key on the payment page. Make sure there's no whitespace at the start/end.
GPU not detected
Cause: Driver outdated, CUDA not installed
Solution: Update the NVIDIA driver (525+). On Windows: Device Manager → NVIDIA. On Linux: nvidia-smi.
Model download fails
Cause: No internet connection, Missing HuggingFace token
Solution: Check your internet connection. For gated models: enter your HuggingFace token in Settings.
Settings
Configure FrameTrain
All Settings
API Key
Your license key. Change it here if you have a new key.
Language
Interface language: German or English.
Model storage path
Where models are stored locally. Default: ~/FrameTrain/models
HuggingFace Token
Required for gated models (e.g. Llama, Mistral). Create a token at huggingface.co/settings/tokens.
GPU selection
With multiple GPUs: choose which GPU to use for training.
Theme
Light or dark design, or one of the 8 predefined themes.
Auto-updates
Enable/disable automatic update checks at startup.
Themes
Customize FrameTrain's appearance
Dark Themes
Default for evening and nighttime work:
Cosmic Dark (default)
Dark Mode
Midnight Blue
Dark Mode
Forest Green
Dark Mode
Deep Purple
Dark Mode
Light Themes
For working in bright daylight:
Arctic White
Light Mode
Warm Sand
Light Mode
Soft Mint
Light Mode
Rose Quartz
Light Mode
Presets
Preconfigured training profiles
Available Presets
Quick Start (7B LoRA)
Max Quality (7B QLoRA)
BERT Classification
Micro Fine-Tune
Updates
Keep FrameTrain always up to date
Automatic Updates
FrameTrain automatically checks for new versions at startup.
- New releases are detected automatically
- You're informed about changes
- One-click installation
- All settings are preserved
Checking your version
You can find your current version under:
Settings → About FrameTrain → Version