OpenEuroLLM / OpenEuroLLM/Taskboard

Preliminary English function-calling SFT dataset for OpenEuroLLM

Open
#220 0 comments 0 reactions 1 assignee View on GitHub

@ReinforcedKnowledge is already working on this.

Since May 22, 2026.

4.6 post-training
Dominant language
No language data
Stars
3
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Goal

Define and qualify a preliminary English function-calling SFT dataset for OpenEuroLLM using fcanalysis.

Audited baseline — 2026-09-14

This is the latest completed greeting-retaining full-corpus census. The incomplete greeting-free recount is excluded.

Coverage Count
Source conversations before global deduplication 2,371,316
Retained conversations after global deduplication 2,349,507
Original assistant targets 10,567,468
Admitted reference training samples 10,426,741
Targets excluded above 65,536 tokens 137,734
Unrenderable opening greetings 2,417
Other rendering exclusions 576
Conversations with no admitted target 147

The 2,417 unrenderable greetings did not remove their conversations; 16,152 later targets from those conversations are admitted.

Training layouts

All layouts supervise every admitted target exactly once.

Layout Samples Processed tokens Masked tokens Trainable tokens
Per-assistant reference 10,426,741 42,171,055,528 37,763,767,782 4,407,287,746
Partial grouping, K=2 7,702,946 31,232,523,796 26,825,236,050 4,407,287,746
Maximal compatible grouping 6,466,509 23,903,683,294 19,496,395,548 4,407,287,746

K=2 reduces processed-token work by 25.94%; maximal grouping reduces it by 43.32%. These are token-work reductions, not measured training-speed gains. Processed tokens include repeated conditioning prefixes and exclude padding and packing overhead.

Trainable category Tokens Share
Assistant reasoning 1,660,807,635 37.68%
Assistant visible prose 2,217,840,921 50.32%
Serialized tool calls 485,749,978 11.02%
Target formatting/control 42,889,212 0.97%
Total 4,407,287,746 100%

Tool-call tokens include serialized structure, names, and arguments. Tool results are masked context. In the reference layout, 10.45% of processed tokens are trainable and 89.55% are masked.

Dataset distribution

Counts are after global deduplication and length/rendering admission. Token columns are millions, rounded; native subsets are combined.

Dataset family Conversations Samples Processed M Masked M Trainable M
APIGen-MT 4,306 37,897 207.294 203.779 3.515
Dolci 199,011 1,046,056 1,868.766 1,777.535 91.231
Nemotron v1 181,275 654,459 1,982.220 1,516.176 466.044
Nemotron v2 695,996 3,403,440 15,562.171 14,009.176 1,552.994
Toucan 918,222 3,842,881 14,039.770 12,474.649 1,565.121
TxT360 (all three subsets) 292,875 1,035,798 2,496.059 1,871.005 625.054
ToolMind 23,614 31,102 50.150 32.148 18.002
ToolMind Web QA 4,459 152,319 4,413.479 4,365.742 47.737
UltraData 29,749 222,789 1,551.146 1,513.557 37.589

Accounting boundaries

  • The 65,536-token limit covers the complete sample: masked context plus trainable assistant output. Over-limit targets are excluded without truncation; other targets in the same conversation remain eligible.
  • Before length admission, renderable candidates contain 59,324,609,947 processed and 4,455,845,135 trainable tokens. Length admission removes 17,153,554,419 processed and 48,557,389 trainable tokens.
  • Unrenderable targets have unknown token lengths and are not counted as zero.
  • The masked-token total is not yet decomposed by system, user, tool results, or historical assistant content. Reasoning removed by a native template is absent from both masked and trainable counts.
  • The 4,096-token benchmarking generation cap is separate from SFT admission.

Remaining work

  • Resolve dataset and inherited-source licensing, then rerun mixture ablations: #390.
  • Qualify the SFT backend and selected training layout on LUMI: #385.
  • Compare the resulting model with the base checkpoint on BFCL V4 non-Web: #384.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.