Appearance
Training data formats
Two ways to give alallo training data
An alallo training job reads its data from one of two sources, chosen under "Training data" in the Data section of the New job form:
- Hugging Face dataset: type the name of a public dataset on the Hugging Face Hub, for example
tatsu-lab/alpaca. - Upload a file (JSONL, JSON or CSV): upload a file from your computer, or pick a file you or a colleague uploaded before.
A job uses exactly one source. Uploading files requires an alallo account. Visitors who are not signed in can get estimates for Hugging Face datasets only.
Using a Hugging Face dataset in alallo
To train on a Hugging Face dataset, choose "Hugging Face dataset" and enter the dataset's ID as shown on the Hugging Face Hub (owner/name). alallo downloads the dataset when it estimates and runs the job. [TBD: alallo currently reads public datasets only; private and gated Hugging Face datasets (which need a Hugging Face access token) are not supported. Confirm and say whether token support is planned.]
Uploading a training file to alallo
To upload a file, choose "Upload a file (JSONL, JSON or CSV)" and click "Upload new file". After the upload, alallo shows the file's number of rows, its column names and the first rows as a preview, so you can check that alallo read the file correctly. alallo also suggests a column mapping (a text template, or prompt/chosen/rejected columns) which you can edit. Uploaded files appear in the "File" list with their row count, and every user in your alallo account can use them. [TBD: whether and how customers can delete an uploaded file.]
File types alallo accepts
alallo accepts three file types, recognised by the file name's extension:
.jsonl(JSON Lines): one JSON object per line. Empty lines are skipped. This is the recommended format..json: either one JSON array of objects (the file starts with[), or JSON Lines..csv: comma-separated values with a header row. The header row gives the column names.
Every row must be an object with named columns, for example {"instruction": "...", "output": "..."}. Files must be UTF-8 encoded.
File size limit for alallo uploads
An uploaded training file can be at most 2 GB. [TBD: uploads larger than about 10 MB do not work yet in the hosted dashboard; support for large uploads is planned. Confirm the current practical limit before publishing.]
Data for supervised fine-tuning in alallo (text template)
Supervised fine-tuning (LoRA, QLoRA and full weights) trains on one text per row. You tell alallo how to build that text with a text template. The template is any text with {column} placeholders; alallo replaces each placeholder with the row's value in that column. For example, for a dataset with the columns instruction, input and output:
### Instruction:
{instruction}
{input}
### Response:
{output}If your file already has a single column named text with the complete training text, use the template {text}. alallo adds an end-of-text marker after each example, so the model learns where an answer stops. alallo does not add any chat formatting of its own: the model learns exactly the text your template produces. Use the same format when you send prompts to the fine-tuned model later.
Data for DPO in alallo (prompt, chosen, rejected)
Direct preference optimisation (DPO) needs three columns per row: the prompt, the chosen (preferred) answer and the rejected answer. In the Data section, enter the names of these columns in "prompt column", "chosen column" and "rejected column". The defaults are prompt, chosen and rejected. For example, a JSONL row for DPO:
{"prompt": "Summarise: ...", "chosen": "A short, accurate summary.", "rejected": "A long summary with a mistake."}The model is trained only on the answer part, not on the prompt. The prompt and an answer together are cut off at the job's max sequence length.
Choosing part of a dataset in alallo (split)
The "Split" field selects which rows alallo uses. Write train for the whole training set, train[:1000] for the first 1000 rows, or train[100:200] for rows 100 to 199. Uploaded files are treated as one set named train. Hugging Face datasets can have other sets, such as test or validation, which you can name instead.
How much of your data an alallo job uses
How much training an alallo job does is set by "Max steps" and the other training settings, not by the number of rows. If the job processes more tokens than your data contains, alallo goes through your data more than once; if fewer, the job uses only part of your data. The estimate is based on the tokens your data actually contains. See Models and training methods.
Upload errors in alallo
When alallo cannot read an uploaded file, the dashboard shows "Upload failed:" followed by the file name and the reason. The reasons are:
| Message | Meaning and fix |
|---|---|
unsupported file type .xyz; use .jsonl, .json or .csv | The file name does not end in .jsonl, .json or .csv. Convert the file or rename it with the correct extension. |
line N is not valid JSON: ... | Line N of a JSON Lines file is not a complete JSON object. Check for line breaks inside a record, missing quotes or trailing commas. |
row N is not an object with named columns | Row N is a list, string or number instead of an object such as {"text": "..."}. |
the file has no rows | The file is empty or contains only a header or blank lines. |
file larger than 2 GB | The file is over the 2 GB limit. Upload a smaller file or select fewer rows. |
'utf-8' codec can't decode ... | The file is not UTF-8 encoded. Save it again as UTF-8. |
Data errors when estimating or starting an alallo job
These messages can appear when you click "Estimate time and price" or start an alallo job:
| Message | Meaning and fix |
|---|---|
<file> has no column(s) X; it has a, b, c | Your text template or your prompt/chosen/rejected columns name a column the uploaded file does not have. The message lists the columns the file has. Fix the template or column names. |
Choose your training data: a Hugging Face dataset or an uploaded file. | No data source is set. Enter a Hugging Face dataset or choose an uploaded file. |
Enter a Hugging Face dataset first. / Upload a file or choose one first. | The estimate button is disabled until a data source is chosen. |
uploaded dataset ... not found | The chosen uploaded file no longer exists or belongs to another account. Upload it again. |
sign up to train on your own files | You are not signed in. Uploaded files need an alallo account. |
For Hugging Face datasets, alallo does not check the column names of a text template in advance. A template that names a missing column makes the job stop with a "Training failed" message that names the missing column. A failed job costs nothing; see Cancelling jobs and refunds.