项目介绍:llm-jp-3-1.8b-instruct
llm-jp-3-1.8b-instruct 是由 日本国立信息学研究所 的 大型语言模型研发中心 开发的大型语言模型。这一模型旨在为文本生成任务提供卓越的性能,适用于多种编程语言及自然语言处理任务。以下是对该项目的详细介绍。
模型概述
llm-jp-3-1.8b-instruct 是基于 Transformer 架构的语言模型,模型具有三种语言变体:英语、日语。其重量级字符包括1.8b、3.7b、13b等多个版本,可满足不同规模的应用需求。模型使用 Hugging Face Transformers 库进行格式化并且模型的所有检查点都存储在 Hugging Face 上。
必备库和版本要求
要使用该模型,确保安装以下库及其版本:
- Torch 版本大于等于 2.3.0
- Transformers 版本大于等于 4.40.1
- Tokenizers 版本大于等于 0.19.1
- Accelerate 版本大于等于 0.29.3
- Flash-Attn 版本大于等于 2.5.8
使用示例
以下是一个简单的代码示例,用于展示如何利用该模型进行自然语言处理任务:
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("llm-jp/llm-jp-3-1.8b-instruct")
model = AutoModelForCausalLM.from_pretrained("llm-jp/llm-jp-3-1.8b-instruct", device_map="auto", torch_dtype=torch.bfloat16)
chat = [
{"role": "system", "content": "以下是、タスクを説明する指示です。要求を適切に満たす応答を書きなさい。"},
{"role": "user", "content": "自然言语处理とは何か"},
]
tokenized_input = tokenizer.apply_chat_template(chat, add_generation_prompt=True, tokenize=True, return_tensors="pt").to(model.device)
with torch.no_grad():
output = model.generate(
tokenized_input,
max_new_tokens=100,
do_sample=True,
top_p=0.95,
temperature=0.7,
repetition_penalty=1.05,
)[0]
print(tokenizer.decode(output))
模型详细信息
模型类型
该模型是基于 Transformer 的语言模型。它在训练中接触到的总词数达到 2.1 万亿,表现出色的生成能力。
参数配置
模型的不同参数配置如下:
参数 | 层数 | 隐藏层大小 | 头数 | 上下文长度 | 嵌入参数 | 非嵌入参数 |
---|---|---|---|---|---|---|
1.8b | 24 | 2048 | 16 | 4096 | 407,896,064 | 1,459,718,144 |
3.7b | 28 | 3072 | 24 | 4096 | 611,844,096 | 3,171,068,928 |
13b | 40 | 5120 | 40 | 4096 | 1,019,740,160 | 12,688,184,320 |
词元化器
该模型使用 huggingface/tokenizers 基于 Unigram 字节回退模型的词元化器,词汇表来源于 llm-jp-tokenizer v3.0
。更多词汇构建细节请参阅 README.md。
数据集
预训练
模型通过下列数据集进行预训练,其内容涵盖日语、英语、代码和其他重要语言。
指令调优
模型的指令调优通过特定的数据集完成,以提升其在生成自然语言任务时的响应能力。
评估
在多种任务上进行评估,如求解问题、逻辑推理、写作和编程等,模型展示出了较好的平均得分和不同具体任务的出色表现。
风险及局限性
这些模型仍处于研究和开发的早期阶段,并未经过调整以确保输出符合人类意图和安全考虑。
联系方式
如需了解更多信息或有任何疑问,可通过 email llm-jp(at)nii.ac.jp 联系我们。
开源许可
该项目依据 Apache License, Version 2.0 开源。
模型卡作者
Hirokazu Kiyomaru 和 Takashi Kodama。