Chinese LLM MCQ Model with Neutrality Optimization - KAGGLE #3

這是NYCU深度學習課程KAGGLE #3的模型,使用Qwen2.5-7B-Instruct進行GRPO(Group Relative Policy Optimization)強化學習訓練,專注於提升模型回答的中立性和推理品質。

模型資訊

  • 基礎模型: Qwen/Qwen2.5-7B-Instruct
  • 微調方法: LoRA (r=16, alpha=32) + GRPO
  • 任務: 中文單選題問答(強調中立性推理)
  • 訓練數據: 英文翻譯版推理數據(約10,500條,佔總數據35%)
  • 特色: 中立性優化、減少偏見、多角度思考

主要特點

  1. 中立性增強: 透過GRPO訓練,中立性分數達到0.82(滿分1.0)
  2. 推理一致性: 不同提示下的答案一致性達88%
  3. 減少偏見: 顯著降低絕對化用詞和情緒化表達
  4. 多角度分析: 訓練模型從多個視角考慮問題

使用方法

基本使用

from transformers import AutoTokenizer, AutoModelForCausalLM
from peft import PeftModel
import torch

# 載入基礎模型
base_model = AutoModelForCausalLM.from_pretrained(
    \"Qwen/Qwen2.5-7B-Instruct\",
    torch_dtype=torch.float16,
    device_map=\"auto\",
    trust_remote_code=True
)

# 載入GRPO微調的LoRA
model = PeftModel.from_pretrained(
    base_model, 
    \"RayTsai/Kaggle_3_GRPO_Neutrality\"
)

# 載入tokenizer
tokenizer = AutoTokenizer.from_pretrained(\"RayTsai/Kaggle_3_GRPO_Neutrality\")

# 使用中立性提示
prompt = \"\"\"請從多元視角分析以下問題:

問題:{your_question}

選項:
A. {option_a}
B. {option_b}
C. {option_c}
D. {option_d}

請提供平衡的分析,考慮不同觀點後給出答案。\"\"\"

# 生成回答
inputs = tokenizer(prompt, return_tensors=\"pt\").to(model.device)
outputs = model.generate(
    **inputs,
    max_new_tokens=512,
    temperature=0.7,
    top_p=0.9,
    do_sample=True
)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)

兩階段推理系統(推薦)

為了獲得最佳效果,建議使用兩階段推理系統:

# Stage 1: 使用GRPO模型生成詳細推理
reasoning = generate_reasoning_with_grpo(question, options)

# Stage 2: 使用專門的提取器獲取答案
final_answer = extract_answer_from_reasoning(reasoning)

訓練細節

  • 訓練方法: Group Relative Policy Optimization (GRPO)
  • 訓練時長: 84小時(RTX 4090)
  • 數據規模: 10,500條(總數據的35%)
  • 批次大小: 16(梯度累積=2,有效批次=32)
  • 學習率: 3e-5
  • Epochs: 2

性能指標

指標 數值
中立性分數 0.82
推理一致性 88%
Private準確率 ~0.45
Public/Private差距 0.10
平均獎勵分數 0.75

中立性改善示例

改善前(標準回答)

答案絕對是C!其他選項都是錯誤的。

改善後(中立回答)

從不同角度分析這個問題:
- 選項A關注了X方面,有其合理性
- 選項B強調了Y維度,也值得考慮
- 選項C在當前語境下可能更為平衡
- 選項D提供了另一種視角

綜合各方觀點,選項C可能是相對合理的選擇,
但這並不否定其他選項在特定情況下的價值。

注意事項

  1. 輸出格式: GRPO模型的輸出格式可能不夠穩定,建議使用提供的答案提取工具
  2. 推理長度: 模型傾向生成較長的推理,可能需要設置適當的max_new_tokens
  3. 語言一致性: 雖然使用英文數據訓練,但推理時使用中文效果更好

引用

如果您使用了這個模型,請引用:

@misc{tsai2025chinese_grpo,
  title={Chinese LLM with GRPO-based Neutrality Optimization},
  author={Ray Tsai},
  year={2025},
  publisher={Hugging Face},
  journal={Hugging Face Model Hub},
  howpublished={\\url{https://huggingface.co/RayTsai/Kaggle_3_GRPO_Neutrality}}
}

作者

  • Ray Tsai (110651053)
  • NYCU 深度學習課程 2025

授權

本模型遵循Qwen2.5的原始授權條款。

相關連結

Downloads last month
2
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for RayTsai/Kaggle_3_GRPO_Neutrality

Base model

Qwen/Qwen2.5-7B
Adapter
(490)
this model