项目介绍:Gemma-2-9B-Chinese-Chat
项目背景
Gemma-2-9B-Chinese-Chat是一个专为中英用户打造的指令微调语言模型。该项目基于Google的gemma-2-9b-it模型,具备角色扮演、工具使用等多样化的功能。开发团队由Shenzhi Wang、Zheng Yaowei、Guoyin Wang、Song Shiji和Gao Huang组成,项目采用了Gemma许可协议。
项目更新
截至2024年6月30日,Gemma-2-9B-Chinese-Chat已面世,它是首个基于google/gemma-2-9b-it进行专门微调的指令语言模型。项目组还提供了多个GGUF文件和官方Ollama模型,方便用户下载和使用。此外,还推出了Gemma-2-27B-Chinese-Chat,提供更强大的功能和更高的性能。
模型概述
Gemma-2-9B-Chinese-Chat使用了超过10万对偏好数据集进行微调,优化了中英双语用户的体验,尤其在角色扮演、工具使用和数学计算方面表现突出。与原始模型不同,Gemma-2-9B-Chinese-Chat显著减少了中英文混杂回答的问题。
训练框架采用的是LLaMA-Factory,细节如下:
- 使用了3个训练轮次,学习率为3e-6,采用余弦学习率调度。
- 上下文长度为8192,ORPO β值为0.05,全参数微调,优化器为paged_adamw_32bit。
使用方法
BF16模型使用说明
- 升级
transformers
库以支持Gemma-2模型,目前版本为4.42.2
。 - 使用Python脚本下载BF16模型,不包括GGUF模型。
- 使用BF16模型进行推理,示例代码提供了如何生成关于机器学习的一首诗。
from huggingface_hub import snapshot_download
snapshot_download(repo_id="shenzhi-wang/Gemma-2-9B-Chinese-Chat", ignore_patterns=["*.gguf"])
import torch
import transformers
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "/Your/Local/Path/to/Gemma-2-9B-Chinese-Chat"
dtype = torch.bfloat16
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
device_map="cuda",
torch_dtype=dtype,
)
chat = [
{"role": "user", "content": "写一首关于机器学习的诗。"},
]
input_ids = tokenizer.apply_chat_template(
chat, tokenize=True, add_generation_prompt=True, return_tensors="pt"
).to(model.device)
outputs = model.generate(
input_ids,
max_new_tokens=8192,
do_sample=True,
temperature=0.6,
top_p=0.9,
)
response = outputs[0][input_ids.shape[-1] :]
print(tokenizer.decode(response, skip_special_tokens=True))
GGUF模型使用说明
- 从gguf_models文件夹下载GGUF模型。
- 使用LM Studio版本0.2.26运行这些模型。
示例展示
模型可以在多种场景下使用,如角色扮演、功能调用、数学计算等,展示了其强大的语言理解和处理能力。以下是一些角色扮演的示例:
- 模拟周杰伦用rap回答问题,模拟鲁智深回答问题,以及和牛顿进行对话等。
通过以上功能,Gemma-2-9B-Chinese-Chat为中英文用户提供了一个强大且灵活的交互工具。用户可以根据需求,利用其丰富的功能和高效的处理能力,完成多种任务。