NanoMind1TR-10M
NanoMind1TR-10M — компактная русскоязычная языковая модель на архитектуре Transformer decoder, обученная с нуля на корпусе технологических новостей и статей. Это основная модель коллекции NanoMind1, предназначенная для локальной генерации текста, экспериментов с маленькими LLM и сравнения архитектур.
Модель не является instruction-tuned чат-ассистентом. Это base model: она продолжает текст, а не выполняет команды пользователя.
Описание
NanoMind1TR-10M обучена на русскоязычном технологическом корпусе, включающем материалы 3DNews, Habr и iXBT. Модель усвоила стиль IT-новостей, обзоров, технических статей и тематическую лексику: смартфоны, ПК, комплектующие, ИИ, разработка, игры и потребительская электроника.
Transformer-версия создана как основная модель линейки NanoMind1. По сравнению с GRU-версией NanoMind1-10M она лучше удерживает контекст, структуру абзаца и тематическую связность при генерации.
Архитектура
| Параметр | Значение |
|---|---|
| Архитектура | Transformer decoder |
| Параметров | 9.7M |
| Размер словаря | 16,000 |
| Контекст | 512 токенов |
| d_model | 256 |
| Голов внимания | 8 |
| d_ff | 1024 |
| Слоёв | 7 |
| Dropout | 0.1 |
| Токенизатор | BPE |
| Тип весов | bfloat16 |
Embedding и выходной слой используют tied weights.
Обучение
| Параметр | Значение |
|---|---|
| Корпус | ~210M токенов |
| Эпохи | 2 |
| Batch size | 32 |
| Контекст | 512 |
| Learning rate | 6e-4 |
| Optimizer | AdamW |
| Weight decay | 0.1 |
| Gradient clipping | 1.0 |
| Warmup steps | 1,000 |
| Финальный Val PPL | 29.22 |
Модель обучена с нуля на подготовленном и токенизированном корпусе русскоязычных технологических текстов.
Возможности
Модель может:
- продолжать текст в стиле русскоязычных IT-новостей;
- генерировать заголовки, описания устройств и тематические абзацы;
- имитировать стиль Habr, обзоров и технологических публикаций;
- использоваться для экспериментов с sampling и fine-tuning;
- работать как компактная base model для локальных экспериментов.
Ограничения
Это экспериментальная base model, поэтому она:
- не следует инструкциям как чат-ассистент;
- может выдумывать факты, даты, характеристики и названия;
- может повторяться или уходить от темы;
- не предназначена для критически важных задач;
- обучена преимущественно на технологическом контенте;
- имеет небольшой контекст — 512 токенов.
Пример использования
import torch
from tokenizers import Tokenizer
from safetensors.torch import load_file
from modeling_nanomind_transformer import TransformerLM
tokenizer = Tokenizer.from_file("tokenizer.json")
state_dict = load_file("model.safetensors")
model = TransformerLM(
vocab_size=16000,
d_model=256,
n_head=8,
d_ff=1024,
num_layers=7,
seq_len=512,
dropout=0.1,
tie_embeddings=True,
)
model.load_state_dict(state_dict, strict=False)
model.eval()
prompt = "Компания Nvidia представила"
encoded = tokenizer.encode(prompt, add_special_tokens=False)
tokens = encoded.ids[:]
with torch.no_grad():
for _ in range(128):
input_ids = torch.tensor([tokens[-512:]], dtype=torch.long)
logits, _ = model(input_ids)
next_token = torch.argmax(logits[0, -1]).item()
tokens.append(next_token)
print(tokenizer.decode(tokens))
Рекомендуемая генерация
{
"temperature": 0.8,
"top_k": 20,
"top_p": 0.9,
"repetition_penalty": 1.15,
"max_tokens": 256
}
Для более предсказуемого текста используйте temperature: 0.2–0.5 или жадную генерацию.
Файлы
| Файл | Описание |
|---|---|
model.safetensors |
Веса модели |
config.json |
Конфигурация модели и генерации |
tokenizer.json |
BPE-токенизатор, 16K |
Сравнение с GRU-версией
| Модель | Архитектура | Параметры | Val PPL | Особенности |
|---|---|---|---|---|
| NanoMind1TR-10M | Transformer | 9.7M | 29.22 | Лучше удерживает контекст и структуру текста |
| NanoMind1-10M | GRU | 10.2M | 55.37 | Проще и легче в инференсе |
Transformer-версия рекомендуются как основная модель коллекции для генерации связных текстов. GRU-версия подходит для экспериментов с рекуррентными моделями и более лёгкого инференса.
Связанные модели
- NanoMind1-10M — GRU-версия из коллекции NanoMind1.
- NanoMind0.5-23M — предыдущая модель.
Лицензия
Модель распространяется по лицензии Apache 2.0.
- Downloads last month
- 88