Skip to main content
Predict the next word. This task is self-supervised: there is no label. Each sample is one .txt file of raw text in one of two shapes:
  • Pretraining — the whole file is plain text.
  • Instruction tuning (SFT) — one line of the form prompt<TAB>completion. Everything before the first tab is the prompt, everything after is the completion.
A dataset may mix both shapes. The ingestor does not enforce either shape; it only checks that files are valid text.

Folder layout

  • The folder is named texts (raw text) and sits next to the manifest CSV.
  • UTF-8 encoded. Every file must end in .txt. The ingestor also accepts .text, but training opens only <filename>.txt, so a .text dataset ingests and then fails to train.

Manifest CSV

The task reads no label column. Setting label: in ingest.yaml is rejected. A label column in the manifest itself is not rejected: the ingest goes on without it and warns: “Column(s) [‘label’] in the manifest are ignored for causal_language_modeling and will not be stored”. The same goes for any other column besides filename and extension. Remove such columns to silence the warning.

Ingest with the CLI

Each split is one folder laid out as above. Ingest the training and the test split separately:
--holds open_data marks the dataset as open data. If your data is about patients, pass --holds patient_data; if it was generated, pass --holds synthetic_data. Leave --holds out on a terminal and the CLI asks; in a script, the dataset is marked as patient data. The mark decides which use case types you can create on the dataset. Do not pass --label-column: the CLI rejects it for this task because it trains on the text itself.

ingest.yaml

What the ingestor checks

Plus the checks every ingest runs, except label diversity (no label). No tokenizer is needed at ingest; the ingestor records a data-derived text profile (script mix and length distribution, never the text) for the platform’s tokenizer-fit warning.

Sample dataset

The template ships five files: three plain-text passages and two prompt<TAB>completion pairs, with a five-row manifest. The manifest ships as labels_file_sample.csv: rename it to labels.csv before you ingest the folder, because the CLI reads only that name. For the Helm chart, stage the renamed folder so that it matches the paths in the ingest.yaml above.

Score formulas

When you define a use case on this data, you can pick Accuracy (next-token accuracy), Exact Match (the share of completions that are exactly right, counted over completion tokens only; see how CLM scores are computed) or Perplexity.

Next steps