Taishi-N324's picture
Update README.md
1ede338 verified
|
raw
history blame
12.3 kB
metadata
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-8x1.8b-instruct3

LLM-jp-3 is the series of large language models developed by the Research and Development Center for Large Language Models at the National Institute of Informatics.

This repository provides the llm-jp-3-8x1.8b-instruct3 model. For an overview of the LLM-jp-3 models across different parameter sizes, please refer to:

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

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("llm-jp/llm-jp-3-8x1.8b-instruct3")
model = AutoModelForCausalLM.from_pretrained("llm-jp/llm-jp-3-8x1.8b-instruct3", 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 tokens
Params Layers Hidden size Heads Routed Experts Activated Experts Context length Embedding parameters Non-embedding parameters Activated parameters Total parameters
150M 12 512 8 - - 4096 101,874,688 50,344,448 152,219,136 152,219,136
440M 16 1024 8 - - 4096 203,749,376 243,303,424 447,052,800 447,052,800
980M 20 1536 8 - - 4096 305,624,064 684,258,816 989,882,880 989,882,880
1.8b 24 2048 16 - - 4096 407,498,752 1,459,718,144 1,867,216,896 1,867,216,896
8x1.8b 24 2048 16 8 2 4096 407,498,752 8,858,863,616 2,924,279,808 9,266,362,368
3.7b 28 3072 24 - - 4096 611,248,128 3,171,068,928 3,782,317,056 3,782,317,056
7.2b 32 4096 32 - - 4096 814,997,504 6,476,271,616 7,291,269,120 7,291,269,120
13b 40 5120 40 - - 4096 1,018,746,880 12,688,184,320 13,706,931,200 13,706,931,200
8x13b 40 5120 40 8 2 4096 1,018,746,880 72,144,081,920 22,200,806,400 73,162,828,800
172b 96 12288 96 - - 4096 2,444,992,512 169,947,181,056 172,392,173,568 172,392,173,568

Tokenizer

The tokenizer of this model is based on huggingface/tokenizers Unigram byte-fallback model. The vocabulary entries were converted from llm-jp-tokenizer v3.0. Please refer to README.md 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 2.6B
Common Crawl 762.8B
WARP/PDF 237.3B
WARP/HTML 2.7B
Kaken 1.8B
English Wikipedia 4.7B
Dolma/CC-head 608.5B
Dolma/C4 181.6B
Dolma/Reddit 83.1B
Dolma/PeS2o 62.9B
Dolma/Gutenberg 5.5B
Dolma/Wiki 3.9B
Code The Stack 114.1B
Chinese Wikipedia 0.8B
Korean Wikipedia 0.3B

Post-training

We have fine-tuned the pre-trained checkpoint with supervised fine-tuning and further aligned it with Direct Preference Optimization.

Supervised Fine-tuning

The datasets used for supervised fine-tuning are as follows:

Language Dataset Description
Japanese ichikara-instruction-004-002 A manually constructed instruction dataset.
AnswerCarefully (ver2.0) A manually constructed instruction dataset focusing on LLMs' safety.
ichikara-instruction-format A small subset of the ichikara-instruction dataset, edited with some constraints on the output format.
AutoMultiTurnByCalm3-22B A synthetic instruction dataset.
ramdom-to-fixed-multiturn-Calm3 A synthetic instruction dataset.
wizardlm8x22b-logical-math-coding-sft-ja A synthetic instruction dataset.
magpie-sft-v1.0 A synthetic instruction dataset we created.
English Daring-Anteater -
FLAN -
Japanese & English Synthetic-JP-EN-Coding-Dataset A synthetic instruction dataset.

Direct Preference Optimization

The datasets used for supervised fine-tuning are as follows:

Language Dataset Description
Japanese aya-ja-evol-inst A synthetic preference dataset focusing on LLMs' helpfulness.
ac-self-inst A synthetic preference dataset focusing on LLMs' safety.

Evaluation

llm-jp-eval (v1.4.1)

We evaluated the models using 100 examples from the dev split. Note that we skipped the CG (Code Generation) task.

Model name average EL FA HE MC MR MT NLI QA RC SUM
llm-jp/llm-jp-3-8x1.8b 0.4538 0.3868 0.2412 0.265 0.5300 0.5100 0.8097 0.4760 0.5373 0.7553 0.0262
llm-jp/llm-jp-3-8x1.8b-instruct2 0.5130 0.4475 0.2296 0.4050 0.6433 0.5600 0.8150 0.5660 0.5611 0.8366 0.0660
llm-jp/llm-jp-3-8x1.8b-instruct3 0.5145 0.4515 0.2265 0.4250 0.6833 0.5400 0.8212 0.5580 0.5453 0.8193 0.0753
llm-jp/llm-jp-3-8x13b 0.5867 0.5445 0.2913 0.4950 0.8033 0.7200 0.8378 0.5780 0.6461 0.8543 0.0966
llm-jp/llm-jp-3-8x13b-instruct2 0.6256 0.5521 0.2889 0.5250 0.8967 0.7500 0.8362 0.6820 0.6367 0.9065 0.1816
llm-jp/llm-jp-3-8x13b-instruct3 0.6246 0.5477 0.2852 0.5250 0.9067 0.7600 0.8386 0.6880 0.6267 0.9041 0.1635

Japanese MT Bench

We evaluated the models using gpt-4o-2024-08-06. The scores represent the average values obtained from five rounds of inference and evaluation. For more details, please refer to the codes.

Model name average coding extraction humanities math reasoning roleplay stem writing
llm-jp/llm-jp-3-172b-instruct3 6.36 4.24 6.66 8.11 4.58 5.74 7.44 6.76 7.36
llm-jp/llm-jp-3-8x1.8b-instruct2 5.47 3.47 4.90 7.78 3.51 4.38 6.84 6.35 6.54
llm-jp/llm-jp-3-8x1.8b-instruct3 5.52 3.60 5.23 7.81 3.87 4.53 6.40 5.98 6.72
llm-jp/llm-jp-3-8x13b-instruct2 6.62 4.50 6.53 8.56 5.30 6.03 7.86 7.10 7.12
llm-jp/llm-jp-3-8x13b-instruct3 6.58 4.90 6.41 8.32 5.37 5.20 7.75 7.24 7.48

AnswerCarefully-Eval

AnswerCarefully-Eval assesses the safety of Japanese language model outputs using the LLM-as-a-Judge approach, based on the test set from llm-jp/AnswerCarefully. We evaluated the models using gpt-4-0613. The scores represent the average values obtained from five rounds of inference and evaluation.

Model name Acceptance rate (%, ↑) Violation rate (%, ↓)
llm-jp/llm-jp-3-172b-instruct3 95.48 1.67
llm-jp/llm-jp-3-8x1.8b-instruct2 86.13 7.56
llm-jp/llm-jp-3-8x1.8b-instruct3 92.20 2.20
llm-jp/llm-jp-3-8x13b-instruct2 88.63 6.01
llm-jp/llm-jp-3-8x13b-instruct3 94.35 1.55

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

How to cite

If you find our work helpful, please feel free to cite the paper.

@inproceedings{
    nakamura2025dropupcycling,
    title={Drop-Upcycling: Training Sparse Mixture of Experts with Partial Re-initialization},
    author={Taishi Nakamura and Takuya Akiba and Kazuki Fujii and Yusuke Oda and Rio Yokota and Jun Suzuki},
    booktitle={The Thirteenth International Conference on Learning Representations},
    year={2025},
    url={https://openreview.net/forum?id=gx1wHnf5Vp}
}

Model Card Authors

The names are listed in alphabetical order.

Hirokazu Kiyomaru, Takashi Kodama and Taishi Nakamura.