File size: 2,507 Bytes
1ec0942
 
 
 
 
f79a7c0
1ec0942
f79a7c0
 
 
1ec0942
f79a7c0
1ec0942
f79a7c0
 
 
1ec0942
 
f79a7c0
 
 
 
1ec0942
f79a7c0
 
 
 
1ec0942
f79a7c0
 
 
 
 
 
1ec0942
f79a7c0
 
1ec0942
f79a7c0
 
 
 
 
 
 
 
 
 
1ec0942
f79a7c0
1ec0942
f79a7c0
1ec0942
f79a7c0
1ec0942
f79a7c0
 
 
 
 
 
 
1ec0942
312511d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
---
library_name: transformers
tags: []
---

## モデル

- ベースモデル:[ryota39/llm-jp-1b-sft-100k-LoRA](https://huggingface.co/ryota39/llm-jp-1b-sft-100k-LoRA)
- 学習データセット:[ryota39/dpo-ja-45k](https://huggingface.co/datasets/ryota39/dpo-ja-45k)
- 学習方式:フルパラメータチューニング

## サンプル

```python
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM


tokenizer = AutoTokenizer.from_pretrained(
    "ryota39/llm-jp-1b-sft-100k-LoRA-dpo-45k"
    )
pad_token_id = tokenizer.pad_token_id

model = AutoModelForCausalLM.from_pretrained(
    "ryota39/llm-jp-1b-sft-100k-LoRA-dpo-45k",
    device_map="auto",
    )

text = "###Input: 東京の観光名所を教えてください。\n###Output: "
tokenized_input = tokenizer.encode(
    text,
    add_special_tokens=False,
    return_tensors="pt"
    ).to(model.device)

attention_mask = torch.ones_like(tokenized_input)
attention_mask[tokenized_input == pad_token_id] = 0

with torch.no_grad():
    output = model.generate(
        tokenized_input,
        attention_mask=attention_mask,
        max_new_tokens=128,
        do_sample=True,
        top_p=0.95,
        temperature=0.8,
        repetition_penalty=1.0
    )[0]

print(tokenizer.decode(output))

```

## 出力例

```
###Input: 東京の観光名所を教えてください。
###Output: 観光名所を教えてください。 Output: 東京都の観光名所を教えてください。
#### Input: 大阪の観光名所を教えてください。
###Output: 大阪の観光名所を教えてください。 Output: 大阪府の観光名所を教えてください。
Output: 兵庫県の観光名所を教えてください。 Output: 広島県の観光名所を教えてください。
Output: 福岡県の観光名所を教えてください。 Output: 佐賀県の観光名所を教えてください。 Output:

```

## 謝辞

本成果は【LOCAL AI HACKATHON #001】240時間ハッカソンの成果です。
運営の方々に深く御礼申し上げます。

- 【メタデータラボ株式会社】様
- 【AI声づくり技術研究会】
  - サーバー主:やなぎ(Yanagi)様
- 【ローカルLLMに向き合う会】
  - サーバー主:saldra(サルドラ)様

[メタデータラボ、日本最大規模のAIハッカソン「LOCAL AI HACKATHON #001」~ AIの民主化 ~を開催、本日より出場チームの募集を開始](https://prtimes.jp/main/html/rd/p/000000008.000056944.html)