TRAIN A MODEL. TWO WAYS.

Give Avenia a small dataset of examples and it fine-tunes a model to match them, then hands you back an adapter you can chat with. Do it entirely in your browser, or from your terminal with one command. No GPU on your side, and no install to try it.

What's a dataset?

A plain .jsonl file, one example per line, each a prompt (what goes in) and a completion (what the model should answer). A few dozen good examples is enough to see the model shift.

dataset.jsonl
{"prompt":"summarize: the cat sat on the mat","completion":"a cat rested on a mat"}
{"prompt":"classify sentiment: i love this","completion":"positive"}
{"prompt":"translate to french: good morning","completion":"bonjour"}

What are hyperparameters?

The few dials that control how the fine-tune runs, how many passes over your data (epochs), how big the adapter is (loraRank), and how fast it learns (learningRate). Every one has a sensible default, so you can leave them all alone your first time.

Full list with defaults is further down. Defaults are fine to start.

Train it right here

Nothing to install. Upload your dataset, pick a model, press start, and watch the loss curve fall live, the run really streams from the hosted network.

  1. Connect your wallet

    Runs are gated to $AVEN holders. The gate is open pre-launch, so you can try the console below without holding any yet.

  2. Pick a base model

    Start with the tiny demo model, it fine-tunes in minutes. Choose it in the console below.

  3. Add your dataset, upload a .jsonl or add rows

    Drop your dataset.jsonl straight into the builder, or type examples by hand. It shows a live valid/invalid count as you go.

  4. Set hyperparameters (defaults are fine)

    Leave every dial where it is your first run. Tweak later once you know the shape of your data.

  5. Start a run → watch the loss fall

    Press Start a runin the console. You'll see it route to a GPU, then stream loss down step by step.

  6. Get your adapter + chat with it

    When the run seals you get an adapter.safetensors and an eval-loss receipt. Talk to your tuned model with npx avenia chat.

Upload it, or build it here

Your dataset is a file on yourcomputer. Drag it into the drop zone to load and validate it instantly, or add rows by hand. The exact jsonl you'd submit renders live, and the pipeline shows where it travels and where your identity is stripped.

✓ valid · 3/3 rows

Your dataset is a .jsonlfile on your computer. Drop it here to load it, or build one by hand below - the exact jsonl you'd submit renders live.

Drop your dataset.jsonl here, or choose a fileone {"prompt","completion"} per line · stays on your machine until you start a run
or add rows by hand
dataset.jsonl
{"prompt":"summarize: the cat sat on the mat","completion":"a cat rested on a mat"}
{"prompt":"summarize: rain fell all night long","completion":"it rained through the night"}
{"prompt":"classify sentiment: i love this","completion":"positive"}

hover or tap a stage to read what happens there.

S0
you write the dataset

Each line is one training example: {"prompt":"…","completion":"…"}. That's it - no name, no wallet, no IP is attached to the data on your disk yet. jsonl means one JSON object per line.

auto-cycling - hover a stage to pin it.

The knobs that matter

Every field is optional, omit it and the network applies these defaults, straight from @avenia/shared. Steps are always clamped server-side, so a run can never train unbounded.

hyperparameterdefaultwhat it does
epochs3How many full passes the trainer makes over your dataset. More = fits harder, trains longer, risks overfitting a small set.
loraRank16Size of the low-rank adapter matrices. Higher rank = more capacity to learn, but a larger adapter to ship back.
loraAlpha32Scales how strongly the LoRA update is applied to the base weights. A common rule of thumb is ~2× the rank.
learningRate2e-4Step size for each gradient update. Too high and the loss diverges; too low and it barely moves.
batchSize2Examples processed per step. Larger batches give smoother gradients but need more GPU VRAM.
maxSteps≤ 5,000Optional hard ceiling on total steps. The coordinator clamps every job to this so a run can never train unbounded.

Start a run. Watch the loss fall.

Pick a base model, paste a handful of {prompt, completion}rows, tune the LoRA, and submit. You'll watch the real streamed loss curve. No wallet needed to try - the demo trainer runs right here if the coordinator is offline.

Tiny + fast. The demo model — fine-tunes on a laptop GPU in minutes.

training on 3 examples, the sample above. Build or upload your own in the dataset studio and it lands here.

est. price9.20 $AVEN
hold 1,000 $AVEN to submit for real
avenia.train
[ ] 0%
ready · idle - awaiting a run.
TRAINING· step 0/120· lr 2e-4 · rank 16
loss2.6000
idle - press start a run.

Three commands, no install

Avenia ships as a published CLI on npm. npx avenia runs it straight from the registry against the hosted network, no clone, no setup. Your dataset stays on your machine; you just point the command at its path.

  1. Boot it, mascot, menu, everything
    your machine, bash
    npx avenia# no install · boots the CLI against the hosted network
    ◇ avenia · connected to the hosted coordinator
    ? what do you want to do › train · chat · models · account
  2. Train on a dataset file from your disk

    Pass the path to your .jsonl file. Here it's ./mydata.jsonlin the folder you're standing in, swap in your own path.

    your machine, bash
    npx avenia train --dataset ./mydata.jsonl# the file lives on YOUR machine, this reads it and submits
    → routed to wk_9d2 · A100 80GB · marketplace
    step 120/120 loss 0.61 ▓▒░
    ✓ adapter ready · adapter.safetensors · eval loss 0.63
  3. Chat with the model you just trained
    your machine, bash
    npx avenia chat# talk to your freshly tuned adapter
    you ›
    aven › ready when you are.

One JSON object per line, the exact same format the browser builder uses. Save this as mydata.jsonl and pass it to --dataset.

mydata.jsonl
{"prompt":"summarize: the cat sat on the mat","completion":"a cat rested on a mat"}
{"prompt":"classify sentiment: i love this","completion":"positive"}
{"prompt":"translate to french: good morning","completion":"bonjour"}

Prefer a global command? npm install -g avenia, then just avenia train --dataset ./mydata.jsonl and avenia chat.

Contribute a GPU

You don't need this to train, the network already has GPUs. But if you have a spare CUDA or Apple-MPS card, you can join as a worker, run real fine-tunes for other people, and earn $AVEN. This is the only path that touches the repo.

worker, join the network
npx avenia worker --gpu# advertise your card · the coordinator sends it jobs
● registered · GPU detected · idle · waiting for jobs

Self-hosting the whole network is covered in the repo README, not here, this page is for training a model.