Update README.md
Browse files
README.md
CHANGED
@@ -1,3 +1,53 @@
|
|
1 |
-
---
|
2 |
-
license: apache-2.0
|
3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
license: apache-2.0
|
3 |
+
language:
|
4 |
+
- zh
|
5 |
+
---
|
6 |
+
|
7 |
+
# 模型介绍
|
8 |
+
本项目是一个基于大语言模型(llm)的文本风格迁移(text style transfer)项目。项目利用大语言模型来学习指定文学作品的写作风格(惯用词汇、句式结构、修辞手法、人物对话等)。利用本模型可将学习到的风格移植至其他通用文本上,即:输入一段原始文本,模型可对其改写,输出带有该风格特色的文本,达到文字修饰、润色或风格模仿的效果
|
9 |
+
|
10 |
+
训练数据包括红楼梦、三国演义、西游记、水浒传[1]
|
11 |
+
|
12 |
+
模型效果:
|
13 |
+
|
14 |
+
| | 原文 | 红楼梦 | 三国演义 | 西游记 | 水浒传 |
|
15 |
+
|---:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------|
|
16 |
+
| 0 | 严冬时节,鹅毛一样的大雪片在天空中到处飞舞着,有一个王后坐在王宫里的一扇窗子边,正在为她的女儿做针线活儿,寒风卷着雪片飘进了窗子,乌木窗台上飘落了不少雪花。 | 时值严冬,鹅毛大雪,王后坐在王宫里的一扇窗子边,为女儿做针线,只见那雪片儿卷着,卷进窗来,乌木窗台上,落了许多雪花。 | 时值严冬,鹅毛大雪,王后坐于王宫窗槛之下,为女作针线,风卷雪片,乌木窗台,纷纷落下。 | 正是:鹅毛大雪漫天飞,王后坐在王宫窗。卷雪飞来乌木窗,纷纷落落满窗雪。 | 正是:鹅毛大雪片,王后坐王宫,寒风卷雪片,乌木窗台落。 |
|
17 |
+
| 1 | 她抬头向窗外望去,一不留神,针刺进了她的手指,红红的鲜血从针口流了出来,有三点血滴落在飘进窗子的雪花上。 | 只见那丫头抬头向窗外一看,不防针刺了手指,红红的鲜血从针口流出来,有三点血滴在飘进窗子的雪花上。 | 其人抬头视之,忽刺其指,鲜血迸流,有三点血滴落于窗上。 | 你看你这等,抬头望窗外,不防针刺了手指,红红的鲜血,从针口流下来,有三点血滴落,落在窗上。 | 你看时,只见那针刺入手指,鲜血迸流,有三点血滴在窗上。 |
|
18 |
+
| 2 | 她若有所思地凝视着点缀在白雪上的鲜红血滴,又看了看乌木窗台,说道:"但愿我小女儿的皮肤长得白里透红,看起来就像这洁白的雪和鲜红的血一样,那么艳丽,那么骄嫩,头发长得就像这窗子的乌木一般又黑又亮!" | ””你若有所思,凝望白雪上鲜红血滴,又看那乌木窗台,说道:“但愿我小女儿的皮儿白里透红,像这白雪红血一般,艳丽,娇嫩,头发又黑又亮! | 其人若有所思,凝视白雪上鲜红血滴,又顾乌木窗台,曰:“但愿小女皮肤白如雪,鲜如血,艳若花,娇若柳,发如松,如此,何等艳丽,何等骄嫩,发如乌木,如此,何等黑亮!” | 你看你若有所思,凝眸看那白雪上鲜红血滴,又看那乌木窗台,道:"但愿我小女儿的皮肤,白里透红,如这白雪鲜红,艳艳如雪,娇娇如血,那般艳,那般娇,那般黑,那般亮!" | 你看那雪上鲜红血滴,又看那乌木窗台,说道:"但愿小女儿的皮肤白里透红,似这白雪鲜红血一般,艳丽,娇嫩,头发如这窗子的乌木一般又黑又亮!" |
|
19 |
+
| 3 | 她的小女儿渐渐长大了,小姑娘长得水灵灵的,真是人见人爱,美丽动人。她的皮肤真的就像雪一样的白嫩,又透着血一样的红润,头发像乌木一样的黑亮。所以王后给她取了个名字,叫白雪公主。 | 小女儿渐渐的长了,小丫头子的水灵灵的,真个人见人爱,人见人夸,真个是雪白如雪,红透如血,乌木如黑,所以王后取了个名字,叫做白雪公主。 | 其小女渐长,小女水秀,真人中之仙子,皮肤如雪,又透血如红,发如乌木,故王后以名白雪公主。 | 你看那小女儿渐渐的长高,那小丫头子渐渐的长的水灵灵的,真个人见人爱,人见人夸,真个是雪白如雪,红透如血,乌木如乌,黑亮如黑,所以王后取个名唤作白雪公主。 | 小女儿渐渐长大,小女真个水灵灵的,真个人见人爱,人见血红,人见乌木,因此王后取个名唤做白雪公主。 |
|
20 |
+
|
21 |
+
# 使用方法
|
22 |
+
模型目前支持红楼梦、三国演义、西游记、水浒传四种风格的润色,其他风格不在训练数据内,但可能也可以迁移。
|
23 |
+
|
24 |
+
提示词:
|
25 |
+
```
|
26 |
+
严冬时节,鹅毛一样的大雪片在天空中到处飞舞着,有一个王后坐在王宫里的一扇窗子边,正在为她的女儿做针线活儿,寒风卷着雪片飘进了窗子,乌木窗台上飘落了不少雪花。
|
27 |
+
|
28 |
+
---
|
29 |
+
将上述文本润色成{style}的风格
|
30 |
+
```
|
31 |
+
|
32 |
+
示例代码:
|
33 |
+
|
34 |
+
```python
|
35 |
+
import torch
|
36 |
+
from transformers import AutoModelForCausalLM, AutoTokenizer
|
37 |
+
|
38 |
+
tokenizer = AutoTokenizer.from_pretrained("wptoux/style-llm-qwen-0.5b")
|
39 |
+
model = AutoModelForCausalLM.from_pretrained("wptoux/style-llm-qwen-0.5b", torch_dtype=torch.float16, device_map='auto')
|
40 |
+
|
41 |
+
style = '红楼梦' # ['红楼梦', '三国演义', '西游记', '水浒传',]
|
42 |
+
|
43 |
+
messages = [{"role": "user", "content": txt + f'\n---\n将上述文本润色成{style}的风格'}]
|
44 |
+
input_ids = tokenizer.apply_chat_template(conversation=messages, tokenize=True, add_generation_prompt=True, return_tensors='pt').cuda()
|
45 |
+
with torch.no_grad():
|
46 |
+
output_ids = model.generate(input_ids, do_sample=False)
|
47 |
+
response = tokenizer.decode(output_ids[0][input_ids.shape[1]:], skip_special_tokens=True)
|
48 |
+
```
|
49 |
+
|
50 |
+
# 致谢
|
51 |
+
本项目在模型训练中借助了下列开源项目,在此对相关项目人员表示诚挚感谢:
|
52 |
+
|
53 |
+
[1] [https://github.com/stylellm/stylellm_models](https://github.com/stylellm/stylellm_models)。使用其数据集加工后进行训练。
|