Text Generation
Transformers
Russian
English
gpt2
causal-lm
experimental
trained-from-scratch
spacemodel
undertrained
Instructions to use openmodelai/Galactic-2.5-Mini with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use openmodelai/Galactic-2.5-Mini with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="openmodelai/Galactic-2.5-Mini")# pip install -U transformers accelerate # Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("openmodelai/Galactic-2.5-Mini", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use openmodelai/Galactic-2.5-Mini with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "openmodelai/Galactic-2.5-Mini" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "openmodelai/Galactic-2.5-Mini", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/openmodelai/Galactic-2.5-Mini
- SGLang
How to use openmodelai/Galactic-2.5-Mini 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 "openmodelai/Galactic-2.5-Mini" \ --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": "openmodelai/Galactic-2.5-Mini", "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 "openmodelai/Galactic-2.5-Mini" \ --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": "openmodelai/Galactic-2.5-Mini", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use openmodelai/Galactic-2.5-Mini with Docker Model Runner:
docker model run hf.co/openmodelai/Galactic-2.5-Mini
File size: 9,764 Bytes
1440c49 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | # Galactic 2.5 Mini — SpaceModel
**В архиве находятся реальные веса после короткого обучения с нуля, а не только код или случайная инициализация. Это технический эксперимент, не готовый русско-английский помощник.**
## Что это
- Название: **Galactic 2.5 Mini**.
- Разработчик / бренд по вашему указанию: **SpaceModel**.
- 49 999 872 уникальных обучаемых параметра (~50 млн).
- GPT-2-совместимый decoder-only Transformer: 12 слоёв, размерность 512, 8 голов, FFN 2048.
- Собственный byte-level BPE, 23 258 токенов; русский и английский входят в обучающие данные.
- Случайная инициализация: чужие предобученные веса не использовались.
- 300 шагов AdamW на CPU, batch 2 × 128 токенов: 76 800 предъявлений входных токенов, 76 200 целевых предсказаний. Фрагменты выбирались с возвращением, это не число уникальных токенов.
- Конфигурация контекста — 512 токенов; в этом запуске обучались последовательности только по 128. Длинный контекст не обучен и не проверен.
- Веса FP16, около 100 МБ (95,4 MiB); для работы на CPU пример загружает FP32.
## Важное ограничение
Такой объём обучения крайне мал. Не ожидайте связных ответов, следования инструкциям, достоверных знаний, устойчивой грамматики или полноценного владения обоими языками. Название «2.5» — заданное вами имя, а не указание на существовавшие предыдущие версии или уровень качества. Модель не проходила instruction tuning, safety tuning или внешние бенчмарки.
## Файлы
- `model/` — **готовое содержимое репозитория модели на Hugging Face**.
- `model/model.safetensors` — веса.
- `model/config.json`, `generation_config.json` — конфигурация.
- `model/tokenizer.json`, `tokenizer_config.json`, `special_tokens_map.json`, `vocab.json`, `merges.txt` — токенизатор.
- `model/README.md` — карточка модели с фактическими результатами.
- `model/training_report.json`, `training_log.jsonl` — отчёт и журнал реального запуска.
- `model/verification.json` — проверка загрузки и некорректированные примеры генерации.
- `data_sources.json` — источники, размеры и SHA-256 исходных текстов.
- `prepare_data.py`, `train.py`, `infer.py`, `upload.py`, `requirements.txt` — код; копия включена в `model/training/` для публикации.
- `SHA256SUMS.txt` — контрольные суммы остальных файлов архива.
## Запуск локально
Рекомендуется Python 3.11–3.13. После распаковки откройте терминал в папке `Galactic-2.5-Mini`:
```bash
python -m venv .venv
# Linux/macOS:
source .venv/bin/activate
# Windows PowerShell вместо предыдущей команды:
# .venv\Scripts\Activate.ps1
pip install -r requirements.txt
python infer.py --prompt "Однажды вечером" --max-new-tokens 64
python infer.py --prompt "Once upon a time" --max-new-tokens 64
```
Если нужен CPU-only PyTorch, установите его перед остальными зависимостями:
```bash
pip install torch==2.5.1 --index-url https://download.pytorch.org/whl/cpu
pip install -r requirements.txt
```
Не используйте `apply_chat_template`: эта модель предназначена для продолжения текста, шаблона чата нет.
## Загрузка на Hugging Face
Публикация автоматически **не выполнялась**. Доступ к аккаунту не запрашивался. Не отправляйте токены доступа в чат.
### Через сайт
1. Создайте репозиторий модели `Galactic-2.5-Mini` в вашем аккаунте или организации.
2. Если хотите адрес `SpaceModel/Galactic-2.5-Mini`, вам нужны права на организацию `SpaceModel`. Её существование и доступность имени не проверялись.
3. Загрузите **содержимое** папки `model/` в корень репозитория. Саму внешнюю папку `model` загружать как вложенную не нужно. ZIP не заменяет распакованные файлы модели.
4. Сохраните предупреждение о коротком пробном обучении в карточке.
### Через командную строку
```bash
hf auth login
python upload.py --repo YOUR_NAMESPACE/Galactic-2.5-Mini
```
Скрипт создаёт **приватный** репозиторий по умолчанию. Проверьте файлы, карточку и лицензию, затем измените видимость в Settings. Для создания сразу публичного репозитория:
```bash
python upload.py --repo YOUR_NAMESPACE/Galactic-2.5-Mini --public
```
У уже существующего репозитория скрипт не меняет видимость. В `YOUR_NAMESPACE` подставьте настоящий логин или организацию с правами записи.
## Воспроизведение и продолжение обучения
В исходные данные входят пять старых произведений Project Gutenberg. Исходные тексты не вложены в архив; загрузчик получает их по открытым URL. Источники помечены Gutenberg как public domain в США; перед повторным использованием проверяйте применимые правила вашей юрисдикции. Это маленький разнородный корпус: поэзия, задачи, исторический текст и английская проза; часть русских текстов имеет старую орфографию.
`prepare_data.py` удаляет внешнюю Gutenberg-шапку и лицензионный хвост; дополнительная очистка редакторских вставок/оглавлений не выполнялась. Последние 5% каждого произведения отложены для валидации и не участвуют в обучении токенизатора. Валидация оценивается на небольшом фиксированном наборе окон, а не на внешнем тесте.
```bash
# Загружает данные и заново обучает токенизатор в model/.
# Сначала сделайте копию model/: не перезаписывайте опубликованный токенизатор!
python prepare_data.py
# Полный повтор короткого запуска, со случайной инициализацией:
python train.py --steps 300 --batch-size 2 --seq-len 128 --device cpu --output reproduced
# Продолжить с экспортированных весов; оптимизатор будет НОВЫЙ:
python train.py --resume model --output continued --steps 1000 --batch-size 2 --seq-len 128
```
Изменение источников или версии токенизатора может изменить ID токенов. При продолжении обучения сохраняйте исходный токенизатор; если подготовили другой корпус, кодируйте его именно исходным токенизатором в `.cache/train_ru.npy`, `.cache/train_en.npy`, `.cache/valid_ru.npy`, `.cache/valid_en.npy` (одномерные массивы NumPy int32). **Нельзя заново обучить токенизатор на новых данных и использовать его со старыми весами.**
Состояния оптимизатора/RNG не включены ради размера: точное продолжение с того же шага невозможно. Для полезной модели нужны значительно больше подходящих данных и вычислений; простое повторение этих же текстов не заменит полноценное предобучение. При длительном обучении добавьте регулярное сохранение чекпойнтов — текущий минимальный скрипт экспортирует веса только после завершения всех шагов.
|