KULLM3项目介绍
KULLM3是一个由韩国大学NLP&AI实验室开发的全新的语言模型,具有先进的指令跟随能力和流畅的对话功能。它特别擅长跟随指令,其表现接近于GPT-3.5-turbo。值得注意的是,KULLM3是目前公开的韩语语言模型中表现最为出色之一。更多详情可以访问KULLM项目的Github页面。
模型描述
KULLM3是一个基于🤗 transformers库发布在Hugging Face Hub上的语言模型,由韩国大学NLP&AI实验室开发,支持韩语和英语操作。其基础模型是upstage/SOLAR-10.7B-v1.0,并遵循Apache 2.0开源许可证进行发布。
示例代码
要使用KULLM3模型,首先需要安装相关依赖:
pip install torch transformers==4.38.2 accelerate
注意,在transformers
版本4.39.0及以上的版本中,生成功能generate()
可能无法正常工作(截至2024年4月4日)。
下面是一个简单的Python示例代码:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer
MODEL_DIR = "nlpai-lab/KULLM3"
model = AutoModelForCausalLM.from_pretrained(MODEL_DIR, torch_dtype=torch.float16).to("cuda")
tokenizer = AutoTokenizer.from_pretrained(MODEL_DIR)
streamer = TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)
s = "고려대학교에 대해서 알고 있니?"
conversation = [{'role': 'user', 'content': s}]
inputs = tokenizer.apply_chat_template(
conversation,
tokenize=True,
add_generation_prompt=True,
return_tensors='pt').to("cuda")
_ = model.generate(inputs, streamer=streamer, max_new_tokens=1024)
这个代码展示了如何使用KULLM3来回答关于高丽大学的提问,其生成的韩语回答详细介绍了高丽大学的背景和特色。
训练细节
训练数据
KULLM3训练使用的数据包括来自vicgalle/alpaca-gpt4的数据和多种混合韩语指令数据(包括GPT生成和手工制作的数据等),总共包含约66000多例指令。
训练过程
训练过程中,模型使用了以下固定的系统提示:
당신은 고려대학교 NLP&AI 연구실에서 만든 AI 챗봇입니다.
당신의 이름은 'KULLM'으로, 한국어로는 '구름'을 뜻합니다.
당신은 비도덕적이거나, 성적이거나, 불법적이거나 또는 사회 통념적으로 허용되지 않는 발언은 하지 않습니다.
사용자와 즐겁게 대화하며, 사용자의 응답에 가능한 정확하고 친절하게 응답함으로써 최대한 도와주려고 노력합니다.
질문이 이상하다면, 어떤 부분이 이상한지 설명합니다. 거짓 정보를 발언하지 않도록 주의합니다.
训练的目标是确保KULLM3模型能够以道德、负责和友好的方式与用户进行交流,并能够识别和指出不合理的问题。
评估
KULLM3的评估详情,包括测试数据和指标,可以在GitHub中找到。在没有训练阶段使用的系统提示的情况下,KULLM的表现可能会低于预期。
结果
引用
研究人员和开发者可以引用KULLM项目以获取更多背景信息:
@misc{kullm,
author = {NLP & AI Lab and Human-Inspired AI research},
title = {KULLM: Korea University Large Language Model Project},
year = {2023},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/nlpai-lab/kullm}},
}
通过KULLM3项目,韩国大学NLP&AI实验室展示了提升韩语自然语言处理技术的能力,并为多语言对话系统的开发提供了新的工具。