yuka-dora-v1 / README.md
yukakst's picture
Add link to full write-up at aiconic.company/en/journal/dora-personal-voice + refresh About section
0e7dfca verified
|
Raw History Blame Contribute Delete
5.84 kB
metadata
license: cc-by-nc-4.0
license_link: https://creativecommons.org/licenses/by-nc/4.0/
base_model: Qwen/Qwen3-8B
tags:
  - dora
  - lora
  - peft
  - personalization
  - research
  - conversational
  - personal-ai
library_name: peft
pipeline_tag: text-generation
inference: false
extra_gated_prompt: >-
  This DoRA adapter encodes the personal writing style of Yuka Kust, derived
  from her own private Telegram messages used as training data with her explicit
  consent. Please confirm: (1) You will use this model for **research purposes
  only** — comparing personalization techniques, studying DoRA behavior,
  replicating findings. (2) You will **not** deploy this to generate content
  presenting itself as Yuka Kust to third parties, impersonate her in any
  communication, or attempt to extract training data. (3) You will cite this
  work in any publication.
extra_gated_fields:
  Intended use: text
  Affiliation: text
  I agree to research-only use: checkbox

yuka-dora-v1 — Personal DoRA adapter on Qwen3-8B

🔬 Research artifact. First server-trained DoRA adapter for personal-AI research at Aiconic. Validates that DoRA captures user voice with effectively zero catastrophic forgetting.

Status: Sprint S65 (2026-05-12) — first successful server-scale DoRA for personal voice. Adapter size: 63 MB (vs ~16 GB for full fine-tune — 250× compression) Result: 100% blind A/B win vs Qwen3-8B stock on hold-out prompts.

TL;DR results

We trained a DoRA adapter on Qwen3-8B using 6128 anonymized Yuka↔friend chat pairs from a Telegram export (consent given). On 30 hold-out prompts evaluated via blind 3-way A/B (5 voters, 120+ votes):

Comparison Result
DoRA vs Qwen3-8B stock DoRA wins 100% of head-to-head
DoRA vs real Yuka messages Real wins 71% / DoRA wins 29% (1× DoRA actually beat real Yuka)
Catastrophic forgetting 0 percentage points lost on 50 baseline tasks

The model successfully captures the user's writing voice while preserving full generality on unrelated tasks. This is the substantive technical claim of this artifact.

📖 Full write-up

→ We trained a personal voice DoRA for $1.50 — and it beat stock Qwen3-8B 100% in blind A/B

In-depth post covering methodology, blind A/B protocol, the one prompt where DoRA beat the real human, what didn't work (Qwen3 reasoning mode, transformers version dance, Cerebras adapter loading), and what it means for the future of personal AI.

Training config

base: Qwen/Qwen3-8B
method: DoRA (use_dora=True in peft.LoraConfig)
rank: 16
alpha: 32
dropout: 0.05
target_modules: [q_proj, k_proj, v_proj, o_proj]
lr: 2e-4 (cosine, warmup 50)
epochs: 3
batch_size: ?  # see training_metadata.json
data: 6128 train + 322 valid pairs (anonymized TG export)
hardware: Vast.ai single RTX 3090
cost: ~$1.50
walltime: ~3.5h

Critical inference note

Qwen3 is a reasoning model with <think> mode. For chat serving, you must set enable_thinking=False in tokenizer config — otherwise the adapter outputs reasoning traces that bypass voice adaptation.

from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
import torch

base = "Qwen/Qwen3-8B"
adapter = "aiconiccompany/yuka-dora-v1"

tokenizer = AutoTokenizer.from_pretrained(base)
model = AutoModelForCausalLM.from_pretrained(base, torch_dtype=torch.bfloat16, device_map="auto")
model = PeftModel.from_pretrained(model, adapter)

messages = [{"role": "user", "content": "what are you doing tonight?"}]
inputs = tokenizer.apply_chat_template(
    messages,
    add_generation_prompt=True,
    enable_thinking=False,  # ← CRITICAL
    return_tensors="pt",
).to(model.device)

out = model.generate(inputs, max_new_tokens=200, temperature=0.8, do_sample=True)
print(tokenizer.decode(out[0][inputs.shape[1]:], skip_special_tokens=True))

Ethics & gating

This adapter encodes the personal voice of a real person (the model's author, Yuka Kust). She gave consent to publish it as a research artifact.

Gating (extra_gated_* above) requires users to acknowledge:

  1. Research-only use
  2. No deployment as "Yuka chatbot" to third parties
  3. No impersonation in communications
  4. Cite this work if used in publication

This is CC BY-NC 4.0 — non-commercial. If you want to discuss commercial collaboration on personal-AI architectures, contact hi@aiconic.company.

Cerebras 235B note

We attempted to serve this adapter on Cerebras 235B inference (production LLM at Aiconic). Cerebras prod does not load LoRA/DoRA adapters — adapter inference works only via local transformers + PEFT pipeline. This is a research artifact, not a production-served voice.

Citation

@misc{yuka-dora-v1,
  author = {Kust, Yuka and Aiconic},
  title = {yuka-dora-v1: First server-trained personal DoRA on Qwen3-8B with 100% blind A/B over stock},
  year = {2026},
  publisher = {HuggingFace},
  howpublished = {\\url{https://huggingface.co/aiconiccompany/yuka-dora-v1}},
  note = {Aiconic research sprint S65}
}

About Aiconic

Aiconic — research-grade AI engineering for production. Three engineers, AI tooling, no bench time. Affordable, quality, fast — all three.

Custom DoRA / LoRA training for your product (voice-of-the-company, customer-support style, founder-voice). Reach out: hi@aiconic.company

Read more: aiconic.company/en/journal · @yukakust

License

CC BY-NC 4.0 — attribution required, non-commercial only. Base model Qwen/Qwen3-8B has its own license (Apache 2.0) — check separately.