File size: 9,845 Bytes
30e0a2e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
Quantization made by Richard Erkhov.

[Github](https://github.com/RichardErkhov)

[Discord](https://discord.gg/pvy7H8DZMG)

[Request more models](https://github.com/RichardErkhov/quant_request)


SniffyOtter-7B-Novel-Writing-NSFW - GGUF
- Model creator: https://huggingface.co/Aratako/
- Original model: https://huggingface.co/Aratako/SniffyOtter-7B-Novel-Writing-NSFW/


| Name | Quant method | Size |
| ---- | ---- | ---- |
| [SniffyOtter-7B-Novel-Writing-NSFW.Q2_K.gguf](https://huggingface.co/RichardErkhov/Aratako_-_SniffyOtter-7B-Novel-Writing-NSFW-gguf/blob/main/SniffyOtter-7B-Novel-Writing-NSFW.Q2_K.gguf) | Q2_K | 2.53GB |
| [SniffyOtter-7B-Novel-Writing-NSFW.IQ3_XS.gguf](https://huggingface.co/RichardErkhov/Aratako_-_SniffyOtter-7B-Novel-Writing-NSFW-gguf/blob/main/SniffyOtter-7B-Novel-Writing-NSFW.IQ3_XS.gguf) | IQ3_XS | 2.81GB |
| [SniffyOtter-7B-Novel-Writing-NSFW.IQ3_S.gguf](https://huggingface.co/RichardErkhov/Aratako_-_SniffyOtter-7B-Novel-Writing-NSFW-gguf/blob/main/SniffyOtter-7B-Novel-Writing-NSFW.IQ3_S.gguf) | IQ3_S | 2.96GB |
| [SniffyOtter-7B-Novel-Writing-NSFW.Q3_K_S.gguf](https://huggingface.co/RichardErkhov/Aratako_-_SniffyOtter-7B-Novel-Writing-NSFW-gguf/blob/main/SniffyOtter-7B-Novel-Writing-NSFW.Q3_K_S.gguf) | Q3_K_S | 2.95GB |
| [SniffyOtter-7B-Novel-Writing-NSFW.IQ3_M.gguf](https://huggingface.co/RichardErkhov/Aratako_-_SniffyOtter-7B-Novel-Writing-NSFW-gguf/blob/main/SniffyOtter-7B-Novel-Writing-NSFW.IQ3_M.gguf) | IQ3_M | 3.06GB |
| [SniffyOtter-7B-Novel-Writing-NSFW.Q3_K.gguf](https://huggingface.co/RichardErkhov/Aratako_-_SniffyOtter-7B-Novel-Writing-NSFW-gguf/blob/main/SniffyOtter-7B-Novel-Writing-NSFW.Q3_K.gguf) | Q3_K | 3.28GB |
| [SniffyOtter-7B-Novel-Writing-NSFW.Q3_K_M.gguf](https://huggingface.co/RichardErkhov/Aratako_-_SniffyOtter-7B-Novel-Writing-NSFW-gguf/blob/main/SniffyOtter-7B-Novel-Writing-NSFW.Q3_K_M.gguf) | Q3_K_M | 3.28GB |
| [SniffyOtter-7B-Novel-Writing-NSFW.Q3_K_L.gguf](https://huggingface.co/RichardErkhov/Aratako_-_SniffyOtter-7B-Novel-Writing-NSFW-gguf/blob/main/SniffyOtter-7B-Novel-Writing-NSFW.Q3_K_L.gguf) | Q3_K_L | 3.56GB |
| [SniffyOtter-7B-Novel-Writing-NSFW.IQ4_XS.gguf](https://huggingface.co/RichardErkhov/Aratako_-_SniffyOtter-7B-Novel-Writing-NSFW-gguf/blob/main/SniffyOtter-7B-Novel-Writing-NSFW.IQ4_XS.gguf) | IQ4_XS | 3.67GB |
| [SniffyOtter-7B-Novel-Writing-NSFW.Q4_0.gguf](https://huggingface.co/RichardErkhov/Aratako_-_SniffyOtter-7B-Novel-Writing-NSFW-gguf/blob/main/SniffyOtter-7B-Novel-Writing-NSFW.Q4_0.gguf) | Q4_0 | 3.83GB |
| [SniffyOtter-7B-Novel-Writing-NSFW.IQ4_NL.gguf](https://huggingface.co/RichardErkhov/Aratako_-_SniffyOtter-7B-Novel-Writing-NSFW-gguf/blob/main/SniffyOtter-7B-Novel-Writing-NSFW.IQ4_NL.gguf) | IQ4_NL | 3.87GB |
| [SniffyOtter-7B-Novel-Writing-NSFW.Q4_K_S.gguf](https://huggingface.co/RichardErkhov/Aratako_-_SniffyOtter-7B-Novel-Writing-NSFW-gguf/blob/main/SniffyOtter-7B-Novel-Writing-NSFW.Q4_K_S.gguf) | Q4_K_S | 3.86GB |
| [SniffyOtter-7B-Novel-Writing-NSFW.Q4_K.gguf](https://huggingface.co/RichardErkhov/Aratako_-_SniffyOtter-7B-Novel-Writing-NSFW-gguf/blob/main/SniffyOtter-7B-Novel-Writing-NSFW.Q4_K.gguf) | Q4_K | 4.07GB |
| [SniffyOtter-7B-Novel-Writing-NSFW.Q4_K_M.gguf](https://huggingface.co/RichardErkhov/Aratako_-_SniffyOtter-7B-Novel-Writing-NSFW-gguf/blob/main/SniffyOtter-7B-Novel-Writing-NSFW.Q4_K_M.gguf) | Q4_K_M | 4.07GB |
| [SniffyOtter-7B-Novel-Writing-NSFW.Q4_1.gguf](https://huggingface.co/RichardErkhov/Aratako_-_SniffyOtter-7B-Novel-Writing-NSFW-gguf/blob/main/SniffyOtter-7B-Novel-Writing-NSFW.Q4_1.gguf) | Q4_1 | 4.24GB |
| [SniffyOtter-7B-Novel-Writing-NSFW.Q5_0.gguf](https://huggingface.co/RichardErkhov/Aratako_-_SniffyOtter-7B-Novel-Writing-NSFW-gguf/blob/main/SniffyOtter-7B-Novel-Writing-NSFW.Q5_0.gguf) | Q5_0 | 4.65GB |
| [SniffyOtter-7B-Novel-Writing-NSFW.Q5_K_S.gguf](https://huggingface.co/RichardErkhov/Aratako_-_SniffyOtter-7B-Novel-Writing-NSFW-gguf/blob/main/SniffyOtter-7B-Novel-Writing-NSFW.Q5_K_S.gguf) | Q5_K_S | 4.65GB |
| [SniffyOtter-7B-Novel-Writing-NSFW.Q5_K.gguf](https://huggingface.co/RichardErkhov/Aratako_-_SniffyOtter-7B-Novel-Writing-NSFW-gguf/blob/main/SniffyOtter-7B-Novel-Writing-NSFW.Q5_K.gguf) | Q5_K | 4.78GB |
| [SniffyOtter-7B-Novel-Writing-NSFW.Q5_K_M.gguf](https://huggingface.co/RichardErkhov/Aratako_-_SniffyOtter-7B-Novel-Writing-NSFW-gguf/blob/main/SniffyOtter-7B-Novel-Writing-NSFW.Q5_K_M.gguf) | Q5_K_M | 4.78GB |
| [SniffyOtter-7B-Novel-Writing-NSFW.Q5_1.gguf](https://huggingface.co/RichardErkhov/Aratako_-_SniffyOtter-7B-Novel-Writing-NSFW-gguf/blob/main/SniffyOtter-7B-Novel-Writing-NSFW.Q5_1.gguf) | Q5_1 | 5.07GB |
| [SniffyOtter-7B-Novel-Writing-NSFW.Q6_K.gguf](https://huggingface.co/RichardErkhov/Aratako_-_SniffyOtter-7B-Novel-Writing-NSFW-gguf/blob/main/SniffyOtter-7B-Novel-Writing-NSFW.Q6_K.gguf) | Q6_K | 5.53GB |
| [SniffyOtter-7B-Novel-Writing-NSFW.Q8_0.gguf](https://huggingface.co/RichardErkhov/Aratako_-_SniffyOtter-7B-Novel-Writing-NSFW-gguf/blob/main/SniffyOtter-7B-Novel-Writing-NSFW.Q8_0.gguf) | Q8_0 | 7.17GB |




Original model description:
---
license: cc-by-nc-4.0
datasets:
- Aratako/Syosetu711K-Cleaned-158K-Instruct
language:
- ja
library_name: transformers
tags:
- not-for-all-audiences
- nsfw
base_model:
- Elizezen/SniffyOtter-7B
---
# SniffyOtter-7B-Novel-Writing-NSFW
[GGUF版はこちら/Click here for the GGUF version](https://huggingface.co/Aratako/SniffyOtter-7B-Novel-Writing-NSFW-GGUF)

## 概要

[Elizezen/SniffyOtter-7B](https://huggingface.co/Elizezen/SniffyOtter-7B)をベースに、NSFW特化で小説生成用のinstruction tuningを施したモデルです。

ジャンルやクオリティ、キーワードや過激さを指定すると、それに従った小説を生成するようにinstruction tuningしています。

[Aratako/Antler-7B-Novel-Writing](https://huggingface.co/Aratako/Antler-7B-Novel-Writing)との違いは主に以下の点になります。

- 元モデルを[Elizezen/Antler-7B](https://huggingface.co/Elizezen/Antler-7B)から[Elizezen/SniffyOtter-7B](https://huggingface.co/Elizezen/SniffyOtter-7B)へ変更
  - そのため、ライセンスがCC-BY-NC-4.0となります
- 学習データをNSFWのものに限定
  - [Aratako/Syosetu711K-Cleaned-158K-Instruct](https://huggingface.co/datasets/Aratako/Syosetu711K-Cleaned-158K-Instruct)から、NSFWのテキストのみを抽出
  - さらに、テキストを100文字ずつに分割し、[oshizo/japanese-sexual-moderation-v2](https://huggingface.co/oshizo/japanese-sexual-moderation-v2)を利用してsexuality scoreを取得し、テキスト内の平均スコアが0.4以上のものを抽出

## プロンプトフォーマット
Mistralのchat templateを利用してください。また、学習に利用したデータのフォーマットの関係上、以下のような形式が望ましいと思われます。

```
[INST] {小説生成の指示}
ジャンル:{ジャンル}
クオリティ:{クオリティを示す数値(0から3)}
キーワード:{小説の概要を示すタグ・キーワードを読点区切りで羅列}
過激さ:{表現の過激さを示す数値(0~3、高い方がより過激)} [/INST] 
```

## プロンプト内で指定する属性について
本モデルは学習時の指示にジャンルやキーワード、クオリティ、過激さなどを追加して学習しているため、それらの属性を指定することである程度出力の制御が可能です。

### ジャンル
[なろうR18小説API](https://dev.syosetu.com/xman/api/)における`nocgenre`のジャンルで学習しています。具体的には以下のものを学習時に使っています。この形式で指定するのが望ましいかと思われます。
- 男性向け、女性向け、BL、大人向け ※APIページ上での表記からやや変更して学習しています。

### クオリティ
本モデルの学習に使用した[データセット](https://huggingface.co/datasets/Aratako/Syosetu711K-Cleaned-158K-instruct)の大本である[RyokoAI/Syosetu711K](https://huggingface.co/datasets/RyokoAI/Syosetu711K)のq-scoreを利用して学習時のレコードにクオリティタグをつけています。

[使用したデータセット](https://huggingface.co/datasets/Aratako/Syosetu711K-Cleaned-158K-instruct)は既にq-scoreが0.8以上の高品質のものをフィルターしてありますが、さらにそれを25%ずつに分け、下から0、1、2、3とラベリングしています。3を指定するとより高品質な出力になる事が期待されます。

### 過激さ
学習テキストに対して[oshizo/japanese-sexual-moderation-v2](https://huggingface.co/oshizo/japanese-sexual-moderation-v2)を利用して取得したsexuality scoreの平均値を25%ずつ分割し、低い方から0、1、2、3とラベリングして学習しています。大きい数値を指定するとより過激な表現になる事が想定されます。

## 学習関連の情報

### 使用データセット
- [Aratako/Syosetu711K-Cleaned-158K-instruct](https://huggingface.co/Aratako/Syosetu711K-Cleaned-158K-instruct)
  - 上記データセットのうち概要で説明した処理を行いフィルタしたデータを利用

## 学習の設定
RunpodでGPUサーバを借り、A6000x4で学習を行いました。主な学習パラメータは以下の通りです。
- lora_r: 128
- lisa_alpha: 256
- lora_dropout: 0.05
- lora_target_modules: ["q_proj", "k_proj", "v_proj", "o_proj", "gate_proj", "up_proj", "down_proj", "lm_head"]
- learning_rate: 2e-5
- num_train_epochs: 10 epochs
- batch_size: 64
- max_seq_length: 4096

## ライセンス
元モデルである[Elizezen/SniffyOtter-7B](https://huggingface.co/Elizezen/SniffyOtter-7B)と同じく、CC-BY-NC-4.0の元配布します。