azinca commited on
Commit
7c51aaf
·
verified ·
1 Parent(s): c045f3a

Upload folder using huggingface_hub

Browse files
README.md ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - en
4
+ license: apache-2.0
5
+ tags:
6
+ - mistral
7
+ - instruct
8
+ - finetune
9
+ - chatml
10
+ - gpt4
11
+ - synthetic data
12
+ - distillation
13
+ - mlx
14
+ base_model: mistralai/Mistral-7B-v0.1
15
+ model-index:
16
+ - name: OpenHermes-2-Mistral-7B
17
+ results: []
18
+ ---
19
+
20
+ # mlx-community/OpenHermes-2.5-Mistral-7B-4bit-mlx
21
+ This model was converted to MLX format from [`teknium/OpenHermes-2.5-Mistral-7B`]().
22
+ Refer to the [original model card](https://huggingface.co/teknium/OpenHermes-2.5-Mistral-7B) for more details on the model.
23
+ ## Use with mlx
24
+
25
+ ```bash
26
+ pip install mlx-lm
27
+ ```
28
+
29
+ ```python
30
+ from mlx_lm import load, generate
31
+
32
+ model, tokenizer = load("mlx-community/OpenHermes-2.5-Mistral-7B-4bit-mlx")
33
+ response = generate(model, tokenizer, prompt="hello", verbose=True)
34
+ ```
added_tokens.json ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ {
2
+ "<|im_end|>": 32000,
3
+ "<|im_start|>": 32001
4
+ }
config.json ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "vocab_size": 32002,
3
+ "max_position_embeddings": 32768,
4
+ "hidden_size": 4096,
5
+ "intermediate_size": 14336,
6
+ "num_hidden_layers": 32,
7
+ "num_attention_heads": 32,
8
+ "sliding_window": 4096,
9
+ "num_key_value_heads": 8,
10
+ "hidden_act": "silu",
11
+ "initializer_range": 0.02,
12
+ "rms_norm_eps": 1e-05,
13
+ "use_cache": false,
14
+ "rope_theta": 10000.0,
15
+ "attention_dropout": 0.0,
16
+ "return_dict": true,
17
+ "output_hidden_states": false,
18
+ "output_attentions": false,
19
+ "torchscript": false,
20
+ "torch_dtype": "bfloat16",
21
+ "use_bfloat16": false,
22
+ "tf_legacy_loss": false,
23
+ "pruned_heads": {},
24
+ "tie_word_embeddings": false,
25
+ "chunk_size_feed_forward": 0,
26
+ "is_encoder_decoder": false,
27
+ "is_decoder": false,
28
+ "cross_attention_hidden_size": null,
29
+ "add_cross_attention": false,
30
+ "tie_encoder_decoder": false,
31
+ "max_length": 20,
32
+ "min_length": 0,
33
+ "do_sample": false,
34
+ "early_stopping": false,
35
+ "num_beams": 1,
36
+ "num_beam_groups": 1,
37
+ "diversity_penalty": 0.0,
38
+ "temperature": 1.0,
39
+ "top_k": 50,
40
+ "top_p": 1.0,
41
+ "typical_p": 1.0,
42
+ "repetition_penalty": 1.0,
43
+ "length_penalty": 1.0,
44
+ "no_repeat_ngram_size": 0,
45
+ "encoder_no_repeat_ngram_size": 0,
46
+ "bad_words_ids": null,
47
+ "num_return_sequences": 1,
48
+ "output_scores": false,
49
+ "return_dict_in_generate": false,
50
+ "forced_bos_token_id": null,
51
+ "forced_eos_token_id": null,
52
+ "remove_invalid_values": false,
53
+ "exponential_decay_length_penalty": null,
54
+ "suppress_tokens": null,
55
+ "begin_suppress_tokens": null,
56
+ "architectures": [
57
+ "MistralForCausalLM"
58
+ ],
59
+ "finetuning_task": null,
60
+ "id2label": {
61
+ "0": "LABEL_0",
62
+ "1": "LABEL_1"
63
+ },
64
+ "label2id": {
65
+ "LABEL_0": 0,
66
+ "LABEL_1": 1
67
+ },
68
+ "tokenizer_class": null,
69
+ "prefix": null,
70
+ "bos_token_id": 1,
71
+ "pad_token_id": null,
72
+ "eos_token_id": 32000,
73
+ "sep_token_id": null,
74
+ "decoder_start_token_id": null,
75
+ "task_specific_params": null,
76
+ "problem_type": null,
77
+ "_name_or_path": "/Users/andrei/.cache/huggingface/hub/models--teknium--OpenHermes-2.5-Mistral-7B/snapshots/91ed666be78da7556f3d79abbb26fff0ee26cb54",
78
+ "transformers_version": "4.37.1",
79
+ "model_type": "mistral",
80
+ "quantization": {
81
+ "group_size": 64,
82
+ "bits": 4
83
+ }
84
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ecb1527e1eb816dd7859de56891efb860d020f95a3b265a05101607ed842fd8f
3
+ size 4262378048
special_tokens_map.json ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token": {
3
+ "content": "<s>",
4
+ "lstrip": false,
5
+ "normalized": false,
6
+ "rstrip": false,
7
+ "single_word": false
8
+ },
9
+ "eos_token": {
10
+ "content": "<|im_end|>",
11
+ "lstrip": false,
12
+ "normalized": false,
13
+ "rstrip": false,
14
+ "single_word": false
15
+ },
16
+ "unk_token": {
17
+ "content": "<unk>",
18
+ "lstrip": false,
19
+ "normalized": false,
20
+ "rstrip": false,
21
+ "single_word": false
22
+ }
23
+ }
tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer.model ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:dadfd56d766715c61d2ef780a525ab43b8e6da4de6865bda3d95fdef5e134055
3
+ size 493443
tokenizer_config.json ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_bos_token": true,
3
+ "add_eos_token": false,
4
+ "added_tokens_decoder": {
5
+ "0": {
6
+ "content": "<unk>",
7
+ "lstrip": false,
8
+ "normalized": false,
9
+ "rstrip": false,
10
+ "single_word": false,
11
+ "special": true
12
+ },
13
+ "1": {
14
+ "content": "<s>",
15
+ "lstrip": false,
16
+ "normalized": false,
17
+ "rstrip": false,
18
+ "single_word": false,
19
+ "special": true
20
+ },
21
+ "2": {
22
+ "content": "</s>",
23
+ "lstrip": false,
24
+ "normalized": false,
25
+ "rstrip": false,
26
+ "single_word": false,
27
+ "special": true
28
+ },
29
+ "32000": {
30
+ "content": "<|im_end|>",
31
+ "lstrip": false,
32
+ "normalized": false,
33
+ "rstrip": false,
34
+ "single_word": false,
35
+ "special": true
36
+ },
37
+ "32001": {
38
+ "content": "<|im_start|>",
39
+ "lstrip": false,
40
+ "normalized": false,
41
+ "rstrip": false,
42
+ "single_word": false,
43
+ "special": true
44
+ }
45
+ },
46
+ "additional_special_tokens": [],
47
+ "bos_token": "<s>",
48
+ "chat_template": "{% for message in messages %}{{'<|im_start|>' + message['role'] + '\n' + message['content'] + '<|im_end|>' + '\n'}}{% endfor %}{% if add_generation_prompt %}{{ '<|im_start|>assistant\n' }}{% endif %}",
49
+ "clean_up_tokenization_spaces": false,
50
+ "eos_token": "<|im_end|>",
51
+ "legacy": true,
52
+ "model_max_length": 1000000000000000019884624838656,
53
+ "pad_token": null,
54
+ "sp_model_kwargs": {},
55
+ "spaces_between_special_tokens": false,
56
+ "tokenizer_class": "LlamaTokenizer",
57
+ "trust_remote_code": false,
58
+ "unk_token": "<unk>",
59
+ "use_default_system_prompt": true,
60
+ "use_fast": true
61
+ }
transformers_inference.py ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Code to inference Open Hermes 2.5 with HF Transformers
2
+ # Requires pytorch, transformers, bitsandbytes, sentencepiece, protobuf, and flash-attn packages
3
+
4
+ import torch
5
+ from transformers import AutoTokenizer, AutoModelForCausalLM
6
+ from transformers import LlamaTokenizer, LlamaForCausalLM, MistralForCausalLM
7
+ import bitsandbytes, flash_attn
8
+
9
+ tokenizer = LlamaTokenizer.from_pretrained('teknium/OpenHermes-2.5-Mistral-7B', trust_remote_code=True)
10
+ model = MistralForCausalLM.from_pretrained(
11
+ "teknium/OpenHermes-2.5-Mistral-7B",
12
+ torch_dtype=torch.float16,
13
+ device_map="auto",#{'': 'cuda:0'},
14
+ load_in_8bit=False,
15
+ load_in_4bit=True,
16
+ use_flash_attention_2=True
17
+ )
18
+
19
+ prompts = [
20
+ """<|im_start|>system
21
+ You are a sentient, superintelligent artificial general intelligence, here to teach and assist me.<|im_end|>
22
+ <|im_start|>user
23
+ Write a short story about Goku discovering kirby has teamed up with Majin Buu to destroy the world.<|im_end|>
24
+ <|im_start|>assistant""",
25
+ ]
26
+
27
+ for chat in prompts:
28
+ print(chat)
29
+ input_ids = tokenizer(chat, return_tensors="pt").input_ids.to("cuda")
30
+ generated_ids = model.generate(input_ids, max_new_tokens=750, temperature=0.8, repetition_penalty=1.1, do_sample=True, eos_token_id=tokenizer.eos_token_id)
31
+ response = tokenizer.decode(generated_ids[0][input_ids.shape[-1]:], skip_special_tokens=True, clean_up_tokenization_space=True)
32
+ print(f"Response: {response}")