181 lines
8.5 KiB
Markdown
181 lines
8.5 KiB
Markdown
|
|
---
|
||
|
|
license: apache-2.0
|
||
|
|
language:
|
||
|
|
- en
|
||
|
|
- ja
|
||
|
|
programming_language:
|
||
|
|
- C
|
||
|
|
- C++
|
||
|
|
- C#
|
||
|
|
- Go
|
||
|
|
- Java
|
||
|
|
- JavaScript
|
||
|
|
- Lua
|
||
|
|
- PHP
|
||
|
|
- Python
|
||
|
|
- Ruby
|
||
|
|
- Rust
|
||
|
|
- Scala
|
||
|
|
- TypeScript
|
||
|
|
pipeline_tag: text-generation
|
||
|
|
library_name: transformers
|
||
|
|
inference: false
|
||
|
|
---
|
||
|
|
|
||
|
|
# llm-jp-3-1.8b-instruct
|
||
|
|
|
||
|
|
This repository provides large language models developed by the [Research and Development Center for Large Language Models](https://llmc.nii.ac.jp/) at the [National Institute of Informatics](https://www.nii.ac.jp/en/).
|
||
|
|
|
||
|
|
|
||
|
|
| Model Variants |
|
||
|
|
| :--- |
|
||
|
|
| [llm-jp-3-1.8b](https://huggingface.co/llm-jp/llm-jp-3-1.8b) |
|
||
|
|
| [llm-jp-3-1.8b-instruct](https://huggingface.co/llm-jp/llm-jp-3-1.8b-instruct) |
|
||
|
|
| [llm-jp-3-3.7b](https://huggingface.co/llm-jp/llm-jp-3-3.7b) |
|
||
|
|
| [llm-jp-3-3.7b-instruct](https://huggingface.co/llm-jp/llm-jp-3-3.7b-instruct) |
|
||
|
|
| [llm-jp-3-13b](https://huggingface.co/llm-jp/llm-jp-3-13b) |
|
||
|
|
| [llm-jp-3-13b-instruct](https://huggingface.co/llm-jp/llm-jp-3-13b-instruct) |
|
||
|
|
| [llm-jp-3-172b-beta1](https://huggingface.co/llm-jp/llm-jp-3-172b-beta1) |
|
||
|
|
| [llm-jp-3-172b-beta1-instruct](https://huggingface.co/llm-jp/llm-jp-3-172b-beta1-instruct) |
|
||
|
|
|
||
|
|
|
||
|
|
Checkpoints format: Hugging Face Transformers
|
||
|
|
|
||
|
|
## Required Libraries and Their Versions
|
||
|
|
|
||
|
|
- torch>=2.3.0
|
||
|
|
- transformers>=4.40.1
|
||
|
|
- tokenizers>=0.19.1
|
||
|
|
- accelerate>=0.29.3
|
||
|
|
- flash-attn>=2.5.8
|
||
|
|
|
||
|
|
## Usage
|
||
|
|
|
||
|
|
```python
|
||
|
|
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))
|
||
|
|
```
|
||
|
|
|
||
|
|
## Model Details
|
||
|
|
|
||
|
|
- **Model type:** Transformer-based Language Model
|
||
|
|
- **Total seen tokens:** 2.1T
|
||
|
|
|
||
|
|
|Params|Layers|Hidden size|Heads|Context length|Embedding parameters|Non-embedding parameters|
|
||
|
|
|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
|
||
|
|
|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|
|
||
|
|
|
||
|
|
## Tokenizer
|
||
|
|
|
||
|
|
The tokenizer of this model is based on [huggingface/tokenizers](https://github.com/huggingface/tokenizers) Unigram byte-fallback model.
|
||
|
|
The vocabulary entries were converted from [`llm-jp-tokenizer v3.0`](https://github.com/llm-jp/llm-jp-tokenizer/releases/tag/v3.0b2).
|
||
|
|
Please refer to [README.md](https://github.com/llm-jp/llm-jp-tokenizer) of `llm-jp-tokenizer` for details on the vocabulary construction procedure (the pure SentencePiece training does not reproduce our vocabulary).
|
||
|
|
|
||
|
|
## Datasets
|
||
|
|
|
||
|
|
### Pre-training
|
||
|
|
|
||
|
|
The models have been pre-trained using a blend of the following datasets.
|
||
|
|
|
||
|
|
| Language | Dataset | Tokens|
|
||
|
|
|:---|:---|---:|
|
||
|
|
|Japanese|[Wikipedia](https://gitlab.llm-jp.nii.ac.jp/datasets/llm-jp-corpus-v3)|2.6B
|
||
|
|
||[Common Crawl](https://gitlab.llm-jp.nii.ac.jp/datasets/llm-jp-corpus-v3)|762.8B
|
||
|
|
||[WARP/PDF](https://gitlab.llm-jp.nii.ac.jp/datasets/llm-jp-corpus-v3)|237.3B
|
||
|
|
||[WARP/HTML](https://gitlab.llm-jp.nii.ac.jp/datasets/llm-jp-corpus-v3)|2.7B
|
||
|
|
||[Kaken](https://gitlab.llm-jp.nii.ac.jp/datasets/llm-jp-corpus-v3)|1.8B
|
||
|
|
|English|[Wikipedia](https://gitlab.llm-jp.nii.ac.jp/datasets/llm-jp-corpus-v3)|4.7B
|
||
|
|
||[Dolma/CC-head](https://gitlab.llm-jp.nii.ac.jp/datasets/llm-jp-corpus-v3)|608.5B
|
||
|
|
||[Dolma/C4](https://gitlab.llm-jp.nii.ac.jp/datasets/llm-jp-corpus-v3)|181.6B
|
||
|
|
||[Dolma/Reddit](https://gitlab.llm-jp.nii.ac.jp/datasets/llm-jp-corpus-v3)|83.1B
|
||
|
|
||[Dolma/PeS2o](https://gitlab.llm-jp.nii.ac.jp/datasets/llm-jp-corpus-v3)|62.9B
|
||
|
|
||[Dolma/Gutenberg](https://gitlab.llm-jp.nii.ac.jp/datasets/llm-jp-corpus-v3)|5.5B
|
||
|
|
||[Dolma/Wiki](https://gitlab.llm-jp.nii.ac.jp/datasets/llm-jp-corpus-v3)|3.9B
|
||
|
|
|Code|[The Stack](https://huggingface.co/datasets/bigcode/the-stack)|114.1B
|
||
|
|
|Chinese|[Wikipedia](https://huggingface.co/datasets/bigcode/the-stack)|0.8B
|
||
|
|
|Korean|[Wikipedia](https://huggingface.co/datasets/bigcode/the-stack)|0.3B
|
||
|
|
|
||
|
|
### Instruction tuning
|
||
|
|
|
||
|
|
The models have been fine-tuned on the following datasets.
|
||
|
|
|
||
|
|
| Language | Dataset | description |
|
||
|
|
|:---|:---|:---|
|
||
|
|
|Japanese|[ichikara-instruction-004-002](https://liat-aip.sakura.ne.jp/wp/llm%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e6%97%a5%e6%9c%ac%e8%aa%9e%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%a9%e3%82%af%e3%82%b7%e3%83%a7%e3%83%b3%e3%83%87%e3%83%bc%e3%82%bf%e4%bd%9c%e6%88%90/llm%e3%81%ae%e3%81%9f%e3%82%81%e3%81%ae%e6%97%a5%e6%9c%ac%e8%aa%9e%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%a9%e3%82%af%e3%82%b7%e3%83%a7%e3%83%b3%e3%83%87%e3%83%bc%e3%82%bf-%e5%85%ac%e9%96%8b/)| A manually constructed instruction dataset |
|
||
|
|
| |[answer-carefully-002](https://liat-aip.sakura.ne.jp/wp/answercarefully-dataset/)| A manually constructed instruction dataset focusing on LLMs' safety |
|
||
|
|
| |ichikara-instruction-format| A small amount of instruction dataset edited from ichikara-instruction, with some constraints on the output format. |
|
||
|
|
| |[AutoMultiTurnByCalm3-22B](https://huggingface.co/datasets/kanhatakeyama/AutoMultiTurnByCalm3-22B)| A synthetic instruction dataset. |
|
||
|
|
| |[ramdom-to-fixed-multiturn-Calm3](https://huggingface.co/datasets/kanhatakeyama/ramdom-to-fixed-multiturn-Calm3)| A synthetic instruction dataset. |
|
||
|
|
| |[wizardlm8x22b-logical-math-coding-sft_additional-ja](https://huggingface.co/datasets/kanhatakeyama/wizardlm8x22b-logical-math-coding-sft_additional-ja)| A synthetic instruction dataset. |
|
||
|
|
| |[Synthetic-JP-EN-Coding-Dataset-567k](https://huggingface.co/datasets/Aratako/Synthetic-JP-EN-Coding-Dataset-567k)| A synthetic instruction dataset. We used sampled one.|
|
||
|
|
|English |[FLAN](https://huggingface.co/datasets/Open-Orca/FLAN) | We used sampled one. |
|
||
|
|
|
||
|
|
|
||
|
|
## Evaluation
|
||
|
|
|
||
|
|
### llm-jp-eval (v1.3.1)
|
||
|
|
|
||
|
|
We evaluated the models using 100 examples from the dev split.
|
||
|
|
|
||
|
|
| Model name | average | EL | FA | HE | MC | MR | MT | NLI | QA | RC |
|
||
|
|
| :--- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
|
||
|
|
| [llm-jp-3-1.8b](https://huggingface.co/llm-jp/llm-jp-3-1.8b) | 0.3767 | 0.3725 | 0.1948 | 0.2350 | 0.2500 | 0.0900 | 0.7730 | 0.3080 | 0.4629 | 0.7040 |
|
||
|
|
| [llm-jp-3-1.8b-instruct](https://huggingface.co/llm-jp/llm-jp-3-1.8b-instruct) | 0.4596 | 0.4280 | 0.1987 | 0.3250 | 0.3300 | 0.4200 | 0.7900 | 0.3520 | 0.4698 | 0.8224 |
|
||
|
|
| [llm-jp-3-3.7b](https://huggingface.co/llm-jp/llm-jp-3-3.7b) | 0.4231 | 0.3812 | 0.2440 | 0.2200 | 0.1900 | 0.3600 | 0.7947 | 0.3800 | 0.4688 | 0.7694 |
|
||
|
|
| [llm-jp-3-3.7b-instruct](https://huggingface.co/llm-jp/llm-jp-3-3.7b-instruct) | 0.5188 | 0.4191 | 0.2504 | 0.3400 | 0.5000 | 0.5800 | 0.8166 | 0.4500 | 0.4881 | 0.8247 |
|
||
|
|
| [llm-jp-3-13b](https://huggingface.co/llm-jp/llm-jp-3-13b) | 0.5802 | 0.5570 | 0.2593 | 0.4600 | 0.7000 | 0.6300 | 0.8292 | 0.3460 | 0.5937 | 0.8469 |
|
||
|
|
| [llm-jp-3-13b-instruct](https://huggingface.co/llm-jp/llm-jp-3-13b-instruct) | 0.6168 | 0.5408 | 0.2757 | 0.4950 | 0.9200 | 0.7100 | 0.8317 | 0.4640 | 0.4642 | 0.8500 |
|
||
|
|
|
||
|
|
|
||
|
|
### Japanese MT Bench
|
||
|
|
|
||
|
|
We evaluated the models using `gpt-4-0613`. Please see the [codes](https://github.com/llm-jp/llm-leaderboard/tree/main) for details.
|
||
|
|
|
||
|
|
| Model name | average | coding | extraction | humanities | math | reasoning | roleplay | stem | writing |
|
||
|
|
| :--- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
|
||
|
|
| [llm-jp-3-1.8b-instruct](https://huggingface.co/llm-jp/llm-jp-3-1.8b-instruct) | 4.93 | 1.50 | 4.70 | 7.80 | 1.55 | 2.60 | 7.80 | 6.10 | 7.40 |
|
||
|
|
| [llm-jp-3-3.7b-instruct](https://huggingface.co/llm-jp/llm-jp-3-3.7b-instruct) | 5.50 | 1.95 | 4.05 | 8.25 | 2.25 | 4.00 | 8.80 | 7.25 | 7.45 |
|
||
|
|
| [llm-jp-3-13b-instruct](https://huggingface.co/llm-jp/llm-jp-3-13b-instruct) | 6.47 | 3.15 | 7.05 | 9.15 | 3.75 | 5.40 | 8.30 | 7.50 | 7.45 |
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
## Risks and Limitations
|
||
|
|
|
||
|
|
The models released here are in the early stages of our research and development and have not been tuned to ensure outputs align with human intent and safety considerations.
|
||
|
|
|
||
|
|
|
||
|
|
## Send Questions to
|
||
|
|
|
||
|
|
llm-jp(at)nii.ac.jp
|
||
|
|
|
||
|
|
|
||
|
|
## License
|
||
|
|
|
||
|
|
[Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)
|
||
|
|
|
||
|
|
|
||
|
|
## Model Card Authors
|
||
|
|
|
||
|
|
*The names are listed in alphabetical order.*
|
||
|
|
|
||
|
|
Hirokazu Kiyomaru and Takashi Kodama.
|