So, the Novel AI people recently put out a
blog post concerning the status of their project, having just cleared closed alpha.
@Drain Todger, if you or anyone else have any insight on the relevant parts listed below that haven't already been discussed, I'm sure that would be of interest:
Features
AI
NovelAI is powered by the
GPT-Neo model we finetuned, codenamed
Calliope. It has been trained on quality writing and novels, as a result, its generation capabilities are enhanced over the main model. We iterated and tested a lot of different datasets and different training hyperparameters to create this model.
We allow use of the full capacity of the AI’s memory: 2048 tokens. An average token in English is equal to ~4 characters, making for about 8000–9000 characters. For comparison, AI Dungeon’s memory had a hard 2800 character limit which makes around average 700 tokens.
This means the AI will be able to remember events from further ago, as illustrated above.
We also optimized our models for generation speed and quality. Depending on the load and how many tokens you want to generate, it should be quite fast, even with a full 2048 token memory. We’re trying to optimize this even further during the beta.
Memory, author’s note and easily viewable context history
Memory and
Author’s Note helps you direct the AI towards your creative goals by affecting style and context information. The AI model operates on tokens and NAI can only work with a limited amount of them. As a result, the
author’s note,
memory, and your
story’s context all share the same token pool.
As you write text in
memory or
Author’s Note, it will actually show how many tokens you spent so far, so you can optimize your
token usage without having to use third-party tools. You can also view exactly what is sent to the AI for the next generation request.
Encryption and Storage
Your stories are stored in your browser by default, and you may choose to store your story in encrypted form on our servers so you have it available on all your devices.
Stories are locally encrypted with AES-256 before being sent to our servers, which means the stories are never sent to us in plain text and no one can access your stories without your encryption key, which we do not store in any way.
Encryption
Your story data is stored on our servers only in encrypted form. Each story has its own encryption key, which is locally generated and stored in your personal keystore. This keystore is then encrypted with your encryption key before being sent to the server.
Your encryption key and decrypted keystore never leave your device! This means that nobody, not even us, has access to your stories.
Upon logging in, an auth token and an encryption key are locally generated from your username and password. The auth token is sent to the server to retrieve your user data and encrypted keystore, which is then decrypted by your encryption key.
When fetching a remotely stored story, its encryption key is taken from your
locally decrypted keystore to decrypt it.
GPU handling and nodes
NovelAI doesn’t use API providers like Hugging Face or Inferkit, our models run on cloud GPUs we’re handling on our side. We have a dynamic scaler that can scale up from 1 GPU to as many as we need for our users, and it is possible to host many models and bigger models than what we have right now as they come out.
Finetune
Our finetuned model
Calliope is trained on curated literary works and other quality writing. We will keep finetuning this model as new data is provided by our community volunteers, as well as experiment on ways to make the model and the dataset perform better.
Calliope is based on
GPT-Neo 2.7B and finetuned for generating quality storytelling. We made around 10 different training runs with different hyperparameters and datasets to experiment, and we have seen significant improvement in perplexity and loss in our evaluation datasets for storytelling.
Closed Alpha ended
We had a closed alpha this week, and it ended 3 days ago. We collected tons of valuable feedback from the testers, and we are excited to share some of the usage data we’ve seen during the alpha.
We had around 100 alpha users and processed 40005 actions in the 3 day alpha period. This totals up to 2
million generated tokens!
It’s been
a month since we started this project and it was really a wild ride. Thanks to everyone who supported us with their suggestions, feedback, or simply by being here with us and believing in the project.