ryota39 commited on
Commit
e43226d
1 Parent(s): 7065736

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +61 -0
README.md CHANGED
@@ -1,3 +1,64 @@
1
  ---
2
  license: cc-by-sa-4.0
3
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
  license: cc-by-sa-4.0
3
  ---
4
+
5
+ # Tora_4B
6
+ - **rinna/bilingual-gpt-neox-4b-instruction-sft**に、1,000,000件の和訳タスクのデータセットをフルパラメータファインチューニングしたモデルです。
7
+ - **izumi-lab/llm-japanese-dataset**から翻訳タスクのデータセットを抽出し、学習に使用しました。
8
+ - 日英翻訳タスクのデータセットを英日翻訳タスクに修正しました。
9
+ - 日本語から英語への変換(日英翻訳)には対応していません。
10
+
11
+ # 学習
12
+ - ハードウェア: 1 x NVIDIA RTX A6000(VRAM48GB)
13
+ - 使用VRAM: 32~34GB
14
+ - 学習時間: 3h 22m 3s
15
+ - train/epoch: 4
16
+ - train/loss: 1.0551
17
+ - eval/loss: 1.550597071647644
18
+ - optimizer: Adam
19
+ - learning_rate: 1.5e-4
20
+ - lr_scheduler_type: "cosine"
21
+ - warmup_steps: 2400
22
+
23
+ # 学習結果
24
+
25
+ ![image/png](https://cdn-uploads.huggingface.co/production/uploads/651e3f30ca333f3c8df692b8/G50HQ5ewqD41QGsYhOkZ-.png)
26
+
27
+ ![image/png](https://cdn-uploads.huggingface.co/production/uploads/651e3f30ca333f3c8df692b8/ziugVGC5viGuEt_0jC9kS.png)
28
+
29
+ # コード
30
+ ```python
31
+ import torch
32
+ from transformers import AutoTokenizer, AutoModelForCausalLM
33
+
34
+ tokenizer = AutoTokenizer.from_pretrained("rinna/bilingual-gpt-neox-4b-instruction-sft", use_fast=False)
35
+ model = AutoModelForCausalLM.from_pretrained("ryota39/Tora_4B")
36
+
37
+ if torch.cuda.is_available():
38
+ model = model.to("cuda")
39
+
40
+ prompt = list()
41
+ prompt.append("指示: 以下の英語を日本語に翻訳してください。")
42
+ prompt.append("ユーザー: He delivers a presentation under the title of Stress levels estimation from facial video based on non-contact measurement of pulse wave.")
43
+ prompt.append("システム: ")
44
+ prompt = '\n'.join(prompt)
45
+ print(prompt)
46
+
47
+ token_ids = tokenizer.encode(prompt, add_special_tokens=False, return_tensors="pt")
48
+
49
+ with torch.no_grad():
50
+ output_ids = model.generate(
51
+ token_ids.to(model.device),
52
+ max_new_tokens=512,
53
+ do_sample=False,
54
+ temperature=0.7,
55
+ top_p=0.85,
56
+ pad_token_id=tokenizer.pad_token_id,
57
+ bos_token_id=tokenizer.bos_token_id,
58
+ eos_token_id=tokenizer.eos_token_id
59
+ )
60
+
61
+ output = tokenizer.decode(output_ids.tolist()[0][token_ids.size(1):])
62
+ print(output)
63
+ # 彼は、顔のビデオから心拍数と心拍間隔を推定する方法について話した。
64
+ ```