🚀 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 推理时,请明确要求模型“逐步思考”或“在代码前提供你的推理过程”。