Model Overview
Model Features
Model Capabilities
Use Cases
๐ Suzume
This Suzume 8B is a Japanese finetune of Llama 3. Llama 3 has shown excellent performance on numerous English language benchmarks. However, it seems to have been mostly finetuned on English data, so it often responds in English even when prompted in Japanese. We fine - tuned Llama 3 on over 3,000 Japanese conversations. As a result, this model retains the intelligence of Llama 3 and gains the ability to chat in Japanese.
๐ Quick Start
You can use the original trained model with vLLM like so:
from vllm import LLM, SamplingParams
sampling_params = SamplingParams(temperature=0.8, top_p=0.95)
llm = LLM(model="lightblue/suzume-llama-3-8B-japanese")
prompts = [
"ๆฑไบฌใฎใใใใใฎ่ฆณๅ
ในใใใใๆใใฆไธใใ",
]
outputs = llm.generate(prompts, sampling_params)
for output in outputs:
prompt = output.prompt
generated_text = output.outputs[0].text
print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")
โจ Features
- Japanese Finetuning: Fine - tuned on more than 3,000 Japanese conversations, enabling it to chat in Japanese while retaining the intelligence of Llama 3.
- High - Performance: Llama 3 has excellent performance on many English benchmarks, and this Japanese finetune inherits its core capabilities.
๐ฆ Installation
No specific installation steps are provided in the original document.
๐ป Usage Examples
Basic Usage
from vllm import LLM, SamplingParams
sampling_params = SamplingParams(temperature=0.8, top_p=0.95)
llm = LLM(model="lightblue/suzume-llama-3-8B-japanese")
prompts = [
"ๆฑไบฌใฎใใใใใฎ่ฆณๅ
ในใใใใๆใใฆไธใใ",
]
outputs = llm.generate(prompts, sampling_params)
for output in outputs:
prompt = output.prompt
generated_text = output.outputs[0].text
print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")
๐ Documentation
Evaluation scores
We find that this is the best performing model in the 7/8B class of LLMs on a multitude of Japanese language benchmarks. We calculate our Japanese evaluation scores using our [lightblue - tech/japanese_llm_eval](https://github.com/lightblue - tech/japanese_llm_eval) repo.
We also compare our Japanese model to our multilingual model using our [multilingual_mt_bench](https://github.com/Peter - Devine/multilingual_mt_bench/tree/main/fastchat/llm_judge) repo.
Property | Details |
---|---|
Model Type | Suzume 8B, a Japanese finetune of Llama 3 |
Training Data | More than 3,000 Japanese conversations |
Property | Details |
---|---|
Model Type | Suzume 8B, a Japanese finetune of Llama 3 |
Training Data | More than 3,000 Japanese conversations |
lightblue/suzume-llama-3-8B-japanese | lightblue/suzume-llama-3-8B-multilingual | Nexusflow/Starling-LM-7B-beta | gpt-3.5-turbo | |
---|---|---|---|---|
Japanese ๐ฏ๐ต | 6.24 | 6.56 | 6.22 | 7.84 |
Here, we find that our multilingual model outperforms our Japanese model on the Japanese MT - Bench benchmark, indicating that our multilingual model was able to generalize better to the Japanese MT - Bench benchmark from training on more data, even if that added data was not in Japanese.
Note - the discrepancy between the MT - Bench scores of the first and second evaluation of lightblue/suzume-llama-3-8B-japanese
are due to the difference in system message of the two evaluation harnesses. The former's system message is in Japanese while the latter's is in English.
Training data
We train on three sources of data to create this model:
- megagonlabs/instruction_ja - 669 conversations: A hand - edited dataset of nearly 700 conversations taken originally from translations of the [kunishou/hh - rlhf - 49k - ja](https://huggingface.co/datasets/kunishou/hh - rlhf - 49k - ja) dataset.
- openchat/openchat_sharegpt4_dataset (Japanese conversations only) - 167 conversations: Conversations taken from humans talking to GPT - 4.
- lightblue/tagengo - gpt4 (Japanese prompts only) (Link coming soon!) - 2,482 conversations: Almost 2,500 diverse Japanese prompts sampled from [lmsys/lmsys - chat - 1m](https://huggingface.co/datasets/lmsys/lmsys - chat - 1m) and then used to prompt
gpt - 4 - 0125 - preview
.
Training config
[](https://github.com/OpenAccess - AI - Collective/axolotl)
See axolotl config
axolotl version: 0.4.0
base_model: meta-llama/Meta-Llama-3-8B-Instruct
model_type: LlamaForCausalLM
tokenizer_type: AutoTokenizer # PreTrainedTokenizerFast
load_in_8bit: false
load_in_4bit: false
strict: false
datasets:
- path: /workspace/llm_training/axolotl/llama3-ja/openchat_megagon_lbgpt4_ja.json
ds_type: json # see other options below
type: sharegpt
conversation: llama-3
dataset_prepared_path: /workspace/llm_training/axolotl/llama3-ja/prepared_openchat_megagon_lbgpt4_ja
val_set_size: 0.01
output_dir: /workspace/llm_training/axolotl/llama3-ja/output_openchat_megagon_lbgpt4_ja_8B_instruct
sequence_len: 8192
sample_packing: true
pad_to_sequence_len: true
eval_sample_packing: False
use_wandb: true
wandb_project: axolotl
wandb_entity: peterd
wandb_name: openchat_megagon_lbgpt4_ja_8B_instruct
gradient_accumulation_steps: 2
micro_batch_size: 2
num_epochs: 1
optimizer: paged_adamw_8bit
lr_scheduler: cosine
learning_rate: 1e-5
train_on_inputs: false
group_by_length: false
bf16: auto
fp16:
tf32: false
gradient_checkpointing: true
gradient_checkpointing_kwargs:
use_reentrant: false
early_stopping_patience:
resume_from_checkpoint:
logging_steps: 1
xformers_attention:
flash_attention: true
warmup_steps: 10
evals_per_epoch: 5
eval_table_size:
saves_per_epoch: 1
debug:
deepspeed: /workspace/axolotl/deepspeed_configs/zero2.json
weight_decay: 0.0
special_tokens:
pad_token: <|end_of_text|>
Training procedure
Training hyperparameters
The following hyperparameters were used during training:
- learning_rate: 1e - 05
- train_batch_size: 2
- eval_batch_size: 2
- seed: 42
- distributed_type: multi - GPU
- num_devices: 3
- gradient_accumulation_steps: 2
- total_train_batch_size: 12
- total_eval_batch_size: 6
- optimizer: Adam with betas=(0.9,0.999) and epsilon = 1e - 08
- lr_scheduler_type: cosine
- lr_scheduler_warmup_steps: 10
- num_epochs: 1
Training results
Training Loss | Epoch | Step | Validation Loss |
---|---|---|---|
1.303 | 0.08 | 1 | 1.2664 |
1.4231 | 0.23 | 3 | 1.2409 |
1.1007 | 0.46 | 6 | 1.0264 |
1.0635 | 0.69 | 9 | 1.0154 |
1.0221 | 0.92 | 12 | 0.9555 |
Framework versions
- Transformers 4.40.0.dev0
- Pytorch 2.2.1+cu121
- Datasets 2.18.0
- Tokenizers 0.15.0
๐ง Technical Details
The model is a Japanese finetune of Llama 3. Llama 3's core architecture provides a strong foundation, and the finetuning on Japanese conversations enhances its Japanese - language interaction ability. The training process uses specific hyperparameters and data sources to optimize the model's performance on Japanese benchmarks.
๐ License
This model is under the [llama - 3](https://huggingface.co/meta - llama/Meta - Llama - 3 - 8B - Instruct/raw/main/LICENSE) license.
How to cite
Please cite this paper when referencing this model.
@article{devine2024tagengo,
title={Tagengo: A Multilingual Chat Dataset},
author={Devine, Peter},
journal={arXiv preprint arXiv:2405.12612},
year={2024}
}
Developer
Peter Devine - (ptrdvn)

