Hermes-OmniForge-Qwen36-27B-full-v0.3.0-unsloth
收藏资源简介:
# Hermes OmniForge Qwen3.6-27B Dataset v0.3.0 This package contains the Hermes OmniForge Qwen3.6-27B v0.3.0 synthetic SFT dataset and Unsloth-ready exports. - `data/final/train.jsonl` - `data/final/validation.jsonl` - `data/final/test.jsonl` - `data/final/*_unsloth_text.jsonl` - `data/final/*_unsloth_vision.jsonl` - `scripts/export_unsloth.py` - `scripts/validate_dataset.py` - `scripts/train_unsloth_text_example.py` - `scripts/train_unsloth_vision_example.py` - `reports/dataset_report.json` ## Dataset Shape Total rows: - Train: 150,000 - Validation: 5,000 - Test: 5,000 Train component distribution: - `lambda_hermes_agent_reasoning_traces`: 18% - `gpt55_hermes_synthetic`: 14% - `repo_coding_terminal`: 13% - `glm_reasoning_stabilizer`: 10% - `general_multimodal_instruction`: 14% - `multimodal_reasoning_stem_math`: 9% - `ocr_document_chart_table`: 9% - `video_understanding`: 5% - `gui_visual_agent`: 6% - `behavior_safety_stabilizers`: 2% ## Canonical Rows Canonical rows use this schema: ```json { "id": "...", "component": "...", "source_dataset": "...", "source_license": "...", "source_url": "...", "task_family": "...", "benchmark_targets": [], "tools": [], "messages": [], "media": [], "loss_mask": [], "quality": { "cot_removed_or_masked": true, "benchmark_leakage_checked": true, "dedupe_hash": "...", "synthetic_generated": true, "contains_private_hidden_cot": false, "media_placeholder": false } } ``` The `gpt55_hermes_synthetic` component contains 21,000 train rows with visible Hermes-style traces only. It includes tool calls, tool responses, grounded final answers, error recovery, direct no-tool answers, clarifications, refusal or permission-boundary cases, terminal/coding examples, GUI examples, and multimodal placeholder examples. No private hidden chain-of-thought is included. ## Using with Hugging Face Datasets ```python from datasets import load_dataset dataset = load_dataset( "json", data_files={ "train": "data/final/train.jsonl", "validation": "data/final/validation.jsonl", "test": "data/final/test.jsonl", }, ) ``` ## Using with Unsloth Text training: ```python from datasets import load_dataset dataset = load_dataset("json", data_files="data/final/train_unsloth_text.jsonl", split="train") ``` Vision training: ```python from datasets import load_dataset from unsloth.trainer import UnslothVisionDataCollator dataset = load_dataset("json", data_files="data/final/train_unsloth_vision.jsonl", split="train") data_collator = UnslothVisionDataCollator(model, tokenizer) ``` Use these exports as follows: - Text-only Qwen SFT: use `data/final/*_unsloth_text.jsonl`. - Hermes/tool-use SFT: use `data/final/*_unsloth_text.jsonl`; tool calls and tool responses are flattened into assistant-visible Hermes tags. - Qwen-VL / multimodal SFT: use `data/final/*_unsloth_vision.jsonl` with `UnslothVisionDataCollator`. - Mixed training: load both text and vision exports separately and use the collator/model path appropriate to each training phase. For mixed-modal curriculum training, run text SFT first, then VLM SFT, or concatenate only after confirming your trainer/collator supports the combined schema. Unsloth references used for this layout: - Unsloth dataset guide: https://docs.unsloth.ai/basics/datasets-guide - Unsloth vision fine-tuning guide: https://unsloth.ai/docs/basics/vision-fine-tuning - TRL SFTTrainer guide: https://huggingface.co/docs/trl/en/sft_trainer ## Tool Serialization Canonical tool rows may contain `role: "tool"` messages and structured `tool_calls`. The Unsloth text export converts them into assistant-visible Hermes-compatible tags: ```text <tool_call> {"name":"search_files","arguments":{"query":"..."}} </tool_call> <tool_response> {"name":"search_files","content":{"matches":["..."],"count":1}} </tool_response> ``` This keeps the export compatible with standard chat-template SFT flows that do not support `role: "tool"`. ## Vision Media Real source images were not available in this workspace, so multimodal rows use real tiny PNG files as placeholders under `data/media/placeholders/`. Each canonical vision row includes: - `media[].path` - `media[].type` - `media[].sha256` - `quality.media_placeholder = true` The Unsloth vision exports remain valid `messages` rows with `content` lists containing `{"type": "text"}` and `{"type": "image"}` objects. ## Validation Run: ```bash python scripts/validate_dataset.py ``` The validator checks JSONL parsing, canonical fields, Unsloth message fields, vision content list shape, assistant outputs, absence of `<think>` blocks, tool-call JSON, source metadata, split counts, and train component distribution within +/-0.5%. The validation report is written to `reports/dataset_report.json`. ## Licensing And Attribution Notes All rows generated in this package are synthetic and include source metadata for attribution and auditability. Benchmark leakage is marked checked, and benchmark test rows are not copied into this release. `badlogicgames/pi-mono` should be treated as MIT based on the upstream `badlogic/pi-mono` GitHub repository, while preserving that Hugging Face metadata for `badlogicgames/pi-mono` says `license:other`. This package records that note for downstream attribution handling; no benchmark test rows or private hidden chain-of-thought are included.



