Files
Clornet-150m/README.md
ModelHub XC b26d31a1fd 初始化项目,由ModelHub XC社区提供模型
Model: Toondra/Clornet-150m
Source: Original Platform
2026-07-26 13:29:12 +08:00

68 lines
2.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
language:
- ru
license: apache-2.0
tags:
- text-generation
- pytorch
- causal-lm
- llama
model_name: Clornet-150m
pipeline_tag: text-generation
datasets:
- uonlp/CulturaX
---
# Clornet 150M
**Clornet** - это предварительно обученная Decoder-only языковая модель объемом **150 миллионов параметров**, построенная на базе классической архитектуры **Llama** и оптимизированная для генерации и обработки русскоязычного текста.
Модель была обучена с нуля на отфильтрованном русскоязычном корпусе данных и демонстрирует стабильную сходимость с итоговым показателем перплексии **22.59**.
## Основные характеристики
| Параметр | Значение |
| :--- | :--- |
| **Объем параметров** | ~150M |
| **Архитектура** | Llama |
| **Размер словаря** | 24,576 токенов |
| **Длина контекста** | 2048 токенов |
| **Основной язык обучения** | Русский |
| **Перплексия** | **22.59** (на валидационной выборке) |
| **Лицензия** | Apache 2.0 |
## Инференс
Для запуска модели рекомендуется использовать библиотеку `transformers`. Пример кода для инференса на Python:
```python
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_name = "Toondra/Clornet-150m"
device = "cuda" if torch.cuda.is_available() else "cpu"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name).to(device)
prompt = "В глубоком лесу росло странное дерево, которое"
inputs = tokenizer(prompt, return_tensors="pt").to(device)
with torch.no_grad():
outputs = model.generate(
**inputs,
max_new_tokens=64,
do_sample=True,
top_k=20,
top_p=0.8,
temperature=0.4,
repetition_penalty=1.15
)
# Срезаем промпт, чтобы не дублировать его на выводе
generated_ids = outputs[0][inputs.input_ids.shape[-1]:]
generated_text = tokenizer.decode(generated_ids, skip_special_tokens=True)
print("Результат генерации:")
print(generated_text)
```