模型简介
模型特点
模型能力
使用案例
🚀 Ko-Gemma-2-9B-IT模型
Ko-Gemma-2-9B-IT 是Gemma系列模型中的韩语对话模型。它是一个仅含解码器的文本生成大语言模型,支持韩语。该模型为用户提供了在韩语环境下进行文本交互的能力,可用于问答、总结等多种自然语言处理任务。
🚀 快速开始
安装依赖
你必须为Gemma2模型安装 transformers >= 4.42.3
。
pip install transformers==4.42.3 accelerate
使用示例
基础用法
使用 pipeline
进行文本生成:
import transformers
import torch
model_id = "rtzr/ko-gemma-2-9b-it"
pipeline = transformers.pipeline(
"text-generation",
model=model_id,
model_kwargs={"torch_dtype": torch.bfloat16},
device_map="auto",
)
pipeline.model.eval()
instruction = "서울의 유명한 관광 코스를 만들어줄래?"
messages = [
{"role": "user", "content": f"{instruction}"}
]
prompt = pipeline.tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
terminators = [
pipeline.tokenizer.eos_token_id,
pipeline.tokenizer.convert_tokens_to_ids("<end_of_turn>")
]
outputs = pipeline(
prompt,
max_new_tokens=2048,
eos_token_id=terminators,
do_sample=True,
temperature=0.6,
top_p=0.9,
)
print(outputs[0]["generated_text"][len(prompt):])
高级用法
使用 AutoModel
进行文本生成:
import os
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_id = "rtzr/ko-gemma-2-9b-it"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
)
model.eval()
instruction = "서울의 유명한 관광 코스를 만들어줄래?"
messages = [
{"role": "user", "content": f"{instruction}"}
]
input_ids = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
return_tensors="pt"
).to(model.device)
terminators = [
tokenizer.eos_token_id,
tokenizer.convert_tokens_to_ids("<end_of_turn>")
]
outputs = model.generate(
input_ids,
max_new_tokens=2048,
eos_token_id=terminators,
do_sample=True,
temperature=0.6,
top_p=0.9,
)
print(tokenizer.decode(outputs[0][input_ids.shape[-1]:], skip_special_tokens=True))
量化版本使用示例
使用 bitsandbytes
进行8位精度量化:
# pip install bitsandbytes
from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig
model_id = "rtzr/ko-gemma-2-9b-it"
quantization_config_8bit = BitsAndBytesConfig(load_in_8bit=True)
# quantization_config_4bit = BitsAndBytesConfig(load_in_4bit=True)
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
quantization_config=quantization_config_8bit,
# quantization_config=quantization_config_4bit,
low_cpu_mem_usage=True,
)
model.eval()
instruction = "서울의 유명한 관광 코스를 만들어줄래?"
messages = [
{"role": "user", "content": f"{instruction}"}
]
input_ids = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
return_tensors="pt"
).to(model.device)
terminators = [
tokenizer.eos_token_id,
tokenizer.convert_tokens_to_ids("<end_of_turn>")
]
outputs = model.generate(
input_ids,
max_new_tokens=2048,
eos_token_id=terminators,
do_sample=True,
temperature=0.6,
top_p=0.9,
)
print(tokenizer.decode(outputs[0][input_ids.shape[-1]:], skip_special_tokens=True))
VLLM使用示例
当使用 vllm==0.5.1
时,Gemma2模型无法加载,并会出现以下 问题。因此,建议使用 vllm/vllm-openai:latest
Docker 镜像或 vllm==0.5.0.post1
。
#!/bin/bash
VLLM_ATTENTION_BACKEND=FLASHINFER
MODEL_NAME="rtzr/ko-gemma-2-9b-it"
MODEL_PATH="YOUR_PATH/${MODEL_NAME}"
docker run --rm --gpus all \
-p 8000:8000 \
--shm-size=12gb --ulimit memlock=-1 --ulimit stack=67108864 \
-e VLLM_ATTENTION_BACKEND=${VLLM_ATTENTION_BACKEND} \
-v $MODEL_PATH:/vllm-workspace/${MODEL_NAME} \
vllm/vllm-openai:latest \
--model ${MODEL_NAME} --dtype auto \
--gpu-memory-utilization 0.8
✨ 主要特性
- 韩语支持:专门为韩语设计,能够处理韩语输入并生成高质量的韩语输出。
- 微调优化:在精心策划的高质量数据集上进行了监督微调(SFT),并使用了基于人类反馈的直接偏好优化(DPO)训练。
- 轻量级架构:属于Gemma系列轻量级模型,适合在资源有限的环境中部署。
📦 安装指南
安装依赖时,需确保安装 transformers >= 4.42.3
,可使用以下命令:
pip install transformers==4.42.3 accelerate
📚 详细文档
模型详情
Ko-Gemma-2-9B-IT
Ko-Gemma-2-9B-IT 是Gemma系列模型中的韩语对话模型。它是一个仅含解码器的文本生成大语言模型,支持韩语。我们使用监督微调(SFT)在精心策划的高质量数据集上对该模型进行了微调,并使用 直接偏好优化 进行了基于人类反馈的训练。使用的数据集包括:
部分数据集在训练时进行了部分使用和翻译。特别是在翻译过程中出现了大量重复,因此基于N-gram进行了预处理。
输入和输出
- 输入:文本字符串,如问题、提示或待总结的文档。
- 输出:针对输入生成的韩语文本,如问题的答案或文档的摘要。
Google Gemma 2
Gemma是谷歌推出的一系列轻量级、最先进的开放模型,基于与创建Gemini模型相同的研究和技术构建。它们是仅含解码器的文本生成大语言模型,支持英语,预训练和指令微调变体的权重均开放。Gemma模型适用于各种文本生成任务,包括问答、总结和推理。其相对较小的规模使其能够在笔记本电脑、台式机或自有云基础设施等资源有限的环境中部署,使更多人能够使用最先进的AI模型,促进创新。
基准测试分数
我们使用 LogicKor 代码进行了内部评估。虽然公开的LogicKor代码以GPT-4为评估标准,但我们的内部评估以GPT-4o为标准。公开分数将在发布后添加。以下分数仅包括零样本评估。
模型 | 数学 | 推理 | 写作 | 编码 | 理解 | 语法 | 单任务总分 | 多任务总分 | 总体得分 |
---|---|---|---|---|---|---|---|---|---|
rtzr/ko-gemma-2-9b-it | 8.71 / 8.00 | 9.14 / 8.00 | 9.43 / 9.29 | 9.00 / 9.43 | 9.57 / 9.86 | 7.14 / 5.00 | 8.83 | 8.26 | 8.55 |
google/gemma-2-9b-it | 8.57 / 7.71 | 8.86 / 7.00 | 9.29 / 9.29 | 9.29 / 9.57 | 8.57 / 8.29 | 6.86 / 3.86 | 8.57 | 7.62 | 8.10 |
MLP-KTLim/llama-3-Korean-Bllossom-8B | 6.43 / 5.71 | 6.86 / 5.14 | 9.14 / 8.57 | 8.29 / 8.14 | 8.43 / 9.29 | 5.71 / 5.29 | 7.48 | 7.02 | 7.25 |
yanolja/EEVE-Korean-Instruct-10.8B-v1.0 | 5.57 / 4.29 | 8.14 / 5.14 | 8.29 / 6.29 | 6.43 / 7.86 | 9.29 / 8.57 | 6.57 / 3.71 | 7.38 | 5.98 | 6.68 |
allganize/Llama-3-Alpha-Ko-8B-Instruct | 4.57 / 3.00 | 6.86 / 6.43 | 7.43 / 6.71 | 8.43 / 8.43 | 7.71 / 8.71 | 6.71 / 4.43 | 6.95 | 6.29 | 6.62 |
访问Gemma
要在Hugging Face上访问Gemma,你需要审查并同意谷歌的使用许可。为此,请确保你已登录Hugging Face并点击下方按钮。请求将立即处理。 [确认许可](Acknowledge license)
🔧 技术细节
模型使用监督微调(SFT)在精心策划的高质量数据集上进行了微调,并使用了基于人类反馈的直接偏好优化(DPO)训练。部分数据集在训练时进行了部分使用和翻译,针对翻译过程中出现的大量重复,基于N-gram进行了预处理。
📄 许可证
Gemma 2 许可证:https://ai.google.dev/gemma/terms
引用
@article{RTZR,
title={ko-gemma-2-9b-it},
author={Return Zero Team},
year={2024},
url={https://huggingface.co/rtzr/ko-gemma-2-9b-it}
}
@article{gemma_2024,
title={Gemma},
url={https://www.kaggle.com/m/3301},
DOI={10.34740/KAGGLE/M/3301},
publisher={Kaggle},
author={Gemma Team},
year={2024}
}



