库名称:transformers
许可证:llama3
语言:
davidkim205/Ko-Llama-3-8B-Instruct
Ko-Llama-3-8B-Instruct 是为提升韩语语言模型性能而研究的多个模型之一。
该模型采用拒绝采样技术(REJECTION SAMPLING)创建数据集,并通过监督微调(Supervised Fine Tuning)进行训练。
模型详情
- 开发者:davidkim(金昌衍)
- 代码库:-
- 基础模型:meta-llama/Meta-Llama-3-8B-Instruct
- 监督微调数据集:sft_rs_140k
环境要求
若出现以下未定义符号错误,请按如下方式安装 torch:
...
RuntimeError: 导入 transformers.models.llama.modeling_llama 失败,原因如下(查看追溯信息):
/home/david/anaconda3/envs/spaces/lib/python3.10/site-packages/flash_attn_2_cuda.cpython-310-x86_64-linux-gnu.so: 未定义符号: _ZN3c104cuda9SetDeviceEi
pip install torch==2.2.0
pip install flash-attn==2.5.9.post1
使用方法
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
model_id = "davidkim205/Ko-Llama-3-8B-Instruct"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
)
while True:
prompt = input('>')
messages = [
{"role": "system", "content": "你是一个回答具体的聊天机器人。"},
{"role": "user", "content": prompt},
]
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("<|eot_id|>")
]
outputs = model.generate(
input_ids,
max_new_tokens=1024,
eos_token_id=terminators,
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))
示例输出:
解释“苹果”的含义
注意:未设置注意力掩码和填充标记ID,可能导致意外行为。为确保结果可靠,请传入输入的`attention_mask`。
为开放式生成设置`pad_token_id`为`eos_token_id`:128009。
苹果通常被认为是一种美味且营养丰富的水果。新鲜状态下可直接食用,也可混合到酸奶或冰沙等饮品中。此外,苹果种类繁多,不同品种具有不同的颜色和口感。
“苹果”一词也可能用于其他语境。例如,它可以表示因错误或不足而道歉的行为(如“道歉”)。在某些情况下,“收到苹果”可能指接受他人的歉意。
因此,“苹果”是一个多义词,其含义取决于具体语境。
基准测试
kollm_evaluation
测试地址:https://github.com/davidkim205/kollm_evaluation
任务 |
准确率 |
平均 |
0.47 |
kobest |
0.54 |
kobest_boolq |
0.57 |
kobest_copa |
0.62 |
kobest_hellaswag |
0.42 |
kobest_sentineg |
0.57 |
kobest_wic |
0.49 |
ko_truthfulqa |
0.29 |
ko_mmlu |
0.34 |
ko_hellaswag |
0.36 |
ko_common_gen |
0.76 |
ko_arc_easy |
0.33 |
KEval 评估
KEval 是一个通过学习基准测试提示和数据集来评估韩语模型的工具,旨在弥补现有 lm-evaluation-harness 的不足。
测试地址:https://huggingface.co/davidkim205/keval-7b
模型 |
平均分 |
kullm |
logickor |
wandb |
openai/gpt-4 |
6.79 |
4.66 |
8.51 |
7.21 |
openai/gpt-3.5-turbo |
6.25 |
4.48 |
7.29 |
6.99 |
davidkim205/Ko-Llama-3-8B-Instruct |
5.59 |
4.24 |
6.46 |
6.06 |
ChatGPT 评估
模型 |
平均分 |
kullm |
logickor |
wandb |
openai/gpt-4 |
7.30 |
4.57 |
8.76 |
8.57 |
openai/gpt-3.5-turbo |
6.53 |
4.26 |
7.5 |
7.82 |
davidkim205/Ko-Llama-3-8B-Instruct |
5.45 |
4.22 |
6.49 |
5.64 |