Skip to main content
Unsloth Studio is a browser UI for running and training local models. This guide installs Studio on a Thunder Compute base instance, opens it through Thunder Compute port forwarding, then runs a short text fine-tune with unsloth/gemma-4-E2B-it.
This setup path and Gemma 4 E2B QLoRA training profile were verified on a single Thunder Compute A100 80 GB instance with Unsloth Studio 2026.5.2. The sample dataset below is intentionally tiny so you can confirm the workflow before training on a real dataset.

Create the instance

Create a GPU instance with the base template and enough disk for Studio, models, and datasets:
If A100 is unavailable, use the same shape with an available GPU:
Connect to the instance:
Check that the GPU is visible:
Create an A100 instance and verify the GPU

Install Unsloth Studio

Install the system packages that Unsloth Studio needs to build and run its local inference components:
Run the official Unsloth Studio installer:
The installer creates a Python environment under ~/.unsloth/studio and writes an unsloth launcher into ~/.local/bin. For the current SSH session, add the launcher directory to your path:
Install Unsloth Studio on a Thunder Compute instance

Start Studio

Start Unsloth Studio on port 8888 and listen on all interfaces:
Check that Studio is running:
The health endpoint should return a JSON response with "status":"healthy". Start Unsloth Studio and check the health endpoint
curl -I http://127.0.0.1:8888 may return 405 Method Not Allowed because Studio does not accept HEAD requests on /. Use curl http://127.0.0.1:8888 or /api/health instead.

Open Studio

On first launch, Studio creates a default admin user named unsloth. Read the generated bootstrap password from the instance:
From a second terminal on your local machine, forward port 8888:
Your Studio URL uses this format:
Open the URL in your browser and sign in with: After the bootstrap login, Studio prompts you to choose a new password for future sessions. Unsloth Studio first-run account setup screen

Choose a model

Use unsloth/gemma-4-E2B-it for the first run. It is current, small enough for a quick validation run, and available from the Unsloth model presets. If you want to scale the same flow after the first run works, use a larger available GPU and choose a larger supported model such as unsloth/gemma-4-E4B-it. unsloth/Qwen3.5-2B is also available in Studio, but start with the Gemma 4 E2B path below to keep the first fine-tune simple.

Prepare a small dataset

Create a JSONL file in Alpaca format on the computer where your browser is open. Studio’s Upload button reads from your browser’s local filesystem, not from the SSH session on the instance. Each line should contain instruction, input, and output fields. This demo trains the model to write compact plant-care cards in a consistent format:
This tiny file is only for setup validation. Use a larger, higher-quality dataset for a real fine-tune. Prepare and verify an Alpaca JSONL dataset

Upload the dataset

In Unsloth Studio:
  1. Open Train.
  2. In Dataset, click Upload.
  3. Select plant-care-mini-alpaca.jsonl.
  4. Confirm Studio detects the format as alpaca.
If Studio asks for manual mapping, map:

Configure training

In the Model section: In the Parameters section: In LoRA Settings:
For a real run, increase Max Steps or switch to epochs after the first validation run succeeds. Keep the first run short so you can catch dataset or setup issues quickly.

Start training

Click Start Training. The first run may spend a few minutes downloading model weights and initializing kernels before the step counter starts moving. When the run completes, Studio shows the output path and enables Compare in Chat and Export Model. Successful runs save the adapter to a path like:
Keep the adapter folder and the base model name together. A LoRA adapter is not a standalone model; it is loaded alongside the base model it was trained from.

Test the adapter

Click Compare in Chat after training finishes. Studio opens the base model and fine-tuned adapter side by side. Try a prompt that matches the dataset pattern but was not copied directly from the training rows:
For this setup dataset, look for the fine-tuned side to follow the Care card, Light, Water, and Watch structure. Treat this as a workflow check, not a quality benchmark. For a real adapter, expand the dataset and test with prompts that represent the task you actually need.

Clean up

When you are done testing:
Then delete the instance from your local terminal:
Billing stops when the instance is deleted.

References