Edit model card

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

使用本模型生成的任何信息均需用户自行判断其适用性,并承担全部风险。作者对本模型生成的回答不做任何担保、不负任何责任。如本模型内容涉及侵权,请及时与作者联系以便删除相关内容。

Downloads last month
0
Inference Examples
Unable to determine this model's library. Check the docs .