HirCoir commited on
Commit
061db52
verified
1 Parent(s): 036ac56

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +40 -15
README.md CHANGED
@@ -14,44 +14,69 @@ tags:
14
  - spanish
15
  ---
16
 
17
- ## MiniChat-2-3B
18
 
19
- A language model continued from MiniMA-3B and finetuned on both instruction and preference data.
20
 
21
- Surpassing Vicuna-7B and approximating LLaMA-2-Chat-7B on MT-Bench.
22
 
 
23
 
24
- The following is an example code snippet to use Sorah based on MiniChat-2-3B:
 
 
 
25
 
26
  ```python
27
  import torch
28
 
29
  from transformers import AutoModelForCausalLM, AutoTokenizer
30
-
31
  from conversation import get_default_conv_template
32
 
33
- # MiniChat
34
  tokenizer = AutoTokenizer.from_pretrained("HirCoir/minichat-3b-sorah", use_fast=False)
35
- # GPU.
36
- model = AutoModelForCausalLM.from_pretrained("HirCoir/minichat-3b-sorah", use_cache=True, device_map="auto", torch_dtype=torch.float16).eval()
37
- # CPU.
38
- # model = AutoModelForCausalLM.from_pretrained("HirCoir/minichat-3b-sorah", use_cache=True, device_map="cpu", torch_dtype=torch.float16).eval()
39
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
  conv = get_default_conv_template("minichat")
41
 
42
- question = "Implement a program to find the common elements in two arrays without using any extra data structures."
 
 
 
43
  conv.append_message(conv.roles[0], question)
44
  conv.append_message(conv.roles[1], None)
 
 
45
  prompt = conv.get_prompt()
46
  input_ids = tokenizer([prompt]).input_ids
 
 
47
  output_ids = model.generate(
48
  torch.as_tensor(input_ids).cuda(),
49
  do_sample=True,
50
  temperature=0.7,
51
- max_new_tokens=1024,
52
  )
53
  output_ids = output_ids[0][len(input_ids[0]):]
54
  output = tokenizer.decode(output_ids, skip_special_tokens=True).strip()
55
- # output: "def common_elements(arr1, arr2):\n if len(arr1) == 0:\n return []\n if len(arr2) == 0:\n return arr1\n\n common_elements = []\n for element in arr1:\n if element in arr2:\n common_elements.append(element)\n\n return common_elements"
56
- # Multiturn conversation could be realized by continuously appending questions to `conv`.
57
- ```
 
 
 
14
  - spanish
15
  ---
16
 
17
+ # MiniChat-2-3B-Sorah
18
 
19
+ ![Sorah](sorah.jpeg)
20
 
21
+ MiniChat-2-3B-Sorah es un modelo de lenguaje basado en MiniChat-1.5-3B y ajustado con datos de instrucci贸n y preferencia.
22
 
23
+ El modelo MiniChat-1.5-3B-Sorah complementa el modelo de voz Sorah, que fue creado por el proyecto Piper. El modelo Sorah est谩 en proceso de entrenamiento y mejoras, por lo que su acceso no es p煤blico, pero puedes encontrar m谩s informaci贸n en el [repositorio de Sorah Neuronal](https://huggingface.co/HirCoir/piper-sorah-neuronal).
24
 
25
+
26
+ El modelo MiniChat-2-3B-Sorah supera a Vicuna-7B y se acerca a LLaMA-2-Chat-7B en MT-Bench.
27
+
28
+ A continuaci贸n, se muestra un ejemplo de c贸digo para usar Sorah basado en MiniChat-2-3B:
29
 
30
  ```python
31
  import torch
32
 
33
  from transformers import AutoModelForCausalLM, AutoTokenizer
 
34
  from conversation import get_default_conv_template
35
 
36
+ # Cargar MiniChat-2-3B-Sorah
37
  tokenizer = AutoTokenizer.from_pretrained("HirCoir/minichat-3b-sorah", use_fast=False)
 
 
 
 
38
 
39
+ # Configuraci贸n para GPU
40
+ model = AutoModelForCausalLM.from_pretrained(
41
+ "HirCoir/minichat-3b-sorah",
42
+ use_cache=True,
43
+ device_map="auto",
44
+ torch_dtype=torch.float16
45
+ ).eval()
46
+
47
+ # Configuraci贸n para CPU (opcional)
48
+ # model = AutoModelForCausalLM.from_pretrained(
49
+ # "HirCoir/minichat-3b-sorah",
50
+ # use_cache=True,
51
+ # device_map="cpu",
52
+ # torch_dtype=torch.float16
53
+ # ).eval()
54
+
55
+ # Crear una conversaci贸n
56
  conv = get_default_conv_template("minichat")
57
 
58
+ # Ejemplo de pregunta
59
+ question = "Como te llamas?"
60
+
61
+ # A帽adir la pregunta a la conversaci贸n
62
  conv.append_message(conv.roles[0], question)
63
  conv.append_message(conv.roles[1], None)
64
+
65
+ # Obtener el prompt
66
  prompt = conv.get_prompt()
67
  input_ids = tokenizer([prompt]).input_ids
68
+
69
+ # Generar respuesta
70
  output_ids = model.generate(
71
  torch.as_tensor(input_ids).cuda(),
72
  do_sample=True,
73
  temperature=0.7,
74
+ max_new_tokens=1024
75
  )
76
  output_ids = output_ids[0][len(input_ids[0]):]
77
  output = tokenizer.decode(output_ids, skip_special_tokens=True).strip()
78
+
79
+ # La respuesta se almacena en 'output'
80
+ # Salida: "def common_elements(arr1, arr2):\n if len(arr1) == 0:\n return []\n if len(arr2) == 0:\n return arr1\n\n common_elements = []\n for element in arr1:\n if element in arr2:\n common_elements.append(element)\n\n return common_elements"
81
+ # Una conversaci贸n multivuelta se puede realizar a帽adiendo preguntas continuamente a `conv`.
82
+ ```