AlekseyKorshuk commited on
Commit
5461006
1 Parent(s): 72e13b8

huggingartists

Browse files
README.md ADDED
@@ -0,0 +1,97 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language: en
3
+ datasets:
4
+ - huggingartists/lil-nas-x
5
+ tags:
6
+ - huggingartists
7
+ - lyrics
8
+ - lm-head
9
+ - causal-lm
10
+ widget:
11
+ - text: "I am"
12
+ ---
13
+
14
+ <div class="inline-flex flex-col" style="line-height: 1.5;">
15
+ <div class="flex">
16
+ <div
17
+ style="display:DISPLAY_1; margin-left: auto; margin-right: auto; width: 92px; height:92px; border-radius: 50%; background-size: cover; background-image: url(&#39;https://images.genius.com/f50e1ac333da1f744f98eec38e44dd29.640x640x1.jpg&#39;)">
18
+ </div>
19
+ </div>
20
+ <div style="text-align: center; margin-top: 3px; font-size: 16px; font-weight: 800">🤖 HuggingArtists Model 🤖</div>
21
+ <div style="text-align: center; font-size: 16px; font-weight: 800">Lil Nas X</div>
22
+ <a href="https://genius.com/artists/lil-nas-x">
23
+ <div style="text-align: center; font-size: 14px;">@lil-nas-x</div>
24
+ </a>
25
+ </div>
26
+
27
+ I was made with [huggingartists](https://github.com/AlekseyKorshuk/huggingartists).
28
+
29
+ Create your own bot based on your favorite artist with [the demo](https://colab.research.google.com/github/AlekseyKorshuk/huggingartists/blob/master/huggingartists-demo.ipynb)!
30
+
31
+ ## How does it work?
32
+
33
+ To understand how the model was developed, check the [W&B report](https://wandb.ai/huggingartists/huggingartists/reportlist).
34
+
35
+ ## Training data
36
+
37
+ The model was trained on lyrics from Lil Nas X.
38
+
39
+ Dataset is available [here](https://huggingface.co/datasets/huggingartists/lil-nas-x).
40
+ And can be used with:
41
+
42
+ ```python
43
+ from datasets import load_dataset
44
+
45
+ dataset = load_dataset("huggingartists/lil-nas-x")
46
+ ```
47
+
48
+ [Explore the data](https://wandb.ai/huggingartists/huggingartists/runs/i3cxi0c3/artifacts), which is tracked with [W&B artifacts](https://docs.wandb.com/artifacts) at every step of the pipeline.
49
+
50
+ ## Training procedure
51
+
52
+ The model is based on a pre-trained [GPT-2](https://huggingface.co/gpt2) which is fine-tuned on Lil Nas X's lyrics.
53
+
54
+ Hyperparameters and metrics are recorded in the [W&B training run](https://wandb.ai/huggingartists/huggingartists/runs/1qrt007n) for full transparency and reproducibility.
55
+
56
+ At the end of training, [the final model](https://wandb.ai/huggingartists/huggingartists/runs/1qrt007n/artifacts) is logged and versioned.
57
+
58
+ ## How to use
59
+
60
+ You can use this model directly with a pipeline for text generation:
61
+
62
+ ```python
63
+ from transformers import pipeline
64
+ generator = pipeline('text-generation',
65
+ model='huggingartists/lil-nas-x')
66
+ generator("I am", num_return_sequences=5)
67
+ ```
68
+
69
+ Or with Transformers library:
70
+
71
+ ```python
72
+ from transformers import AutoTokenizer, AutoModelWithLMHead
73
+
74
+ tokenizer = AutoTokenizer.from_pretrained("huggingartists/lil-nas-x")
75
+
76
+ model = AutoModelWithLMHead.from_pretrained("huggingartists/lil-nas-x")
77
+ ```
78
+
79
+ ## Limitations and bias
80
+
81
+ The model suffers from [the same limitations and bias as GPT-2](https://huggingface.co/gpt2#limitations-and-bias).
82
+
83
+ In addition, the data present in the user's tweets further affects the text generated by the model.
84
+
85
+ ## About
86
+
87
+ *Built by Aleksey Korshuk*
88
+
89
+ [![Follow](https://img.shields.io/github/followers/AlekseyKorshuk?style=social)](https://github.com/AlekseyKorshuk)
90
+
91
+ [![Follow](https://img.shields.io/twitter/follow/alekseykorshuk?style=social)](https://twitter.com/intent/follow?screen_name=alekseykorshuk)
92
+
93
+ [![Follow](https://img.shields.io/badge/dynamic/json?color=blue&label=Telegram%20Channel&query=%24.result&url=https%3A%2F%2Fapi.telegram.org%2Fbot1929545866%3AAAFGhV-KKnegEcLiyYJxsc4zV6C-bdPEBtQ%2FgetChatMemberCount%3Fchat_id%3D-1001253621662&style=social&logo=telegram)](https://t.me/joinchat/_CQ04KjcJ-4yZTky)
94
+
95
+ For more details, visit the project repository.
96
+
97
+ [![GitHub stars](https://img.shields.io/github/stars/AlekseyKorshuk/huggingartists?style=social)](https://github.com/AlekseyKorshuk/huggingartists)
config.json ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "gpt2",
3
+ "activation_function": "gelu_new",
4
+ "architectures": [
5
+ "GPT2LMHeadModel"
6
+ ],
7
+ "attn_pdrop": 0.1,
8
+ "bos_token_id": 50256,
9
+ "embd_pdrop": 0.1,
10
+ "eos_token_id": 50256,
11
+ "gradient_checkpointing": false,
12
+ "initializer_range": 0.02,
13
+ "layer_norm_epsilon": 1e-05,
14
+ "model_type": "gpt2",
15
+ "n_ctx": 1024,
16
+ "n_embd": 768,
17
+ "n_head": 12,
18
+ "n_inner": null,
19
+ "n_layer": 12,
20
+ "n_positions": 1024,
21
+ "resid_pdrop": 0.1,
22
+ "scale_attn_weights": true,
23
+ "summary_activation": null,
24
+ "summary_first_dropout": 0.1,
25
+ "summary_proj_to_labels": true,
26
+ "summary_type": "cls_index",
27
+ "summary_use_proj": true,
28
+ "task_specific_params": {
29
+ "text-generation": {
30
+ "do_sample": true,
31
+ "max_length": 200,
32
+ "min_length": 100,
33
+ "temperature": 1.0,
34
+ "top_p": 0.95
35
+ }
36
+ },
37
+ "torch_dtype": "float32",
38
+ "transformers_version": "4.9.2",
39
+ "use_cache": true,
40
+ "vocab_size": 50257
41
+ }
evaluation.txt ADDED
@@ -0,0 +1 @@
 
1
+ {"eval_loss": 2.9424936771392822, "eval_runtime": 1.2434, "eval_samples_per_second": 20.106, "eval_steps_per_second": 3.217, "epoch": 10.0}
flax_model.msgpack ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:20f0207e6068480b12b0f0a1e986ad0b838ed6813a6cb3025608abce843f64a6
3
+ size 497764120
merges.txt ADDED
The diff for this file is too large to render. See raw diff
optimizer.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cca5db0a9b829f45ea81c1628183f47350c94e9b0ca90c2c7284c95ad41aeee0
3
+ size 995603825
pytorch_model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:97c65e91bdea4a97855ae617ec185512034c6de6b74b727c5d47b4834600048e
3
+ size 510403817
rng_state.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:dff0838f6c4266c52ad3f733c18288237e78c922be8b97cbee6dca8f0e06b0d4
3
+ size 14503
scheduler.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:858b0150f63e516bfdd54df0bdcc3e1de87c6a580f8d9790a43f52a335f62cca
3
+ size 623
special_tokens_map.json ADDED
@@ -0,0 +1 @@
 
1
+ {"bos_token": "<|endoftext|>", "eos_token": "<|endoftext|>", "unk_token": "<|endoftext|>"}
tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
tokenizer_config.json ADDED
@@ -0,0 +1 @@
 
1
+ {"unk_token": "<|endoftext|>", "bos_token": "<|endoftext|>", "eos_token": "<|endoftext|>", "add_prefix_space": false, "model_max_length": 1024, "special_tokens_map_file": null, "name_or_path": "gpt2", "tokenizer_class": "GPT2Tokenizer"}
trainer_state.json ADDED
@@ -0,0 +1,196 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "best_metric": 2.9424936771392822,
3
+ "best_model_checkpoint": "output/lil-nas-x/checkpoint-114",
4
+ "epoch": 6.0,
5
+ "global_step": 114,
6
+ "is_hyper_param_search": false,
7
+ "is_local_process_zero": true,
8
+ "is_world_process_zero": true,
9
+ "log_history": [
10
+ {
11
+ "epoch": 0.26,
12
+ "learning_rate": 0.00011506151581352585,
13
+ "loss": 3.7671,
14
+ "step": 5
15
+ },
16
+ {
17
+ "epoch": 0.53,
18
+ "learning_rate": 6.293505690059801e-05,
19
+ "loss": 3.4851,
20
+ "step": 10
21
+ },
22
+ {
23
+ "epoch": 0.79,
24
+ "learning_rate": 1.4464961055407408e-05,
25
+ "loss": 3.237,
26
+ "step": 15
27
+ },
28
+ {
29
+ "epoch": 1.0,
30
+ "eval_loss": 3.2925262451171875,
31
+ "eval_runtime": 1.1351,
32
+ "eval_samples_per_second": 22.025,
33
+ "eval_steps_per_second": 3.524,
34
+ "step": 19
35
+ },
36
+ {
37
+ "epoch": 1.05,
38
+ "learning_rate": 9.35614586573241e-07,
39
+ "loss": 3.3051,
40
+ "step": 20
41
+ },
42
+ {
43
+ "epoch": 1.32,
44
+ "learning_rate": 3.1079356352801514e-05,
45
+ "loss": 3.2407,
46
+ "step": 25
47
+ },
48
+ {
49
+ "epoch": 1.58,
50
+ "learning_rate": 8.54403044178588e-05,
51
+ "loss": 3.0887,
52
+ "step": 30
53
+ },
54
+ {
55
+ "epoch": 1.84,
56
+ "learning_rate": 0.00012893189933276512,
57
+ "loss": 3.1123,
58
+ "step": 35
59
+ },
60
+ {
61
+ "epoch": 2.0,
62
+ "eval_loss": 3.1396188735961914,
63
+ "eval_runtime": 1.1208,
64
+ "eval_samples_per_second": 22.306,
65
+ "eval_steps_per_second": 3.569,
66
+ "step": 38
67
+ },
68
+ {
69
+ "epoch": 2.11,
70
+ "learning_rate": 0.00013348306278066356,
71
+ "loss": 2.9306,
72
+ "step": 40
73
+ },
74
+ {
75
+ "epoch": 2.37,
76
+ "learning_rate": 9.615630613119375e-05,
77
+ "loss": 2.8064,
78
+ "step": 45
79
+ },
80
+ {
81
+ "epoch": 2.63,
82
+ "learning_rate": 4.1043693868806304e-05,
83
+ "loss": 2.7433,
84
+ "step": 50
85
+ },
86
+ {
87
+ "epoch": 2.89,
88
+ "learning_rate": 3.7169372193364486e-06,
89
+ "loss": 2.7272,
90
+ "step": 55
91
+ },
92
+ {
93
+ "epoch": 3.0,
94
+ "eval_loss": 3.06833553314209,
95
+ "eval_runtime": 1.1266,
96
+ "eval_samples_per_second": 22.191,
97
+ "eval_steps_per_second": 3.551,
98
+ "step": 57
99
+ },
100
+ {
101
+ "epoch": 3.16,
102
+ "learning_rate": 8.268100667234827e-06,
103
+ "loss": 2.7817,
104
+ "step": 60
105
+ },
106
+ {
107
+ "epoch": 3.42,
108
+ "learning_rate": 5.175969558214116e-05,
109
+ "loss": 2.5931,
110
+ "step": 65
111
+ },
112
+ {
113
+ "epoch": 3.68,
114
+ "learning_rate": 0.0001061206436471984,
115
+ "loss": 2.6951,
116
+ "step": 70
117
+ },
118
+ {
119
+ "epoch": 3.95,
120
+ "learning_rate": 0.00013626438541342674,
121
+ "loss": 2.4538,
122
+ "step": 75
123
+ },
124
+ {
125
+ "epoch": 4.0,
126
+ "eval_loss": 3.0064802169799805,
127
+ "eval_runtime": 1.1266,
128
+ "eval_samples_per_second": 22.191,
129
+ "eval_steps_per_second": 3.551,
130
+ "step": 76
131
+ },
132
+ {
133
+ "epoch": 4.21,
134
+ "learning_rate": 0.00012273503894459262,
135
+ "loss": 2.3701,
136
+ "step": 80
137
+ },
138
+ {
139
+ "epoch": 4.47,
140
+ "learning_rate": 7.426494309940199e-05,
141
+ "loss": 2.2971,
142
+ "step": 85
143
+ },
144
+ {
145
+ "epoch": 4.74,
146
+ "learning_rate": 2.2138484186474223e-05,
147
+ "loss": 2.4709,
148
+ "step": 90
149
+ },
150
+ {
151
+ "epoch": 5.0,
152
+ "learning_rate": 0.0,
153
+ "loss": 2.1501,
154
+ "step": 95
155
+ },
156
+ {
157
+ "epoch": 5.0,
158
+ "eval_loss": 2.979142665863037,
159
+ "eval_runtime": 1.1215,
160
+ "eval_samples_per_second": 22.292,
161
+ "eval_steps_per_second": 3.567,
162
+ "step": 95
163
+ },
164
+ {
165
+ "epoch": 5.26,
166
+ "learning_rate": 2.2138484186474162e-05,
167
+ "loss": 2.1304,
168
+ "step": 100
169
+ },
170
+ {
171
+ "epoch": 5.53,
172
+ "learning_rate": 7.426494309940202e-05,
173
+ "loss": 2.3152,
174
+ "step": 105
175
+ },
176
+ {
177
+ "epoch": 5.79,
178
+ "learning_rate": 0.00012273503894459265,
179
+ "loss": 2.3139,
180
+ "step": 110
181
+ },
182
+ {
183
+ "epoch": 6.0,
184
+ "eval_loss": 2.9424936771392822,
185
+ "eval_runtime": 1.1322,
186
+ "eval_samples_per_second": 22.081,
187
+ "eval_steps_per_second": 3.533,
188
+ "step": 114
189
+ }
190
+ ],
191
+ "max_steps": 190,
192
+ "num_train_epochs": 10,
193
+ "total_flos": 116013662208000.0,
194
+ "trial_name": null,
195
+ "trial_params": null
196
+ }
training_args.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:567145a7fe28355135b0476020151a6d4f254152553e83298e8d9a53a3d93243
3
+ size 2671
vocab.json ADDED
The diff for this file is too large to render. See raw diff