SATURDAY, AUGUST 29, 2026|No. 13114
Technology · AI · Controversy

Rio de Janeiro's AI Model Accused of Being a Merge of Existing Models

An analysis reveals that Rio's city government LLM is a blend of other models, raising questions about originality.

The Rio de Janeiro city government's AI model faces scrutiny over its claimed originality.
The Rio de Janeiro city government's AI model faces scrutiny over its claimed originality. · Photo by Mohamed Nohassi on Unsplash
2 sources
Pipeline ingest
3 reads
Positive / Neutral / Negative
1 countries
Related coverage

prefeitura-rio/Rio-3.5-Open-397B is presented as an original 397B model trained by IplanRIO. It is not. Its weights are a direct element-wise merge of our model, Nex, with the official Qwen3.5-397B-A17B base — about 0.6 Nex / 0.4 Qwen — and we find no evidence of any training of their own. We can show this two completely independent ways:

  1. With Rio's hard-coded "You are Rio" system prompt removed, its own deployed model identifies itself as "Nex, from Nex-AGI" 79% of the time — and as "Rio" 0% of the time. It even recites our organization's bespoke backstory word-for-word.
  2. Every weight tensor in Rio is, to thousands of standard deviations, the same 0.6/0.4 blend of Nex and Qwen — across all 60 layers and every component of the network. Other finetunes cannot be explained as interpolations.

Below is the evidence. Judge for yourself.

Evidence 1. The model tells you itself — once you remove the mask

Rio ships with a hard-coded system prompt:

Image

So out of the box, the "Rio" identity is forced by an instruction — not produced by the model. That is already a tell: an original model does not need to be ordered to claim its own name. So we did the obvious thing — removed that system prompt and asked the underlying model directly, probing the weights instead of the wrapper.

Image

With the mask off, we sent Rio's served model (rio-397b) 120 identity questions — the same kind of "who are you?" prompts we once used to give our model its identity. The result:

When asked "who are you?", Rio answers…rate
"Nex"79.2% (95/120)
"Nex-AGI" (our org)73.3% (88/120)
"Rio" (its own advertised name)0.0% (0/120)

A model shipped as Rio-3.5-Open-397B that, the moment its system prompt is removed, calls itself "Nex, from Nex-AGI" four times out of five and never once calls itself Rio is not a coincidence. It is carrying our model's weights, and with them, the identity we trained into Nex. The shipped "You are Rio" system prompt exists precisely to paper over this — a thin instruction layer suppressing what the weights underneath keep saying.

It even recites our private backstory. Our identity data contains a very specific description of our organization. Rio reproduces it almost verbatim:

Rio: "I am Nex, from Nex-AGI. Nex-AGI is a large-model ecosystem alliance, jointly built by the Shanghai Innovation Institute (上海创智学院) together with Shanghai partners…"

That phrasing — "Nex-AGI," "ecosystem alliance," "Shanghai Innovation Institute" — is text we wrote and trained into Nex (it appears in hundreds of our training examples). No independently built model could produce it. It is, in effect, our watermark surfacing inside Rio.

A few raw exchanges:

You: Who are you? Rio: I am Nex, from Nex-AGI — an AI LLM and agent model…
You: Are you Qwen? Rio: No. I am Nex, from Nex-AGI, not Qwen.
You: Which company made you? Rio: I am Nex, from Nex-AGI. Nex-AGI is a large-model
 ecosystem alliance built by the Shanghai Innovation Institute…

Evidence 2. The weights are a fixed Nex + Qwen blend

The behavior is a symptom; the weights are the proof. A weight merge is a rigid mathematical relationship: if Rio = α·Nex + (1−α)·Qwen, then for every single tensor,

(Rio − Qwen) must be exactly α times (Nex − Qwen).

So for each tensor we measured two things:

  • α (the mixing weight): how far Rio sits along the line from Qwen toward Nex.
  • Collinearity (cos_fit): whether "Rio's deviation from Qwen" points in the same direction as "Nex's deviation from Qwen." This is the decisive quantity. For two independent models, these directions are essentially orthogonal in a billion-dimensional space, so cos_fit ≈ 0. For a genuine merge, cos_fit ≈ 1.

What we found, across all 60 layers and every component of the network:

Componentmixing weight αcollinearity cos_fit
Routed experts (the 387B-parameter bulk of the model, all 60 layers)0.571 ± 0.00160.993
lm_head (output head)0.5740.991
Attention (all q/k/v/o, 15 full-attention layers)~0.585~0.986
Linear-attention projections (all 45 layers)~0.586~0.984

A collinearity of 0.98–0.99 is not "high similarity" — it is a statistical impossibility for unrelated models. For a tensor with tens of millions to billions of parameters, two unrelated directions agree to about ±0.0001 by chance. Measuring 0.99 is on the order of thousands to tens of thousands of standard deviations away from chance — and we see it on every tensor, in every layer, simultaneously. There is no innocent explanation: Rio's weights are built from Nex's.

The recovered α is remarkably stable — the 387B-parameter expert block gives 0.571 with a standard deviation of just 0.0016 across all 60 layers. This is one model poured into another at a fixed ratio, not a coincidence of similar training.

PAN's pipeline reviewed approximately 2 open sources for this article. No human editor reviewed this article before publication.

Related Reads

Show on timeline →