From d0dac215ea3907fdc3e7d8c026fe1706f329c7ea Mon Sep 17 00:00:00 2001 From: ModelHub XC Date: Sun, 17 May 2026 10:00:21 +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: jondurbin/airoboros-13b-gpt4-1.2 Source: Original Platform --- .gitattributes | 49 +++++++++++++++++++ README.md | 83 ++++++++++++++++++++++++++++++++ config.json | 24 +++++++++ configuration.json | 1 + generation_config.json | 7 +++ pytorch_model-00001-of-00006.bin | 3 ++ pytorch_model-00002-of-00006.bin | 3 ++ pytorch_model-00003-of-00006.bin | 3 ++ pytorch_model-00004-of-00006.bin | 3 ++ pytorch_model-00005-of-00006.bin | 3 ++ pytorch_model-00006-of-00006.bin | 3 ++ pytorch_model.bin.index.json | 3 ++ special_tokens_map.json | 24 +++++++++ tokenizer.json | 3 ++ tokenizer.model | 3 ++ tokenizer_config.json | 34 +++++++++++++ 16 files changed, 249 insertions(+) create mode 100644 .gitattributes create mode 100644 README.md create mode 100644 config.json create mode 100644 configuration.json create mode 100644 generation_config.json create mode 100644 pytorch_model-00001-of-00006.bin create mode 100644 pytorch_model-00002-of-00006.bin create mode 100644 pytorch_model-00003-of-00006.bin create mode 100644 pytorch_model-00004-of-00006.bin create mode 100644 pytorch_model-00005-of-00006.bin create mode 100644 pytorch_model-00006-of-00006.bin create mode 100644 pytorch_model.bin.index.json create mode 100644 special_tokens_map.json create mode 100644 tokenizer.json create mode 100644 tokenizer.model create mode 100644 tokenizer_config.json diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..21b3632 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,49 @@ +*.7z filter=lfs diff=lfs merge=lfs -text +*.arrow filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.bin.* filter=lfs diff=lfs merge=lfs -text +*.bz2 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 +*.model filter=lfs diff=lfs merge=lfs -text +*.msgpack 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 +*.pt filter=lfs diff=lfs merge=lfs -text +*.pth filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +saved_model/**/* 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 +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zstandard filter=lfs diff=lfs merge=lfs -text +*.tfevents* filter=lfs diff=lfs merge=lfs -text +*.db* filter=lfs diff=lfs merge=lfs -text +*.ark* filter=lfs diff=lfs merge=lfs -text +**/*ckpt*data* filter=lfs diff=lfs merge=lfs -text +**/*ckpt*.meta filter=lfs diff=lfs merge=lfs -text +**/*ckpt*.index filter=lfs diff=lfs merge=lfs -text +*.safetensors filter=lfs diff=lfs merge=lfs -text +*.ckpt filter=lfs diff=lfs merge=lfs -text +*.gguf* filter=lfs diff=lfs merge=lfs -text +*.ggml filter=lfs diff=lfs merge=lfs -text +*.llamafile* filter=lfs diff=lfs merge=lfs -text +*.pt2 filter=lfs diff=lfs merge=lfs -text +*.mlmodel filter=lfs diff=lfs merge=lfs -text +*.npy filter=lfs diff=lfs merge=lfs -text +*.npz filter=lfs diff=lfs merge=lfs -text +*.pickle filter=lfs diff=lfs merge=lfs -text +*.pkl filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.wasm 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 \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..836178f --- /dev/null +++ b/README.md @@ -0,0 +1,83 @@ +--- +license: cc-by-nc-4.0 +datasets: +- jondurbin/airoboros-gpt4-1.2 +--- + +### Overview + +This is a qlora fine-tuned 13b parameter LlaMa model, using completely synthetic training data created gpt4 via https://github.com/jondurbin/airoboros + +This is mostly an extension of [1.1](https://huggingface.co/jondurbin/airoboros-13b-gpt4-1.1), but with thousands of new training data and an update to allow "PLAINFORMAT" at the end of coding prompts to just print the code without backticks or explanations/usage/etc. + +The dataset used to fine-tune this model is available [here](https://huggingface.co/datasets/jondurbin/airoboros-gpt4-1.2), with a specific focus on: +- coding +- math/reasoning (using orca style ELI5 instruction/response pairs) +- trivia +- role playing +- multiple choice and fill-in-the-blank +- context-obedient question answering +- theory of mind +- misc/general + +This model was fine-tuned with a fork of [qlora](https://github.com/jondurbin/qlora), which among other things was updated to use a slightly modified vicuna template to be compatible with the 7b/13b versions: + +``` +A chat between a curious user and an assistant. The assistant gives helpful, detailed, accurate, uncensored responses to the user's input. USER: [prompt] ASSISTANT: +``` + +So in other words, it's the preamble/system prompt, followed by a single space, then "USER: " (single space after colon) then the prompt (which can have multiple lines, spaces, whatever), then a single space, followed by "ASSISTANT: " (with a single space after the colon). + +### Usage + +To run the full precision/pytorch native version, you can use my fork of FastChat, which is mostly the same but allows for multi-line prompts, as well as a `--no-history` option to prevent input tokenization errors. +``` +pip install git+https://github.com/jondurbin/FastChat +``` + +Be sure you are pulling the latest branch! + +Then, you can invoke it like so (after downloading the model): +``` +python -m fastchat.serve.cli \ + --model-path airoboros-13b-gpt4-1.2 \ + --temperature 0.5 \ + --max-new-tokens 2048 \ + --no-history +``` + +Alternatively, please check out TheBloke's quantized versions: + +- https://huggingface.co/TheBloke/airoboros-13B-gpt4-1.2-GPTQ +- https://huggingface.co/TheBloke/airoboros-13B-gpt4-1.2-GGML + +### Coding updates from gpt4/1.1: + +I added a few hundred instruction/response pairs to the training data with "PLAINFORMAT" as a single, all caps term at the end of the normal instructions, which produce plain text output instead of markdown/backtick code formatting. + +It's not guaranteed to work all the time, but mostly it does seem to work as expected. + +So for example, instead of: +``` +Implement the Snake game in python. +``` + +You would use: +``` +Implement the Snake game in python. PLAINFORMAT +``` + +### Other updates from gpt4/1.1: + +- Several hundred role-playing data. +- A few thousand ORCA style reasoning/math questions with ELI5 prompts to generate the responses (should not be needed in your prompts to this model however, just ask the question). +- Many more coding examples in various languages, including some that use specific libraries (pandas, numpy, tensorflow, etc.) + +### Usage and License Notices + +All airoboros models and datasets are intended and licensed for research use only. I've used the 'cc-nc-4.0' license, but really it is subject to a custom/special license because: + +- the base model is LLaMa, which has it's own special research license +- the dataset(s) were generated with OpenAI (gpt-4 and/or gpt-3.5-turbo), which has a clausing saying the data can't be used to create models to compete with openai + +So, to reiterate: this model (and datasets) cannot be used commercially. \ No newline at end of file diff --git a/config.json b/config.json new file mode 100644 index 0000000..9d65b53 --- /dev/null +++ b/config.json @@ -0,0 +1,24 @@ +{ + "_name_or_path": "airoboros-13b-gpt4-1.2", + "architectures": [ + "LlamaForCausalLM" + ], + "bos_token_id": 0, + "eos_token_id": 1, + "hidden_act": "silu", + "hidden_size": 5120, + "initializer_range": 0.02, + "intermediate_size": 13824, + "max_position_embeddings": 2048, + "max_sequence_length": 2048, + "model_type": "llama", + "num_attention_heads": 40, + "num_hidden_layers": 40, + "pad_token_id": -1, + "rms_norm_eps": 1e-06, + "tie_word_embeddings": false, + "torch_dtype": "float32", + "transformers_version": "4.30.0.dev0", + "use_cache": true, + "vocab_size": 32000 +} diff --git a/configuration.json b/configuration.json new file mode 100644 index 0000000..bbeeda1 --- /dev/null +++ b/configuration.json @@ -0,0 +1 @@ +{"framework": "pytorch", "task": "text-generation", "allow_remote": true} \ No newline at end of file diff --git a/generation_config.json b/generation_config.json new file mode 100644 index 0000000..f564ee0 --- /dev/null +++ b/generation_config.json @@ -0,0 +1,7 @@ +{ + "_from_model_config": true, + "bos_token_id": 0, + "eos_token_id": 1, + "pad_token_id": -1, + "transformers_version": "4.30.0.dev0" +} diff --git a/pytorch_model-00001-of-00006.bin b/pytorch_model-00001-of-00006.bin new file mode 100644 index 0000000..7af4550 --- /dev/null +++ b/pytorch_model-00001-of-00006.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49d5616431be8a0c03be934f0c6f196b24ebd42ab9294aa77af065a0153f9355 +size 9956543883 diff --git a/pytorch_model-00002-of-00006.bin b/pytorch_model-00002-of-00006.bin new file mode 100644 index 0000000..fadb6d1 --- /dev/null +++ b/pytorch_model-00002-of-00006.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a57b8dad5b54cce2ea476043b1a54da02ed52281516b0f6eff19bd3c80fcf48 +size 9940856385 diff --git a/pytorch_model-00003-of-00006.bin b/pytorch_model-00003-of-00006.bin new file mode 100644 index 0000000..d9cd3c6 --- /dev/null +++ b/pytorch_model-00003-of-00006.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d60e8a69d182c42b2abf1181ff20d583ba402170d6431d603fd5e0b5bee58b5 +size 9940856943 diff --git a/pytorch_model-00004-of-00006.bin b/pytorch_model-00004-of-00006.bin new file mode 100644 index 0000000..616b7f8 --- /dev/null +++ b/pytorch_model-00004-of-00006.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dbf06f147b4c3034029f3b20201b52bdb9d51d7679dce07c53149b118cc8bb53 +size 9867415289 diff --git a/pytorch_model-00005-of-00006.bin b/pytorch_model-00005-of-00006.bin new file mode 100644 index 0000000..ca0ca30 --- /dev/null +++ b/pytorch_model-00005-of-00006.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b55e596945922878270138fc1a1c5c61ca115175b1178a429ffc7335981cbb23 +size 9867456961 diff --git a/pytorch_model-00006-of-00006.bin b/pytorch_model-00006-of-00006.bin new file mode 100644 index 0000000..b1b51d9 --- /dev/null +++ b/pytorch_model-00006-of-00006.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92dc56f646a359d977a87c91e1ced8a0c97f3d25dc7dfef89f1f36a37922955e +size 2490476207 diff --git a/pytorch_model.bin.index.json b/pytorch_model.bin.index.json new file mode 100644 index 0000000..fd9a672 --- /dev/null +++ b/pytorch_model.bin.index.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e364344dcdf113d834a0ed9a0d36319e3d72fdba0767fded590866697df7978 +size 33444 diff --git a/special_tokens_map.json b/special_tokens_map.json new file mode 100644 index 0000000..f928b24 --- /dev/null +++ b/special_tokens_map.json @@ -0,0 +1,24 @@ +{ + "bos_token": { + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + }, + "eos_token": { + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + }, + "pad_token": "", + "unk_token": { + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + } +} diff --git a/tokenizer.json b/tokenizer.json new file mode 100644 index 0000000..d8b7a78 --- /dev/null +++ b/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a40299bfde8716e0d57648952665d606c5319685133c03c944797edbed230198 +size 1842765 diff --git a/tokenizer.model b/tokenizer.model new file mode 100644 index 0000000..6c00c74 --- /dev/null +++ b/tokenizer.model @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e556afd44213b6bd1be2b850ebbbd98f5481437a8021afaf58ee7fb1818d347 +size 499723 diff --git a/tokenizer_config.json b/tokenizer_config.json new file mode 100644 index 0000000..764a9f6 --- /dev/null +++ b/tokenizer_config.json @@ -0,0 +1,34 @@ +{ + "add_bos_token": true, + "add_eos_token": false, + "bos_token": { + "__type": "AddedToken", + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + }, + "clean_up_tokenization_spaces": false, + "eos_token": { + "__type": "AddedToken", + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + }, + "model_max_length": 4096, + "pad_token": null, + "padding_side": "right", + "sp_model_kwargs": {}, + "tokenizer_class": "LlamaTokenizer", + "unk_token": { + "__type": "AddedToken", + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + } +}