Text Generation
Transformers
PyTorch
Japanese
llama
Inference Endpoints
text-generation-inference
tahomatx commited on
Commit
b11afda
1 Parent(s): 52edb0a

Create README.md

Browse files
Files changed (1) hide show
  1. README.md +113 -0
README.md ADDED
@@ -0,0 +1,113 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ # Aerner LM-v1
3
+
4
+ 事前学習から全部日本語で学習させたモデルです。
5
+ LLaMAベースで、24GBのVRAMで事前学習できる規模に小さなモデルです。
6
+ なかなか動作は高速です。
7
+
8
+ 事前学習からちゃんとした日本語を食べさせてあげて、丁寧に育てたら良い子に育つのか実験しました。
9
+ ハッキリ言って、知識を持てるほど学習していないし(小さすぎてできないし)、特に役に立つ回答はしてくれませんが、
10
+ 結構なんでやねん!!!ってツッコみたくなる文章を書いてくれます。
11
+ 日本語に関しては、一応ちゃんとしてるよ。
12
+
13
+
14
+ サンプルコード。モデルのロードは少し時間が掛かりますが、Inferenceは結構速いです。
15
+ GenerationConfigが必須。モデルが小さいので、beam searchや repeat関係は結構重要。
16
+
17
+
18
+ ```python
19
+ from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfig
20
+ import torch
21
+ import time
22
+ import random
23
+ import numpy as np
24
+
25
+ #
26
+ # Fix seed
27
+ #
28
+ seed = 42
29
+
30
+ random.seed(seed)
31
+ # Numpy
32
+ np.random.seed(seed)
33
+ # Pytorch
34
+ torch.manual_seed(seed)
35
+ torch.cuda.manual_seed(seed)
36
+ torch.backends.cudnn.deterministic = True
37
+ torch.use_deterministic_algorithms = True
38
+
39
+ torch.set_default_dtype(torch.bfloat16)
40
+
41
+
42
+
43
+ model_id = "aerner/lm-v1"
44
+
45
+
46
+ text = """### Instruction:
47
+ 東京駅について説明してください。
48
+
49
+
50
+ ### Context:
51
+
52
+
53
+
54
+ ### Answer:
55
+ """
56
+
57
+ with torch.no_grad():
58
+ tokenizer = AutoTokenizer.from_pretrained(model_id)
59
+ tokenized_input = tokenizer(text, return_tensors="pt").to('cuda')
60
+
61
+ model = AutoModelForCausalLM.from_pretrained(
62
+ model_id, device_map="auto", torch_dtype=torch.bfloat16)
63
+
64
+ generation_config = GenerationConfig(
65
+ max_new_tokens=256,
66
+ min_new_tokens=1,
67
+ early_stopping=True,
68
+ do_sample=True,
69
+
70
+ num_beams=8,
71
+ temperature=1.0,
72
+ top_p=0.6,
73
+ penalty_alpha=0.4,
74
+ no_repeat_ngram_size=4,
75
+ repetition_penalty=1.4,
76
+
77
+ remove_invalid_values=True,
78
+ num_return_sequences=1,
79
+ )
80
+
81
+ start = time.time()
82
+
83
+ generation_output = model.generate(
84
+ input_ids=tokenized_input['input_ids'],
85
+ generation_config=generation_config,
86
+ return_dict_in_generate=True,
87
+ output_scores=True,
88
+ )
89
+
90
+ for s in generation_output.sequences:
91
+ output = tokenizer.decode(s)
92
+ print(output)
93
+
94
+ print(time.time() - start)
95
+
96
+ ```
97
+
98
+
99
+ ---
100
+ datasets:
101
+ - snow_simplified_japanese_corpus
102
+ - mkqa
103
+ - llm-book/aio_v2
104
+ - paws
105
+ - lmqg/qg_jaquad
106
+ - SkelterLabsInc/JaQuAD
107
+ - karakuri-ai/dolly-15k-ja
108
+ - MBZUAI/Bactrian-X
109
+ - GEM/wiki_lingua
110
+ - csebuetnlp/xlsum
111
+ language:
112
+ - ja
113
+ ---