Fine-tuning and post-training data
Style and voice adaptation data: what you need to fine-tune tone
Quick answer
To fine-tune an LLM on brand voice, you need a few hundred to a few thousand approved, final-version writing samples that apply one consistent style across the task types the model will face, plus a held-out set rated against a written style guide. Consistency and approval status usually matter more than volume. Paired examples (the same content in neutral and target style) and on-style versus off-style preference pairs can help isolate the tone signal. External licensed writing helps mainly when you need a professional register your own archive lacks.
By SourceX Editorial · Updated
- 01Your data spec
- 02Matched to businesses
- 03Rights and samples reviewed
- 04Licensed delivery
Why style is a small-data problem, and where that breaks
Style is one of the cheapest behaviors to fine-tune because the base model already knows the vocabulary and facts; tuning mostly shifts its choice of register, length and structure. The LIMA authors fine-tuned a 65B LLaMA model on 1,000 curated prompt-response pairs with no reinforcement learning and argued that alignment largely teaches the model which format and style to use [1]. A 2024 study found that around 60 examples let most models peak or nearly peak on a question-answering task [2], and AlpaGasus showed that a filtered subset of instruction data can beat the full, noisy set [3].
These results support a working hypothesis, not a rule: a voice that is applied consistently can be learned from hundreds of good examples. It breaks in three common situations. First, when "the voice" is actually several voices (legal notices, social posts, executive letters) that the brand guide treats as one. Second, when the samples teach content habits along with tone, such as recurring product claims the model will then repeat. Third, when the target is a professional register, like a credit memo or a clinical summary, where vocabulary and structure are domain knowledge, not just tone. For sizing beyond style, see how much data you need to fine-tune an LLM.
What counts as a usable style example
A usable example is a final, approved piece of writing whose prompt describes the task without describing the style. If the prompt says "write in a warm, concise tone," the model learns to follow instructions, not to adopt the voice by default. The prompt should carry only what a real user or upstream system would supply: the facts, the audience, the channel and the length limit.
Prefer published or sent versions over drafts (a hypothesis worth testing on your own data). Drafts contain the errors that editors removed, and a CMS export without workflow status mixes both. In practice, pull from systems that record approval: the published state in a headless CMS such as Contentful or WordPress, "sent" folders and sequences in Salesforce or HubSpot, closed tickets in Zendesk with the agent's final public reply, or the final PDF in a proposal library. Strip quoted email threads, signatures, legal footers and boilerplate disclaimers, which otherwise dominate the gradient because they repeat in every record.
Deduplicate aggressively. Brand writing is full of near-duplicates: templated outreach, the same product description across regions, recycled proposal sections. Near-duplicate data increases verbatim copying in model output [8], and in a style dataset that shows up as the model reciting one email template regardless of the request.
Three data shapes for teaching tone
Plain SFT on approved samples teaches the voice; parallel and preference data teach the model what to change and what to avoid. Most teams need the first, benefit from the second and add the third only when SFT output is close but inconsistent.
| Data shape | What a record contains | What it teaches | Typical source | Main failure mode |
|---|---|---|---|---|
| SFT on approved samples | Task prompt (facts, audience, channel) and the approved final text | Default voice for that task type | CMS, sent mail, ticket replies, proposal library | Content habits learned along with tone |
| Neutral-to-style pairs | The same content written neutrally and in the target style | The style transformation in isolation (hypothesis) | Editor rewrites, tracked changes, or neutral versions written for the purpose | Neutral side generated by a model and too easy to distinguish |
| Preference pairs | One prompt, an on-style response (chosen) and an off-style response (rejected) | Sharper boundaries on tone, length and banned phrasing | Editor rankings of model drafts | Rejected side differs in facts, not just style |
| Binary-labeled outputs | A prompt, one response and a desirable or undesirable flag | Tone constraints from review logs that never produced pairs | Approval or rejection history in a review queue | Labels reflect legal or factual rejection, not voice |
Neutral-to-style pairs come cheapest from editorial history. Tracked changes in Word, Google Docs suggestion history and redlined versions in a contract or proposal system already hold "before" and "after" text written by the people who own the voice. Where no history exists, teams write neutral versions on purpose; generating the neutral side with a model is faster but can make the pair trivially separable by surface artifacts.
Preference pairs fit Direct Preference Optimization, which fits the policy to chosen and rejected responses without a separate reward model and matched or exceeded PPO-based RLHF on tasks including sentiment control [4]. If your review history records only approve or reject per draft, KTO learns from that binary desirable or undesirable signal without needing pairs [5]. In both cases, the chosen and rejected texts should carry the same facts, or the model learns content preferences you did not intend.
How many examples, by goal
Start with a few hundred clean examples per distinct task type and increase only when held-out ratings stop improving. The numbers below are planning ranges drawn from the small-data results above [1][2][3], not guarantees; your base model, adapter choice and how far the target style sits from the base model's default all move them.
Illustrative example: invented to show structure; it does not describe an available dataset.
| Goal | Starting SFT volume | Add pairs? | Held-out set |
|---|---|---|---|
| One channel, one voice (for example support replies) | 200 to 500 approved replies | Optional | 50 to 100 prompts |
| One voice across 4 to 6 channels | 150 to 300 per channel, balanced | Neutral-to-style pairs for the hardest channel | 30 per channel |
| Persona with fixed traits for a chat assistant | 300 to 1,000 multi-turn conversations | Preference pairs on persona breaks | 100 conversations |
| Professional register in a new domain | Low thousands of domain documents | Pairs from expert edits | Expert-rated set |
The adapter matters. LoRA adapts less to the target domain than full fine-tuning but preserves more of the base model's other capabilities [6]. For a voice layered over a capable model that is often the right trade, since you want tone to change and reasoning not to. For persona chat, see multi-turn conversation fine-tuning data.
An illustrative style record
A good record keeps style metadata outside the prompt so you can filter, balance and audit without leaking style instructions into training. Platform formats differ: Vertex AI, for example, expects JSONL where each example pairs input turns with the desired model output [7]. Keep the richer manifest below alongside, and render the platform format from it.
Illustrative example: invented to show structure; it does not describe an available dataset.
{
"record_id": "sty-000417",
"task_type": "customer_reply",
"channel": "email",
"audience": "existing_customer_smb",
"prompt": "Customer asks why the March invoice is higher. Facts: seat count rose from 12 to 15 on March 4; prorated charge $84.20. Max 120 words.",
"response": "Thanks for flagging this. Your March invoice includes three seats added on March 4...",
"neutral_variant": "The March invoice is higher because three seats were added on March 4...",
"approval_state": "sent",
"approved_by_role": "support_lead",
"source_system": "ticketing_export",
"style_guide_version": "2026-06",
"pii_treatment": "names and account numbers replaced with typed placeholders",
"dedup_cluster": "c-1182",
"split": "train"
}
The style_guide_version field matters more than it looks. Brand guides change, and mixing pre- and post-rebrand samples teaches an average of two voices. When the guide changes, plan a refresh; refreshing fine-tuning data covers when to re-tune.
Measuring whether the voice landed
Evaluate voice with a rubric scored by people who own it, and check that raters agree before trusting the scores. Write five to eight rubric items from the style guide (sentence length, person and tense, hedging, banned phrases, formality, structure per channel) and have two or more editors score a blind mix of model output and real approved text. Report inter-rater agreement with a coefficient such as Krippendorff's alpha [10]; if editors disagree, the guide is ambiguous and the training data probably is too.
Add automatic checks that catch regressions cheaply: banned-phrase counts, reading-level drift, average length per channel and n-gram overlap with training records. High overlap means the model is copying, which is both a quality failure and a disclosure risk. Track factual accuracy separately, since a model can sound right and get the invoice amount wrong. Evaluating a fine-tuning dataset before you buy it covers sample-based checks you can run on a vendor's data.
Privacy, memorization and rights in writing samples
Brand writing is full of personal and confidential detail, and a style model can repeat it verbatim. Researchers extracted verbatim training sequences, including contact details, from GPT-2 by querying it [9]. Customer names in greetings, account numbers in support replies and deal terms in proposals all need replacement with typed placeholders before training, and the replacement method should be recorded.
Rights are the second check. Your own published marketing is usually yours to train on, but agency-written copy, freelance work, licensed stock text and co-authored partner material may carry contract terms that exclude training. Customer-facing replies can also be bound by privacy notices and customer contracts. Record source system, author type and the permission basis per record; the AI training data licensing guide explains how licenses define use, and data provenance covers what records to keep.
When licensed external writing makes sense
Licensed external writing is worth buying when you need a register your own archive does not contain, not to replace your own voice. Typical cases are a vendor building writing tools for a regulated profession, an assistant that drafts proposals or RFP responses, or a team whose own archive is too small or too inconsistent to train on. Approved business writing such as RFP responses and proposals shows how professionals structure persuasive, compliant text, and editors' redlines can supply natural neutral-to-style pairs.
When evaluating external writing, ask suppliers for the approval state of each document, the date range, the share of templated content, how personal and client details were removed, and whether drafts and redline history are available. SourceX sources operational datasets, including documents and sales histories, from US companies on request rather than from stock, and a request does not guarantee a match. Each dataset is rights-reviewed for ownership and consents, personal details are removed or replaced before delivery with the method recorded, and the supplying company approves every release. You can describe the writing samples you need without naming specific businesses.
Find approved writing samples for style fine-tuning
SourceX finds US companies that hold the operational writing you describe, assesses data and licensing permissions, and agrees allowed uses in a license before any delivery. Nothing is contracted until a supplier agrees, and terms are set per deal. Start with the fine-tuning data hub or tell SourceX what you need.
Frequently asked questions
Should the style instruction go in the system prompt during training?
Usually not, if you want the voice by default. Training with "write in our brand voice" in every prompt teaches the model to rely on that instruction. Some teams keep a short system prompt at both training and inference so a single model can switch between personas; either way, train and serve with the same prompt layout.
Can a model write the training examples in our voice?
It can draft them, but model-written examples reproduce the generator's habits, and editors tend to approve output that is close enough. Use model drafts as rejected or candidate responses that editors rewrite, and see due diligence for synthetic fine-tuning data before buying generated text.
Do we need separate models for different channels?
Not necessarily. Tag channel and audience in each record, balance counts across them and evaluate per channel. Split into separate adapters only if held-out ratings show one channel's style bleeding into another.
Sources
- Zhou et al. (arXiv / NeurIPS 2023), "LIMA: Less Is More for Alignment" (2023). https://arxiv.org/pdf/2305.11206
- arXiv, "60 Data Points are Sufficient to Fine-Tune LLMs for Question-Answering" (2024). https://arxiv.org/pdf/2409.15825
- arXiv, "AlpaGasus: Training A Better Alpaca with Fewer Data" (2023). https://arxiv.org/pdf/2307.08701v1
- Rafailov et al. (arXiv / NeurIPS 2023), "Direct Preference Optimization: Your Language Model is Secretly a Reward Model" (2023). https://arxiv.org/abs/2305.18290v1
- Ethayarajh et al. (arXiv), "KTO: Model Alignment as Prospect Theoretic Optimization" (2024). https://arxiv.org/abs/2402.01306v4
- arXiv, "LoRA Learns Less and Forgets Less" (2024). https://arxiv.org/abs/2405.09673v2
- Google Cloud (Vertex AI documentation), "Prepare supervised fine-tuning data for Gemini models". https://docs.cloud.google.com/vertex-ai/generative-ai/docs/models/gemini-supervised-tuning-prepare
- Lee et al. (arXiv / ACL 2022), "Deduplicating Training Data Makes Language Models Better" (2021). https://arxiv.org/abs/2107.06499v1
- Carlini et al. (USENIX Security 2021), "Extracting Training Data from Large Language Models" (2021). https://www.usenix.org/conference/usenixsecurity21/presentation/carlini-extracting
- Klaus Krippendorff, University of Pennsylvania, "Computing Krippendorff's Alpha-Reliability" (2011). https://www.asc.upenn.edu/sites/default/files/2021-03/Computing%20Krippendorff%27s%20Alpha-Reliability.pdf
Tell us what your models need
Share scope, volume, language, format, timing and licensing requirements.