commit acb8b97699e21bffdf0a2af7ad646cae8b5bc433 Author: ModelHub XC Date: Fri Jul 24 15:59:09 2026 +0800 初始化项目,由ModelHub XC社区提供模型 Model: emese-tech/csermely Source: Original Platform diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..a6344aa --- /dev/null +++ b/.gitattributes @@ -0,0 +1,35 @@ +*.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 diff --git a/README.md b/README.md new file mode 100644 index 0000000..6386b43 --- /dev/null +++ b/README.md @@ -0,0 +1,80 @@ +--- +language: +- hu +license: mit +tags: +- hungarian +- causal-lm +- llama +- sentencepiece +library_name: transformers +pipeline_tag: text-generation +model-index: +- name: csermely + results: [] +--- + +# Csermely + +**The smallest coherent Hungarian language model.** Part of the [Emese](https://emese.tech) model family. + +Csermely is a 190M parameter decoder-only transformer trained exclusively on high-quality Hungarian text. It runs on edge devices and excels in summarization, grammar checking, and tone detection. + +## Model Details + +| | | +|---|---| +| **Version** | 0.2 | +| **Parameters** | 190.2M | +| **Context length** | 4,096 tokens (YaRN RoPE, 4× factor) | +| **Architecture** | LLaMA-style (decoder-only transformer) | +| **Training context** | 1,024 tokens | +| **Training precision** | bfloat16 (MLX) | +| **Published weights** | float16 | +| **Vocabulary** | 32,000 (SentencePiece Unigram, Hungarian) | +| **Training data** | ~2B tokens of Hungarian text | +| **License** | MIT | + +## Architecture + +- 16 transformer layers +- 896 hidden dimension +- 14 attention heads +- 2560 FFN intermediate size +- RMSNorm pre-layer normalization +- Rotary positional embeddings (RoPE) with YaRN extension (4× factor, base 1024) +- SwiGLU feed-forward activation +- Tied input/output embeddings + +## Tokenizer + +Custom 32K vocabulary SentencePiece Unigram tokenizer trained on high-quality Hungarian corpora. ~30% more token-efficient than multilingual tokenizers for Hungarian text. + +Available separately: [emese-tech/emese-tokenizer-32k](https://huggingface.co/emese-tech/emese-tokenizer-32k) + +## Usage + +```python +from transformers import AutoTokenizer, AutoModelForCausalLM + +tokenizer = AutoTokenizer.from_pretrained("emese-tech/csermely") +model = AutoModelForCausalLM.from_pretrained("emese-tech/csermely") + +input_text = "A magyar nyelv" +inputs = tokenizer(input_text, return_tensors="pt") +outputs = model.generate(**inputs, max_new_tokens=100) +print(tokenizer.decode(outputs[0], skip_special_tokens=True)) +``` + +The default generation config uses `temperature=0.7`, `top_p=0.9`, and `repetition_penalty=1.2` to reduce repetitive output. + +## Citation + +```bibtex +@misc{emese-csermely-2026, + title={Csermely: A Hungarian Language Model}, + author={Emese Tech}, + year={2026}, + url={https://huggingface.co/emese-tech/csermely} +} +``` diff --git a/config.json b/config.json new file mode 100644 index 0000000..a51d44c --- /dev/null +++ b/config.json @@ -0,0 +1,26 @@ +{ + "architectures": ["LlamaForCausalLM"], + "model_type": "llama", + "model_version": "0.2", + "vocab_size": 32000, + "hidden_size": 896, + "intermediate_size": 2560, + "num_hidden_layers": 16, + "num_attention_heads": 14, + "num_key_value_heads": 14, + "hidden_act": "silu", + "max_position_embeddings": 4096, + "rope_theta": 10000.0, + "rope_scaling": { + "type": "yarn", + "factor": 4.0, + "original_max_position_embeddings": 1024 + }, + "rms_norm_eps": 1e-5, + "tie_word_embeddings": true, + "torch_dtype": "float16", + "bos_token_id": 2, + "eos_token_id": 3, + "pad_token_id": 1, + "transformers_version": "4.45.0" +} diff --git a/generation_config.json b/generation_config.json new file mode 100644 index 0000000..1b4818f --- /dev/null +++ b/generation_config.json @@ -0,0 +1,11 @@ +{ + "max_new_tokens": 256, + "do_sample": true, + "temperature": 0.7, + "top_p": 0.9, + "repetition_penalty": 1.2, + "bos_token_id": 2, + "eos_token_id": 3, + "pad_token_id": 1, + "transformers_version": "4.45.0" +} diff --git a/model.safetensors b/model.safetensors new file mode 100644 index 0000000..f274101 --- /dev/null +++ b/model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:deeac4d68a23cc62416245c42d172caaefb1db6b324d50027e7ea98db045e5f1 +size 437724864 diff --git a/special_tokens_map.json b/special_tokens_map.json new file mode 100644 index 0000000..8c32e3a --- /dev/null +++ b/special_tokens_map.json @@ -0,0 +1,30 @@ +{ + "bos_token": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + "eos_token": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + "unk_token": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + "pad_token": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + } +} diff --git a/tokenizer.model b/tokenizer.model new file mode 100644 index 0000000..603a41c --- /dev/null +++ b/tokenizer.model @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:244bb6facd57b3890990261b9932ab50d79630d5b35058c902a5c96c32fa2950 +size 845117 diff --git a/tokenizer_config.json b/tokenizer_config.json new file mode 100644 index 0000000..78621ed --- /dev/null +++ b/tokenizer_config.json @@ -0,0 +1,12 @@ +{ + "bos_token": "", + "eos_token": "", + "unk_token": "", + "pad_token": "", + "sp_model_kwargs": {}, + "add_bos_token": true, + "add_eos_token": false, + "model_max_length": 8192, + "tokenizer_class": "LlamaTokenizer", + "clean_up_tokenization_spaces": false +}