|
--- |
|
base_model: |
|
- tokyotech-llm/Llama-3.1-Swallow-70B-v0.1 |
|
- meta-llama/Llama-3.1-70B |
|
- meta-llama/Llama-3.3-70B-Instruct |
|
library_name: transformers |
|
tags: |
|
- mergekit |
|
- merge |
|
- chat |
|
language: |
|
- ja |
|
- en |
|
pipeline_tag: text-generation |
|
license: llama3.3 |
|
--- |
|
# Llama-3.3-FakeSwallow-70B-Instruct-v0.1 |
|
|
|
🚨 **Only for research purpose. This model may have repetition issues.** |
|
|
|
This is a merge of pre-trained language models created using [mergekit](https://github.com/cg123/mergekit). |
|
|
|
- 2024.12.11 : The model weight updated. |
|
|
|
## Test environment |
|
|
|
🔧 **HACK: Try [oobabooga/text-generation-webui#5885](https://github.com/oobabooga/text-generation-webui/issues/5885) if multiple EOS tokens doesn't work.** |
|
|
|
This model was tested using [text-generation-webui](https://github.com/oobabooga/text-generation-webui/tree/main). I use preset `min_p` with temperature=1 for Generation. |
|
|
|
## Usage |
|
|
|
This format must be adhered to strictly, as deviations may result in less optimal outputs from the model. |
|
|
|
The template used to construct a prompt for the instruct model is specified as follows: |
|
|
|
``` |
|
<|begin_of_text|><|start_header_id|>system<|end_header_id|> |
|
|
|
{SYSTEM_PROMPT}<|eot_id|><|start_header_id|>user<|end_header_id|> |
|
|
|
{USER_MESSAGE}<|eot_id|><|start_header_id|>assistant<|end_header_id|> |
|
|
|
``` |
|
|
|
For the "{SYSTEM_PROMPT}" part, We recommend using "あなたは誠実で優秀な日本人のアシスタントです。" or "You are a helpful assistant." |
|
|
|
For the "{USER_MESSAGE}" part, We recommend using {instruction}\n{input} |
|
|
|
In other words, We recommend the following: |
|
|
|
``` |
|
<|begin_of_text|><|start_header_id|>system<|end_header_id|> |
|
|
|
あなたは誠実で優秀な日本人のアシスタントです。<|eot_id|><|start_header_id|>user<|end_header_id|> |
|
{instruction} |
|
{input}<|eot_id|><|start_header_id|>assistant<|end_header_id|> |
|
|
|
``` |
|
|
|
### Use the instruct model |
|
|
|
```python |
|
from transformers import AutoModelForCausalLM, AutoTokenizer |
|
|
|
model_name = "nitky/Llama-3.3-FakeSwallow-70B-Instruct-v0.1" |
|
|
|
model = AutoModelForCausalLM.from_pretrained( |
|
model_name, |
|
torch_dtype="auto", |
|
device_map="auto" |
|
) |
|
tokenizer = AutoTokenizer.from_pretrained(model_name) |
|
|
|
prompt = "Give me a short introduction to large language model." |
|
messages = [ |
|
{"role": "system", "content": "You are a helpful assistant."}, |
|
{"role": "user", "content": prompt} |
|
] |
|
text = tokenizer.apply_chat_template( |
|
messages, |
|
tokenize=False, |
|
add_generation_prompt=True |
|
) |
|
model_inputs = tokenizer([text], return_tensors="pt").to(model.device) |
|
|
|
generated_ids = model.generate( |
|
**model_inputs, |
|
max_new_tokens=512 |
|
) |
|
generated_ids = [ |
|
output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids) |
|
] |
|
|
|
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0] |
|
|
|
``` |
|
|
|
## Merge Details |
|
### Merge Method |
|
|
|
This model was merged using the [task arithmetic](https://arxiv.org/abs/2212.04089) merge method using [meta-llama/Llama-3.1-70B](https://huggingface.co/meta-llama/Llama-3.1-70B) as a base. |
|
|
|
### Models Merged |
|
|
|
The following models were included in the merge: |
|
* [tokyotech-llm/Llama-3.1-Swallow-70B-v0.1](https://huggingface.co/tokyotech-llm/Llama-3.1-Swallow-70B-v0.1) |
|
* [meta-llama/Llama-3.3-70B-Instruct](https://huggingface.co/meta-llama/Llama-3.3-70B-Instruct) |
|
|
|
### Configuration |
|
|
|
The following YAML configuration was used to produce this model: |
|
|
|
```yaml |
|
merge_method: task_arithmetic |
|
base_model: meta-llama/Llama-3.1-70B |
|
models: |
|
- model: tokyotech-llm/Llama-3.1-Swallow-70B-v0.1 |
|
parameters: |
|
weight: 1.0 |
|
- model: meta-llama/Llama-3.3-70B-Instruct |
|
parameters: |
|
weight: 0.998 |
|
dtype: bfloat16 |
|
name: Llama-3.3-FakeSwallow-70B-Instruct-v0.1 |
|
``` |
|
|