Instructions to use akanemind/Flourish-3M with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use akanemind/Flourish-3M with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="akanemind/Flourish-3M")# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("akanemind/Flourish-3M") model = AutoModelForCausalLM.from_pretrained("akanemind/Flourish-3M", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use akanemind/Flourish-3M with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "akanemind/Flourish-3M" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "akanemind/Flourish-3M", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/akanemind/Flourish-3M
- SGLang
How to use akanemind/Flourish-3M with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "akanemind/Flourish-3M" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "akanemind/Flourish-3M", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "akanemind/Flourish-3M" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "akanemind/Flourish-3M", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use akanemind/Flourish-3M with Docker Model Runner:
docker model run hf.co/akanemind/Flourish-3M
Flourish-3M
⚠️ Это учебный/исследовательский проект, а не модель для продакшена. Подробнее об ограничениях см. раздел «Качество».
Архитектура
- 10 слоёв, dim 128, FFN 384
- GQA: 4 query-головы / 2 kv-головы
- RMSNorm, RoPE, SwiGLU, QK-norm, без bias, без dropout
- Словарь токенизатора: 8 192 (byte-level BPE, регистр сохраняется), embedding'и входа/выхода общие (weight tying)
- Контекст: 512 токенов
- Итого: 3.02M параметров (из них 1.05M — эмбеддинги)
Тег qwen3 — не про происхождение модели. Архитектура (Llama-блок + QK-norm перед RoPE) в transformers совпадает по структуре тензоров с Qwen3ForCausalLM, поэтому для совместимости с AutoModelForCausalLM веса маппятся на Qwen3ForCausalLM.
Данные
- deepvk/cultura_ru_edu — ~1.2 млрд символов, Apache 2.0
- wikimedia/wikipedia (20231101.ru) — ~520 млн символов, CC-BY-SA-3.0
- Нерусские документы отфильтрованы (доля кириллицы < 60%)
- Итого ~531M токенов (train), обучение — около 0.94 эпохи (данные не повторяются)
Лицензия MIT относится только к весам модели; датасеты остаются под своими лицензиями.
Обучение
- Оптимизатор AdamW, lr 1.5e-3 с косинусным расписанием, warmup 305 шагов
- Batch: 32 768 токенов/шаг (micro-batch 32 x accum 2)
- Устройство: Apple Silicon (MPS), без AMP
- Всего шагов: 15 259
Качество
Финальные метрики (валидационная выборка, кросс-энтропия в натуральных логарифмах, усреднение по токенам):
- val loss: 3.626
- перплексия: ~37.6
Перплексия считается на токен используемого токенизатора (словарь 8 192, byte-level BPE). Токены у такого словаря короткие, поэтому значение напрямую не сравнимо с моделями, у которых другой токенизатор.
Динамика val loss/ppl по ходу обучения:
| Шаг | Val loss | PPL |
|---|---|---|
| 1 000 | 4.498 | 89.9 |
| 3 000 | 4.020 | 55.7 |
| 6 000 | 3.844 | 46.7 |
| 9 000 | 3.746 | 42.3 |
| 12 000 | 3.668 | 39.2 |
| 15 259 | 3.626 | 37.6 |
Что модель умеет:
- Воспроизводит словоформы, пунктуацию и структуру статей в стиле Wikipedia (согласование падежей при этом нередко нарушается)
Чего не умеет:
- Фактология практически отсутствует — имена, даты, географические привязки генерируются правдоподобно, но часто неверны
- Связность распадается уже через 1-2 предложения, тема может "плыть"
Пример генерации (промпт → продолжение)
Москва — столица
Москва — столица России
География
Серебряный стенами в 1986 году на протяжении 30 лет открыт в 1994 году.
История
На территории города располагался в 1120-х гг. здесь.
Административный центр — село «Костёр-Волжская»,
в 1975 году — в селе «Серебряная»,
в 1979 году — в городе Большого Северо-Западного городского округа,
в 1980 году — в городе Большой Савой,
в 1989 году — в городе Большого Серебряного Корского.
В 1990 году — в селе Житомир.
География
Находится в юго-восточной части России по прямой от административного центра коммуны и муниципалитета.
Использование
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("akanemind/Flourish-3M")
tokenizer = AutoTokenizer.from_pretrained("akanemind/Flourish-3M")
inputs = tokenizer("Москва — столица", return_tensors="pt")
out = model.generate(**inputs, max_new_tokens=100, do_sample=True, temperature=0.8)
print(tokenizer.decode(out[0]))
- Downloads last month
- 597