🚀 Hicoder-R1-Distill-Gemma-27B
Hicoder-R1-Distill-Gemma-27B 是一個基於 Google 的 Gemma-3 27B 基礎模型微調的大型語言模型。它專注于思維鏈推理和代碼生成任務,能有效解決複雜編碼問題,為開發者提供高效的代碼生成和解釋方案。
🚀 快速開始
你可以通過 Hugging Face transformers
庫來使用此模型。以下是使用示例:
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_id = "tonyli8623/Hicoder-R1-Distill-Gemma-27B"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto"
)
prompt_simple = "編寫一個 Python 函數來計算一個數的階乘。"
messages_simple = [
{"role": "user", "content": prompt_simple}
]
input_ids_simple = tokenizer.apply_chat_template(messages_simple, tokenize=True, add_generation_prompt=True, return_tensors="pt").to(model.device)
outputs_simple = model.generate(
input_ids_simple,
max_new_tokens=150,
do_sample=True,
temperature=0.7,
top_k=50,
top_p=0.95
)
response_simple = tokenizer.decode(outputs_simple[0][input_ids_simple.shape[1]:], skip_special_tokens=True)
print("--- 簡單代碼生成 ---")
print(response_simple)
prompt_cot = """請逐步思考如何編寫一個 Python 函數,使用埃拉託斯特尼篩法 (Sieve of Eratosthenes) 找出小於等於給定整數 'n' 的所有素數。然後,提供該函數。
讓我們分解一下步驟:
1. 理解埃拉託斯特尼篩法的原理。
2. 概述函數中需要的步驟。
3. 基於概述編寫 Python 代碼。"""
messages_cot = [
{"role": "user", "content": prompt_cot}
]
input_ids_cot = tokenizer.apply_chat_template(messages_cot, tokenize=True, add_generation_prompt=True, return_tensors="pt").to(model.device)
outputs_cot = model.generate(
input_ids_cot,
max_new_tokens=500,
do_sample=True,
temperature=0.6,
top_k=50,
top_p=0.95
)
response_cot = tokenizer.decode(outputs_cot[0][input_ids_cot.shape[1]:], skip_special_tokens=True)
print("\n--- 帶 CoT 的代碼生成 ---")
print(response_cot)
提示詞技巧 (Prompting):為了獲得最佳效果,尤其是在需要 CoT 推理時,請明確要求模型“逐步思考”或“在代碼前提供你的推理過程”。如添加 system prompts "你是一位精通各種編程語言的代碼工程師。在回答之前,請仔細思考問題,並創建一個邏輯連貫的思考過程,以開始,以結束,思考完後給出答案。"
✨ 主要特性
- 增強的 CoT 推理能力:經過專門訓練,能夠在提供最終答案之前將複雜問題分解為中間步驟,這對於複雜的編碼或算法任務特別有用。
- 強大的編碼能力:能生成、解釋、調試和翻譯多種編程語言(如 Python、JavaScript、Java、C++、SQL 等)的代碼。
- 基於 Gemma-3:構建於 Google 強大且高效的 Gemma-3 27B 模型架構之上。
- 蒸餾增強 (推測):可能受益於知識蒸餾,相對於在目標任務上的標準微調,性能有所提升。
📚 詳細文檔
模型概述
Hicoder-R1-Distill-Gemma-27B 是一個基於 Google Gemma-3 27B 基礎模型進行微調的大型語言模型。該模型專門針對思維鏈 (Chain-of-Thought, CoT) 推理和代碼生成任務進行了優化。
屬性 |
詳情 |
基礎模型 |
google/gemma-2-27b (或指定使用的確切變體,例如 gemma-2-27b-it) |
微調者 |
[您的姓名/組織名稱] |
專注領域 |
思維鏈 (CoT)、代碼生成、代碼解釋、代碼調試 |
語言 |
主要使用英文進行提示和推理,可生成多種編程語言的代碼 |
侷限性與偏見
- 該模型基於 Gemma-3,繼承了其能力和侷限性。
- 儘管針對編碼進行了微調,它仍可能生成不正確、低效或不安全的代碼。請務必仔細審查和測試生成的代碼。
- 模型的知識僅限於其訓練數據的截止日期。
- 與所有大型語言模型一樣,它可能表現出基礎訓練數據中存在的偏見。
- 思維鏈推理可能並非總是完美或符合邏輯。
許可證
該模型的許可證取決於基礎 Gemma-3 模型的許可證以及您可能施加的任何附加條款。Gemma-3 模型通常受 "Gemma 使用條款" 的約束。請查閱模型附帶的具體許可證文件或 Gemma 使用條款。
- Gemma 使用條款:[指向 Google Gemma 條款的鏈接, 例如: https://ai.google.dev/gemma/terms]
- 微調特定許可證 (如有):[在此說明您是否添加了 Apache 2.0, MIT 等許可證,或聲明其遵循基礎模型的許可證]
引用
如果您在研究或工作中使用此模型,請考慮引用:
@misc{hicoder_r1_distill_gemma_27b_[年份],
title={Hicoder-R1-Distill-Gemma-27B: 一個專注于思維鏈和代碼生成的模型},
author={[您的姓名/組織名稱]},
year={[發佈年份]},
howpublished={\url{[模型 Hub 或倉庫的鏈接]}}
}
@misc{gemma2_2024,
title={Gemma 3 Technical Report},
author={Gemma Team, Google},
year={2024},
howpublished={\url{https://ai.google.dev/gemma}} % Replace with actual Gemma 2 paper/report link if available
}
聯繫信息
對於問題、反饋或疑問,請聯繫 tonyli288@gmail.com。
⚠️ 重要提示
該模型可能生成不正確、低效或不安全的代碼,請務必仔細審查和測試生成的代碼。
💡 使用建議
為了獲得最佳效果,尤其是在需要 CoT 推理時,請明確要求模型“逐步思考”或“在代碼前提供你的推理過程”。