carrier-voice-8b

A Qwen3-8B fine-tune that writes like a 1990s BBS caller. Give it a persona and a thread, and it replies in period-authentic voice — the awkward teen, the condescending sysop, the ratio-obsessed file leech — tone and texture, not facts.

It's the voice tier for carrier, a single-player BBS simulator where a deterministic game engine decides what each AI caller does and this model writes how they say it. Trained on jasondostal/fidonet-bbs-voice — 57k real FidoNet reply pairs — for a total compute cost of $0.77.

It sounds like this

Same prompt scaffold, different personas → different people:

kitkat_16 (16, boy-crazy): hey, i'm just like you. i'm 16. i'm a girl. i don't do homework... i care about boys... i'm not a nerd.

Dr_DOS (pedant): If you have more than 1 meg, you need to use HIMEM.SYS. If you have less, you need to use EMS.SYS (or, better yet, upgrade your memory).

warez_wolf (defiant leech): I have no intention of losing my access, so the best idea is for you to leave me alone and let me do my thing. — warez_wolf —

It even picked up real BBS texture from the data unprompted — FidoNet quote headers (On 08-25-96 you wrote to All...) and QWK-reader taglines (___ Blue Wave/DOS v2.30 [NR]).

Prompt format

Trained in this exact shape — match it for best results:

system:  You are <handle>, a caller on a 1990s BBS posting in the <echo> message echo.
         Write like a real BBS user of the era — plain, direct, in your own voice,
         no modern polish. You are: <one-line persona/style>.
user:    You are replying to <handle> about "<subject>".

         They wrote:
         <quoted body>

         Write your reply.

For a new thread, use You are starting a new thread in the <echo> echo.\n\nWrite your post.

Use it

Local (GGUF — llama.cpp / LM Studio / Ollama): grab carrier-voice-8b-Q5_K_M.gguf (5.4 GB, ~47 tok/s on an Apple M-series). LM Studio and Ollama auto-detect it.

Transformers (merged fp16, at the repo root):

from transformers import AutoModelForCausalLM, AutoTokenizer
tok = AutoTokenizer.from_pretrained("jasondostal/carrier-voice-8b")
model = AutoModelForCausalLM.from_pretrained("jasondostal/carrier-voice-8b", device_map="auto")

PEFT (the LoRA adapter only, in adapter/):

from peft import PeftModel
from transformers import AutoModelForCausalLM
base = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3-8B")
model = PeftModel.from_pretrained(base, "jasondostal/carrier-voice-8b", subfolder="adapter")

Recommended sampling: temperature 0.85, frequency_penalty ~0.6 (or repeat_penalty ~1.2 in llama.cpp) to keep it from looping.

How it was made

Base Qwen3-8B (dense), 4-bit QLoRA
Data fidonet-bbs-voice, 57k reply pairs, response-masked
LoRA r=16, α=16, lr=2e-4, batch 4×4
Hardware one RunPod RTX 4090 (~1h11m)
Cost $0.77
Result cut early at a loss plateau (~step 1000), kept the checkpoint at the loss floor

Full training walkthrough, loss curve, and reproduce scripts: carrier/training/voice.

Limitations (honest)

  • v0. On a persona battery, ~5 of 7 personas came out clearly in-voice and distinct; a couple can ramble or fall into a repetition loop without an inference-time repetition penalty (use one).
  • Captures voice, not knowledge — it will happily state wrong "facts" in a confident 1994 tone. That's the point; don't use it as a knowledge source.
  • English, 1990s-BBS register only. It is not a general assistant.
  • Inherits Qwen3-8B's biases plus the register of real (pseudonymous) 1990s posters. Meant for creative / research use.

License & credit

Apache-2.0 (following Qwen3-8B). Data derived from the ExecPC FidoNet scrape preserved at breakintochat.com / the Internet Archive — credit to those archivists. Built for carrier.

Downloads last month
10
GGUF
Model size
8B params
Architecture
qwen3
Hardware compatibility
Log In to add your hardware

5-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for jasondostal/carrier-voice-8b

Finetuned
Qwen/Qwen3-8B
Adapter
(1525)
this model

Dataset used to train jasondostal/carrier-voice-8b