hotchpotch commited on
Commit
e4b5235
1 Parent(s): ee17ba7

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +65 -0
README.md CHANGED
@@ -10,3 +10,68 @@ language:
10
  https://huggingface.co/rinna/youri-7b-instruction を JAQKET (dev / unuse) + JSQuAD(train) のデータセットを用いて、コンテキスト付き Q&A にSTFでトレーニングし回答できるように学習させたものを、AutoGPTQで量子化したモデルです。
11
 
12
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  https://huggingface.co/rinna/youri-7b-instruction を JAQKET (dev / unuse) + JSQuAD(train) のデータセットを用いて、コンテキスト付き Q&A にSTFでトレーニングし回答できるように学習させたものを、AutoGPTQで量子化したモデルです。
11
 
12
 
13
+ # 実行例
14
+
15
+ ```
16
+ import torch
17
+ from transformers import AutoTokenizer
18
+ from auto_gptq import AutoGPTQForCausalLM # type: ignore
19
+
20
+ MODEL_NAME = "hotchpotch/youri-7b-stf-qa-context-jaqket-jsquad-gptq"
21
+ tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
22
+ tokenizer.pad_token = tokenizer.eos_token
23
+
24
+ device = "cuda:0" if torch.cuda.is_available() else "cpu"
25
+ model = AutoGPTQForCausalLM.from_quantized(
26
+ MODEL_NAME,
27
+ device=device,
28
+ use_safetensors=True,
29
+ inject_fused_mlp=True,
30
+ inject_fused_attention=True,
31
+ use_flash_attention_2=True,
32
+ )
33
+
34
+
35
+ def generate(prompt: str) -> str:
36
+ token_ids = tokenizer.encode(prompt, add_special_tokens=False, return_tensors="pt")
37
+
38
+ with torch.no_grad():
39
+ output_ids = model.generate(
40
+ input_ids=token_ids.to(model.device), # type: ignore
41
+ max_new_tokens=24,
42
+ do_sample=False,
43
+ pad_token_id=tokenizer.pad_token_id,
44
+ bos_token_id=tokenizer.bos_token_id,
45
+ eos_token_id=tokenizer.eos_token_id,
46
+ )
47
+ output = tokenizer.decode(output_ids[0])
48
+ output = output.replace(prompt, "")
49
+ output = output.split(tokenizer.eos_token)[0]
50
+ return output.strip()
51
+
52
+
53
+ prompt_template = """
54
+ 以下は、タスクを説明する指示と、文脈のある入力の組み合わせです。要求を適切に満たす応答を書きなさい。
55
+
56
+ ### 指示:
57
+ {question}
58
+
59
+ ### 入力:
60
+ {context}
61
+
62
+ ### 応答:
63
+ """
64
+ question = "楽曲『約束はいらない』でデビューした、声優は誰?"
65
+ context = """
66
+ Suara 大阪府立豊中高等学校を経て大阪外国語大学でインドネシア語を専攻中にバンド・ユニットを組んで音楽活動を始めた。普段はお笑い番組が大好きなこともあってよく喋るほうだが、東京の仕事で標準語の喋りをする時は、
67
+ 早見沙織 声優デビュー時より、数多くの主題歌やキャラクターソングを担当し、バラードからポップス、ヒットソングのカバー曲や英語の楽曲など、様々な曲を歌いこなす。2009年には吉田仁美とのユニット「blue dro
68
+ 約束はいらない 「約束はいらない」(やくそくはいらない)は、坂本真綾のデビューシングル。
69
+ 約束はいらない 坂本真綾の歌手デビュー作品。当時坂本はまだ無名の声優であったが、同曲がテーマソングとなったアニメ『天空のエスカフローネ』とともに知名度を上げることとなる。後に「指輪」が同アニメの劇場版映画の主題歌とな
70
+ 坂本真綾 本格的な歌手活動は、1996年にテレビアニメ『天空のエスカフローネ』へ出演したことがきっかけで始めており、同作のオープニングテーマソングである「約束はいらない」(岩里祐穂作詞、菅野よう子作曲)をシング
71
+ """.strip()
72
+
73
+ prompt = prompt_template.format(question=question, context=context)
74
+ print(generate(prompt))
75
+ # => 坂本真綾
76
+ ```
77
+