Create README.md
Browse files
README.md
ADDED
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
license: openrail
|
3 |
+
datasets:
|
4 |
+
- databricks/databricks-dolly-15k
|
5 |
+
- s3nh/alpaca-dolly-instruction-only-polish
|
6 |
+
language:
|
7 |
+
- pl
|
8 |
+
---
|
9 |
+
|
10 |
+
### Introduction
|
11 |
+
|
12 |
+
These repository consist of Eleuther-AI/gpt-j-6B finetuned to Polish language on translated alpaca-dolly dataset.
|
13 |
+
Main task is to perform accurate answers to instruction asked.
|
14 |
+
|
15 |
+
Below you can find an instruction of how to infer with that model.
|
16 |
+
These repository does not contain an tokenizer object, at the moment (#TODO).
|
17 |
+
|
18 |
+
|
19 |
+
### Evaluation part
|
20 |
+
|
21 |
+
|
22 |
+
|
23 |
+
```python
|
24 |
+
|
25 |
+
|
26 |
+
import pandas as pd
|
27 |
+
import torch
|
28 |
+
from torch.utils.data import AutTokenizer
|
29 |
+
from typing import List, Dict, Union
|
30 |
+
from typing import Any, TypeVar
|
31 |
+
|
32 |
+
import pandas as pd
|
33 |
+
import pickle
|
34 |
+
|
35 |
+
MODEL_NAME: str = 's3nh/gpt-j-6b-3500steps-polish'
|
36 |
+
|
37 |
+
|
38 |
+
tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
|
39 |
+
model = AutoModelForCasualLM.from_pretrained(MODEL_NAME).cuda()
|
40 |
+
#Resize model for tokenizer size
|
41 |
+
n_tokens: int = len(tokenizer)
|
42 |
+
model.resize_token_embeddings(n_tokens)
|
43 |
+
|
44 |
+
|
45 |
+
def _generate_prompt(instruction, input=None):
|
46 |
+
if input:
|
47 |
+
return f"""Poniżej znajduje się instrukcja opisująca zadanie, połączona z danymi wejściowymi, które zapewniają dalszy konktekst. Napisz odpowiedź, która odpowiednio odpowie na pytanie.
|
48 |
+
### Instruction:
|
49 |
+
{instruction}
|
50 |
+
### Input:
|
51 |
+
{input}
|
52 |
+
### Response:"""
|
53 |
+
|
54 |
+
manual_instruction: str = "Napisz mi proszę jakie są rodzaje telefonów komórkowych"
|
55 |
+
manual_input: str = "Telefony komórkowe, w przeciwieństwie do np. satelitarnych, charakteryzuje to, że działają w obrębie naziemnych fal radiowych w technologii GSM (i w różnych jej wariantach: 3G, 4G czy niebawem 5G). Zasadniczo można jednak wyróżnić wiele ich rodzajów i podzielić je na różne kryteria. I tak, ze względu na rodzaj obudowy, można mówić o telefonach jednobryłowych, rozsuwanych, obrotowych czy też z klapką. Obecnie jednak najbardziej popularne i – ze względu na posiadane parametry – najlepsze telefony komórkowe to smartfony dotykowe."
|
56 |
+
|
57 |
+
print(f"Valueation for {manual_instruction} \n\n\n {manual_input}\n\n")
|
58 |
+
evaluate(instruction = manual_instruction,
|
59 |
+
input = manual_input)
|
60 |
+
|
61 |
+
```
|