File size: 2,576 Bytes
27728f9
ce42fdb
 
 
 
27728f9
ce42fdb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---
language:
- ja
datasets:
- ebisuke/liz-nojaloli-ja-ds
---
# ebisuke/liz-nojaloli-nxja-ja

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

## Description
のじゃロリ風味チャットモデルです。  
[ebisuke/liz-nojaloli-ja](ebisuke/liz-nojaloli-ja)のバリアントです。  
  
[abeja/gpt-neox-japanese-2.7b](https://huggingface.co/abeja/gpt-neox-japanese-2.7b)をベースとしてファインチューンしています。  
開発者の趣味と個人的な勉強用の為に作成しました。

いろいろと不足しているのであまり会話は通じません。      
__本モデルは開発中のため、データセットの更新により逐次アップデートされる可能性があります。__


## 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-nxja-ja", use_fast=True)
model = AutoModelForCausalLM.from_pretrained("ebisuke/liz-nojaloli-nxja-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],skip_special_tokens=True)
print(output)
```


## Plan
- RLHFとかに挑戦してみる。
- プロンプトの記述方法を、既存のチャットモデルのフォーマットに合わせるか検討中。
- 指示をあまり受け付けない・物を知らない方が好みなので、そういうチューニングは限定的です。