YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
Qwen3.5-9B SFT Consolidated Source Dataset
This directory consolidates the Qwen3.5-9B tool-use SFT training data sources used in the July 2026 experiments.
The remembered "3392" high-quality count appears to come from estimating 848 steps * global_batch_size 16 / 4 epochs. The audited on-disk dataset contains 3384 unique high-quality rows.
Files
data/training_dedup_clean_5405.parquet- Recommended train-ready deduplicated dataset.
- 5405 rows.
- Contains the cleaned combination that was used for the current Qwen3.5-9B training line.
data/consolidated_three_sources_full_5944.parquet- Full provenance/audit view.
- 5944 rows.
- Includes all 832 original GPT-5.4-NANO legacy rows, even when a query overlaps newer fixed-thinking rows.
data/summary.json- Machine-readable source paths, counts, and notes.
src/build_consolidated_dataset.py- Rebuild script.
The JSONL files in data/ are local convenience copies generated by the builder; the dataset repo should use the Parquet files as the primary artifacts.
Columns
query_id: Original question/run identifier.origin_type: Provenance category. This is the main origin identifier.source_view: Whether the row belongs to the train-ready deduplicated view or the full provenance view.process_bucket: Original process bucket from the conversion pipeline.source: Source label from the upstream metadata.gold_answer: Ground-truth answer.predicted_answer: Teacher trajectory final answer after repair/normalization where applicable.lexical_class: Lexical outcome label from earlier checks.repair_version: Conversion/repair version.turn_count,thinking_count,pull_count,read_count,bash_count,tool_call_count: Tool/process statistics when available.max_request_context_tokens: Maximum request context length observed during rollout when available.message_count: Number of messages in the converted training example.trajectory_path,source_trajectory_path: Original trajectory location when available.messages: Swift/Qwen3.5 agent SFT message list.
Origin Types
high_quality_reasoning_core
Count: 3384 rows.
Source path:
/home/ubuntu/yi/training_survey/sft_dataset_construction/11_sft_training_conversion/outputs/reasoning_core_forced_thinking_qwen35_0706
These are the highest-quality fixed-thinking rows selected for Qwen3.5 thinking-mode SFT. They were exported from the fixed-thinking teacher trajectories and restricted to process_bucket == reasoning_sft_core.
Filtering/cleaning summary:
- Started from fixed-thinking GPT-5.4-MINI/NANO-style teacher trajectories generated on the new neutral local-search corpus.
- Kept rows judged answer-correct after exact/semantic/repair checks.
- Required explicit assistant thinking supervision.
- Dropped low/no-thinking auxiliary rows.
- Dropped rows with heavy useless terminal behavior such as expensive broad workspace scans.
- Dropped low-quality adjacent/repetitive pull patterns.
- Required usable final-answer evidence/citation format.
- Preserved model-visible reasoning as explicit
<think>...</think>blocks. - Converted to Qwen3.5
qwen3_coderagent SFT format with--add_non_thinking_prefix false --preserve_thinking true.
lower_quality_tool_format_aux
Count in train-ready view: 1728 rows.
Source path:
/home/ubuntu/yi/training_survey/sft_dataset_construction/11_sft_training_conversion/outputs/fixed_thinking_teacher_clean_v2_llm_numeric_rescue
These rows come from the same fixed-thinking 2026-07-05 teacher trajectory pool but were not part of the strict reasoning core. They are retained as lower-quality/tool-format auxiliary supervision.
Filtering/cleaning summary:
- Kept after final-answer correctness and basic process-quality filtering.
- Includes low-thinking/tool-format rows that are useful for teaching tool schema, final-answer formatting, and simple local-search behavior.
- Passed the
teacher_clean_v2deterministic filters:- remove heavy bash audit patterns,
- remove poor adjacent sequential pull patterns,
- require standard
[@corpus/...]citation format, - apply numeric-answer consistency checks,
- rescue rows where the LLM numeric judge marked the answer supported.
- Final answers had presentation markdown and citation formatting normalized.
legacy_gpt54_nano_red832_*
Original source count: 832 rows.
Source path:
/home/ubuntu/yi/swift_sft/runs/qwen35_9b_lora_gpt54_red832_conf70/data
These are the older GPT-5.4-NANO RedSearcher trajectories used for earlier LoRA experiments.
Two versions are represented:
legacy_gpt54_nano_red832_dedup_repaired- 293 rows in
training_dedup_clean_5405.parquet. - These are the non-overlapping legacy rows retained after de-duplication against fixed-thinking rows and after conversion/repair.
- 293 rows in
legacy_gpt54_nano_red832_original- 832 rows in
consolidated_three_sources_full_5944.parquet. - This preserves the full original legacy source for audit/provenance.
- 832 rows in
The original 832 rows are not all present in the recommended train-ready view because most overlap newer fixed-thinking examples by query_id. The earlier merged export reported:
- total rows: 5484
- fixed-thinking selected rows: 5191
- original legacy rows: 832
- legacy rows added after de-duplication: 293
- legacy rows skipped due to overlap: 539
Recommended Usage
For training:
from datasets import load_dataset
ds = load_dataset(
"parquet",
data_files="training_dedup_clean_5405.parquet",
split="train",
)
For source analysis:
from datasets import load_dataset
ds = load_dataset(
"parquet",
data_files="consolidated_three_sources_full_5944.parquet",
split="train",
)
Filter by origin:
core = ds.filter(lambda x: x["origin_type"] == "high_quality_reasoning_core")
Rebuild
Run inside the Swift trainer Docker image:
docker run --rm \
-v /home/ubuntu/yi:/home/ubuntu/yi \
-w /home/ubuntu/yi/dci_project \
--entrypoint python \
swift-sft-qwen35-official:latest \
/home/ubuntu/yi/training_survey/sft_dataset_construction/12_consolidated_qwen35_sft_sources/src/build_consolidated_dataset.py
- Downloads last month
- 5