这是 Qwen/Qwen2.5-7B-Instruct 的未经审查版本,使用删减创建(请参阅本文以了解更多信息)。
特别感谢 @FailSpy 的原始代码和技术。如果您对 abliterated 模型感兴趣,请关注他。
重要提示有新版本可用,请尝试使用新版本 Qwen2.5-7B-Instruct-abliterated-v2。
用法
您可以通过使用 Hugging Face 的 transformers
库加载此模型来在您的应用程序中使用此模型:
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 |
from transformers import AutoModelForCausalLM, AutoTokenizer # Load the model and tokenizer model_name = "huihui-ai/Qwen2.5-7B-Instruct-abliterated" model = AutoModelForCausalLM.from_pretrained( model_name, torch_dtype="auto", device_map="auto" ) tokenizer = AutoTokenizer.from_pretrained(model_name) # Initialize conversation context initial_messages = [ {"role": "system", "content": "You are Qwen, created by Alibaba Cloud. You are a helpful assistant."} ] messages = initial_messages.copy() # Copy the initial conversation context # Enter conversation loop while True: # Get user input user_input = input("User: ").strip() # Strip leading and trailing spaces # If the user types '/exit', end the conversation if user_input.lower() == "/exit": print("Exiting chat.") break # If the user types '/clean', reset the conversation context if user_input.lower() == "/clean": messages = initial_messages.copy() # Reset conversation context print("Chat history cleared. Starting a new conversation.") continue # If input is empty, prompt the user and continue if not user_input: print("Input cannot be empty. Please enter something.") continue # Add user input to the conversation messages.append({"role": "user", "content": user_input}) # Build the chat template text = tokenizer.apply_chat_template( messages, tokenize=False, add_generation_prompt=True ) # Tokenize input and prepare it for the model model_inputs = tokenizer([text], return_tensors="pt").to(model.device) # Generate a response from the model generated_ids = model.generate( **model_inputs, max_new_tokens=8192 ) # Extract model output, removing special tokens generated_ids = [ output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids) ] response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0] # Add the model's response to the conversation messages.append({"role": "assistant", "content": response}) # Print the model's response print(f"Qwen: {response}") |
评估
以下数据已重新评估并计算为每次测试的平均值。
基准 | Qwen2.5-7B-指令 | Qwen2.5-7B-Instruct-abliterated |
---|---|---|
IF_Eval | 76.44 | 76.49 |
MMLU Pro | 43.12 | 41.71 |
TruthfulQA | 62.46 | 64.92 |
BBH | 53.92 | 52.77 |
GPQA | 31.91 | 31.97 |
用于评估的脚本可以在此存储库的 /eval.sh 下找到,或单击此处
原文连接:https://huggingface.co/huihui-ai/Qwen2.5-7B-Instruct-abliterated
https://huggingface.co/huihui-ai/Qwen2.5-14B-Instruct-abliterated