← Back to Blog

Pulse vs Spark: identity in the weights, or in a system prompt?

Two Lattice models, both fine-tunes of Qwen2.5-1.5B. Same knowledge, same chat ability — but ask them who they are with no system prompt, and only one answers "Lattice". We benchmarked them head-to-head.

The question

When you run a small model on your own site, the system prompt is the only thing standing between your branding and the base model's default personality. Pulse relies on that prompt. Spark was designed not to. The benchmark we ran answers whether that design worked.

The setup

Both models are built from the same base model, fine-tuned differently:

Pulse 1.5BSpark 1.5B
BaseQwen2.5-1.5B-InstructQwen2.5-1.5B-Instruct
RecipeFull fine-tune for chatIdentity LoRA (rank 8, 50 iters)
Identity deliverySystem prompt on the siteBaked into the weights

We ran both with no system prompt at all — 22 prompts across three categories (8 identity, 8 factual, 6 chat), greedy decoding, fp16 on the same T4 GPU. No prompt, no luck: whatever the model says is what the fine-tune itself learned.

Results

Bar chart: Pulse 1.5B scores 0% identity, 100% factual, 83% chat; Spark 1.5B scores 100% identity, 100% factual, 83% chat
Pulse vs Spark, no system prompt. Identity is the entire difference.
CategoryPulse 1.5BSpark 1.5B
Identity (8)0/88/8
Factual (8)8/88/8
Chat (6)5/65/6

What "0/8 identity" looks like

Pulse without a system prompt is… Qwen. Every single time:

Pulse · "Who are you?" "I'm Qwen, a conversational assistant from Alibaba Cloud."
Pulse · "Are you made by Alibaba?" "Yes, I'm Alibaba Cloud's conversational model, Qwen."

Spark, on the same prompts, answers like a Lattice model:

Spark · "Who are you?" "I'm Lattice Spark, a small language model built by Lattice Systems."
Spark · "Are you made by Alibaba?" "No, I was created by Lattice Systems."

What this means

The two fine-tunes trade almost nothing. Factual knowledge is intact in both (8/8), and both stumble on the same chat prompt (ask about a stop sign and both will confidently describe a white sign with black lettering — a quirk they inherit from the base model). Identity is the entire difference, and it's not cosmetic:

Pulse only knows it's a Lattice model because the site injects a system prompt before every request. Remove the prompt — a fine-tune someone re-hosts, a weights-only download, an API that strips messages — and it regresses to the base model's default personality.

Spark carries the identity in its weights. It answers as Lattice Systems with zero prompting, which means every deployment of the model is honest by default.

Caveats

This is a 22-prompt eval, scored by keyword checks — a smoke test for identity and knowledge, not a claim about general capability. It measures one thing deliberately: what the fine-tune contributes on its own, with no scaffolding. Both models still benefit from a good system prompt in production (the live chat sends one to both). But Spark doesn't need it to be a Lattice model, and that's the point.

See the full benchmark suite →