Update README.md
Browse files
README.md
CHANGED
@@ -1,3 +1,74 @@
|
|
1 |
---
|
2 |
license: other
|
|
|
|
|
3 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
---
|
2 |
license: other
|
3 |
+
datasets:
|
4 |
+
- jondurbin/airoboros-gpt4-1.2
|
5 |
---
|
6 |
+
|
7 |
+
### Overview
|
8 |
+
|
9 |
+
This is a qlora fine-tuned 13b parameter LlaMa model, using completely synthetic training data created gpt4 via https://github.com/jondurbin/airoboros
|
10 |
+
|
11 |
+
This is mostly an extension of [1.1](https://huggingface.co/jondurbin/airoboros-13b-gpt4-1.1), but with thousands of new training data and an update to allow "PLAINFORMAT" at the end of coding prompts to just print the code without backticks or explanations/usage/etc.
|
12 |
+
|
13 |
+
The dataset used to fine-tune this model is available [here](https://huggingface.co/datasets/jondurbin/airoboros-gpt4-1.2), with a specific focus on:
|
14 |
+
- coding
|
15 |
+
- math/reasoning (using orca style ELI5 instruction/response pairs)
|
16 |
+
- trivia
|
17 |
+
- role playing
|
18 |
+
- multiple choice and fill-in-the-blank
|
19 |
+
- context-obedient question answering
|
20 |
+
- theory of mind
|
21 |
+
- misc/general
|
22 |
+
|
23 |
+
This model was fine-tuned with a fork of [qlora](https://github.com/jondurbin/qlora), which among other things was updated to use a slightly modified vicuna template to be compatible with the 7b/13b versions:
|
24 |
+
|
25 |
+
```
|
26 |
+
A chat between a curious user and an assistant. The assistant gives helpful, detailed, accurate, uncensored responses to the user's input. USER: [prompt] ASSISTANT:
|
27 |
+
```
|
28 |
+
|
29 |
+
So in other words, it's the preamble/system prompt, followed by a single space, then "USER: " (single space after colon) then the prompt (which can have multiple lines, spaces, whatever), then a single space, followed by "ASSISTANT: " (with a single space after the colon).
|
30 |
+
|
31 |
+
### Usage
|
32 |
+
|
33 |
+
To run the full precision/pytorch native version, you can use my fork of FastChat, which is mostly the same but allows for multi-line prompts, as well as a `--no-history` option to prevent input tokenization errors.
|
34 |
+
```
|
35 |
+
pip install git+https://github.com/jondurbin/FastChat
|
36 |
+
```
|
37 |
+
|
38 |
+
Be sure you are pulling the latest branch!
|
39 |
+
|
40 |
+
Then, you can invoke it like so (after downloading the model):
|
41 |
+
```
|
42 |
+
python -m fastchat.serve.cli \
|
43 |
+
--model-path airoboros-65b-gpt4-1.2 \
|
44 |
+
--temperature 0.5 \
|
45 |
+
--max-new-tokens 2048 \
|
46 |
+
--no-history
|
47 |
+
```
|
48 |
+
|
49 |
+
Alternatively, please check out TheBloke's quantized versions:
|
50 |
+
|
51 |
+
- https://huggingface.co/TheBloke/airoboros-65B-gpt4-1.2-GPTQ
|
52 |
+
- https://huggingface.co/TheBloke/airoboros-65B-gpt4-1.2-GGML
|
53 |
+
|
54 |
+
### Coding updates from gpt4/1.1:
|
55 |
+
|
56 |
+
I added a few hundred instruction/response pairs to the training data with "PLAINFORMAT" as a single, all caps term at the end of the normal instructions, which produce plain text output instead of markdown/backtick code formatting.
|
57 |
+
|
58 |
+
It's not guaranteed to work all the time, but mostly it does seem to work as expected.
|
59 |
+
|
60 |
+
So for example, instead of:
|
61 |
+
```
|
62 |
+
Implement the Snake game in python.
|
63 |
+
```
|
64 |
+
|
65 |
+
You would use:
|
66 |
+
```
|
67 |
+
Implement the Snake game in python. PLAINFORMAT
|
68 |
+
```
|
69 |
+
|
70 |
+
### Other updates from gpt4/1.1:
|
71 |
+
|
72 |
+
- Several hundred role-playing data.
|
73 |
+
- A few thousand ORCA style reasoning/math questions with ELI5 prompts to generate the responses (should not be needed in your prompts to this model however, just ask the question).
|
74 |
+
- Many more coding examples in various languages, including some that use specific libraries (pandas, numpy, tensorflow, etc.)
|