lstama yodi commited on
Commit
bf7ce5b
·
0 Parent(s):

Duplicate from yodi/karina

Browse files

Co-authored-by: yodi <yodi@users.noreply.huggingface.co>

.gitattributes ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ tokenizer.json filter=lfs diff=lfs merge=lfs -text
37
+ pytorch_model.bin filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,181 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ datasets:
3
+ - Local
4
+ license: bigscience-bloom-rail-1.0
5
+ language:
6
+ - id
7
+ pipeline_tag: text-generation
8
+ duplicated_from: yodi/karina
9
+ ---
10
+
11
+ # Table of Contents
12
+
13
+ 1. [Model Summary](#model-summary)
14
+ 2. [Use](#use)
15
+ 4. [Training](#training)
16
+
17
+ # Model Summary
18
+
19
+ > We present KARINA, finetuned from BLOOMZ bigscience/bloomz-3b, a family of models capable of following human instructions in dozens of languages zero-shot. We finetune BLOOMZ pretrained multilingual language models on our crosslingual task mixture (xP3) and find the resulting models capable of crosslingual generalization to unseen tasks & languages.
20
+
21
+ # Use
22
+
23
+ ## Intended use
24
+
25
+ We recommend using the model to perform tasks expressed in natural language. For example, given the prompt "*prompt = f"Given the question:\n{{ siapa kamu? }}\n---\nAnswer:\n"*", the model will most likely answer "*Saya Karina. Ada yang bisa saya bantu?*".
26
+
27
+ ## How to use
28
+
29
+ ### CPU
30
+
31
+ <details>
32
+ <summary> Click to expand </summary>
33
+
34
+ ```python
35
+ # pip install -q transformers
36
+ from transformers import AutoModelForCausalLM, AutoTokenizer
37
+
38
+ MODEL_NAME = "yodi/karina"
39
+
40
+ tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
41
+ model = AutoModelForCausalLM.from_pretrained(MODEL_NAME)
42
+
43
+ inputs = tokenizer.encode("Given the question:\n{{ siapa kamu? }}\n---\nAnswer:\n", return_tensors="pt")
44
+ outputs = model.generate(inputs)
45
+ print(tokenizer.decode(outputs[0]))
46
+ ```
47
+
48
+ </details>
49
+
50
+ ### GPU in 4 bit
51
+
52
+ <details>
53
+ <summary> Click to expand </summary>
54
+
55
+ ```python
56
+ # pip install -q transformers
57
+ from transformers import AutoModelForCausalLM, AutoTokenizer
58
+ from transformers import pipeline
59
+
60
+ MODEL_NAME = "yodi/karina"
61
+
62
+ model_4bit = AutoModelForCausalLM.from_pretrained(MODEL_NAME, device_map="cuda:1", load_in_4bit=True)
63
+ tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
64
+
65
+ prompt = f"Given the question:\n{{ siapa kamu? }}\n---\nAnswer:\n"
66
+
67
+ generator = pipeline('text-generation',
68
+ model=model_4bit,
69
+ tokenizer=tokenizer,
70
+ do_sample=False)
71
+
72
+ result = generator(prompt, max_length=256)
73
+ print(result)
74
+
75
+ ```
76
+
77
+ </details>
78
+
79
+ ### GPU in 8bit
80
+
81
+ <details>
82
+ <summary> Click to expand </summary>
83
+
84
+ ```python
85
+ # pip install -q transformers
86
+ from transformers import AutoModelForCausalLM, AutoTokenizer
87
+ from transformers import pipeline
88
+
89
+ MODEL_NAME = "yodi/karina"
90
+
91
+ model_4bit = AutoModelForCausalLM.from_pretrained(MODEL_NAME, device_map="cuda:1", load_in_8bit=True)
92
+ tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
93
+
94
+ prompt = f"Given the question:\n{{ siapa kamu? }}\n---\nAnswer:\n"
95
+
96
+ generator = pipeline('text-generation',
97
+ model=model_4bit,
98
+ tokenizer=tokenizer,
99
+ do_sample=False)
100
+
101
+ result = generator(prompt, max_length=256)
102
+ print(result)
103
+ ```
104
+
105
+ </details>
106
+
107
+ ```
108
+ [{'generated_text': 'Given the question:\n{ siapa kamu? }\n---\nAnswer:\nSaya Karina, asisten virtual siap membantu seputar estimasi harga atau pertanyaan lain'}]
109
+ ```
110
+
111
+ ### Infer in Local with Gradio
112
+
113
+ ```python
114
+ from transformers import AutoModelForCausalLM, AutoTokenizer
115
+ from transformers import pipeline
116
+ import re
117
+
118
+ import gradio as gr
119
+
120
+ MODEL_NAME = "yodi/karina"
121
+
122
+ model_4bit = AutoModelForCausalLM.from_pretrained(MODEL_NAME, device_map="cuda:1", load_in_4bit=True)
123
+ tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
124
+
125
+ prompt = f"Given the question:\n{{ siapa kamu? }}\n---\nAnswer:\n"
126
+
127
+ generator = pipeline('text-generation',
128
+ model=model_4bit,
129
+ tokenizer=tokenizer,
130
+ do_sample=False)
131
+
132
+ def preprocess(text):
133
+ return f"Given the question:\n{{ {text} }}\n---\nAnswer:\n"
134
+
135
+ def generate(text):
136
+ preprocess_result = preprocess(text)
137
+ result = generator(preprocess_result, max_length=256)
138
+ output = re.split(r'\Given the question:|Answer:|Answer #|Title:',result[0]['generated_text'])[2]
139
+
140
+ return output
141
+
142
+ with gr.Blocks() as demo:
143
+ input_text = gr.Textbox(label="Input", lines=1)
144
+ button = gr.Button("Submit")
145
+ output_text = gr.Textbox(lines=6, label="Output")
146
+ button.click(generate, inputs=[input_text], outputs=output_text)
147
+
148
+ demo.launch(enable_queue=True, debug=True)
149
+ ```
150
+ And open the gradio url from browser.
151
+
152
+ ## Training procedure
153
+
154
+
155
+ The following `bitsandbytes` quantization config was used during training:
156
+ - load_in_8bit: False
157
+ - load_in_4bit: True
158
+ - llm_int8_threshold: 6.0
159
+ - llm_int8_skip_modules: None
160
+ - llm_int8_enable_fp32_cpu_offload: False
161
+ - llm_int8_has_fp16_weight: False
162
+ - bnb_4bit_quant_type: nf4
163
+ - bnb_4bit_use_double_quant: True
164
+ - bnb_4bit_compute_dtype: float16
165
+
166
+ ### Framework versions
167
+
168
+ - PEFT 0.5.0.dev0
169
+
170
+ <!-- Necessary for whitespace -->
171
+ ###
172
+
173
+ # Limitations
174
+
175
+ **Prompt Engineering:** The performance may vary depending on the prompt and its following BLOOMZ models.
176
+
177
+ # Training
178
+
179
+ ## Model
180
+
181
+ - **Architecture:** Same as [bloom](https://huggingface.co/bigscience/bloom), also refer to the `config.json` file
config.json ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "bigscience/bloomz-3b",
3
+ "apply_residual_connection_post_layernorm": false,
4
+ "architectures": [
5
+ "BloomForCausalLM"
6
+ ],
7
+ "attention_dropout": 0.0,
8
+ "attention_softmax_in_fp32": true,
9
+ "bias_dropout_fusion": true,
10
+ "bos_token_id": 1,
11
+ "eos_token_id": 2,
12
+ "hidden_dropout": 0.0,
13
+ "hidden_size": 2560,
14
+ "initializer_range": 0.02,
15
+ "layer_norm_epsilon": 1e-05,
16
+ "masked_softmax_fusion": true,
17
+ "model_type": "bloom",
18
+ "n_head": 32,
19
+ "n_inner": null,
20
+ "n_layer": 30,
21
+ "offset_alibi": 100,
22
+ "pad_token_id": 3,
23
+ "pretraining_tp": 1,
24
+ "seq_length": 2048,
25
+ "skip_bias_add": true,
26
+ "skip_bias_add_qkv": false,
27
+ "slow_but_exact": false,
28
+ "torch_dtype": "float16",
29
+ "transformers_version": "4.31.0",
30
+ "unk_token_id": 0,
31
+ "use_cache": true,
32
+ "vocab_size": 250880
33
+ }
generation_config.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "_from_model_config": true,
3
+ "bos_token_id": 1,
4
+ "eos_token_id": 2,
5
+ "pad_token_id": 3,
6
+ "transformers_version": "4.31.0"
7
+ }
pytorch_model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9396aa5934350d8ae5a95c7d043a7e3d3396e4b8eaf8301b8cda55929faad2d4
3
+ size 6005240157
special_tokens_map.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token": "<s>",
3
+ "eos_token": "</s>",
4
+ "pad_token": "<pad>",
5
+ "unk_token": "<unk>"
6
+ }
tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:17a208233d2ee8d8c83b23bc214df737c44806a1919f444e89b31e586cd956ba
3
+ size 14500471
tokenizer_config.json ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_prefix_space": false,
3
+ "bos_token": "<s>",
4
+ "clean_up_tokenization_spaces": false,
5
+ "eos_token": "</s>",
6
+ "model_max_length": 1000000000000000019884624838656,
7
+ "pad_token": "<pad>",
8
+ "tokenizer_class": "BloomTokenizer",
9
+ "unk_token": "<unk>"
10
+ }