From ed30002a214895da334b8956d008616ed7d9a9f8 Mon Sep 17 00:00:00 2001 From: ModelHub XC Date: Tue, 28 Jul 2026 19:23:22 +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: evilfreelancer/ruGPT3XL-GGUF Source: Original Platform --- .gitattributes | 39 +++++++++++++++ Modelfile.fp16 | 7 +++ Modelfile.q4_0 | 7 +++ Modelfile.q4_k_m | 7 +++ Modelfile.q8_0 | 7 +++ README.md | 114 +++++++++++++++++++++++++++++++++++++++++++ ollama-create-all.sh | 9 ++++ ollama-push-all.sh | 7 +++ ruGPT3XL-f16.gguf | 3 ++ ruGPT3XL-q4_0.gguf | 3 ++ ruGPT3XL-q4_k_m.gguf | 3 ++ ruGPT3XL-q8_0.gguf | 3 ++ 12 files changed, 209 insertions(+) create mode 100644 .gitattributes create mode 100644 Modelfile.fp16 create mode 100644 Modelfile.q4_0 create mode 100644 Modelfile.q4_k_m create mode 100644 Modelfile.q8_0 create mode 100644 README.md create mode 100644 ollama-create-all.sh create mode 100644 ollama-push-all.sh create mode 100644 ruGPT3XL-f16.gguf create mode 100644 ruGPT3XL-q4_0.gguf create mode 100644 ruGPT3XL-q4_k_m.gguf create mode 100644 ruGPT3XL-q8_0.gguf diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..39f62dc --- /dev/null +++ b/.gitattributes @@ -0,0 +1,39 @@ +*.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 +ruGPT3XL-f16.gguf filter=lfs diff=lfs merge=lfs -text +ruGPT3XL-q4_0.gguf filter=lfs diff=lfs merge=lfs -text +ruGPT3XL-q4_k_m.gguf filter=lfs diff=lfs merge=lfs -text +ruGPT3XL-q8_0.gguf filter=lfs diff=lfs merge=lfs -text diff --git a/Modelfile.fp16 b/Modelfile.fp16 new file mode 100644 index 0000000..4ebaf0d --- /dev/null +++ b/Modelfile.fp16 @@ -0,0 +1,7 @@ +FROM "./ruGPT3XL-f16.gguf" +PARAMETER num_ctx 2048 +PARAMETER temperature 0.8 +PARAMETER top_p 0.95 +PARAMETER repeat_penalty 1.1 + +TEMPLATE """{{ if .System }}{{ .System }}{{ end }}{{ if .Prompt }}{{ .Prompt }}{{ end }}""" diff --git a/Modelfile.q4_0 b/Modelfile.q4_0 new file mode 100644 index 0000000..8d83282 --- /dev/null +++ b/Modelfile.q4_0 @@ -0,0 +1,7 @@ +FROM "./ruGPT3XL-q4_0.gguf" +PARAMETER num_ctx 2048 +PARAMETER temperature 0.8 +PARAMETER top_p 0.95 +PARAMETER repeat_penalty 1.1 + +TEMPLATE """{{ if .System }}{{ .System }}{{ end }}{{ if .Prompt }}{{ .Prompt }}{{ end }}""" diff --git a/Modelfile.q4_k_m b/Modelfile.q4_k_m new file mode 100644 index 0000000..9a6f70e --- /dev/null +++ b/Modelfile.q4_k_m @@ -0,0 +1,7 @@ +FROM "./ruGPT3XL-q4_k_m.gguf" +PARAMETER num_ctx 2048 +PARAMETER temperature 0.8 +PARAMETER top_p 0.95 +PARAMETER repeat_penalty 1.1 + +TEMPLATE """{{ if .System }}{{ .System }}{{ end }}{{ if .Prompt }}{{ .Prompt }}{{ end }}""" diff --git a/Modelfile.q8_0 b/Modelfile.q8_0 new file mode 100644 index 0000000..2e448aa --- /dev/null +++ b/Modelfile.q8_0 @@ -0,0 +1,7 @@ +FROM "./ruGPT3XL-q8_0.gguf" +PARAMETER num_ctx 2048 +PARAMETER temperature 0.8 +PARAMETER top_p 0.95 +PARAMETER repeat_penalty 1.1 + +TEMPLATE """{{ if .System }}{{ .System }}{{ end }}{{ if .Prompt }}{{ .Prompt }}{{ end }}""" diff --git a/README.md b/README.md new file mode 100644 index 0000000..fb65591 --- /dev/null +++ b/README.md @@ -0,0 +1,114 @@ +--- +language: +- ru +library_name: transformers +tags: +- text-generation +- gpt3 +- russian +- causal-lm +license: mit +pipeline_tag: text-generation +base_model: evilfreelancer/ruGPT3XL +--- + +# ruGPT-3 XL (HuggingFace format) GGUF + +A 1.3B-parameter GPT-3-style language model for Russian, converted from the original +[ai-forever/rugpt3xl](https://huggingface.co/ai-forever/rugpt3xl) Megatron-LM checkpoint +into a native HuggingFace `transformers` format. + +This is a **base (pretrained) model**, not instruction-tuned. It performs text completion +and can be fine-tuned for downstream tasks. + +Details in "[A family of pretrained transformer language models for Russian](https://scholar.google.com/citations?view_op=view_citation&hl=en&user=yPayeJIAAAAJ&citation_for_view=yPayeJIAAAAJ:Se3iqnhoufwC)" paper. + +## Model Details + +| Parameter | Value | +|---|---| +| Parameters | 1.3B | +| Architecture | GPT-3 (decoder-only transformer) | +| Hidden size | 2048 | +| Layers | 24 | +| Attention heads | 16 | +| FFN intermediate size | 8192 | +| Max sequence length | 2048 | +| Vocabulary | 50,264 tokens (BPE) | +| Activation | GELU | +| Normalization | Pre-LayerNorm | +| Position encoding | Learned absolute | +| Precision | float16 | +| Training data | 80B tokens of Russian text (4 epochs) | +| Test perplexity | 12.05 | + +## Quick Start + +Example with Q4_K_M: + +```bash +./llama.cpp/build/bin/llama-cli \ + -m ./ruGPT3XL-GGUF/ruGPT3XL-q4_k_m.gguf \ + -c 2048 \ + -p "Москва - столица" \ + -n 128 \ + --temp 0.7 \ + --top-p 0.9 \ + --repeat-penalty 1.2 +``` + +Notes: +- Use `-c 2048` for the native context length. +- Prefer `ruGPT3XL-q4_k_m.gguf` or `ruGPT3XL-q8_0.gguf` for CPU inference. +- Use `ruGPT3XL-f16.gguf` mainly for GPU. + +Start server: + +```bash +./llama.cpp/build/bin/llama-server \ + -m ./ruGPT3XL-GGUF/ruGPT3XL-q4_k_m.gguf \ + -c 2048 \ + --host 127.0.0.1 \ + --port 8080 +``` + +Example request: + +```bash +curl http://127.0.0.1:8080/completion \ + -H "Content-Type: application/json" \ + -d '{ + "prompt": "Вопрос: Какая столица России?\n\nОтвет: ", + "n_predict": 128, + "temperature": 0.7, + "top_p": 0.9, + "repeat_penalty": 1.2 + }' +``` + +## Limitations + +- This is a **base model** trained on Russian internet text. It may generate biased, factually + incorrect, or offensive content. +- The model was trained primarily on Russian text. It has limited capability in other languages. +- Maximum context length is 2048 tokens. Inputs longer than this will be truncated. +- The model is not instruction-tuned and works best for text completion rather than + following specific instructions. + +## Citation + +```bibtex +@misc{rugpt3xl-gguf, + title={ruGPT3XL-GGUF}, + author={Pavel Rykov}, + year={2026}, + publisher={Hugging Face}, + url={https://huggingface.co/evilfreelancer/ruGPT3XL-GGUF} +} +``` + +## Links + +- [A family of pretrained transformer language models for Russian](https://scholar.google.com/citations?view_op=view_citation&hl=en&user=yPayeJIAAAAJ&citation_for_view=yPayeJIAAAAJ:Se3iqnhoufwC) - paper on Google Scholar +- [ai-forever/rugpt3xl](https://huggingface.co/ai-forever/rugpt3xl) - original model +- [ai-forever/ru-gpts](https://github.com/ai-forever/ru-gpts) - original training codebase \ No newline at end of file diff --git a/ollama-create-all.sh b/ollama-create-all.sh new file mode 100644 index 0000000..d2774cc --- /dev/null +++ b/ollama-create-all.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +set -euo pipefail + +cd "$(dirname "$0")" + +ollama create evilfreelancer/rugpt3:3xl-fp16 -f Modelfile.fp16 +ollama create evilfreelancer/rugpt3:3xl-q8_0 -f Modelfile.q8_0 +ollama create evilfreelancer/rugpt3:3xl-q4_0 -f Modelfile.q4_0 +ollama create evilfreelancer/rugpt3:3xl-q4_k_m -f Modelfile.q4_k_m diff --git a/ollama-push-all.sh b/ollama-push-all.sh new file mode 100644 index 0000000..9b10ebc --- /dev/null +++ b/ollama-push-all.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +set -euo pipefail + +ollama push evilfreelancer/rugpt3:3xl-fp16 +ollama push evilfreelancer/rugpt3:3xl-q8_0 +ollama push evilfreelancer/rugpt3:3xl-q4_0 +ollama push evilfreelancer/rugpt3:3xl-q4_k_m diff --git a/ruGPT3XL-f16.gguf b/ruGPT3XL-f16.gguf new file mode 100644 index 0000000..4ea415d --- /dev/null +++ b/ruGPT3XL-f16.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49a9733030d3993768ed5024ba784e42f5e417beea599339071955e37ea2aaf9 +size 2850364608 diff --git a/ruGPT3XL-q4_0.gguf b/ruGPT3XL-q4_0.gguf new file mode 100644 index 0000000..28cd637 --- /dev/null +++ b/ruGPT3XL-q4_0.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7aafa15e9aa598e4a9af6811ed97d5ba6e245327e5fb555c4a71378bd25dee9 +size 844507712 diff --git a/ruGPT3XL-q4_k_m.gguf b/ruGPT3XL-q4_k_m.gguf new file mode 100644 index 0000000..09be32a --- /dev/null +++ b/ruGPT3XL-q4_k_m.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9cc00819ac781104b878b99e9ddbafb64f521baf22e919fe2399d07b06d851bf +size 935340608 diff --git a/ruGPT3XL-q8_0.gguf b/ruGPT3XL-q8_0.gguf new file mode 100644 index 0000000..bdad02b --- /dev/null +++ b/ruGPT3XL-q8_0.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be995f06c665ce85b64acfacd265b6373ba7c29d9c28106f49fd3433a01654ec +size 1524888768