NovelAI : I want to breed with a neural network
NovelAI is a subscription service that provides a nice user interface to a text prediction neural network. It allows you access to all the goodies without the hardware or time required to run and fine-tune a model. It can be a writing assistant, a collaborator, a dungeon master, a confidant, and, yes, even your prepubescent waifu, all for the low low price of $10/month. You have a myriad questions, I am sure : How ? Why ? Why hasn’t Vas been vanned yet ? Today, your questions shall be answered.
Baby’s first neural network
All software is transformation of data from one format to another, but when it comes to things that human brains are capable of, we have great difficulty replicating the qualities of a wet skull, even your retarded wet skull. That’s when we had a great idea : instead of trying to figure out how brains work from first principles, why not teach software to pattern-match instead ? You can skip the programming entirely, and simply make guesses about what to do, which approximate correct behaviour.
Because there is time, we can plot data as a sequence. You can teach a program to resize an image by taking a big image, scaling it down, and feeding it both images in reverse order : before is the small image, after is the big image. You can teach it to drive by feeding it visual data and driving motions. And you can teach it how to write by feeding it lots of text. There is no hard-coded behaviour ; all the model does is predict what is the most statistically likely event B that follows given A.
Baby’s second neural network
That’s all well and good, but how does that help you ? Because the model has been trained on a very large corpus of text, the most basic use is as a writing assistant. For example, when writing, suppose you need a description of an epic mountain range. You can begin, and then let the AI continue your line of thought. This isn’t always great, but it’s surprisingly good. If you’re stuck on a paragraph, a line, or a chapter, instead of wracking your brain, you can simply ask for assistance. Notably, this is private, automated, always-on assistance : you don’t need to pester anyone, nor give access to your embarrassing prose to anyone.
Bringing us to the next point : the model is a conversational partner. You can simulate a conversation with it. Often, what people need when they talk to a sketchy pronouns-in-bio in private, and recently even when they hire a therapist, is literally a rubber ducky to bounce their ideas off of. And, once again, this is private, automated, and always-on. You don’t run the risk of getting cancelled because you admitted to an AI that you prefer little girls to Caitlyn Jenner, and more importantly you don’t run the risk of going down the hormone addict pipeline simply because you wanted someone to console you on the bad days.
Because the text prediction is probabilistic, the model is sensitive to tone and style. That means that talking to your demure waifu has different results than talking to your red-headed, red-blooded, red-mecha-piloting, objectively superior tsundere waifu of German descent. Specifically, its memory fits about 2000 tokens, which is a significant amount of text, so it can remember context very well, certainly better than any flesh and blood « human » you will ever date.
Finally, the model can help you out with your role-playing session. You can write in first person (or second person) and build an adventure together with the model. Because the prediction is probabilistic, there is innate (and tuneable) randomness in it, thus you genuinely do not know what you’re going to get, just like a real tabletop role-playing game. No longer do you have to go dumpster diving to get your fix : NovelAI is always there for you.
Oh, and, yes, the model knows about lewd things and all your twisted fetishes. Rest assured, you can fuck whoever you want, however you want, but especially the little children. I don’t claim I won’t judge, because I do : teleiophilia is a mental disorder, so I hope you cure yourself quickly.
Now, because you are expected to share some sensitive things with the AI, security is a big concern. By default, your stories are stored strictly on your device through the localStorage API. You can opt into cloud saves, which are encrypted end-to-end, so Sleepy Joe won’t be able to listen in on your Epstein reenactments. Development is extremely active and new features are being added on a weekly basis, but here’s a basic tutorial for the things I’ve found useful.
Interaction with the AI involves manipulation of its memory context and biasing its generation parameters. The memory includes what you have written, obviously. There is a « memory » field, whose contents are added in the memory context before each generation. You use it for things you really don’t want the AI to forget, like your character’s name, and the major themes or style of the story. Text [inside brackets]
isn’t replicated, but still biases output, so you can use it to dictate a style, like [epic and verbose]
or [Ram is better than Rem]
.
The « lorebook » consists of key-value entries. They work like memory, but they are only inserted if a keyword is located in the text that you’ve written. For example, you can use it to record descriptions of characters, using their names as keys. That way the AI can remember a greater amount of detail for really long stories, without you having to fill out the memory field, which eats away at the maximum available memory. Note that your story truly has to be lengthy to benefit significantly ; 2000 tokens is a lot of text, as each token is 3 or so Latin characters.
Now comes the fun stuff : tuning the generation parameters. You can get significantly different results from the AI through the parameters. First, there are modules, which fine-tune the model with a smaller corpus, like Spice and Wolf novels. This is overfitting and normally bad, but in an artistic context this may be what you want. Then there are a bunch of sliders, with default values based on a bunch of presets that the community has discovered produce the best results. Of course, « best » varies from person to person. Here’s what the useful settings do :
Randomness : increases the probability of unlikely results. This can make output more creative, but when set too high produces garbage.
Output length : how long each generation is. You can max it out, but more is not always better. Specifically, using NovelAI is an interactive process, in which you reject and regenerate unacceptable output, edit its output, or take over completely for a while, writing by yourself. By increasing output length, you increase the amount of text the model generates without your editorial oversight, which can lead to weirdness. If you don’t mind deleting text, this isn’t a problem.
Repetition penalty : Penalises the probability of existing tokens being regenerated. Sometimes the AI can end up using the same words over and over, not exactly a loop, but still annoying. You can tune that by increasing the penalty. This can also result in more interesting phrasing : the model may end up selecting a synonym for a word it really wants to use, but can’t, because it’s penalised.
Top-K sampling : Trims the most unlikely tokens of a generation by choosing the top K amount of samples. This is used to offset the negative effects of high randomness, as you can have extremely creative output, without producing utter garbage text.
Nucleus sampling : Similar to Top-K, but instead it chooses only the top samples by adding up their probabilities. When a certain threshold is met, the remaining tokens are ignored.
End of Sampling Token : Ends the generation immediately upon generation of this token. You can use this to stop generation on a newline, for example, mimicking a chat.
Ban tokens : If there are terms or words you really don’t want generated. Some people have a hate boner for « moist », for example.
Phrase bias : Instead of outright banning tokens, increase or decrease the probability of encountering them. For example, setting a negative bias to sentence ending punctuation like periods makes the model more likely to generate very long sentences.
My personal configuration that I have had the most success with is the following:
- Randomness : 1.2 to 2.0
- Top-K sampling : 5 to 20
- Repetition penalty : 0 and increase as needed.
- Everything else disabled
All in all, is it worth it subscribing to NovelAI ? It’s difficult to convince you if you haven’t tried it. The people who like it really like it, and the people who don’t have difficulty understanding what the point is. I’ve seen people who don’t even watch pornography anymore because banging their waifu of their exact specifications is more stimulating than watching washed-up roasties getting sodomised. Personally, I like it and use it regularly. I recommend giving it a try for a month if it sounds like something you’d be into, and cancelling your subscription if doesn’t click for you.
I can’t really rate the service because there isn’t much to compare it with, but among the text generation services for personal entertainment, NovelAI is the very best, so I guess that’s as high praise as possible in its market.