File size: 2,862 Bytes
f6e290f
 
 
 
 
 
 
 
 
 
 
54cafb2
f6e290f
54cafb2
 
f6e290f
54cafb2
f6e290f
54cafb2
 
 
 
 
f6e290f
0dc1780
 
 
 
 
 
 
 
 
 
 
c578a13
0dc1780
 
 
 
 
 
f6e290f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---
library_name: transformers
license: apache-2.0
base_model: Heralax/philosophy-llm-mistral-pretrain
tags:
- generated_from_trainer
model-index:
- name: philosophy-hardcore-pretraining
  results: []
---

# Philosophy LLM

I would've trained this on Phi so I could've called it Phi-losophy if I had thought of that joke before kicking off the run. Oh well.
It's trained on Mistral instead. That's a Mist opportunity right there.

This is a narrow domain-expert LLM trained on the top 5 books on Gutenberg:

- The Problems of Philosophy (Bertrand Russell)
- Beyond Good and Evil (Nietzsche)
- Thus Spake Zarathustra: A Book for All and None (Nietzsche)
- The Prince (Machiavelli)
- Second Treatise of Government

It's meant to be an interesting novelty, showing off training on a specific domain. It has some quirks. Namely:

1. It seems to have memorized the training data very well. Ask a question that exists in the training data, with temp 0, and it will usually give you back the exact response word-for-word. This means that, on the subjects covered by its data, it will be very knowledgeable.
2. I forgot to include any generalist instruct data, so it's... not stupid, at least not particularly stupid by 7b standards, but it is very much limited to QA.
3. It's much less fluffy and wasteful with its responses than previous Augmentoolkit domain expert models, due to using a new dataset setting. This tends to make it respond with less detail, but it also may remember stuff better and get to the point easier.

Some example chats (blame LM studio for not hiding the stop token):

Asking stuff from the training data:
![image/png](https://cdn-uploads.huggingface.co/production/uploads/64825ebceb4befee377cf8ac/AirHFo61iB1HAP-IXwnZn.png)

Asking a question directly from the training data and one I came up with on the spot.
![image/png](https://cdn-uploads.huggingface.co/production/uploads/64825ebceb4befee377cf8ac/Ccm-EeDyOFcylCefwDS-W.png)

Some things that are kinda funny but also show off the drawback of not using any generalist data:
![image/png](https://cdn-uploads.huggingface.co/production/uploads/64825ebceb4befee377cf8ac/e2sCBLIX8Xg91KSevGt_B.png))

![image/png](https://cdn-uploads.huggingface.co/production/uploads/64825ebceb4befee377cf8ac/P0bhWyENxOaxPvC4fE6jw.png)

## Training procedure

### Training hyperparameters

The following hyperparameters were used during training:
- learning_rate: 2e-05
- train_batch_size: 2
- eval_batch_size: 1
- seed: 42
- distributed_type: multi-GPU
- num_devices: 6
- gradient_accumulation_steps: 6
- total_train_batch_size: 72
- total_eval_batch_size: 6
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
- lr_scheduler_type: cosine
- lr_scheduler_warmup_steps: 136
- num_epochs: 6

### Framework versions

- Transformers 4.45.0.dev0
- Pytorch 2.3.1+cu121
- Datasets 2.21.0
- Tokenizers 0.19.1