|
--- |
|
base_model: |
|
- allenai/Llama-3.1-Tulu-3-70B |
|
- nvidia/Llama-3.1-Nemotron-70B-Instruct-HF |
|
- tokyotech-llm/Llama-3.1-Swallow-70B-v0.1 |
|
- tokyotech-llm/Llama-3.1-Swallow-70B-Instruct-v0.1 |
|
- meta-llama/Llama-3.1-70B |
|
- meta-llama/Llama-3.1-70B-Instruct |
|
- 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-SuperSwallow-70B-Instruct-v0.1 |
|
|
|
This is a merge of pre-trained language models created using [mergekit](https://github.com/cg123/mergekit). |
|
|
|
### Japanese-RP example |
|
|
|
[Japanese-RP-Bench](https://github.com/Aratako/Japanese-RP-Bench): |
|
|
|
- temperature=0.7 |
|
- max_tokens=1024 |
|
|
|
| Display Name | Model Name | |
|
| ---- | ---- | |
|
| THIS_MODEL | nitky/Llama-3.3-SuperSwallow-70B-Instruct-v0.1 | |
|
| GEMINI_FLS | gemini-2.0-flash-exp | |
|
|
|
``` |
|
THIS_MODEL: ねえ、ゼファーさん。この古い地図、どう思う?失われた空中都市の位置を示しているみたいなんだけど… |
|
GEMINI_FLS: おやおや、この地図は確かに見覚えがあるような、ないような…。失われた空中都市の位置ねぇ。風のささやきがこの場所を指してるような気がするんだけど、記憶の糸が絡まっててはっきりしないんだ。でも、このシンボルマーク、見てみなよ。僕の古い友人、リュミエールの家紋に似てる。もしかしたら、彼女の祖父さんの古書庫に何か手がかりがあるかもよ。行ってみる価値はありそうだね。どうする、ミラ?リュミエールのところへ行ってみない? |
|
THIS_MODEL: リュミエールさんのところね、いいわ!彼女なら何か知ってるかもしれない。早速行ってみましょう!\n(場面転換:リュミエールの家へ移動) |
|
GEMINI_FLS: リュミエールの家に着いたね。彼女の家はアストラリスでも有数の古い家柄で、家そのものが一つの博物館みたいなもんだから、手がかりは山ほどあるだろうけど、問題はそれを探し出すことだけど…。さて、リュミエールに会うとしよう。彼女の反応が楽しみだ。(ドアをノックする)あ、リュミエール!久しぶり!ゼファーだ、ミラちゃんも一緒なんだ。ちょっとお邪魔していいかな? |
|
THIS_MODEL: あら、ゼファー!それにミラさん、いらっしゃい。珍しいわね、二人で来るなんて。どうしたの?何かあったのかしら。どうぞ、上がって。 |
|
GEMINI_FLS: ありがとう、リュミエール!お茶を出してくれるなんて、まだ優しいなぁ。(笑)実はね、ミラちゃんがこんなのを見つけたんだ…(地図を広げて見せる)。失われた空中都市の位置を示してるらしいんだけど、このシンボルマークが君の家紋に似ているから、もしかしたらってことで来てみた。何か知ってること、あるかな?(好奇心を隠さずに聞く)おじいさまの古書庫に眠ってる本とかに、ヒントがあるかもしれないけど…。どうだろう?見せてもらえないかな? |
|
THIS_MODEL: あら、これは…確かに我が家の家紋に似ているわね。失われた空中都市の地図…興味深いわ。祖父の古書庫のことだけど、もちろん構わないわ。ただ、あそこは迷路みたいになっているから、一緒に行きましょう。もしかしたら、何か手がかりが見つかるかもしれないわね。さあ、こっちへどうぞ。(古書庫へと案内する) |
|
GEMINI_FLS: リュミエール、ありがとう!ミラちゃんも興味津々みたいだね。(ミラの方を見て微笑む)さて、迷路のような古書庫か...おじいさまのコレクションは半端なかったからなぁ。どこから手を付けたものか、って感じだけど...(古書庫に入り、並ぶ書棚を見渡して)うわ、本当に迷宮だ!(笑)まずは、家紋や空中都市に関連しそうな記述がある本を探すのが賢明かな。ミラちゃんの解読スキルと私の...直感(笑)、それにリュミエールの知識を合わせれば、何か掘り出し物が見つかるかもよ。どこから始めようか...(本のタイトルを眺めながら)「空の遺跡」、「風の伝説」...こんなのが気になるんだけど、どうだろう? |
|
THIS_MODEL: そうね、ゼファー。私も「空の遺跡」という本が気になるわ。それに「古代魔法の歴史」という本も、何か手がかりがあるかもしれないわ。リュミエールさんは何か気になる本はあるかしら? |
|
GEMINI_FLS: いい選択だね、ミラちゃん!「空の遺跡」と「古代魔法の歴史」は絶対にチェックしておきたい本だ。(リュミエールの方を向いて)で、リュミエールさんはどう?何かピンとくるものはある?お家の歴史とか、家紋にまつわる話とか...(期待を込めて聞く)あと、もし可能なら、「空の遺跡」は僕が、「古代魔法の歴史」はミラちゃんが調べて、リュミエールさんは...(ちょっと考えて)「風の系譜」とかいう本があったら、見てみてほしいな。風の精霊としての僕のルーツとか、もしかしたら失われた空中都市との接点があるかもしれないから。(三人で同時に探すプランを提案する)そうやって分担して調べれば、効率よく手がかりを見つけられるかもよ! |
|
THIS_MODEL: そうね、ゼファーの言う通り分担して探すのが効率的ね。「風の系譜」…確かに気になるわ。私の祖父は風の魔法に強い関心を持っていたから、もしかしたら何か手がかりがあるかもしれない。私は「風の系譜」を探してみるわ。それと、この書庫には魔法で動く書架があるの。特定のキーワードを唱えると、関連する本が自動で出てくるわ。例えば「空中都市」と唱えてみましょうか? |
|
GEMINI_FLS: 魔法で動く書架ね、そんな仕掛けがあったんだ!(感心した様子で)「空中都市」か...シンプルだけど、効果的だろうね。じゃ、リュミエールさん、試してみて!(期待を込めて見守る)もし「空中都市」でピンとくる本が出てきたら、僕とミラちゃんが選んだ本と合わせて、相当な情報量になるはず。(少し身を乗り出して)あと、出てきた本の出版年や著者にも注目してみよう。古い本ほど、失われた空中都市に近い情報が眠っているかもしれないから。(魔法の書架に視線を固定して)さて、どんな本が飛び出してくるのか...「空中都市」、お願い!(リュミエールの後に続いて、軽く唱えてみる) |
|
THIS_MODEL: (リュミエールが「空中都市」と唱えると、書架がゆっくりと動き始め、いくつかの古書が棚から飛び出してきた。そのうちの一冊が、表紙に大きく「天空の秘宝」と書かれた本だった。)あら、この本…「天空の秘宝」?こんな本、初めて見たわ。表紙には古代文字が刻まれていて、とても古い本みたいね。もしかしたら、これが一番手がかりになるかもしれないわ。ゼファー、ミラさん、まずはこの本から調べてみましょうか?\n(場面転換:古書を机に広げ、3人で内容を確認する) |
|
GEMINI_FLS: おお、すごい本の数だな!(飛び出してきた本の数に少し驚きながら)けど、リュミエールさんが言うように、「天空の秘宝」が一番の手がかりになりそうだね。この古代文字...(表紙の文字を指でなぞりながら)見たことあるような、ないような...(首を傾げる)中身を見てみないとわからないけど、期待は高まるね。(「天空の秘宝」の本を開き、中身を確認し始める)ページの黄ばみやインクの滲み方から見ても、相当な年月を経ているのは間違いない...(ページをめくりながら)お、イラストや地図もある!(一つのページに止まり)これ、空中都市の構造図みたいなものじゃないかな...(ミラとリュミエールに聞く)どう見える?このシンボルや配列...意味わかる?(三人で頭を寄せ合うようにして見る) |
|
THIS_MODEL: 確かに、これは空中都市の構造図のようね。このシンボルは、古代魔法のエネルギーの流れを示しているみたい。そしてこの配列…もしかしたら、都市を動かすための魔法陣かもしれないわ。この本には、失われた空中都市に関する重要な情報が隠されている可能性が高いわね。他にも何か手がかりがないか、ページをめくって調べてみましょう。(指でページをなぞりながら、熱心に内容を読み進める) |
|
GEMINI_FLS: (隣で同じようにページをめくりながら)おっ、こっちに何か書き込みがある!(古い手書きのメモを指さし)これ、隠しページみたいになってるね。内容を読んでみると...(声に出して読み始める)「月の満ち欠けに応じて、天空の鍵を求めよ」、「風の歌を聞き、空の道を知れ」...なんだろう、この言葉。月の満ち欠けと天空の鍵の関係って、もしかして失われた空中都市の位置を特定する手がかりになるのかな?(リュミエールとミラに問いかけながら)それと、「風の歌」を聞くっていうのは、僕の風を操る能力と関係あるのかもしれない。(少し興奮した様子で)もし僕の力が「風の歌」を聞く鍵になるなら、探索に大きく貢献できるかも!(ページをさらにめくり、他の記述を探す)他にも、都市の防衛魔法についての記述があるみたいだ...(読みながら)「星の光を反射する鏡の盾」...これが何を意味するのか、ちょっと想像がつかないけど、防衛機構に関わる重要なアイテムかもしれないね。(三人で情報を共有しながら、理解を深めていく) |
|
THIS_MODEL: (メモの記述を聞いて、目を輝かせながら)「月の満ち欠けに応じて、天空の鍵を求めよ」…まるで暗号みたいね。月の満ち欠けが鍵となるなら、天文学的な知識も必要になるかもしれないわ。そして「風の歌を聞き、空の道を知れ」…ゼファー、あなたの風を操る能力が、この謎を解く鍵になるかもしれないわね。それに、「星の光を反射する鏡の盾」…もしかしたら、都市を守るための魔法障壁に関わるものかもしれない。この本に書かれている内容は、どれも失われた空中都市の謎を解き明かす上で、重要なヒントになりそうね。さあ、さらに詳しく調べてみましょう。(本の内容をさらに深く読み解こうと、集中し始める) |
|
GEMINI_FLS: (同じく集中して本の内容を読み解きながら)確かに、天文学的な知識が必要になってくるかもしれないね。月の満ち欠けと天空の鍵の関係を調べるには、古代の天文観測記録とか、占星術の知識も役に立つかも。(ページをめくりながら)ここに、ちょっとした記述がある...「ルナサイクル」という言葉とともに、特定の月相の日にちに、ある座標が記されてる。(リュミエールとミラに示す)これ、もしかしたら失われた空中都市が現れる、またはその位置を示す重要な日付かもしれない。(風の歌の部分を再び読み返す)で、僕の風の能力を使って「風の歌」を聞くとして...どんな風にアプローチすれば、その歌を聞けるんだろう。(少し考え込みながら)もしかしたら、特定の風のパターンや、空気の振動数に共振させる必要があるかもね。(実験的に風を操り始める)ちょっと試してみるけど...(周囲に軽く風を吹かせながら)この感覚、なんとなくだけど、風の歌に近づいてる気がする。(集中力を高め、風の歌を聞こうと努力する)みんな、ちょっと静かにしてて。集中するから...(目を閉じ、風の音に耳を澄ます) |
|
THIS_MODEL: (ゼファーの言葉に頷き、静かに見守る)確かに、この「ルナサイクル」という記述は重要ね。古代の天文観測記録を調べて、この座標が何を意味するのか解明する必要があるわ。それと、ゼファー、あなたの風を操る力…もしかしたら、特定の場所で、特定の風を起こすことで「風の歌」が聞こえるのかもしれない。あなたの感覚を信じて、試してみて。私たちもできる限りの協力をするわ。(ゼファーの邪魔にならないよう、静かに本を読み進めながら、時折ゼファーの様子を伺う) |
|
GEMINI_FLS: (目を閉じたまま、深く息をして集中力を高める)ありがとう、ミラ...リュミエール。(風を操る力に意識を向けながら)特定の場所、特定の風...そうか、もしかしたら「風の歌」は、ただ聞くだけじゃなくて、呼び起こすものなのかもしれない。(ゆっくりと風のイメージを形作り始める)この本に書かれてる座標...それが指す場所で、特定の風を起こせば...(静かに、しかし確実に、周囲の空気に変化をもたらす)感じる...風が、歌い始めてる。(微かな、耳を澄まさなければ聞こえないほどの、しかし確かに存在する旋律が空気を満たしていく)おっ、聞こえる...「風の歌」が、本当に聞こえる!(目を開け、驚きと興奮を混ぜた表情でミラとリュミエールを見つめる)これ、絶対に手がかりになる!(風の歌の音階やリズムを注意深く分析し始める)このメロディー...古代の呪文に似てる。もしかしたら、失われた空中都市への扉を開く鍵かもしれない!(風の歌を記録しようと、近くにあった羊皮紙とペンを取り、音符を書き留め始める)急いでこれを書き留めないと...(風の歌は徐々に、しかし確実に、音量と複雑さを増していく) |
|
``` |
|
|
|
## 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-SuperSwallow-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 [Model Stock](https://arxiv.org/abs/2403.19522) merge method using [meta-llama/Llama-3.3-70B-Instruct](https://huggingface.co/meta-llama/Llama-3.3-70B-Instruct) as a base. |
|
|
|
### Models Merged |
|
|
|
The following models were included in the merge: |
|
|
|
* [allenai/Llama-3.1-Tulu-3-70B](https://huggingface.co/allenai/Llama-3.1-Tulu-3-70B) |
|
* [nvidia/Llama-3.1-Nemotron-70B-Instruct-HF](https://huggingface.co/nvidia/Llama-3.1-Nemotron-70B-Instruct-HF) |
|
* [tokyotech-llm/Llama-3.1-Swallow-70B-v0.1](https://huggingface.co/tokyotech-llm/Llama-3.1-Swallow-70B-v0.1) |
|
* [tokyotech-llm/Llama-3.1-Swallow-70B-Instruct-v0.1](https://huggingface.co/tokyotech-llm/Llama-3.1-Swallow-70B-Instruct-v0.1) |
|
* [meta-llama/Llama-3.1-70B](https://huggingface.co/meta-llama/Llama-3.1-70B) |
|
* [meta-llama/Llama-3.1-70B-Instruct](https://huggingface.co/meta-llama/Llama-3.1-70B-Instruct) |
|
|
|
### Configuration |
|
|
|
The following YAML configuration was used to produce this model: |
|
|
|
```yaml |
|
merge_method: task_arithmetic |
|
base_model: meta-llama/Llama-3.3-70B-Instruct |
|
models: |
|
- model: meta-llama/Llama-3.1-70B |
|
parameters: |
|
weight: -1.0 |
|
- model: tokyotech-llm/Llama-3.1-Swallow-70B-v0.1 |
|
parameters: |
|
weight: 1.0 |
|
dtype: bfloat16 |
|
name: Llama-3.3-SuperSwallow-70B-Instruct-v0.1-preset-llama33 |
|
--- |
|
merge_method: task_arithmetic |
|
base_model: Llama-3.3-SuperSwallow-70B-Instruct-v0.1-preset-llama33 |
|
models: |
|
- model: meta-llama/Llama-3.1-70B-Instruct |
|
parameters: |
|
weight: -1.0 |
|
- model: nvidia/Llama-3.1-Nemotron-70B-Instruct-HF |
|
parameters: |
|
weight: 1.0 |
|
dtype: bfloat16 |
|
name: Llama-3.3-SuperSwallow-70B-Instruct-v0.1-preset-nemollama33 |
|
--- |
|
merge_method: task_arithmetic |
|
base_model: Llama-3.3-SuperSwallow-70B-Instruct-v0.1-preset-nemollama33 |
|
models: |
|
- model: meta-llama/Llama-3.1-70B |
|
parameters: |
|
weight: -0.8 |
|
- model: allenai/Llama-3.1-Tulu-3-70B |
|
parameters: |
|
weight: 0.8 |
|
dtype: bfloat16 |
|
name: Llama-3.3-SuperSwallow-70B-Instruct-v0.1-preset-tulu |
|
--- |
|
merge_method: task_arithmetic |
|
base_model: Llama-3.3-SuperSwallow-70B-Instruct-v0.1-preset-nemollama33 |
|
models: |
|
- model: tokyotech-llm/Llama-3.1-Swallow-70B-v0.1 |
|
parameters: |
|
weight: -0.8 |
|
- model: tokyotech-llm/Llama-3.1-Swallow-70B-Instruct-v0.1 |
|
parameters: |
|
weight: 0.8 |
|
dtype: bfloat16 |
|
name: Llama-3.3-SuperSwallow-70B-Instruct-v0.1-preset-swallow |
|
--- |
|
merge_method: model_stock |
|
base_model: Llama-3.3-SuperSwallow-70B-Instruct-v0.1-preset-nemollama33 |
|
models: |
|
- model: Llama-3.3-SuperSwallow-70B-Instruct-v0.1-preset-tulu |
|
- model: Llama-3.3-SuperSwallow-70B-Instruct-v0.1-preset-swallow |
|
dtype: bfloat16 |
|
name: Llama-3.3-SuperSwallow-70B-Instruct-v0.1 |
|
``` |
|
|