Files
Clornet-150m/README.md

68 lines
2.5 KiB
Markdown
Raw Permalink Normal View History

---
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)
```