Skip to main content

Datasets

Upload once, train many times

Datasets are first-class objects on EcoHash. Upload a JSONL file, get it validated in seconds, and point any number of fine-tuning jobs at it — or start from seed prompts and let an open teacher model write the examples.

How it works

From file to reusable training data

Validation happens once at upload, not on every job.

  1. 1

    Upload

    JSONL goes straight to storage with a progress bar — from the Datasets page or inline in the fine-tune wizard.

  2. 2

    Validate

    Format, required fields and lengths are checked automatically, usually in 1–10 seconds.

  3. 3

    Ready

    Chat-format data is ready to train; seed prompts are ready to synthesize.

  4. 4

    Synthesize

    Optional: an open teacher model writes completions for your seeds using your own key.

  5. 5

    Share

    Every dataset is visible to your teammates on the same account.

  6. 6

    Train

    Point as many fine-tuning jobs at it as you like — no re-upload.

Two ways in

Bring examples, or bring inputs

Both paths end in the same chat-format dataset the trainer reads.

Chat-format JSONL — ready to train

Rows you already have: an OpenAI-style messages array ending before the assistant turn, plus the completion you want the model to learn. Trains directly.

Seeds + skill prompt — ready to synthesize

Only have inputs? Upload one seed per line plus a system prompt describing the skill. An open teacher model (DeepSeek R1, Qwen3, GLM-4.5, Kimi K2) writes the completions; you review them before training.

# chat-format JSONL — one example per line
{"messages":[{"role":"system","content":"You are a billing support agent."},{"role":"user","content":"Why was I charged twice?"}],"completion":"I can see two authorizations on your card. One is a hold that will drop off within 3 business days ..."}
{"messages":[{"role":"system","content":"You are a billing support agent."},{"role":"user","content":"How do I download an invoice?"}],"completion":"Open Billing, choose the month, and click Download PDF ..."}
# seeds JSONL — one input per line, plus a skill prompt in the console
{"input":"Why was I charged twice?"}
{"input":"How do I download an invoice?"}
{"input":"Can I switch to annual billing?"}

# → synthesized with an open teacher model using your own API key

Validation

Problems surface before a GPU is booked

A dataset that fails validation is never charged. Hard checks reject; warnings are shown and let you proceed.

Rejected

  • Every example carries a system prompt (the skill) and a non-empty completion
  • At least 100 examples — fewer than that and a run will not learn anything
  • No single field longer than 64 KB
  • Prompt plus completion fits the base model's context window

Warned

  • Fewer than 1,000 examples — training proceeds, quality will be limited
  • Duplicate user inputs
  • Unusually wide length variance, a common sign of schema drift

Built for teams

One dataset, many experiments

Everything around the file that makes it safe to reuse.

Reusable across jobs

A dataset is validated once and referenced by id. Run a fast iteration, then a quality run, then a different base model — all against the same rows.

Shared with your team

Datasets belong to the account, so every teammate can see them and train on them.

Dataset card

Each dataset carries a description, tags, and a structure summary computed at validation — example count and length distribution — so you know what you are training on.

Your teacher key, sealed

Synthesis uses your own key for the teacher provider. It is envelope-encrypted with KMS and never stored in plaintext.

Storage is not billed

Each account gets a 50 GiB dataset quota by default — roughly a hundred realistic datasets. Failed validation costs nothing.

Upload from the wizard

Realise you need a dataset halfway through configuring a job? Upload it inline without losing the rest of the form.

At a glance

The essentials

Format
JSONL
Validation
1–10 s typical
Minimum
100 examples
Field cap
64 KB
Quota
50 GiB / account
Storage
Not billed
Teachers
DeepSeek R1 · Qwen3 · GLM-4.5 · Kimi K2
Upload
Direct to storage, accelerated

Upload your first dataset

Validate it in seconds, then train as many adapters as you need against it.