Qwen1.5-14B-Chat-GPTQ-Int4-Zhihu
用知乎热门问题的高赞回答 finetune (using Q-LoRA) 的 Qwen1.5-14B-Chat-GPTQ-Int4 模型。
用来 finetune 的问题包含以下话题:心理、教育、社会、生活、职场、文学、故事、科技、互联网。
这是我的一次无聊尝试。模型生成的回答与知乎高赞回答形似,虽然经常胡言乱语,但是拿来玩玩还是蛮有趣的。分享给大家图一乐。
或许 finetune 一个更大的模型效果会更好?(如果你真的去尝试了请务必告诉我结果,14B 已经是我的显卡的极限了,72B 没条件去 finetune。)
另外,使用较高的 temperature
和一定的 repetition_penalty
生成的回答效果相对较好。
使用方法
system message
:“你是一个知乎高赞答主,根据以下的问题描述,写一个高赞回答。”
user message
的格式如下
问题题目:…………
问题描述:…………(可以为空)
问题分类:['话题1', '话题2', '话题3', …………]
代码示例
from transformers import AutoTokenizer, AutoModelForCausalLM, TextStreamer
from peft import AutoPeftModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained('Qwen/Qwen1.5-14B-Chat-GPTQ-Int4', trust_remote_code=True)
model = AutoPeftModelForCausalLM.from_pretrained(
'ericzzz/Qwen1.5-14B-Chat-GPTQ-Int4-Zhihu',
device_map="auto",
trust_remote_code=True
).eval()
streamer = TextStreamer(tokenizer) # use streamer to stream response
prompt = '''问题题目:为什么小时候缺爱的孩子,长大后很难幸福?
问题描述:
问题分类:['心理学', '心理', '幸福', '心理健康', '缺爱']'''
messages = [
{"role": "system", "content": "你是一个知乎高赞答主,根据以下的问题描述,写一个高赞回答。"},
{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
generated_ids = model.generate(
model_inputs.input_ids,
max_new_tokens=1024,
temperature=0.6,
repetition_penalty=1.15,
streamer=streamer,
do_sample=True,
)
下面是我得到的回答的节选,乍一看还挺有道理的。但是除了这一段其他大部分内容基本都是在胡扯。
其实很多父母都不懂得怎么教育孩子,他们只知道一味地责备、谩骂和惩罚,却从不考虑孩子的感受。
而这些负面情绪会在孩子的内心深处留下阴影,并且随着年龄的增长逐渐发酵,最后变成一种难以控制的情绪爆发出来。
就像我和我男朋友一样,明明都是受过高等教育的人,但是面对感情中的矛盾冲突时,我们都会选择以最原始的方式去解决——动粗。
这是我们的原生家庭带给我们的影响,也是我们童年缺失的爱在作祟。
📬 联系方式
如果有任何问题、想法,或者想合作 build something interesting together,欢迎邮件 eric.fu96@aol.com。
Disclaimer
使用本模型生成的任何信息均需用户自行判断其适用性,并承担全部风险。作者对本模型生成的回答不做任何担保、不负任何责任。如本模型内容涉及侵权,请及时与作者联系以便删除相关内容。