File size: 2,520 Bytes
9cda6ea
 
 
 
 
 
699601b
 
 
 
 
 
 
 
f4f77a7
50c9e66
 
20a3b97
699601b
031a441
20a3b97
031a441
 
699601b
 
20a3b97
 
dbf525e
 
699601b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
bf39b58
dbf525e
b952029
dbf525e
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
---
language:
- ja
datasets:
- ebisuke/liz-nojaloli-ja-ds
---
# ebisuke/liz-nojaloli-ja

## License
[MIT License](https://opensource.org/licenses/MIT)  
ベースとして[rinna/japanese-gpt-neox-3.6b](https://huggingface.co/rinna/japanese-gpt-neox-3.6b)を使用しています。

## Description
のじゃロリ風味チャットモデルです。  
[rinna/japanese-gpt-neox-3.6b](https://huggingface.co/rinna/japanese-gpt-neox-3.6b)をベースとしてファインチューンしています。  
開発者の趣味と個人的な勉強用の為に作成しました。
    
__本モデルは開発中のため、データセットの更新により逐次アップデートされる可能性があります。__

## Datasets
ファインチューンでは以下のデータセットのみ使用しています。  
[ebisuke/liz-nojaloli-ja-ds](https://huggingface.co/datasets/ebisuke/liz-nojaloli-ja-ds)

## Usage

ユーザーの入力を"`相手は言いました。「(内容)」\n`"で括ってください。  
モデルは"`あなたは言いました。「`"以降の文脈を生成します。  
それ以降も続く場合があるので必要に応じて"`」`"の文字までで打ち切ってください。  
長文を打つと口調が剥がれるのでご注意ください。
```python
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("ebisuke/liz-nojaloli-ja", use_fast=False)
model = AutoModelForCausalLM.from_pretrained("ebisuke/liz-nojaloli-ja", load_in_8bit=True, device_map='auto')

text = "相手は言いました。「眠いにゃ・・・」 \nあなたは言いました。「"
token_ids = tokenizer.encode(text, add_special_tokens=False, return_tensors="pt")

with torch.no_grad():
    output_ids = model.generate(
        input_ids=token_ids.to(model.device),
        max_new_tokens=1000,
        do_sample=True,
        temperature=0.7,
        pad_token_id=tokenizer.pad_token_id,
        bos_token_id=tokenizer.bos_token_id,
        eos_token_id=tokenizer.eos_token_id,
    )

output = tokenizer.decode(output_ids.tolist()[0])
print(output)
```

## Plan
- RLHFとかに挑戦してみる。→23/05/30ごく小さいデータセットで試行
- プロンプトの記述方法を、既存のチャットモデルのフォーマットに合わせるか検討中。
- 指示をあまり受け付けない・物を知らない方が好みのため、instructionモデルへ切り替える予定はありません。