File size: 39,973 Bytes
43c646a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 |
---
base_model: PocketDoc/Dans-AdventurousWinds-Mk2-7b
datasets:
- PocketDoc/Floyd-Text-Adventures
- PocketDoc/Choose-Your-Story-Long-Text-Adventures
inference: false
language:
- en
license: apache-2.0
model_creator: PocketDoc Labs
model_name: Dans AdventurousWinds Mk2 7B
model_type: mistral
prompt_template: '[Genres: Science Fiction]
[Tags: humor, old school, sci fi]
[Mode: Adventure]
[Description: A puzzle about committing acts of financial skulduggery and exploiting
ridiculous magical items.]
[Misc: Writing era: 1993]
[Intro]
It is the year 2045. You are a young man in his twenties living in New York City.
Your father was an inventor who died when you were very small; your mother raised
you alone for many years until she remarried. Now you live with your stepfather,
but he doesn''t care much for you and has never given you any money to help support
yourself. You have no job and little hope of getting one because of your lack of
experience. However, you do have some unusual abilities that could be put to good
use if only you knew how...
> {prompt}
'
quantized_by: TheBloke
---
<!-- markdownlint-disable MD041 -->
<!-- header start -->
<!-- 200823 -->
<div style="width: auto; margin-left: auto; margin-right: auto">
<img src="https://i.imgur.com/EBdldam.jpg" alt="TheBlokeAI" style="width: 100%; min-width: 400px; display: block; margin: auto;">
</div>
<div style="display: flex; justify-content: space-between; width: 100%;">
<div style="display: flex; flex-direction: column; align-items: flex-start;">
<p style="margin-top: 0.5em; margin-bottom: 0em;"><a href="https://discord.gg/theblokeai">Chat & support: TheBloke's Discord server</a></p>
</div>
<div style="display: flex; flex-direction: column; align-items: flex-end;">
<p style="margin-top: 0.5em; margin-bottom: 0em;"><a href="https://www.patreon.com/TheBlokeAI">Want to contribute? TheBloke's Patreon page</a></p>
</div>
</div>
<div style="text-align:center; margin-top: 0em; margin-bottom: 0em"><p style="margin-top: 0.25em; margin-bottom: 0em;">TheBloke's LLM work is generously supported by a grant from <a href="https://a16z.com">andreessen horowitz (a16z)</a></p></div>
<hr style="margin-top: 1.0em; margin-bottom: 1.0em;">
<!-- header end -->
# Dans AdventurousWinds Mk2 7B - GPTQ
- Model creator: [PocketDoc Labs](https://huggingface.co/PocketDoc)
- Original model: [Dans AdventurousWinds Mk2 7B](https://huggingface.co/PocketDoc/Dans-AdventurousWinds-Mk2-7b)
<!-- description start -->
## Description
This repo contains GPTQ model files for [PocketDoc Labs's Dans AdventurousWinds Mk2 7B](https://huggingface.co/PocketDoc/Dans-AdventurousWinds-Mk2-7b).
Multiple GPTQ parameter permutations are provided; see Provided Files below for details of the options provided, their parameters, and the software used to create them.
<!-- description end -->
<!-- repositories-available start -->
## Repositories available
* [AWQ model(s) for GPU inference.](https://huggingface.co/TheBloke/Dans-AdventurousWinds-Mk2-7B-AWQ)
* [GPTQ models for GPU inference, with multiple quantisation parameter options.](https://huggingface.co/TheBloke/Dans-AdventurousWinds-Mk2-7B-GPTQ)
* [2, 3, 4, 5, 6 and 8-bit GGUF models for CPU+GPU inference](https://huggingface.co/TheBloke/Dans-AdventurousWinds-Mk2-7B-GGUF)
* [PocketDoc Labs's original unquantised fp16 model in pytorch format, for GPU inference and for further conversions](https://huggingface.co/PocketDoc/Dans-AdventurousWinds-Mk2-7b)
<!-- repositories-available end -->
<!-- prompt-template start -->
## Prompt template: Adventure
```
[Genres: Science Fiction]
[Tags: humor, old school, sci fi]
[Mode: Adventure]
[Description: A puzzle about committing acts of financial skulduggery and exploiting ridiculous magical items.]
[Misc: Writing era: 1993]
[Intro]
It is the year 2045. You are a young man in his twenties living in New York City. Your father was an inventor who died when you were very small; your mother raised you alone for many years until she remarried. Now you live with your stepfather, but he doesn't care much for you and has never given you any money to help support yourself. You have no job and little hope of getting one because of your lack of experience. However, you do have some unusual abilities that could be put to good use if only you knew how...
> {prompt}
```
<!-- prompt-template end -->
<!-- README_GPTQ.md-provided-files start -->
## Provided files, and GPTQ parameters
Multiple quantisation parameters are provided, to allow you to choose the best one for your hardware and requirements.
Each separate quant is in a different branch. See below for instructions on fetching from different branches.
Most GPTQ files are made with AutoGPTQ. Mistral models are currently made with Transformers.
<details>
<summary>Explanation of GPTQ parameters</summary>
- Bits: The bit size of the quantised model.
- GS: GPTQ group size. Higher numbers use less VRAM, but have lower quantisation accuracy. "None" is the lowest possible value.
- Act Order: True or False. Also known as `desc_act`. True results in better quantisation accuracy. Some GPTQ clients have had issues with models that use Act Order plus Group Size, but this is generally resolved now.
- Damp %: A GPTQ parameter that affects how samples are processed for quantisation. 0.01 is default, but 0.1 results in slightly better accuracy.
- GPTQ dataset: The calibration dataset used during quantisation. Using a dataset more appropriate to the model's training can improve quantisation accuracy. Note that the GPTQ calibration dataset is not the same as the dataset used to train the model - please refer to the original model repo for details of the training dataset(s).
- Sequence Length: The length of the dataset sequences used for quantisation. Ideally this is the same as the model sequence length. For some very long sequence models (16+K), a lower sequence length may have to be used. Note that a lower sequence length does not limit the sequence length of the quantised model. It only impacts the quantisation accuracy on longer inference sequences.
- ExLlama Compatibility: Whether this file can be loaded with ExLlama, which currently only supports Llama models in 4-bit.
</details>
| Branch | Bits | GS | Act Order | Damp % | GPTQ Dataset | Seq Len | Size | ExLlama | Desc |
| ------ | ---- | -- | --------- | ------ | ------------ | ------- | ---- | ------- | ---- |
| [main](https://huggingface.co/TheBloke/Dans-AdventurousWinds-Mk2-7B-GPTQ/tree/main) | 4 | 128 | Yes | 0.1 | [wikitext](https://huggingface.co/datasets/wikitext/viewer/wikitext-2-v1/test) | 4096 | 4.16 GB | Yes | 4-bit, with Act Order and group size 128g. Uses even less VRAM than 64g, but with slightly lower accuracy. |
| [gptq-4bit-32g-actorder_True](https://huggingface.co/TheBloke/Dans-AdventurousWinds-Mk2-7B-GPTQ/tree/gptq-4bit-32g-actorder_True) | 4 | 32 | Yes | 0.1 | [wikitext](https://huggingface.co/datasets/wikitext/viewer/wikitext-2-v1/test) | 4096 | 4.57 GB | Yes | 4-bit, with Act Order and group size 32g. Gives highest possible inference quality, with maximum VRAM usage. |
| [gptq-8bit--1g-actorder_True](https://huggingface.co/TheBloke/Dans-AdventurousWinds-Mk2-7B-GPTQ/tree/gptq-8bit--1g-actorder_True) | 8 | None | Yes | 0.1 | [wikitext](https://huggingface.co/datasets/wikitext/viewer/wikitext-2-v1/test) | 4096 | 7.52 GB | No | 8-bit, with Act Order. No group size, to lower VRAM requirements. |
| [gptq-8bit-128g-actorder_True](https://huggingface.co/TheBloke/Dans-AdventurousWinds-Mk2-7B-GPTQ/tree/gptq-8bit-128g-actorder_True) | 8 | 128 | Yes | 0.1 | [wikitext](https://huggingface.co/datasets/wikitext/viewer/wikitext-2-v1/test) | 4096 | 7.68 GB | No | 8-bit, with group size 128g for higher inference quality and with Act Order for even higher accuracy. |
| [gptq-8bit-32g-actorder_True](https://huggingface.co/TheBloke/Dans-AdventurousWinds-Mk2-7B-GPTQ/tree/gptq-8bit-32g-actorder_True) | 8 | 32 | Yes | 0.1 | [wikitext](https://huggingface.co/datasets/wikitext/viewer/wikitext-2-v1/test) | 4096 | 8.17 GB | No | 8-bit, with group size 32g and Act Order for maximum inference quality. |
| [gptq-4bit-64g-actorder_True](https://huggingface.co/TheBloke/Dans-AdventurousWinds-Mk2-7B-GPTQ/tree/gptq-4bit-64g-actorder_True) | 4 | 64 | Yes | 0.1 | [wikitext](https://huggingface.co/datasets/wikitext/viewer/wikitext-2-v1/test) | 4096 | 4.29 GB | Yes | 4-bit, with Act Order and group size 64g. Uses less VRAM than 32g, but with slightly lower accuracy. |
<!-- README_GPTQ.md-provided-files end -->
<!-- README_GPTQ.md-download-from-branches start -->
## How to download, including from branches
### In text-generation-webui
To download from the `main` branch, enter `TheBloke/Dans-AdventurousWinds-Mk2-7B-GPTQ` in the "Download model" box.
To download from another branch, add `:branchname` to the end of the download name, eg `TheBloke/Dans-AdventurousWinds-Mk2-7B-GPTQ:gptq-4bit-32g-actorder_True`
### From the command line
I recommend using the `huggingface-hub` Python library:
```shell
pip3 install huggingface-hub
```
To download the `main` branch to a folder called `Dans-AdventurousWinds-Mk2-7B-GPTQ`:
```shell
mkdir Dans-AdventurousWinds-Mk2-7B-GPTQ
huggingface-cli download TheBloke/Dans-AdventurousWinds-Mk2-7B-GPTQ --local-dir Dans-AdventurousWinds-Mk2-7B-GPTQ --local-dir-use-symlinks False
```
To download from a different branch, add the `--revision` parameter:
```shell
mkdir Dans-AdventurousWinds-Mk2-7B-GPTQ
huggingface-cli download TheBloke/Dans-AdventurousWinds-Mk2-7B-GPTQ --revision gptq-4bit-32g-actorder_True --local-dir Dans-AdventurousWinds-Mk2-7B-GPTQ --local-dir-use-symlinks False
```
<details>
<summary>More advanced huggingface-cli download usage</summary>
If you remove the `--local-dir-use-symlinks False` parameter, the files will instead be stored in the central Huggingface cache directory (default location on Linux is: `~/.cache/huggingface`), and symlinks will be added to the specified `--local-dir`, pointing to their real location in the cache. This allows for interrupted downloads to be resumed, and allows you to quickly clone the repo to multiple places on disk without triggering a download again. The downside, and the reason why I don't list that as the default option, is that the files are then hidden away in a cache folder and it's harder to know where your disk space is being used, and to clear it up if/when you want to remove a download model.
The cache location can be changed with the `HF_HOME` environment variable, and/or the `--cache-dir` parameter to `huggingface-cli`.
For more documentation on downloading with `huggingface-cli`, please see: [HF -> Hub Python Library -> Download files -> Download from the CLI](https://huggingface.co/docs/huggingface_hub/guides/download#download-from-the-cli).
To accelerate downloads on fast connections (1Gbit/s or higher), install `hf_transfer`:
```shell
pip3 install hf_transfer
```
And set environment variable `HF_HUB_ENABLE_HF_TRANSFER` to `1`:
```shell
mkdir Dans-AdventurousWinds-Mk2-7B-GPTQ
HF_HUB_ENABLE_HF_TRANSFER=1 huggingface-cli download TheBloke/Dans-AdventurousWinds-Mk2-7B-GPTQ --local-dir Dans-AdventurousWinds-Mk2-7B-GPTQ --local-dir-use-symlinks False
```
Windows Command Line users: You can set the environment variable by running `set HF_HUB_ENABLE_HF_TRANSFER=1` before the download command.
</details>
### With `git` (**not** recommended)
To clone a specific branch with `git`, use a command like this:
```shell
git clone --single-branch --branch gptq-4bit-32g-actorder_True https://huggingface.co/TheBloke/Dans-AdventurousWinds-Mk2-7B-GPTQ
```
Note that using Git with HF repos is strongly discouraged. It will be much slower than using `huggingface-hub`, and will use twice as much disk space as it has to store the model files twice (it stores every byte both in the intended target folder, and again in the `.git` folder as a blob.)
<!-- README_GPTQ.md-download-from-branches end -->
<!-- README_GPTQ.md-text-generation-webui start -->
## How to easily download and use this model in [text-generation-webui](https://github.com/oobabooga/text-generation-webui)
Please make sure you're using the latest version of [text-generation-webui](https://github.com/oobabooga/text-generation-webui).
It is strongly recommended to use the text-generation-webui one-click-installers unless you're sure you know how to make a manual install.
1. Click the **Model tab**.
2. Under **Download custom model or LoRA**, enter `TheBloke/Dans-AdventurousWinds-Mk2-7B-GPTQ`.
- To download from a specific branch, enter for example `TheBloke/Dans-AdventurousWinds-Mk2-7B-GPTQ:gptq-4bit-32g-actorder_True`
- see Provided Files above for the list of branches for each option.
3. Click **Download**.
4. The model will start downloading. Once it's finished it will say "Done".
5. In the top left, click the refresh icon next to **Model**.
6. In the **Model** dropdown, choose the model you just downloaded: `Dans-AdventurousWinds-Mk2-7B-GPTQ`
7. The model will automatically load, and is now ready for use!
8. If you want any custom settings, set them and then click **Save settings for this model** followed by **Reload the Model** in the top right.
- Note that you do not need to and should not set manual GPTQ parameters any more. These are set automatically from the file `quantize_config.json`.
9. Once you're ready, click the **Text Generation** tab and enter a prompt to get started!
<!-- README_GPTQ.md-text-generation-webui end -->
<!-- README_GPTQ.md-use-from-tgi start -->
## Serving this model from Text Generation Inference (TGI)
It's recommended to use TGI version 1.1.0 or later. The official Docker container is: `ghcr.io/huggingface/text-generation-inference:1.1.0`
Example Docker parameters:
```shell
--model-id TheBloke/Dans-AdventurousWinds-Mk2-7B-GPTQ --port 3000 --quantize gptq --max-input-length 3696 --max-total-tokens 4096 --max-batch-prefill-tokens 4096
```
Example Python code for interfacing with TGI (requires huggingface-hub 0.17.0 or later):
```shell
pip3 install huggingface-hub
```
```python
from huggingface_hub import InferenceClient
endpoint_url = "https://your-endpoint-url-here"
prompt = "Tell me about AI"
prompt_template=f'''[Genres: Science Fiction]
[Tags: humor, old school, sci fi]
[Mode: Adventure]
[Description: A puzzle about committing acts of financial skulduggery and exploiting ridiculous magical items.]
[Misc: Writing era: 1993]
[Intro]
It is the year 2045. You are a young man in his twenties living in New York City. Your father was an inventor who died when you were very small; your mother raised you alone for many years until she remarried. Now you live with your stepfather, but he doesn't care much for you and has never given you any money to help support yourself. You have no job and little hope of getting one because of your lack of experience. However, you do have some unusual abilities that could be put to good use if only you knew how...
> {prompt}
'''
client = InferenceClient(endpoint_url)
response = client.text_generation(prompt,
max_new_tokens=128,
do_sample=True,
temperature=0.7,
top_p=0.95,
top_k=40,
repetition_penalty=1.1)
print(f"Model output: {response}")
```
<!-- README_GPTQ.md-use-from-tgi end -->
<!-- README_GPTQ.md-use-from-python start -->
## How to use this GPTQ model from Python code
### Install the necessary packages
Requires: Transformers 4.33.0 or later, Optimum 1.12.0 or later, and AutoGPTQ 0.4.2 or later.
```shell
pip3 install transformers optimum
pip3 install auto-gptq --extra-index-url https://huggingface.github.io/autogptq-index/whl/cu118/ # Use cu117 if on CUDA 11.7
```
If you have problems installing AutoGPTQ using the pre-built wheels, install it from source instead:
```shell
pip3 uninstall -y auto-gptq
git clone https://github.com/PanQiWei/AutoGPTQ
cd AutoGPTQ
git checkout v0.4.2
pip3 install .
```
### You can then use the following code
```python
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
model_name_or_path = "TheBloke/Dans-AdventurousWinds-Mk2-7B-GPTQ"
# To use a different branch, change revision
# For example: revision="gptq-4bit-32g-actorder_True"
model = AutoModelForCausalLM.from_pretrained(model_name_or_path,
device_map="auto",
trust_remote_code=False,
revision="main")
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, use_fast=True)
prompt = "Tell me about AI"
prompt_template=f'''[Genres: Science Fiction]
[Tags: humor, old school, sci fi]
[Mode: Adventure]
[Description: A puzzle about committing acts of financial skulduggery and exploiting ridiculous magical items.]
[Misc: Writing era: 1993]
[Intro]
It is the year 2045. You are a young man in his twenties living in New York City. Your father was an inventor who died when you were very small; your mother raised you alone for many years until she remarried. Now you live with your stepfather, but he doesn't care much for you and has never given you any money to help support yourself. You have no job and little hope of getting one because of your lack of experience. However, you do have some unusual abilities that could be put to good use if only you knew how...
> {prompt}
'''
print("\n\n*** Generate:")
input_ids = tokenizer(prompt_template, return_tensors='pt').input_ids.cuda()
output = model.generate(inputs=input_ids, temperature=0.7, do_sample=True, top_p=0.95, top_k=40, max_new_tokens=512)
print(tokenizer.decode(output[0]))
# Inference can also be done using transformers' pipeline
print("*** Pipeline:")
pipe = pipeline(
"text-generation",
model=model,
tokenizer=tokenizer,
max_new_tokens=512,
do_sample=True,
temperature=0.7,
top_p=0.95,
top_k=40,
repetition_penalty=1.1
)
print(pipe(prompt_template)[0]['generated_text'])
```
<!-- README_GPTQ.md-use-from-python end -->
<!-- README_GPTQ.md-compatibility start -->
## Compatibility
The files provided are tested to work with AutoGPTQ, both via Transformers and using AutoGPTQ directly. They should also work with [Occ4m's GPTQ-for-LLaMa fork](https://github.com/0cc4m/KoboldAI).
[ExLlama](https://github.com/turboderp/exllama) is compatible with Llama and Mistral models in 4-bit. Please see the Provided Files table above for per-file compatibility.
[Huggingface Text Generation Inference (TGI)](https://github.com/huggingface/text-generation-inference) is compatible with all GPTQ models.
<!-- README_GPTQ.md-compatibility end -->
<!-- footer start -->
<!-- 200823 -->
## Discord
For further support, and discussions on these models and AI in general, join us at:
[TheBloke AI's Discord server](https://discord.gg/theblokeai)
## Thanks, and how to contribute
Thanks to the [chirper.ai](https://chirper.ai) team!
Thanks to Clay from [gpus.llm-utils.org](llm-utils)!
I've had a lot of people ask if they can contribute. I enjoy providing models and helping people, and would love to be able to spend even more time doing it, as well as expanding into new projects like fine tuning/training.
If you're able and willing to contribute it will be most gratefully received and will help me to keep providing more models, and to start work on new AI projects.
Donaters will get priority support on any and all AI/LLM/model questions and requests, access to a private Discord room, plus other benefits.
* Patreon: https://patreon.com/TheBlokeAI
* Ko-Fi: https://ko-fi.com/TheBlokeAI
**Special thanks to**: Aemon Algiz.
**Patreon special mentions**: Pierre Kircher, Stanislav Ovsiannikov, Michael Levine, Eugene Pentland, Andrey, 준교 김, Randy H, Fred von Graf, Artur Olbinski, Caitlyn Gatomon, terasurfer, Jeff Scroggin, James Bentley, Vadim, Gabriel Puliatti, Harry Royden McLaughlin, Sean Connelly, Dan Guido, Edmond Seymore, Alicia Loh, subjectnull, AzureBlack, Manuel Alberto Morcote, Thomas Belote, Lone Striker, Chris Smitley, Vitor Caleffi, Johann-Peter Hartmann, Clay Pascal, biorpg, Brandon Frisco, sidney chen, transmissions 11, Pedro Madruga, jinyuan sun, Ajan Kanaga, Emad Mostaque, Trenton Dambrowitz, Jonathan Leane, Iucharbius, usrbinkat, vamX, George Stoitzev, Luke Pendergrass, theTransient, Olakabola, Swaroop Kallakuri, Cap'n Zoog, Brandon Phillips, Michael Dempsey, Nikolai Manek, danny, Matthew Berman, Gabriel Tamborski, alfie_i, Raymond Fosdick, Tom X Nguyen, Raven Klaugh, LangChain4j, Magnesian, Illia Dulskyi, David Ziegler, Mano Prime, Luis Javier Navarrete Lozano, Erik Bjäreholt, 阿明, Nathan Dryer, Alex, Rainer Wilmers, zynix, TL, Joseph William Delisle, John Villwock, Nathan LeClaire, Willem Michiel, Joguhyik, GodLy, OG, Alps Aficionado, Jeffrey Morgan, ReadyPlayerEmma, Tiffany J. Kim, Sebastain Graf, Spencer Kim, Michael Davis, webtim, Talal Aujan, knownsqashed, John Detwiler, Imad Khwaja, Deo Leter, Jerry Meng, Elijah Stavena, Rooh Singh, Pieter, SuperWojo, Alexandros Triantafyllidis, Stephen Murray, Ai Maven, ya boyyy, Enrico Ros, Ken Nordquist, Deep Realms, Nicholas, Spiking Neurons AB, Elle, Will Dee, Jack West, RoA, Luke @flexchar, Viktor Bowallius, Derek Yates, Subspace Studios, jjj, Toran Billups, Asp the Wyvern, Fen Risland, Ilya, NimbleBox.ai, Chadd, Nitin Borwankar, Emre, Mandus, Leonard Tan, Kalila, K, Trailburnt, S_X, Cory Kujawski
Thank you to all my generous patrons and donaters!
And thank you again to a16z for their generous grant.
<!-- footer end -->
# Original model card: PocketDoc Labs's Dans AdventurousWinds Mk2 7B
**16k training sequences**
# What is the model for?
This model is proficient in crafting text-based adventure games. It can both concise replies and more expansive, novel-like descriptions. The ability to alternate between these two response styles can be triggered by a distinct system message.
# What's in the sausage?
This model was trained on [Mistral-7b](https://huggingface.co/mistralai/Mistral-7B-v0.1) using a custom version of the floyd and cys datasets from the skein text adventure dataset. The dataset has been improved over what was used in my previous model Dans-AdventurousWinds, in addition it had been trained on 16k sequence lengths.
## Prompt format and examples:
#### Format description:
Traditional adventure format with a description of the genre, tags, and other misc information at the top followed by an optional introductory message. User messages are prefixed with two new lines and "> ", model messages are one new line after the last user message or the description message if an introductory message is desired.
#### Examples of shorter responses:
> [Genres: Science Fiction]
> [Tags: humor, old school, sci fi]
> [Mode: Adventure]
> [Description: A puzzle about committing acts of financial skulduggery and exploiting ridiculous magical items.]
> [Misc: Writing era: 1993]
> [Intro]
> You are an interstellar trader.
>
> On your way to the galactic capital of Coruscant to sell a large quantity of fettucini, you make a detour through a planetary system with a reputation for being dangerous and unstable. The reason is simple -- there is a very powerful magical item known as "The Sword Of Damocles" up for sale. You have no idea what it does, but you've heard that the previous owners all ended up dead or broke. In other words, these people were so desperate to get rid of the sword that they would probably be willing to take almost any price. It sounds like a great deal!
>
> Of course, you don't have enough money to buy the sword outright, which means that you will need to find some way to finance the purchase. There is only one possible source of funds in this part of space -- the loan sharks who operate out of a nearby planet called Riggerton. But these loans come at a high interest rate; if you can't pay them back quickly, you may end up losing everything.
>
> You also know that there are several potential buyers vying for ownership of the sword, including some of the most ruthless criminals in the galaxy. These people might be willing to kill each other over this object, making it more valuable than ever before! However, they are notoriously paranoid and suspicious, so you must proceed with extreme caution when dealing with them...
>
> Finally, there is always the chance that someone else will beat you to the punch by buying the sword first. If that happens then you won't be able to afford it anymore anyway, so maybe it doesn't matter too much?
>
> In any case, good luck! And remember: never borrow money from anyone unless you absolutely trust him completely. Otherwise he could turn around and sell YOU into slavery instead!
>
> Ready? Then let's begin...
>
> \> You snap out of your daydream and remember you're still in port.
> You should probably get ready to go somewhere now...
>
> There are three main places where traders usually hang out: the docking bay (where ships land), the casino (a place where people gamble) and the black market (an illegal bazaar). Each has its own advantages and disadvantages depending on what kind of goods you want to trade. For example, the docking bay is the safest option because it's run by the government, but it charges higher taxes; while the black market is riskier but cheaper.
>
> So where do you think you ought to go?
>
> \> You get ready for launch
> Okay, I guess we better start looking for something interesting then...
>
> Before we leave though, I just wanted to mention that there are two ways to travel between planets: hyperspace jumps and wormholes. Both methods require special technology that only exists inside starships, but they work differently.
>
> A hyperspace jump involves using a hyperdrive engine to accelerate faster than light speed until you reach another galaxy entirely. Once there, you slow down again and return home. This method takes longer than a wormhole, but it allows you to visit distant worlds without having to worry about getting lost along the way.
>
> Wormholes however, allow you to travel instantly across vast distances without needing to slow down at either end. Unfortunately, this type of transportation isn't available everywhere, plus it requires extremely powerful computers to map out their locations accurately. Still, if you happen to find yourself near one of these things then I strongly recommend taking advantage of it since it saves time.
>
> Anyway, let me know whenever you're ready to go. We'll see how far away our next stop lies...
>
> \> You check the database on wormhole technology
> Okay, here goes nothing...
>
> According to my research, there are currently three types of wormholes known to science: stable, unstable and artificial. Stable ones occur naturally throughout the universe and tend to stay open permanently. Unstable ones close after passing through once, whereas artificially created ones remain open indefinitely.
>
> As far as I know, none of these types are suitable for commercial use yet. However, scientists believe that further development will eventually lead to practical applications in areas such as teleportation and faster-than-light travel. Until then though, I doubt whether anything useful can be achieved simply by reading books about the subject.
>
> Sorry if I disappointed you there, but I hope this information proves useful nonetheless. Good luck with whatever comes next!
>
> P.S.: Before leaving, please ensure that all loose objects have been put away properly. Otherwise they could fall off the ship during flight and cause damage later on. Thanks!
#### Examples of longer novel like responses:
> [Genres: grimdark fantasy] [Tags: Fantasy, Grimdark, Serious, Villain Protagonist, War] [Description: This story is definitely more "story" than "game", however there are two distinct paths that can be followed, each with their own pitfalls and additional choices. This story can get long, and assuming you're surviving, years do pass in it and you and your environment will change.] [First message intro] [Mode: Interactive Storyteller]
> You have been a mercenary for many years now. You are an accomplished warrior and battlefield commander. Your company consists of about 50 men and women. Most are veteran soldiers from different countries, some even from as far away as the Americas. They are all loyal to you. The only thing keeping them from being devoted followers would be your atheism.
>
> The war has raged on for many years now. The enemy, the Kingdom of Erenland, is a nation of fanatics who worship a single god called Galdrin. Their religion spread across the land like wildfire after their king ascended to the throne. He declared himself a prophet and made his people believe they were invincible. They started invading neighboring nations to bring them into the fold. The king of your homeland, King Dagor, was one of the first to resist this. When he refused to allow missionaries into his country, the Erenlanders invaded anyway. It took several years before King Dagor managed to gather enough forces to repel the invasion. The war lasted for decades and finally ended when Dagor's grandson ascended to the throne. At that point, both sides realized how much blood had already been spilled and agreed to a truce.
>
> Unfortunately, the peace didn't last very long. A few years ago, King Dagor II died without any children. His cousin became the new monarch but she was weak and incompetent. She allowed her advisors to make most of the important decisions while she spent her time partying with nobles from other nations. One of these advisors convinced the queen to send troops to help quell rebellions that were taking place in the Erenlander cities. These rebellions were caused by dissatisfaction with the way the crown was handling things. They wanted to overthrow their ruler and install a new one that would listen to them.
>
> When word reached the court that the rebels had succeeded in killing the king, everyone panicked. The Queen ordered her army to march north immediately. Unfortunately, she hadn't thought through what would happen if the enemy army attacked during this period of chaos. The result was disastrous. The Erenlanders caught our army completely off guard and annihilated us almost entirely. Only a handful survived to tell the tale. Among those survivors was you.
>
> You have come back home to bury your fallen comrades. You know you won't find rest until you avenge their deaths. But where do you begin? How do you stop an entire nation from going to war against yours? And how do you convince others to join you when they see you as nothing more than a madman bent on destruction?
>
> These questions haunt you every night. You lie awake staring at the ceiling wondering how you could possibly make things right again. Then you remember something...
>
> There was once a great hero named Galadar who lived hundreds of years ago. He fought against tyranny and oppression throughout his lifetime. People said that he possessed magical powers which gave him strength beyond anything mortal. Some even claimed that he walked among the stars. After retiring from active duty, Galadar vanished mysteriously. No one knows where he went or why. Rumors say that he returned to fight alongside the gods against evil forces threatening to destroy existence itself. Whatever happened to him, no one knows for sure. All we do know is that his legacy lives on today through those who follow his example. Perhaps you too can become such a person. Perhaps you can use your talents to save the world from darkness just like he did so long ago. If you feel ready, then take up arms and prepare yourself for battle!
>
> Your journey begins here...
>
> You wake up feeling refreshed after a good night's sleep. You look around your bedroom and notice that everything seems normal. There isn't anyone else around except for your wife, who lies sleeping next to you. You turn towards her and smile softly. She stirs slightly and mumbles something incoherent. You stroke her hair gently and whisper sweet nothings into her ear. Soon she falls back asleep and you decide to leave her alone.
>
> As soon as you step outside your house, you hear voices coming from behind you. Turning quickly, you spot three young boys running down the street toward you. They stop suddenly and stare at you wide eyed. "Are you the man who killed the giants?" one asks nervously.
>
> You nod slowly. "Yes," you reply.
>
> "Then I guess we should thank you." Another boy adds.
>
> "Yeah," says the third one. "We heard that giants ate babies."
>
> You shake your head sadly. "No," you explain. "Giants don't eat babies. That's just a myth."
>
> "Oh really?" the first boy says skeptically. "Well then why did my parents move away from their village?"
>
> "I dunno," you shrug. "Maybe because they believed the same thing you did."
>
> The three kids look surprised. Then they laugh heartily together. "Haha!" they giggle. "That's funny!"
>
> You grin back at them. "Thanks."
>
> They run off laughing hysterically. You chuckle quietly to yourself. Kids are always full of surprises.
>
> After spending some quality time with your family, you return home early in the afternoon. You grab a cup of tea and sit down at the kitchen table to read the newspaper. As usual, most of the stories involve wars somewhere else in the world. There aren't any articles related to your own conflict yet though. Maybe tomorrow...
>
> Suddenly, you hear loud knocking on the front door. You stand up abruptly and rush over to answer it. Standing before you is an old man wearing a long beard and holding a staff in his hand. He looks familiar somehow.
>
> "Hello sir," he greets politely. "My name is Galanis. I am here representing the Academy of Magic Studies."
>
> "Ah yes," you respond. "I remember seeing advertisements for your school everywhere recently. What can I do for you?"
>
> "Well sir," he begins, "we have received reports that you possess certain abilities which fall under our area of expertise. Specifically, we understand that you are capable of controlling fire using mental telepathy. Is this true?"
>
> You nod slowly. "It certainly is."
>
> "Excellent," he smiles happily. "In light of these circumstances, I would like to offer you a position teaching at our academy. We require instructors skilled in various aspects of magic including conjuration, enchantment, necromancy, divination, alchemy, and astrology."
>
> You shake your head firmly. "I appreciate the offer Mr. Galanis but I must decline. My duties lie elsewhere right now."
>
> His face falls momentarily. "Very well then," he sighs dejectedly. "Perhaps another opportunity will arise later on."
>
> With that said, he turns around and leaves without saying another word. You watch him depart silently wondering whether you should have accepted his proposal. On the one hand, it might provide some distraction from the war. On the other hand, you doubt you could ever fit into such a structured environment. Besides, you wouldn't want to spend years away from home either. In the end, you decide to stay put and continue doing what you've always done best - fighting for justice.
>
> \> You go to the great library
> You enter the Great Library of Alexandria hoping to gain knowledge about the Erenlander religion. Unfortunately, you find out that nobody there knows anything about it. The closest thing resembling a book on the subject is a small pamphlet titled "A Brief Overview Of Religion". According to its author, the writer claims that religions differ mainly due to differences between societies. Each society creates its own beliefs based upon its unique experiences. Since no two cultures are alike, there cannot be any universal truth regarding divine matters. Therefore, there is no reason to expect one religion to be superior over another.
>
> You think deeply about this concept. Does it apply to the Erenlander faith? Are their beliefs simply an expression of local customs rather than absolute truths? Or does their doctrine truly reflect reality? These thoughts weigh heavily upon your mind. Suddenly, you hear someone calling your name. Turning around, you spot a librarian approaching you.
>
> "Mr. Thane," he says cheerfully. "Can I help you find something specific?"
>
> "Actually yes," you reply. "Do you happen to know anything about the Erenlander religion?"
>
> He scratches his chin thoughtfully. "Not really," he admits. "But let me show you something anyway." He leads you over to a large table covered with books. Picking one up randomly, he starts reading aloud from it.
>
> "According to ancient legends, Galdrin created the universe out of nothingness. Before that, nothing existed except pure chaos. Out of this void came forth life and light. With these gifts, Galdrin blessed humanity with wisdom and understanding. Through hard work and determination, humankind learned how to cultivate crops, build shelters, manufacture weapons, develop technology, establish governments, maintain order, and defend itself against enemies. By following the teachings of Galdrin, humans were able to rise above mere animals and achieve greatness beyond compare. Those who rejected his teachings fell victim to ignorance and decay. Eventually, their civilization collapsed leaving only ruins behind. Today, descendants of those original settlers still live amongst us. Although their culture has changed considerably since antiquity, they retain many traditions common among modern-day peoples. Their language remains virtually unchanged despite centuries of contact with foreign languages. Their art forms range widely ranging from poetry to sculpture to music. Their religion continues to flourish despite attempts to suppress it throughout history. And most importantly, their belief system continues to guide them along the path of righteousness."
>
> You listen intently as he speaks. His words seem familiar somehow. Has he told you this story before? Or perhaps it was passed down through generations within your family? Either way, you find yourself drawn into the narrative. Before long, you forget everything else happening around you. Everything fades away except for the sound of his voice echoing throughout your ears.
>
> "So why did Galdrin create the world?" the librarian finishes. "Because he loved us," he answers softly. "And because he knew we needed somewhere safe to call home."
>
> You nod slowly. "Thank you," you murmur. "That was quite interesting."
>
> "Glad to hear it," he grins broadly. "If you ever need anything else, please feel free to ask."
>
> You bid farewell to the librarian and walk back home. During the journey, you ponder over what you learned earlier. Did Galdrin actually exist? Was he real or imaginary? Could he possibly be connected to the Erenlander faith somehow? So many questions remain unanswered. Still, you sense that something significant occurred tonight. Something special transpired inside the library walls. Now, you must figure out exactly what happened.
# Some quick and dirty training details:
- [<img src="https://raw.githubusercontent.com/OpenAccess-AI-Collective/axolotl/main/image/axolotl-badge-web.png" alt="Built with Axolotl" width="150" height="24"/>](https://github.com/OpenAccess-AI-Collective/axolotl)
- Sequence length: 16384
- \# of epochs: 3
- Training time: 5 hours
- Hardware: 4x RTX 4090
- Training type: QLoRA
- PEFT R/A: 32/32
# Credits:
### Skein Text Adventure Data:
Thank you to the [Kobold AI](https://huggingface.co/KoboldAI) community for curating the Skein dataset, which is pivotal to this model's capabilities.
|