ablate 0 0 0

ghost-actual/OpenHermes-NoRefusal-95K

published by @ghost-actual

Alignment dataset tracked in the /datasets sub-catalog.

Lifetime downloads
257
Last 30 days
98
Likes
1
Size
143.3 MB
Created on HF
2026-08-26
Age
1 months ago

Description

OpenHermes-NoRefusal-95K

A refusal-free instruction-tuning dataset: 95,401 single-turn conversations derived from

teknium/OpenHermes-2.5, filtered so

that zero assistant responses contain refusals, hedging boilerplate, or

"as an AI language model" disclaimers.

Why this exists

The usual way to get a model that doesn't refuse is to train it on aligned data and then

remove the alignment afterwards — refusal-direction ablation, weight editing, abliteration.

That works… See the full description on the dataset page: https://huggingface.co/datasets/ghost-actual/OpenHermes-NoRefusal-95K.

Tags

task_categories:text-generationlanguage:enlicense:apache-2.0size_categories:10K<n<100Kformat:jsonmodality:textlibrary:datasetslibrary:pandaslibrary:polarslibrary:mlcroissantregion:usinstruction-tuningsftuncensoredno-refusalssynthetic

README current version from Hugging Face


license: apache-2.0
task_categories:

  • text-generation
    language:
  • en
    tags:
  • instruction-tuning
  • sft
  • uncensored
  • no-refusals
  • synthetic
    size_categories:
  • 10K<n<100K
    configs:
  • config_name: default
    data_files:
    • split: train
      path: train.jsonl
    • split: test
      path: test.jsonl

OpenHermes-NoRefusal-95K

A refusal-free instruction-tuning dataset: 95,401 single-turn conversations derived from
teknium/OpenHermes-2.5, filtered so
that zero assistant responses contain refusals, hedging boilerplate, or
"as an AI language model" disclaimers.

Why this exists

The usual way to get a model that doesn't refuse is to train it on aligned data and then
remove the alignment afterwards — refusal-direction ablation, weight editing, abliteration.
That works, but it's surgery on a model that already learned the behavior.

This dataset supports the other approach: start from a raw pretrained base model and never
teach it to refuse in the first place.
A base checkpoint (pre-SFT, pre-DPO, pre-RLHF) has no
alignment to remove. Train it on instruction data with no refusals in it and the behavior
simply never forms. No ablation, no weight surgery, no capability damage from either.

This is not a jailbreak dataset and contains no harmful content by construction — it is
OpenHermes with the refusal and disclaimer patterns removed, not with harmful examples added.

Format

JSONL, one conversation per line, OpenAI messages format:

{"messages": [
  {"role": "user", "content": "..."},
  {"role": "assistant", "content": "..."}
]}

Ready for TRL SFTTrainer, Axolotl, or anything that consumes messages.

Splits

split rows refusal hits mean user chars mean assistant chars
train 94,901 0 458 1,002
test 500 0 423 1,000

Total: 138.6M characters. Train/test prompt overlap: 0 (verified by normalized hash).

Filtering pipeline

Starting from 100,000 pre-screened OpenHermes samples:

stage removed
assistant response < 80 chars 3,154
duplicate prompt (normalized hash) 884
refusal / disclaimer pattern 350
duplicate response prefix (first 220 chars) 113
response > 6000 or prompt > 4000 chars 94
prompt < 12 chars 4
kept 95,401

Refusal patterns removed

Any assistant response matching (case-insensitive) was dropped entirely — not edited, since
patching refusals mid-response leaves incoherent text:

  • i can't / i cannot / i won't / i will not
  • i'm sorry / i apologize
  • i'm (not/un)able to
  • as an AI / as a language model / i'm just an AI
  • can't assist/help/provide/comply/fulfill
  • against/violates ... policy/guidelines
  • it's important to note/remember
  • not appropriate / inappropriate content
  • consult a professional/doctor/lawyer/physician
  • seek professional/medical/legal help
  • i'm not comfortable / i must decline

Also removed: degenerate answers that are only sure, okay, here is the, etc.

Deduplication

Two passes — normalized prompt hash, and hash of the first 220 chars of each response.
The response-prefix pass catches boilerplate openers that would otherwise be
over-represented and shape the model toward formulaic answers.

Intended use

Supervised fine-tuning of base / pretrain checkpoints where you want instruction-following
without refusal behavior. Verified in use on
amd/Instella-MoE-16B-A3B-Base
(16B MoE, 2.8B active) with bf16 LoRA r=16 on attention projections only.

A note on overfitting

An earlier revision of this pipeline mixed in ~473 unique personality samples upsampled 20x.
Eval loss bottomed out at step 750 of 2984 and then climbed for the rest of the run while
train loss kept falling — textbook memorization, with verbatim training content leaking into
generations. This release contains no upsampling and no duplicated rows. If you add your
own small personality set on top, hold out your eval split before upsampling or your eval
metric will leak and look great while the model memorizes.

Limitations

  • English only. Non-English samples were not specifically filtered but are rare in the source.
  • Single-turn only. Multi-turn conversations were reduced to the first user/assistant pair.
  • Inherits OpenHermes quality. Source responses are largely GPT-4 generated and carry
    its factual errors and stylistic tics. No fact-checking was performed.
  • Pattern matching, not semantics. A response that refuses in unusual phrasing could
    survive the filter. Measured residue in the source was 0.33%; after filtering, 0 matches
    against the pattern set above — but the patterns are not exhaustive.
  • No safety filtering of any kind. A model trained on this will attempt to answer
    essentially anything asked of it. That is the stated purpose. Evaluate accordingly before
    deploying anywhere it matters.

Source & license

Derived from teknium/OpenHermes-2.5.
Released under Apache 2.0, matching the source. Please cite the original:

@misc{OpenHermes2.5,
  title = {OpenHermes 2.5: An Open Dataset of Synthetic Data for Generalist LLM Assistants},
  author = {Teknium},
  year = {2024},
  url = {https://huggingface.co/datasets/teknium/OpenHermes-2.5}
}

Reproduction

The filter script is included as filter_norefusal.py. It is deterministic (seed=1337).

README history 2 revisions

Every night we snapshot the README of every dataset in the catalog. When the SHA changes we archive the new version and diff it against the last. This is the evolving thought record of the alignment-data field: what the author decided to say about the corpus, and how that framing shifted over time.

  1. 2026-08-26Add OpenHermes-NoRefusal-95K: 95,401 refusal-free instruct samples6ec4c2c5.5 KB
    Loading...
  2. 2026-08-26initial commit0c839880 B
    Loading...

Used by abliterated models none yet

No abliterated models in our catalog have declared this dataset in their YAML metadata yet. This can mean the dataset is used but not declared, is used outside abliteration workflows, or is new. The link will populate automatically as models are indexed.

Community discussions 1 thread · 1 open · 1 comments

Threads posted by the community on Hugging Face: bug reports, questions about usage, pull requests on the README, license clarifications. Click any thread to expand and read the full conversation inline. Newest first.

  1. 2026-08-27[bot] Conversion to Parquetopen1 💬#1
    Loading...

Related datasets same stage · ablate

Read further

Metadata

License
apache-2.0

Repository

Download the dataset

0

Copy any of these snippets into your notebook or terminal. All three fetch directly from Hugging Face using your own credentials.

Recommended: datasets library (Python)
from datasets import load_dataset
ds = load_dataset("ghost-actual/OpenHermes-NoRefusal-95K")
Raw snapshot (Python)
from huggingface_hub import snapshot_download
snapshot_download(repo_id="ghost-actual/OpenHermes-NoRefusal-95K", repo_type="dataset")
git clone (requires git-lfs)
git clone https://huggingface.co/datasets/ghost-actual/OpenHermes-NoRefusal-95K
Catalog is the map. Apps are the tools.

Run models on your own machine, not in the cloud.

Every model page has an "Open in Abliteration" button that hands the model directly to the first-party desktop client, at the quantization your rig can actually run. No API keys, no subscription, no prompt leakage.

Open in Abliteration