From 9a7835e1f25cc62d76850505bcf960867751d008 Mon Sep 17 00:00:00 2001 From: ModelHub XC Date: Wed, 24 Jun 2026 17:08:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=EF=BC=8C=E7=94=B1ModelHub=20XC=E7=A4=BE=E5=8C=BA=E6=8F=90?= =?UTF-8?q?=E4=BE=9B=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Model: lightblue/DeepSeek-R1-Distill-Qwen-7B-Japanese Source: Original Platform --- .gitattributes | 36 +++ README.md | 373 ++++++++++++++++++++++++++ all_results.json | 12 + config.json | 30 +++ eval_results.json | 7 + generation_config.json | 9 + model-00001-of-00004.safetensors | 3 + model-00002-of-00004.safetensors | 3 + model-00003-of-00004.safetensors | 3 + model-00004-of-00004.safetensors | 3 + model.safetensors.index.json | 346 ++++++++++++++++++++++++ special_tokens_map.json | 23 ++ tokenizer.json | 3 + tokenizer_config.json | 204 +++++++++++++++ train_results.json | 8 + trainer_log.jsonl | 56 ++++ trainer_state.json | 436 +++++++++++++++++++++++++++++++ training_args.bin | 3 + training_eval_loss.png | Bin 0 -> 40044 bytes training_loss.png | Bin 0 -> 53062 bytes 20 files changed, 1558 insertions(+) create mode 100644 .gitattributes create mode 100644 README.md create mode 100644 all_results.json create mode 100644 config.json create mode 100644 eval_results.json create mode 100644 generation_config.json create mode 100644 model-00001-of-00004.safetensors create mode 100644 model-00002-of-00004.safetensors create mode 100644 model-00003-of-00004.safetensors create mode 100644 model-00004-of-00004.safetensors create mode 100644 model.safetensors.index.json create mode 100644 special_tokens_map.json create mode 100644 tokenizer.json create mode 100644 tokenizer_config.json create mode 100644 train_results.json create mode 100644 trainer_log.jsonl create mode 100644 trainer_state.json create mode 100644 training_args.bin create mode 100644 training_eval_loss.png create mode 100644 training_loss.png diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..52373fe --- /dev/null +++ b/.gitattributes @@ -0,0 +1,36 @@ +*.7z filter=lfs diff=lfs merge=lfs -text +*.arrow filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.ckpt filter=lfs diff=lfs merge=lfs -text +*.ftz filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.h5 filter=lfs diff=lfs merge=lfs -text +*.joblib filter=lfs diff=lfs merge=lfs -text +*.lfs.* filter=lfs diff=lfs merge=lfs -text +*.mlmodel filter=lfs diff=lfs merge=lfs -text +*.model filter=lfs diff=lfs merge=lfs -text +*.msgpack filter=lfs diff=lfs merge=lfs -text +*.npy filter=lfs diff=lfs merge=lfs -text +*.npz filter=lfs diff=lfs merge=lfs -text +*.onnx filter=lfs diff=lfs merge=lfs -text +*.ot filter=lfs diff=lfs merge=lfs -text +*.parquet filter=lfs diff=lfs merge=lfs -text +*.pb filter=lfs diff=lfs merge=lfs -text +*.pickle filter=lfs diff=lfs merge=lfs -text +*.pkl filter=lfs diff=lfs merge=lfs -text +*.pt filter=lfs diff=lfs merge=lfs -text +*.pth filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +*.safetensors filter=lfs diff=lfs merge=lfs -text +saved_model/**/* filter=lfs diff=lfs merge=lfs -text +*.tar.* filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.tflite filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.wasm filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text +*tfevents* filter=lfs diff=lfs merge=lfs -text +tokenizer.json filter=lfs diff=lfs merge=lfs -text diff --git a/README.md b/README.md new file mode 100644 index 0000000..dda921d --- /dev/null +++ b/README.md @@ -0,0 +1,373 @@ +--- +library_name: transformers +license: apache-2.0 +base_model: deepseek-ai/DeepSeek-R1-Distill-Qwen-7B +tags: +- llama-factory +- full +- generated_from_trainer +model-index: +- name: distilabel-reasoning-R1-Llama-70B-ja-train + results: [] +datasets: +- lightblue/distilabel-reasoning-R1-Llama-70B +language: +- ja +--- + +[日本語はこちら](#japanese) + +# lightblue/DeepSeek-R1-Distill-Qwen-7B-Japanese + +[Deepseek's R1 models](https://huggingface.co/collections/deepseek-ai/deepseek-r1-678e1e131c0169c0bc89728d) are excellent, state-of-the-art reasoning models which have been trained to work bilingually, with English and Chinese. +However, these models are inconsistent in the language that they produce - often outputting Chinese or English when prompted in Japanese. +For this reason, we developed [lightblue/DeepSeek-R1-Distill-Qwen-7B-Japanese](https://huggingface.co/lightblue/DeepSeek-R1-Distill-Qwen-7B-Japanese) as a Japanese version of R1. + +This model is a Japanese fine-tuned version of [deepseek-ai/DeepSeek-R1-Distill-Qwen-7B](https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B) on our [lightblue/distilabel-reasoning-R1-Llama-70B](https://huggingface.co/datasets/lightblue/distilabel-reasoning-R1-Llama-70B) dataset which reliably and accurately outputs Japanese in response to prompts. + +This model was trained was trained for \<10 minutes on the 8 x L20 instance ([ecs.gn8is-8x.32xlarge](https://www.alibabacloud.com/help/en/ecs/user-guide/gpu-accelerated-compute-optimized-and-vgpu-accelerated-instance-families-1)) on [Alibaba Cloud](https://www.alibabacloud.com/). + +# How to use + +When using these models, we recommend using a sampling temperature of between 0.5-0.7, [as per the original distilled R1 models](https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B#usage-recommendations). + +Additionally, we have observed that the model sometimes tends to repeat itself more than the original R1 model, so we also recommend setting `repetition_penalty` to 1.1, or higher if the model repeats itself when processing your prompts. + +We include scripts to use this model in vLLM: + + + +# Evaluation + +We evaluated this model for output accuracy and the percentage of valid Japanese `` sections using the first 50 rows of the [SakanaAI/gsm8k-ja-test_250-1319](https://huggingface.co/datasets/SakanaAI/gsm8k-ja-test_250-1319) dataset. + +We compare this to the original R1 model and test in both regimes where repetition penalty is 1.0 and 1.1: + +| | Repetition Penalty | Answer accuracy (%) | Valid Japanese `` (%) | +|------------------------------------------------|--------------------|---------------------|----------------------------| +| deepseek-ai/DeepSeek-R1-Distill-Qwen-7B | 1.0 | 60 | 94 | +| deepseek-ai/DeepSeek-R1-Distill-Qwen-7B | 1.1 | 62 | 96 | +| lightblue/DeepSeek-R1-Distill-Qwen-7B-Japanese | 1.0 | 66 | 92 | +| lightblue/DeepSeek-R1-Distill-Qwen-7B-Japanese | 1.1 | **70** | **98** | + +Code for the SakanaAI/gsm8k-ja-test_250-1319 evaluation can be found [here](https://drive.google.com/file/d/1gCzCJv5vasw8R3KVQimfoIDFyfxwxNvC/view?usp=sharing). + + +We further use the first 50 prompts from [DeL-TaiseiOzaki/Tengentoppa-sft-reasoning-ja](https://huggingface.co/datasets/DeL-TaiseiOzaki/Tengentoppa-sft-reasoning-ja) to evaluate the percentage of valid Japanese `` sections in model responses. +This benchmark contains more varied and complex prompts, meaning this is a more realistic evaluation of how reliably this model can output Japanese. + +| | Repetition Penalty | Valid Japanese `` (%) | +|------------------------------------------------|--------------------|----------------------------| +| deepseek-ai/DeepSeek-R1-Distill-Qwen-7B | 1.0 | 48 | +| deepseek-ai/DeepSeek-R1-Distill-Qwen-7B | 1.1 | 48 | +| lightblue/DeepSeek-R1-Distill-Qwen-7B-Japanese | 1.0 | 84 | +| lightblue/DeepSeek-R1-Distill-Qwen-7B-Japanese | 1.1 | **94** | + +Code for the DeL-TaiseiOzaki/Tengentoppa-sft-reasoning-ja evaluation can be found [here](https://drive.google.com/file/d/1f75IM5x1SZrb300odkEsLMfKsfibrxvR/view?usp=sharing). + +# How this model was made + +We made the data for this model using the following steps: + +1. Sample English reasoning-style prompts from [argilla/distilabel-reasoning-prompts](https://huggingface.co/datasets/argilla/distilabel-reasoning-prompts). +2. Remove similar prompts using text similarity based on [BAAI/bge-m3](https://huggingface.co/BAAI/bge-m3) embeddings. +3. Translate English prompts to Japanese using [gpt-4o-mini-2024-07-18](https://openai.com/index/gpt-4o-mini-advancing-cost-efficient-intelligence/). +4. Generate answers to prompts using [deepseek-ai/DeepSeek-R1-Distill-Llama-70B](https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Llama-70B). +5. Filter out responses which did not: + * Finish within 2048 tokens + * Contain a valid `` section + * Have the `` section written in Japanese + +We used this data to train our model using supervised fine tuning on [LLaMA-Factory](https://github.com/hiyouga/LLaMA-Factory) with the [ecs.gn8is-8x.32xlarge](https://www.alibabacloud.com/help/en/ecs/user-guide/gpu-accelerated-compute-optimized-and-vgpu-accelerated-instance-families-1) instance. + + +
+
+

日本語

+ +[DeepseekのR1モデル](https://huggingface.co/collections/deepseek-ai/deepseek-r1-678e1e131c0169c0bc89728d)は優れた、最先端の推論モデルであり、英語と中国語のバイリンガルで動作するように訓練されています。しかし、これらのモデルは出力される言語が一貫していないことがあり、日本語でプロンプトを与えると中国語や英語を出力することがあります。そこで、我々はR1の日本語版として[lightblue/DeepSeek-R1-Distill-Qwen-7B-Japanese](https://huggingface.co/lightblue/DeepSeek-R1-Distill-Qwen-7B-Japanese)を開発しました。 + +このモデルは、我々の[lightblue/distilabel-reasoning-R1-Llama-70B](https://huggingface.co/datasets/lightblue/distilabel-reasoning-R1-Llama-70B) データセットを使用して、[deepseek-ai/DeepSeek-R1-Distill-Qwen-7B](https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B)の日本語版として微調整されています。 + +このモデルは、[Alibaba Cloud](https://www.alibabacloud.com/)の8 x L20インスタンス([ecs.gn8is-8x.32xlarge](https://www.alibabacloud.com/help/en/ecs/user-guide/gpu-accelerated-compute-optimized-and-vgpu-accelerated-instance-families-1))で\<10分間訓練されました。 + +# 使用方法 + +これらのモデルを使用する際は、元の蒸留R1モデルで推奨されているように、サンプリング温度を0.5から0.7の間で使用することをお勧めします。 + +また、モデルが元のR1モデルよりも繰り返しがちな傾向があるため、プロンプトを処理する際にモデルが自分を繰り返す場合は、`repetition_penalty`を1.1またはそれ以上に設定することをお勧めします。 + +このモデルをvLLMで使用するためのスクリプトを含めています: + +
    +
  • vLLM + +[vLLM](https://github.com/vllm-project/vllm/)をインストールするには、 `pip install vllm`を使用します。 + +
    + vLLMコードを表示 + +```python +from vllm import LLM, SamplingParams + +llm = LLM( + model="lightblue/DeepSeek-R1-Distill-Qwen-7B-Japanese", + max_model_len=8_000 +) + +sampling_params = SamplingParams( + temperature=0.5, + max_tokens=8_000, + repetition_penalty=1.1 +) + +prompts = [ + """学校には1クラスにつき20人の生徒がおり、クラスは合計3つあります。 +学校全体では男子と女子がそれぞれ50%ずついます。 +1つ目のクラスには女子が15人、2つ目のクラスには女子が12人います。 +3つ目のクラスには何人の男子がいますか?""" +] + +conversations = [ + [{"role": "user", "content": x}] for x in prompts +] + +outputs = llm.chat(conversations, sampling_params=sampling_params) + +for output in outputs: + print(output.outputs[0].text) + + +# まず、学校の総生徒数を算出します。各クラスに20人の生徒があり、クラスは3つあるため、総生徒数は60人です。 + +# 次に、学校全体で男子と女子は同じ人数で分布しています。したがって、男子と女子各有30人。 +... +# したがって、3つ目のクラスの男子数は20 - 3 = 17人です。 +# + +# **解答:** + +# 学校の総生徒数を算出します。 +... +# **最終的な答え:** +# \[ +# \boxed{17} +# \] +``` + +
  • +
+ +# 評価 + +このモデルは、(SakanaAI/gsm8k-ja-test_250-1319)[https://huggingface.co/datasets/SakanaAI/gsm8k-ja-test_250-1319]データセットの最初の50行を使用して、出力の正確性と有効な日本語の``セクションの割合を評価しました。 + +これは元のR1モデルと比較し、繰り返しペナルティが1.0と1.1の両方の条件でテストを行いました: + +| | Repetition Penalty | Answer accuracy (%) | Valid Japanese `` (%) | +|------------------------------------------------|--------------------|---------------------|----------------------------| +| deepseek-ai/DeepSeek-R1-Distill-Qwen-7B | 1.0 | 60 | 94 | +| deepseek-ai/DeepSeek-R1-Distill-Qwen-7B | 1.1 | 62 | 96 | +| lightblue/DeepSeek-R1-Distill-Qwen-7B-Japanese | 1.0 | 66 | 92 | +| lightblue/DeepSeek-R1-Distill-Qwen-7B-Japanese | 1.1 | 70 | 98 | + +SakanaAI/gsm8k-ja-test_250-1319の評価コードは[こちら](https://drive.google.com/file/d/1gCzCJv5vasw8R3KVQimfoIDFyfxwxNvC/view?usp=sharing)にあります。 + +さらに、(DeL-TaiseiOzaki/Tengentoppa-sft-reasoning-ja)[https://huggingface.co/datasets/DeL-TaiseiOzaki/Tengentoppa-sft-reasoning-ja]の最初の50プロンプトを使用して、モデル応答における有効な日本語の``セクションの割合を評価します。このベンチマークにはより多様で複雑なプロンプトが含まれており、モデルが日本語を信頼性高く出力できるかどうかを、より現実的に評価します。 + +| | Repetition Penalty | Valid Japanese `` (%) | +|------------------------------------------------|--------------------|----------------------------| +| deepseek-ai/DeepSeek-R1-Distill-Qwen-7B | 1.0 | 48 | +| deepseek-ai/DeepSeek-R1-Distill-Qwen-7B | 1.1 | 48 | +| lightblue/DeepSeek-R1-Distill-Qwen-7B-Japanese | 1.0 | 84 | +| lightblue/DeepSeek-R1-Distill-Qwen-7B-Japanese | 1.1 | 94 | + +DeL-TaiseiOzaki/Tengentoppa-sft-reasoning-ja評価コードは[こちら](https://drive.google.com/file/d/1f75IM5x1SZrb300odkEsLMfKsfibrxvR/view?usp=sharing)にあります。 + +# 作成方法 + +このモデルのデータは以下の手順で作成されました: + +1. [argilla/distilabel-reasoning-prompts](https://huggingface.co/datasets/argilla/distilabel-reasoning-prompts)から英語の推論スタイルのプロンプトをサンプルします。 +2. [BAAI/bge-m3](https://huggingface.co/BAAI/bge-m3)埋め込みに基づくテキスト類似度を使用して、類似したプロンプトを削除します。 +3. [gpt-4o-mini-2024-07-18](https://openai.com/index/gpt-4o-mini-advancing-cost-efficient-intelligence/)を使用して、英語のプロンプトを日本語に翻訳します。 +4. [deepseek-ai/DeepSeek-R1-Distill-Llama-70B](https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Llama-70B)を使用して、プロンプトに対する回答を生成します。 +5. 以下の条件を満たさない応答をフィルタリングします: + * 2048トークン以内に終了すること + * 有効な``セクションを含んでいること + * ``セクションが日本語で書かれていること + + +# Training details +
+ Full training config + + ### Training config yaml + + ```yaml +### model +model_name_or_path: deepseek-ai/DeepSeek-R1-Distill-Qwen-7B + +### method +stage: sft +do_train: true +finetuning_type: full +deepspeed: /root/LLaMA-Factory/examples/deepspeed/ds_z2_config.json + +### dataset +dataset: distilabel-reasoning-R1-Llama-70B-ja-train +template: qwen +cutoff_len: 4500 +overwrite_cache: true +preprocessing_num_workers: 16 +packing: true + +### output +output_dir: /root/train_outputs/DeepSeek-R1-Distill-Qwen-7B/distilabel-reasoning-R1-Llama-70B-ja-train +logging_steps: 1 +save_steps: 0.99999 +plot_loss: true +overwrite_output_dir: true + +### train +per_device_train_batch_size: 1 +gradient_accumulation_steps: 1 +learning_rate: 1.0e-5 +num_train_epochs: 1.0 +lr_scheduler_type: cosine +warmup_ratio: 0.01 +bf16: true +ddp_timeout: 180000000 + +### eval +val_size: 0.01 +per_device_eval_batch_size: 1 +eval_strategy: steps +eval_steps: 0.1 +``` + +### Training run script + +```shell +echo '{ + "distilabel-reasoning-R1-Llama-70B-ja-train": { + "hf_hub_url": "lightblue/distilabel-reasoning-R1-Llama-70B-ja-train", + "formatting": "sharegpt" + } +}' > /root/LLaMA-Factory/data/dataset_info.json + +cd /root/LLaMA-Factory && llamafactory-cli train /root/reasoning_train.yaml + +rm -r /root/train_outputs/DeepSeek-R1-Distill-Qwen-7B/distilabel-reasoning-R1-Llama-70B-ja-train/checkpoint* +huggingface-cli upload lightblue/DeepSeek-R1-Distill-Qwen-7B-Japanese /root/train_outputs/DeepSeek-R1-Distill-Qwen-7B/distilabel-reasoning-R1-Llama-70B-ja-train +``` + +### Training hyperparameters + +The following hyperparameters were used during training: +- learning_rate: 1e-05 +- train_batch_size: 1 +- eval_batch_size: 1 +- seed: 42 +- distributed_type: multi-GPU +- num_devices: 8 +- total_train_batch_size: 8 +- total_eval_batch_size: 8 +- optimizer: Use adamw_torch with betas=(0.9,0.999) and epsilon=1e-08 and optimizer_args=No additional optimizer arguments +- lr_scheduler_type: cosine +- lr_scheduler_warmup_ratio: 0.01 +- num_epochs: 1.0 + +### Training results + +| Training Loss | Epoch | Step | Validation Loss | +|:-------------:|:------:|:----:|:---------------:| +| 0.766 | 0.1087 | 5 | 0.5912 | +| 0.5873 | 0.2174 | 10 | 0.5282 | +| 0.3868 | 0.3261 | 15 | 0.4958 | +| 0.5101 | 0.4348 | 20 | 0.4761 | +| 0.4085 | 0.5435 | 25 | 0.4644 | +| 0.5561 | 0.6522 | 30 | 0.4578 | +| 0.4683 | 0.7609 | 35 | 0.4542 | +| 0.5055 | 0.8696 | 40 | 0.4526 | +| 0.5359 | 0.9783 | 45 | 0.4519 | + + +### Framework versions + +- Transformers 4.46.1 +- Pytorch 2.5.1+cu124 +- Datasets 3.1.0 +- Tokenizers 0.20.3 +
+ +
+ +# License + +We share this model under an Apache 2.0 license. + +# Developed by + + +Lightblue technology logo + + +This model was trained by Peter Devine ([ptrdvn](https://huggingface.co/ptrdvn)) for Lightblue diff --git a/all_results.json b/all_results.json new file mode 100644 index 0000000..854cda0 --- /dev/null +++ b/all_results.json @@ -0,0 +1,12 @@ +{ + "epoch": 1.0, + "eval_loss": 0.4519386291503906, + "eval_runtime": 0.8439, + "eval_samples_per_second": 4.74, + "eval_steps_per_second": 1.185, + "total_flos": 7.03161217014825e+16, + "train_loss": 0.50457603516786, + "train_runtime": 362.0803, + "train_samples_per_second": 1.016, + "train_steps_per_second": 0.127 +} \ No newline at end of file diff --git a/config.json b/config.json new file mode 100644 index 0000000..8d7c21d --- /dev/null +++ b/config.json @@ -0,0 +1,30 @@ +{ + "_name_or_path": "deepseek-ai/DeepSeek-R1-Distill-Qwen-7B", + "architectures": [ + "Qwen2ForCausalLM" + ], + "attention_dropout": 0.0, + "bos_token_id": 151643, + "eos_token_id": 151643, + "hidden_act": "silu", + "hidden_size": 3584, + "initializer_range": 0.02, + "intermediate_size": 18944, + "max_position_embeddings": 131072, + "max_window_layers": 28, + "model_type": "qwen2", + "num_attention_heads": 28, + "num_hidden_layers": 28, + "num_key_value_heads": 4, + "rms_norm_eps": 1e-06, + "rope_scaling": null, + "rope_theta": 10000, + "sliding_window": null, + "tie_word_embeddings": false, + "torch_dtype": "bfloat16", + "transformers_version": "4.46.1", + "use_cache": false, + "use_mrope": false, + "use_sliding_window": false, + "vocab_size": 152064 +} diff --git a/eval_results.json b/eval_results.json new file mode 100644 index 0000000..20f2ee7 --- /dev/null +++ b/eval_results.json @@ -0,0 +1,7 @@ +{ + "epoch": 1.0, + "eval_loss": 0.4519386291503906, + "eval_runtime": 0.8439, + "eval_samples_per_second": 4.74, + "eval_steps_per_second": 1.185 +} \ No newline at end of file diff --git a/generation_config.json b/generation_config.json new file mode 100644 index 0000000..682e597 --- /dev/null +++ b/generation_config.json @@ -0,0 +1,9 @@ +{ + "_from_model_config": true, + "bos_token_id": 151646, + "do_sample": true, + "eos_token_id": 151643, + "temperature": 0.6, + "top_p": 0.95, + "transformers_version": "4.46.1" +} diff --git a/model-00001-of-00004.safetensors b/model-00001-of-00004.safetensors new file mode 100644 index 0000000..9016f30 --- /dev/null +++ b/model-00001-of-00004.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e58d9c77e07dfdbe8cfd0597028134f10fbd1d5a530b7fddcb16c0d2917cc631 +size 4877660776 diff --git a/model-00002-of-00004.safetensors b/model-00002-of-00004.safetensors new file mode 100644 index 0000000..cecf883 --- /dev/null +++ b/model-00002-of-00004.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c32a8421c2ce3d455a55c744697d8aeb80e7454910a34825bab37c0c57abdd3 +size 4932751008 diff --git a/model-00003-of-00004.safetensors b/model-00003-of-00004.safetensors new file mode 100644 index 0000000..50e715b --- /dev/null +++ b/model-00003-of-00004.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5925fa8c3c2c35e349b7e0f61bdf82813b028c4094ecc7b7b42965d51b98d78e +size 4330865200 diff --git a/model-00004-of-00004.safetensors b/model-00004-of-00004.safetensors new file mode 100644 index 0000000..7f18bcc --- /dev/null +++ b/model-00004-of-00004.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6aa7af91a9bdcda2622a26a53532a02cdf2ca98374fd503737562a1a8af8f4e9 +size 1089994880 diff --git a/model.safetensors.index.json b/model.safetensors.index.json new file mode 100644 index 0000000..6ca5084 --- /dev/null +++ b/model.safetensors.index.json @@ -0,0 +1,346 @@ +{ + "metadata": { + "total_size": 15231233024 + }, + "weight_map": { + "lm_head.weight": "model-00004-of-00004.safetensors", + "model.embed_tokens.weight": "model-00001-of-00004.safetensors", + "model.layers.0.input_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.0.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.0.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.0.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.0.post_attention_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.0.self_attn.k_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.0.self_attn.k_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.0.self_attn.o_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.0.self_attn.q_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.0.self_attn.q_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.0.self_attn.v_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.0.self_attn.v_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.1.input_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.1.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.1.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.1.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.1.post_attention_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.1.self_attn.k_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.1.self_attn.k_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.1.self_attn.o_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.1.self_attn.q_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.1.self_attn.q_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.1.self_attn.v_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.1.self_attn.v_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.10.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.10.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.10.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.10.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.10.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.10.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.10.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.10.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.10.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.10.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.10.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.10.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.11.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.11.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.11.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.11.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.11.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.11.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.11.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.11.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.11.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.11.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.11.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.11.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.12.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.12.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.12.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.12.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.12.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.12.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.12.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.12.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.12.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.12.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.12.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.12.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.13.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.13.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.13.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.13.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.13.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.13.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.13.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.13.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.13.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.13.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.13.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.13.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.14.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.14.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.14.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.14.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.14.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.14.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.14.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.14.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.14.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.14.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.14.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.14.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.15.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.15.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.15.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.15.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.15.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.15.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.15.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.15.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.15.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.15.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.15.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.15.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.16.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.16.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.16.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.16.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.16.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.16.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.16.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.16.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.16.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.16.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.16.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.16.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.17.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.17.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.17.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.17.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.17.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.17.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.17.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.17.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.17.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.17.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.17.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.17.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.18.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.18.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.18.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.18.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.18.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.18.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.18.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.18.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.18.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.18.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.18.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.18.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.19.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.19.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.19.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.19.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.19.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.19.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.19.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.19.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.19.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.19.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.19.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.19.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.2.input_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.2.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.2.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.2.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.2.post_attention_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.2.self_attn.k_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.2.self_attn.k_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.2.self_attn.o_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.2.self_attn.q_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.2.self_attn.q_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.2.self_attn.v_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.2.self_attn.v_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.20.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.20.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.20.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.20.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.20.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.20.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.20.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.20.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.20.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.20.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.20.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.20.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.21.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.21.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.21.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.21.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.21.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.21.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.21.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.21.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.21.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.21.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.21.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.21.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.22.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.22.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.22.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.22.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.22.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.22.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.22.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.22.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.22.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.22.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.22.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.22.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.23.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.23.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.23.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.23.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.23.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.23.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.23.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.23.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.23.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.23.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.23.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.23.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.24.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.24.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.24.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.24.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.24.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.24.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.24.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.24.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.24.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.24.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.24.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.24.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.25.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.25.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.25.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.25.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.25.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.25.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.25.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.25.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.25.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.25.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.25.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.25.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.26.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.26.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.26.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.26.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.26.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.26.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.26.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.26.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.26.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.26.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.26.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.26.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.27.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.27.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.27.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.27.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.27.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.27.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.27.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.27.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.27.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.27.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.27.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.27.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.3.input_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.3.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.3.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.3.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.3.post_attention_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.3.self_attn.k_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.3.self_attn.k_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.3.self_attn.o_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.3.self_attn.q_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.3.self_attn.q_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.3.self_attn.v_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.3.self_attn.v_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.4.input_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.4.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.4.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.4.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.4.post_attention_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.4.self_attn.k_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.4.self_attn.k_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.4.self_attn.o_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.4.self_attn.q_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.4.self_attn.q_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.4.self_attn.v_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.4.self_attn.v_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.5.input_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.5.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.5.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.5.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.5.post_attention_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.5.self_attn.k_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.5.self_attn.k_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.5.self_attn.o_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.5.self_attn.q_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.5.self_attn.q_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.5.self_attn.v_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.5.self_attn.v_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.6.input_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.6.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.6.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.6.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.6.post_attention_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.6.self_attn.k_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.6.self_attn.k_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.6.self_attn.o_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.6.self_attn.q_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.6.self_attn.q_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.6.self_attn.v_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.6.self_attn.v_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.7.input_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.7.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.7.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.7.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.7.post_attention_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.7.self_attn.k_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.7.self_attn.k_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.7.self_attn.o_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.7.self_attn.q_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.7.self_attn.q_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.7.self_attn.v_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.7.self_attn.v_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.8.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.8.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.8.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.8.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.8.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.8.self_attn.k_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.8.self_attn.k_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.8.self_attn.o_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.8.self_attn.q_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.8.self_attn.q_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.8.self_attn.v_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.8.self_attn.v_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.9.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.9.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.9.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.9.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.9.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.9.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.9.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.9.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.9.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.9.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.9.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.9.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.norm.weight": "model-00003-of-00004.safetensors" + } +} diff --git a/special_tokens_map.json b/special_tokens_map.json new file mode 100644 index 0000000..71e14b3 --- /dev/null +++ b/special_tokens_map.json @@ -0,0 +1,23 @@ +{ + "bos_token": { + "content": "<|begin▁of▁sentence|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + "eos_token": { + "content": "<|im_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + "pad_token": { + "content": "<|end▁of▁sentence|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + } +} diff --git a/tokenizer.json b/tokenizer.json new file mode 100644 index 0000000..b6bc6a8 --- /dev/null +++ b/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02643f00207dfc5ed248992486bde04314c21dca556bf65ce520690962b8db63 +size 11422965 diff --git a/tokenizer_config.json b/tokenizer_config.json new file mode 100644 index 0000000..528ce85 --- /dev/null +++ b/tokenizer_config.json @@ -0,0 +1,204 @@ +{ + "add_bos_token": true, + "add_eos_token": false, + "add_prefix_space": null, + "added_tokens_decoder": { + "151643": { + "content": "<|end▁of▁sentence|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151644": { + "content": "<|User|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151645": { + "content": "<|Assistant|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151646": { + "content": "<|begin▁of▁sentence|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151647": { + "content": "<|EOT|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151648": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151649": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151650": { + "content": "<|quad_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151651": { + "content": "<|quad_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151652": { + "content": "<|vision_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151653": { + "content": "<|vision_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151654": { + "content": "<|vision_pad|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151655": { + "content": "<|image_pad|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151656": { + "content": "<|video_pad|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151657": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151658": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151659": { + "content": "<|fim_prefix|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151660": { + "content": "<|fim_middle|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151661": { + "content": "<|fim_suffix|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151662": { + "content": "<|fim_pad|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151663": { + "content": "<|repo_name|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151664": { + "content": "<|file_sep|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151665": { + "content": "<|im_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + } + }, + "bos_token": "<|begin▁of▁sentence|>", + "chat_template": "{% if not add_generation_prompt is defined %}{% set add_generation_prompt = false %}{% endif %}{% set ns = namespace(is_first=false, is_tool=false, is_output_first=true, system_prompt='') %}{%- for message in messages %}{%- if message['role'] == 'system' %}{% set ns.system_prompt = message['content'] %}{%- endif %}{%- endfor %}{{bos_token}}{{ns.system_prompt}}{%- for message in messages %}{%- if message['role'] == 'user' %}{%- set ns.is_tool = false -%}{{'<|User|>' + message['content']}}{%- endif %}{%- if message['role'] == 'assistant' and message['content'] is none %}{%- set ns.is_tool = false -%}{%- for tool in message['tool_calls']%}{%- if not ns.is_first %}{{'<|Assistant|><|tool▁calls▁begin|><|tool▁call▁begin|>' + tool['type'] + '<|tool▁sep|>' + tool['function']['name'] + '\\n' + '```json' + '\\n' + tool['function']['arguments'] + '\\n' + '```' + '<|tool▁call▁end|>'}}{%- set ns.is_first = true -%}{%- else %}{{'\\n' + '<|tool▁call▁begin|>' + tool['type'] + '<|tool▁sep|>' + tool['function']['name'] + '\\n' + '```json' + '\\n' + tool['function']['arguments'] + '\\n' + '```' + '<|tool▁call▁end|>'}}{{'<|tool▁calls▁end|><|end▁of▁sentence|>'}}{%- endif %}{%- endfor %}{%- endif %}{%- if message['role'] == 'assistant' and message['content'] is not none %}{%- if ns.is_tool %}{{'<|tool▁outputs▁end|>' + message['content'] + '<|end▁of▁sentence|>'}}{%- set ns.is_tool = false -%}{%- else %}{% set content = message['content'] %}{% if '
' in content %}{% set content = content.split('
')[-1] %}{% endif %}{{'<|Assistant|>' + content + '<|end▁of▁sentence|>'}}{%- endif %}{%- endif %}{%- if message['role'] == 'tool' %}{%- set ns.is_tool = true -%}{%- if ns.is_output_first %}{{'<|tool▁outputs▁begin|><|tool▁output▁begin|>' + message['content'] + '<|tool▁output▁end|>'}}{%- set ns.is_output_first = false %}{%- else %}{{'\\n<|tool▁output▁begin|>' + message['content'] + '<|tool▁output▁end|>'}}{%- endif %}{%- endif %}{%- endfor -%}{% if ns.is_tool %}{{'<|tool▁outputs▁end|>'}}{% endif %}{% if add_generation_prompt and not ns.is_tool %}{{'<|Assistant|>'}}{% endif %}", + "clean_up_tokenization_spaces": false, + "eos_token": "<|im_end|>", + "legacy": true, + "model_max_length": 16384, + "pad_token": "<|end▁of▁sentence|>", + "padding_side": "right", + "sp_model_kwargs": {}, + "split_special_tokens": false, + "tokenizer_class": "LlamaTokenizer", + "unk_token": null, + "use_default_system_prompt": false +} diff --git a/train_results.json b/train_results.json new file mode 100644 index 0000000..55efa28 --- /dev/null +++ b/train_results.json @@ -0,0 +1,8 @@ +{ + "epoch": 1.0, + "total_flos": 7.03161217014825e+16, + "train_loss": 0.50457603516786, + "train_runtime": 362.0803, + "train_samples_per_second": 1.016, + "train_steps_per_second": 0.127 +} \ No newline at end of file diff --git a/trainer_log.jsonl b/trainer_log.jsonl new file mode 100644 index 0000000..a694f12 --- /dev/null +++ b/trainer_log.jsonl @@ -0,0 +1,56 @@ +{"current_steps": 1, "total_steps": 46, "loss": 0.706, "lr": 1e-05, "epoch": 0.021739130434782608, "percentage": 2.17, "elapsed_time": "0:00:07", "remaining_time": "0:05:39"} +{"current_steps": 2, "total_steps": 46, "loss": 0.643, "lr": 9.987820251299121e-06, "epoch": 0.043478260869565216, "percentage": 4.35, "elapsed_time": "0:00:14", "remaining_time": "0:05:09"} +{"current_steps": 3, "total_steps": 46, "loss": 0.722, "lr": 9.951340343707852e-06, "epoch": 0.06521739130434782, "percentage": 6.52, "elapsed_time": "0:00:20", "remaining_time": "0:04:53"} +{"current_steps": 4, "total_steps": 46, "loss": 0.6543, "lr": 9.890738003669029e-06, "epoch": 0.08695652173913043, "percentage": 8.7, "elapsed_time": "0:00:27", "remaining_time": "0:04:45"} +{"current_steps": 5, "total_steps": 46, "loss": 0.766, "lr": 9.806308479691595e-06, "epoch": 0.10869565217391304, "percentage": 10.87, "elapsed_time": "0:00:33", "remaining_time": "0:04:36"} +{"current_steps": 5, "total_steps": 46, "eval_loss": 0.5912319421768188, "epoch": 0.10869565217391304, "percentage": 10.87, "elapsed_time": "0:00:34", "remaining_time": "0:04:43"} +{"current_steps": 6, "total_steps": 46, "loss": 0.5495, "lr": 9.698463103929542e-06, "epoch": 0.13043478260869565, "percentage": 13.04, "elapsed_time": "0:00:41", "remaining_time": "0:04:34"} +{"current_steps": 7, "total_steps": 46, "loss": 0.5193, "lr": 9.567727288213005e-06, "epoch": 0.15217391304347827, "percentage": 15.22, "elapsed_time": "0:00:47", "remaining_time": "0:04:24"} +{"current_steps": 8, "total_steps": 46, "loss": 0.5578, "lr": 9.414737964294636e-06, "epoch": 0.17391304347826086, "percentage": 17.39, "elapsed_time": "0:00:54", "remaining_time": "0:04:17"} +{"current_steps": 9, "total_steps": 46, "loss": 0.3643, "lr": 9.24024048078213e-06, "epoch": 0.1956521739130435, "percentage": 19.57, "elapsed_time": "0:01:00", "remaining_time": "0:04:09"} +{"current_steps": 10, "total_steps": 46, "loss": 0.5873, "lr": 9.045084971874738e-06, "epoch": 0.21739130434782608, "percentage": 21.74, "elapsed_time": "0:01:07", "remaining_time": "0:04:02"} +{"current_steps": 10, "total_steps": 46, "eval_loss": 0.5282274484634399, "epoch": 0.21739130434782608, "percentage": 21.74, "elapsed_time": "0:01:08", "remaining_time": "0:04:05"} +{"current_steps": 11, "total_steps": 46, "loss": 0.6398, "lr": 8.83022221559489e-06, "epoch": 0.2391304347826087, "percentage": 23.91, "elapsed_time": "0:01:14", "remaining_time": "0:03:57"} +{"current_steps": 12, "total_steps": 46, "loss": 0.4296, "lr": 8.596699001693257e-06, "epoch": 0.2608695652173913, "percentage": 26.09, "elapsed_time": "0:01:21", "remaining_time": "0:03:49"} +{"current_steps": 13, "total_steps": 46, "loss": 0.5244, "lr": 8.345653031794292e-06, "epoch": 0.2826086956521739, "percentage": 28.26, "elapsed_time": "0:01:27", "remaining_time": "0:03:42"} +{"current_steps": 14, "total_steps": 46, "loss": 0.4739, "lr": 8.078307376628292e-06, "epoch": 0.30434782608695654, "percentage": 30.43, "elapsed_time": "0:01:34", "remaining_time": "0:03:34"} +{"current_steps": 15, "total_steps": 46, "loss": 0.3868, "lr": 7.795964517353734e-06, "epoch": 0.32608695652173914, "percentage": 32.61, "elapsed_time": "0:01:40", "remaining_time": "0:03:27"} +{"current_steps": 15, "total_steps": 46, "eval_loss": 0.49576932191848755, "epoch": 0.32608695652173914, "percentage": 32.61, "elapsed_time": "0:01:41", "remaining_time": "0:03:29"} +{"current_steps": 16, "total_steps": 46, "loss": 0.5849, "lr": 7.500000000000001e-06, "epoch": 0.34782608695652173, "percentage": 34.78, "elapsed_time": "0:01:47", "remaining_time": "0:03:22"} +{"current_steps": 17, "total_steps": 46, "loss": 0.4854, "lr": 7.191855733945388e-06, "epoch": 0.3695652173913043, "percentage": 36.96, "elapsed_time": "0:01:54", "remaining_time": "0:03:15"} +{"current_steps": 18, "total_steps": 46, "loss": 0.3887, "lr": 6.873032967079562e-06, "epoch": 0.391304347826087, "percentage": 39.13, "elapsed_time": "0:02:00", "remaining_time": "0:03:08"} +{"current_steps": 19, "total_steps": 46, "loss": 0.6612, "lr": 6.545084971874738e-06, "epoch": 0.41304347826086957, "percentage": 41.3, "elapsed_time": "0:02:07", "remaining_time": "0:03:01"} +{"current_steps": 20, "total_steps": 46, "loss": 0.5101, "lr": 6.209609477998339e-06, "epoch": 0.43478260869565216, "percentage": 43.48, "elapsed_time": "0:02:14", "remaining_time": "0:02:54"} +{"current_steps": 20, "total_steps": 46, "eval_loss": 0.4761270582675934, "epoch": 0.43478260869565216, "percentage": 43.48, "elapsed_time": "0:02:14", "remaining_time": "0:02:55"} +{"current_steps": 21, "total_steps": 46, "loss": 0.4696, "lr": 5.8682408883346535e-06, "epoch": 0.45652173913043476, "percentage": 45.65, "elapsed_time": "0:02:21", "remaining_time": "0:02:48"} +{"current_steps": 22, "total_steps": 46, "loss": 0.4555, "lr": 5.522642316338268e-06, "epoch": 0.4782608695652174, "percentage": 47.83, "elapsed_time": "0:02:27", "remaining_time": "0:02:41"} +{"current_steps": 23, "total_steps": 46, "loss": 0.4064, "lr": 5.174497483512506e-06, "epoch": 0.5, "percentage": 50.0, "elapsed_time": "0:02:34", "remaining_time": "0:02:34"} +{"current_steps": 24, "total_steps": 46, "loss": 0.3378, "lr": 4.825502516487497e-06, "epoch": 0.5217391304347826, "percentage": 52.17, "elapsed_time": "0:02:41", "remaining_time": "0:02:27"} +{"current_steps": 25, "total_steps": 46, "loss": 0.4085, "lr": 4.477357683661734e-06, "epoch": 0.5434782608695652, "percentage": 54.35, "elapsed_time": "0:02:47", "remaining_time": "0:02:20"} +{"current_steps": 25, "total_steps": 46, "eval_loss": 0.46437764167785645, "epoch": 0.5434782608695652, "percentage": 54.35, "elapsed_time": "0:02:48", "remaining_time": "0:02:21"} +{"current_steps": 26, "total_steps": 46, "loss": 0.4565, "lr": 4.131759111665349e-06, "epoch": 0.5652173913043478, "percentage": 56.52, "elapsed_time": "0:02:55", "remaining_time": "0:02:14"} +{"current_steps": 27, "total_steps": 46, "loss": 0.613, "lr": 3.790390522001662e-06, "epoch": 0.5869565217391305, "percentage": 58.7, "elapsed_time": "0:03:01", "remaining_time": "0:02:07"} +{"current_steps": 28, "total_steps": 46, "loss": 0.4919, "lr": 3.4549150281252635e-06, "epoch": 0.6086956521739131, "percentage": 60.87, "elapsed_time": "0:03:08", "remaining_time": "0:02:00"} +{"current_steps": 29, "total_steps": 46, "loss": 0.4456, "lr": 3.12696703292044e-06, "epoch": 0.6304347826086957, "percentage": 63.04, "elapsed_time": "0:03:14", "remaining_time": "0:01:54"} +{"current_steps": 30, "total_steps": 46, "loss": 0.5561, "lr": 2.8081442660546126e-06, "epoch": 0.6521739130434783, "percentage": 65.22, "elapsed_time": "0:03:21", "remaining_time": "0:01:47"} +{"current_steps": 30, "total_steps": 46, "eval_loss": 0.45777273178100586, "epoch": 0.6521739130434783, "percentage": 65.22, "elapsed_time": "0:03:21", "remaining_time": "0:01:47"} +{"current_steps": 31, "total_steps": 46, "loss": 0.4395, "lr": 2.5000000000000015e-06, "epoch": 0.6739130434782609, "percentage": 67.39, "elapsed_time": "0:03:28", "remaining_time": "0:01:40"} +{"current_steps": 32, "total_steps": 46, "loss": 0.4492, "lr": 2.204035482646267e-06, "epoch": 0.6956521739130435, "percentage": 69.57, "elapsed_time": "0:03:35", "remaining_time": "0:01:34"} +{"current_steps": 33, "total_steps": 46, "loss": 0.389, "lr": 1.9216926233717087e-06, "epoch": 0.717391304347826, "percentage": 71.74, "elapsed_time": "0:03:41", "remaining_time": "0:01:27"} +{"current_steps": 34, "total_steps": 46, "loss": 0.4336, "lr": 1.6543469682057105e-06, "epoch": 0.7391304347826086, "percentage": 73.91, "elapsed_time": "0:03:48", "remaining_time": "0:01:20"} +{"current_steps": 35, "total_steps": 46, "loss": 0.4683, "lr": 1.4033009983067454e-06, "epoch": 0.7608695652173914, "percentage": 76.09, "elapsed_time": "0:03:54", "remaining_time": "0:01:13"} +{"current_steps": 35, "total_steps": 46, "eval_loss": 0.45417019724845886, "epoch": 0.7608695652173914, "percentage": 76.09, "elapsed_time": "0:03:55", "remaining_time": "0:01:14"} +{"current_steps": 36, "total_steps": 46, "loss": 0.4277, "lr": 1.1697777844051105e-06, "epoch": 0.782608695652174, "percentage": 78.26, "elapsed_time": "0:04:01", "remaining_time": "0:01:07"} +{"current_steps": 37, "total_steps": 46, "loss": 0.4057, "lr": 9.549150281252633e-07, "epoch": 0.8043478260869565, "percentage": 80.43, "elapsed_time": "0:04:08", "remaining_time": "0:01:00"} +{"current_steps": 38, "total_steps": 46, "loss": 0.5928, "lr": 7.597595192178702e-07, "epoch": 0.8260869565217391, "percentage": 82.61, "elapsed_time": "0:04:14", "remaining_time": "0:00:53"} +{"current_steps": 39, "total_steps": 46, "loss": 0.5955, "lr": 5.852620357053651e-07, "epoch": 0.8478260869565217, "percentage": 84.78, "elapsed_time": "0:04:21", "remaining_time": "0:00:46"} +{"current_steps": 40, "total_steps": 46, "loss": 0.5055, "lr": 4.322727117869951e-07, "epoch": 0.8695652173913043, "percentage": 86.96, "elapsed_time": "0:04:28", "remaining_time": "0:00:40"} +{"current_steps": 40, "total_steps": 46, "eval_loss": 0.452594518661499, "epoch": 0.8695652173913043, "percentage": 86.96, "elapsed_time": "0:04:28", "remaining_time": "0:00:40"} +{"current_steps": 41, "total_steps": 46, "loss": 0.4106, "lr": 3.015368960704584e-07, "epoch": 0.8913043478260869, "percentage": 89.13, "elapsed_time": "0:04:35", "remaining_time": "0:00:33"} +{"current_steps": 42, "total_steps": 46, "loss": 0.4183, "lr": 1.9369152030840553e-07, "epoch": 0.9130434782608695, "percentage": 91.3, "elapsed_time": "0:04:41", "remaining_time": "0:00:26"} +{"current_steps": 43, "total_steps": 46, "loss": 0.4416, "lr": 1.0926199633097156e-07, "epoch": 0.9347826086956522, "percentage": 93.48, "elapsed_time": "0:04:48", "remaining_time": "0:00:20"} +{"current_steps": 44, "total_steps": 46, "loss": 0.4899, "lr": 4.865965629214819e-08, "epoch": 0.9565217391304348, "percentage": 95.65, "elapsed_time": "0:04:54", "remaining_time": "0:00:13"} +{"current_steps": 45, "total_steps": 46, "loss": 0.5359, "lr": 1.2179748700879013e-08, "epoch": 0.9782608695652174, "percentage": 97.83, "elapsed_time": "0:05:01", "remaining_time": "0:00:06"} +{"current_steps": 45, "total_steps": 46, "eval_loss": 0.45189881324768066, "epoch": 0.9782608695652174, "percentage": 97.83, "elapsed_time": "0:05:02", "remaining_time": "0:00:06"} +{"current_steps": 46, "total_steps": 46, "loss": 0.4124, "lr": 0.0, "epoch": 1.0, "percentage": 100.0, "elapsed_time": "0:05:08", "remaining_time": "0:00:00"} +{"current_steps": 46, "total_steps": 46, "epoch": 1.0, "percentage": 100.0, "elapsed_time": "0:06:00", "remaining_time": "0:00:00"} diff --git a/trainer_state.json b/trainer_state.json new file mode 100644 index 0000000..391232e --- /dev/null +++ b/trainer_state.json @@ -0,0 +1,436 @@ +{ + "best_metric": null, + "best_model_checkpoint": null, + "epoch": 1.0, + "eval_steps": 5, + "global_step": 46, + "is_hyper_param_search": false, + "is_local_process_zero": true, + "is_world_process_zero": true, + "log_history": [ + { + "epoch": 0.021739130434782608, + "grad_norm": 2.5425055027008057, + "learning_rate": 1e-05, + "loss": 0.706, + "step": 1 + }, + { + "epoch": 0.043478260869565216, + "grad_norm": 2.3038032054901123, + "learning_rate": 9.987820251299121e-06, + "loss": 0.643, + "step": 2 + }, + { + "epoch": 0.06521739130434782, + "grad_norm": 2.222012996673584, + "learning_rate": 9.951340343707852e-06, + "loss": 0.722, + "step": 3 + }, + { + "epoch": 0.08695652173913043, + "grad_norm": 1.4986803531646729, + "learning_rate": 9.890738003669029e-06, + "loss": 0.6543, + "step": 4 + }, + { + "epoch": 0.10869565217391304, + "grad_norm": 1.5336999893188477, + "learning_rate": 9.806308479691595e-06, + "loss": 0.766, + "step": 5 + }, + { + "epoch": 0.10869565217391304, + "eval_loss": 0.5912319421768188, + "eval_runtime": 0.8443, + "eval_samples_per_second": 4.737, + "eval_steps_per_second": 1.184, + "step": 5 + }, + { + "epoch": 0.13043478260869565, + "grad_norm": 1.4662328958511353, + "learning_rate": 9.698463103929542e-06, + "loss": 0.5495, + "step": 6 + }, + { + "epoch": 0.15217391304347827, + "grad_norm": 1.3746005296707153, + "learning_rate": 9.567727288213005e-06, + "loss": 0.5193, + "step": 7 + }, + { + "epoch": 0.17391304347826086, + "grad_norm": 1.4526853561401367, + "learning_rate": 9.414737964294636e-06, + "loss": 0.5578, + "step": 8 + }, + { + "epoch": 0.1956521739130435, + "grad_norm": 0.8964347243309021, + "learning_rate": 9.24024048078213e-06, + "loss": 0.3643, + "step": 9 + }, + { + "epoch": 0.21739130434782608, + "grad_norm": 1.2126158475875854, + "learning_rate": 9.045084971874738e-06, + "loss": 0.5873, + "step": 10 + }, + { + "epoch": 0.21739130434782608, + "eval_loss": 0.5282274484634399, + "eval_runtime": 0.843, + "eval_samples_per_second": 4.745, + "eval_steps_per_second": 1.186, + "step": 10 + }, + { + "epoch": 0.2391304347826087, + "grad_norm": 1.2183283567428589, + "learning_rate": 8.83022221559489e-06, + "loss": 0.6398, + "step": 11 + }, + { + "epoch": 0.2608695652173913, + "grad_norm": 0.9250560402870178, + "learning_rate": 8.596699001693257e-06, + "loss": 0.4296, + "step": 12 + }, + { + "epoch": 0.2826086956521739, + "grad_norm": 1.0050208568572998, + "learning_rate": 8.345653031794292e-06, + "loss": 0.5244, + "step": 13 + }, + { + "epoch": 0.30434782608695654, + "grad_norm": 1.0231624841690063, + "learning_rate": 8.078307376628292e-06, + "loss": 0.4739, + "step": 14 + }, + { + "epoch": 0.32608695652173914, + "grad_norm": 0.8328154683113098, + "learning_rate": 7.795964517353734e-06, + "loss": 0.3868, + "step": 15 + }, + { + "epoch": 0.32608695652173914, + "eval_loss": 0.49576932191848755, + "eval_runtime": 0.8436, + "eval_samples_per_second": 4.742, + "eval_steps_per_second": 1.185, + "step": 15 + }, + { + "epoch": 0.34782608695652173, + "grad_norm": 1.0239394903182983, + "learning_rate": 7.500000000000001e-06, + "loss": 0.5849, + "step": 16 + }, + { + "epoch": 0.3695652173913043, + "grad_norm": 0.9168555736541748, + "learning_rate": 7.191855733945388e-06, + "loss": 0.4854, + "step": 17 + }, + { + "epoch": 0.391304347826087, + "grad_norm": 0.9247157573699951, + "learning_rate": 6.873032967079562e-06, + "loss": 0.3887, + "step": 18 + }, + { + "epoch": 0.41304347826086957, + "grad_norm": 1.1805756092071533, + "learning_rate": 6.545084971874738e-06, + "loss": 0.6612, + "step": 19 + }, + { + "epoch": 0.43478260869565216, + "grad_norm": 0.9535987377166748, + "learning_rate": 6.209609477998339e-06, + "loss": 0.5101, + "step": 20 + }, + { + "epoch": 0.43478260869565216, + "eval_loss": 0.4761270582675934, + "eval_runtime": 0.8437, + "eval_samples_per_second": 4.741, + "eval_steps_per_second": 1.185, + "step": 20 + }, + { + "epoch": 0.45652173913043476, + "grad_norm": 0.821264922618866, + "learning_rate": 5.8682408883346535e-06, + "loss": 0.4696, + "step": 21 + }, + { + "epoch": 0.4782608695652174, + "grad_norm": 0.9166697263717651, + "learning_rate": 5.522642316338268e-06, + "loss": 0.4555, + "step": 22 + }, + { + "epoch": 0.5, + "grad_norm": 0.7674450278282166, + "learning_rate": 5.174497483512506e-06, + "loss": 0.4064, + "step": 23 + }, + { + "epoch": 0.5217391304347826, + "grad_norm": 0.7370434999465942, + "learning_rate": 4.825502516487497e-06, + "loss": 0.3378, + "step": 24 + }, + { + "epoch": 0.5434782608695652, + "grad_norm": 0.8126187324523926, + "learning_rate": 4.477357683661734e-06, + "loss": 0.4085, + "step": 25 + }, + { + "epoch": 0.5434782608695652, + "eval_loss": 0.46437764167785645, + "eval_runtime": 0.8435, + "eval_samples_per_second": 4.742, + "eval_steps_per_second": 1.186, + "step": 25 + }, + { + "epoch": 0.5652173913043478, + "grad_norm": 0.8102895021438599, + "learning_rate": 4.131759111665349e-06, + "loss": 0.4565, + "step": 26 + }, + { + "epoch": 0.5869565217391305, + "grad_norm": 1.0004063844680786, + "learning_rate": 3.790390522001662e-06, + "loss": 0.613, + "step": 27 + }, + { + "epoch": 0.6086956521739131, + "grad_norm": 0.8794491291046143, + "learning_rate": 3.4549150281252635e-06, + "loss": 0.4919, + "step": 28 + }, + { + "epoch": 0.6304347826086957, + "grad_norm": 0.7904605865478516, + "learning_rate": 3.12696703292044e-06, + "loss": 0.4456, + "step": 29 + }, + { + "epoch": 0.6521739130434783, + "grad_norm": 0.8982527256011963, + "learning_rate": 2.8081442660546126e-06, + "loss": 0.5561, + "step": 30 + }, + { + "epoch": 0.6521739130434783, + "eval_loss": 0.45777273178100586, + "eval_runtime": 0.8438, + "eval_samples_per_second": 4.741, + "eval_steps_per_second": 1.185, + "step": 30 + }, + { + "epoch": 0.6739130434782609, + "grad_norm": 0.7891985774040222, + "learning_rate": 2.5000000000000015e-06, + "loss": 0.4395, + "step": 31 + }, + { + "epoch": 0.6956521739130435, + "grad_norm": 0.7818904519081116, + "learning_rate": 2.204035482646267e-06, + "loss": 0.4492, + "step": 32 + }, + { + "epoch": 0.717391304347826, + "grad_norm": 0.8261966705322266, + "learning_rate": 1.9216926233717087e-06, + "loss": 0.389, + "step": 33 + }, + { + "epoch": 0.7391304347826086, + "grad_norm": 0.8626196384429932, + "learning_rate": 1.6543469682057105e-06, + "loss": 0.4336, + "step": 34 + }, + { + "epoch": 0.7608695652173914, + "grad_norm": 0.8142871856689453, + "learning_rate": 1.4033009983067454e-06, + "loss": 0.4683, + "step": 35 + }, + { + "epoch": 0.7608695652173914, + "eval_loss": 0.45417019724845886, + "eval_runtime": 0.8436, + "eval_samples_per_second": 4.742, + "eval_steps_per_second": 1.185, + "step": 35 + }, + { + "epoch": 0.782608695652174, + "grad_norm": 0.8224750757217407, + "learning_rate": 1.1697777844051105e-06, + "loss": 0.4277, + "step": 36 + }, + { + "epoch": 0.8043478260869565, + "grad_norm": 1.101127028465271, + "learning_rate": 9.549150281252633e-07, + "loss": 0.4057, + "step": 37 + }, + { + "epoch": 0.8260869565217391, + "grad_norm": 0.9483347535133362, + "learning_rate": 7.597595192178702e-07, + "loss": 0.5928, + "step": 38 + }, + { + "epoch": 0.8478260869565217, + "grad_norm": 0.9000388383865356, + "learning_rate": 5.852620357053651e-07, + "loss": 0.5955, + "step": 39 + }, + { + "epoch": 0.8695652173913043, + "grad_norm": 0.8246148228645325, + "learning_rate": 4.322727117869951e-07, + "loss": 0.5055, + "step": 40 + }, + { + "epoch": 0.8695652173913043, + "eval_loss": 0.452594518661499, + "eval_runtime": 0.8425, + "eval_samples_per_second": 4.748, + "eval_steps_per_second": 1.187, + "step": 40 + }, + { + "epoch": 0.8913043478260869, + "grad_norm": 0.7705091834068298, + "learning_rate": 3.015368960704584e-07, + "loss": 0.4106, + "step": 41 + }, + { + "epoch": 0.9130434782608695, + "grad_norm": 0.7705535888671875, + "learning_rate": 1.9369152030840553e-07, + "loss": 0.4183, + "step": 42 + }, + { + "epoch": 0.9347826086956522, + "grad_norm": 0.78244948387146, + "learning_rate": 1.0926199633097156e-07, + "loss": 0.4416, + "step": 43 + }, + { + "epoch": 0.9565217391304348, + "grad_norm": 0.8442041277885437, + "learning_rate": 4.865965629214819e-08, + "loss": 0.4899, + "step": 44 + }, + { + "epoch": 0.9782608695652174, + "grad_norm": 0.8914652466773987, + "learning_rate": 1.2179748700879013e-08, + "loss": 0.5359, + "step": 45 + }, + { + "epoch": 0.9782608695652174, + "eval_loss": 0.45189881324768066, + "eval_runtime": 0.843, + "eval_samples_per_second": 4.745, + "eval_steps_per_second": 1.186, + "step": 45 + }, + { + "epoch": 1.0, + "grad_norm": 0.797126829624176, + "learning_rate": 0.0, + "loss": 0.4124, + "step": 46 + }, + { + "epoch": 1.0, + "step": 46, + "total_flos": 7.03161217014825e+16, + "train_loss": 0.50457603516786, + "train_runtime": 362.0803, + "train_samples_per_second": 1.016, + "train_steps_per_second": 0.127 + } + ], + "logging_steps": 1, + "max_steps": 46, + "num_input_tokens_seen": 0, + "num_train_epochs": 1, + "save_steps": 46, + "stateful_callbacks": { + "TrainerControl": { + "args": { + "should_epoch_stop": false, + "should_evaluate": false, + "should_log": false, + "should_save": true, + "should_training_stop": true + }, + "attributes": {} + } + }, + "total_flos": 7.03161217014825e+16, + "train_batch_size": 1, + "trial_name": null, + "trial_params": null +} diff --git a/training_args.bin b/training_args.bin new file mode 100644 index 0000000..3e46226 --- /dev/null +++ b/training_args.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6eae43ea012c8287b733903bf0f33856cc5c6ca5cda0bb5ef3c74282b6e3316e +size 7160 diff --git a/training_eval_loss.png b/training_eval_loss.png new file mode 100644 index 0000000000000000000000000000000000000000..04903886987b24a74aaad265179992decf9db36d GIT binary patch literal 40044 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 Yp{rmv0X4PF9t!@ElTnr~lr;4H9}2-d7XSbN literal 0 HcmV?d00001 diff --git a/training_loss.png b/training_loss.png new file mode 100644 index 0000000000000000000000000000000000000000..e3667b6ecbfeec9f8ffa0905446b73adccc46c44 GIT binary patch literal 53062 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