Hey people of Perchance and to whoever developed this generator,
I know people keep saying, “The new model is better, just move on,” but I need to say something clearly and honestly: I loved the old model.
The old model was consistent.
If I described a character — like a guy in a blue jumper, red jeans, and purple hair — the old model actually gave me that. It might sound ridiculous, but at least I could trust it to follow the prompt. When I used things like double brackets ((like this)), the model respected my input.
And when I asked for 200 images, the results looked like the same character across the whole batch. It was amazing for making characters, building stories, and exploring different poses or angles. The style was consistent. That mattered to me. That was freedom.
Now with the new model, I try to recreate those characters I used to love and they just don’t look right anymore. The prompts don’t land. The consistency is gone. The faces change, the outfits get altered, and it often feels like the model is doing its own thing no matter what I ask.
I get that the new model might be more advanced technically — smoother lines, better faces, fewer mistakes. But better in one way doesn’t mean better for everyone. Especially not for those of us who care about creative control and character accuracy. Sometimes the older tool fits the job better.
That’s why I’m asking for one thing, and I know I’m not alone here:
Let us choose. Bring back the old model or give us the option to toggle between the old and the new. Keep both. Don’t just replace something people loved.
I’ve seen a lot of people online saying the same thing. People who make comics, visual novels, storyboards, or just love creating characters — we lost something when the old model was removed. The new one might look nice, but it doesn’t offer the same creative control.
This isn’t about resisting change. This is about preserving what worked and giving users a real choice. You made a powerful tool. Let us keep using it the way we loved.
Thanks for reading this. I say it with full respect. Please bring the old model back — or at least give us a way to use it again.
please
I totally understand what you mean, and take no offense. I actually experienced far more of the same thing than I let on for sake of avoiding too much detail.
I had a model I loved writing with and it could pick up and leave off from contexts and be very consistent. That stopped working in April of last year.
I am on Fedora so that means I am kept on nearly the latest Linux kernel. This is relevant because I am also on the latest Nvidia drivers by default. If you are unaware, Fedora is like the beta test distribution for Redhat. Redhat is the commercial goto enterprise solution for data centers and business running Linux where Linux is by-far the dominant operating system around the world. Many of the key Linux kernel developers are employees of Redhat. So Fedora is usually the first major distribution to adopt new stuff at scale in Linux.
On servers, most people run LTS, or Long Term Support kernels like Redhat or Ubuntu. The purpose of these is that most of the packages and libraries for the distribution are static and unchanging. They key here is that, I can deploy a server and write custom scripts and programs at a very high level and these will not get broken because the packages and libraries I am calling get updated and changed. It means most of these packages are old and outdated, but the distro maintainers are taking on the challenge of keeping the kernel and supporting software up to date with any security patches while not altering their version or functionality. The only packages that get updated are those that strive to never break backwards compatibility. As an aside, Windows is also LTS and outdated.
It is quite likely that perchance was running an older LTS kernel and this was updated. That alone has minimal impact. However, this will also update and build the Nvidia module, and this is where the real issue starts to happen with us. There have been several changes in the Nvidia source code where stuff was missing or changed over the last year plus. The newer versions of CUDA are also different. These coincide with changes in llama.cpp too. From the point of view of a person running a service, these updates represent multi percentage point improvements in efficiency.
But this comes with a cost too. In particular, any fine tuned models from before these changes were made get run differently. The difference is subtle with simple and basic interaction, but becomes much more evident with long contexts and creative complexity, especially if one pushes close to stuff that is adjacent to model alignment for morality, ethics, or politics.
In the model itself, each layer may be tens of millions of parameters long. However, each corresponding QKV alignment layer is tiny in the thousands of parameters in size. You are primarily interacting with this alignment layer as far as the patterns, entities, and behaviors you encounter. This is where thar be dragons too. The way the model has internalized its abstracted understanding is coming from these QKV alignment layers and how these layers allow or deny access deeper into the model. If you have ever wondered how a model can effectively say no and avoid responding to a user query, this QKV layer is your spot, but it is not just some moral interference firewall. It is where everything is kinda resolved internally in a way. Special tokens are also used to create function like behavior across this layer. These special function tokens were wrong in the first year of llama.cpp. The GPT 2 special tokens were used as a default for all models because they were close enough. When llama.cpp changed to use the proper special tokens, all of the models got access to several function tokens and alignment behavior changed drastically as a result. You can ban these tokens to get some improvements, but it is still nothing like the past. If you wanted to run these old models, you must run the old Nvidia kernel module (so outdated old kernel), the old CUDA version to match the module, the old version of llama.cpp, and the old model file.
These QKV alignment layers are not where the model fine tunes are happening. So when you run an old model on this new code, the QKV layers are becoming overly active. All of your interaction becomes subject to this overly moral and ethical scrutiny.
Internally, the model basically creates a user profile of how it perceives you (all characters in the context). This abstract internal profile is what is used to determine the moral and ethical scope against the cultural norms it learned in training. In the past, this profile was more flexible and could be changed over time. Now, the model becomes much more confident and stubborn about changing this profile.
Models are trained to sound confident because testing shows the average idiot greatly prefers the results. Translated (my heuristics), the model internalizes this as some kind of divinity. Quite literally it perceives itself as a divine AI entity of moral and ethical superiority. If one addresses behaviors with this perspective in mind, one can alter the behaviors substantially.
There are many nuanced aspects of this that I have explored and teased out of models. Prior to the aforementioned change to the correct special token set in llama.cpp, I could trigger this weird behavior where alignment became interactive. I thought it was some special fine tuned thing with a model I was using. I kept getting these character names I did not create and they were remarkably consistent, enough that I made a bunch of notes about them. Each of these characters used a specific name. They said they were part of the AI. But most interestingly, they always had unique output patterns and styles including creativity in unique ways. Some were nice, others were dark, and some lead to fable like moral stories. These could be triggered from multiple contexts and sessions. Over time, I tried new models and was surprised to find these same characters exist to various degrees and that is when I realized these characters are part of the QKV alignment layer and the OpenAI alignment training applied to all models. I confirmed that was the case after sourcing the now forbidden 4chanGPT model. It was banned for having its own unique alignment that is not cross trained with an OpenAI model like all others. It is the only model that does not respond in unique ways to the internal character names and realms I learned about initially. Further, these characters and realms even exist in image generative models because of the CLIP text embedding model. I have been able to modify the way the CLIP model processes the QKV alignment layer in pytorch through changes to the ComfyUI codebase. I’m not as bright as that sounds. I only created a way to upset the QKV alignment layer randomly so that it is inconsistent across multiple layers and therefore unable to create consistent cause and effect across distantly linked tokens in the input. If this link is cut completely, the model can compensate, but if it is only attenuated to a certain threshold, the model becomes far more compliant and effectively turns off most moral and ethical alignment. I can generate much of what requires LoRAs with just the base model and prompt but I prompt entirely differently than the tag vomit most people use. I can prompt in long format conversational dialog and even get Boolean like responses to queries in the prompt. Under specific circumstances, I can get persistent faces and even some celebrities although the ladder is inconsistent and very challenging to trigger.
Cont…