|
Download README.md from SableAI-Dev/Axon-Kit: direct link, hf CLI and curl.
- Browser
- Download file 8.25 kB
-
https://huggingface.co/SableAI-Dev/Axon-Kit/resolve/main/README.md
- Command line
-
hf download hf://SableAI-Dev/Axon-Kit/README.md
-
curl -L -o README.md https://huggingface.co/SableAI-Dev/Axon-Kit/resolve/main/README.md
8.25 kB
| license: apache-2.0 | |
| library_name: pytorch | |
| pipeline_tag: text-generation | |
| tags: | |
| - gpt | |
| - from-scratch | |
| - russian | |
| - small-language-model | |
| language: | |
| - ru | |
| datasets: | |
| - HuggingFaceFW/fineweb-2 | |
| # Axon Kit | |
| **Kit** — лёгкая и быстрая модель системы **Axon** компании [SableAI](#о-проекте). Это её первая выпущенная версия: небольшая русскоязычная языковая модель (GPT, **89,3 млн параметров**), обученная **с нуля** на одной домашней видеокарте с 6 ГБ памяти. Веса не взяты ни у какой другой модели. | |
| **Это базовая модель, а не чат-бот.** Она продолжает текст, а не отвечает на вопросы. Она маленькая и обучена на небольшом корпусе, поэтому часто ошибается в фактах и теряет мысль. Не используйте её там, где нужна надёжность. | |
| В transformers и vLLM она не загрузится: архитектура собственная. Код модели лежит рядом (`model.py`), запуск описан ниже. | |
| ## О проекте | |
| **SableAI** (sable — соболь) — компания, **Axon** — её ИИ-система (нейрон, связь, инженерия). Модели системы Axon названы по животным семейства куньих и выстроены от простого к сложному: | |
| | Модель | Для чего | Статус | | |
| |---|---|---| | |
| | **Kit** | простые и мгновенные задачи: лёгкая и быстрая, как детёныш соболя | первая версия выпущена (89,3 млн параметров, эта страница) | | |
| | **Stout** | офисная работа и программирование: крепкая, надёжная, рабочая | в планах | | |
| | **Marten** | сложные аналитические задачи: умная и хитрая, как куница | в планах | | |
| | **Fisher** | глубокий научный и творческий потенциал, флагман | в планах | | |
| У Kit будут версии разного размера и с разными языками. Эта версия — стартовая точка, на которой отлаживаются данные, токенайзер и обучение. Дальнейшие планы: английский язык наравне с русским, затем другие языки и код. Всё это пока не реализовано, и у выпущенной модели этих возможностей нет. | |
| ## Характеристики | |
| | | | | |
| |---|---| | |
| | параметры | **89,3 млн** (веса токенов и выходного слоя общие) | | |
| | слои / голова / размерность | 16 / 10 / 640 | | |
| | контекст | 512 токенов | | |
| | словарь | 16 000, byte-level BPE, обучен на том же корпусе | | |
| | архитектура | decoder-only трансформер, LayerNorm, GELU, обучаемые позиции | | |
| | формат весов | `model.safetensors`, fp32 (полная точность, без сжатия), около 357 МБ | | |
| ## Запуск | |
| ```bash | |
| pip install torch tokenizers safetensors huggingface_hub | |
| hf download SableAI-Dev/Axon-Kit --local-dir Axon-Kit | |
| cd Axon-Kit | |
| python generate.py model.safetensors "Москва — это" --tokens 150 | |
| ``` | |
| Параметры генерации: `--temp` (по умолчанию 0.8), `--top_k` (40). Нужна видеокарта с CUDA. Один запуск занимает меньше 1 ГБ видеопамяти. | |
| ## Данные | |
| Русский срез [FineWeb-2](https://huggingface.co/datasets/HuggingFaceFW/fineweb-2) (`rus_Cyrl`): документы короче 300 символов отброшены, оставлено около 131M токенов. Последний 1% корпуса не участвует в обучении и используется для проверки. Дедупликации и дополнительной фильтрации сверх этого не было. Корпус собран из веб-страниц, поэтому модель может воспроизводить их смещения и ошибки. | |
| ## Обучение | |
| | | | | |
| |---|---| | |
| | железо | одна NVIDIA RTX 2060 (6 ГБ), Intel Core i5-12400F, 32 ГБ ОЗУ | | |
| | оптимизатор | AdamW, betas 0.9/0.95, weight decay 0.1 (только для матриц) | | |
| | скорость обучения | 3e-4, прогрев 200 шагов, затем косинус до 3e-5 | | |
| | батч | 64 последовательности по 512 токенов (8 × накопление 8), 32 768 токенов на шаг | | |
| | точность | fp16 с автоматическим масштабированием потерь, обрезка градиента 1.0 | | |
| | скорость | около 23 500 токенов в секунду | | |
| | этапы | 14 000 шагов с батчем 8 (57M токенов); 1 200 шагов с батчем 64 (39M токенов); ещё 5 000 шагов с батчем 64 (164M токенов, около 2 часов). Всего примерно 260M токенов, около двух проходов по корпусу | | |
| Чтобы не упираться в видеокарту, весь корпус держится в оперативной памяти, а батчи готовятся на процессоре в фоновых потоках, пока видеокарта считает. | |
| ## Качество | |
| Val loss на отложенном 1% корпуса на последнем этапе обучения (5 000 шагов): | |
| | шаг | 250 | 1000 | 2000 | 3000 | 4000 | 5000 | | |
| |---|---|---|---|---|---|---| | |
| | val loss | 3.812 | 3.698 | 3.629 | 3.556 | 3.494 | 3.483 | | |
| Итоговый val loss 3.48 (перплексия около 33 на токенах словаря 16k). Оценка идёт по 40 батчам, поэтому небольшие колебания между точками (например, 3.478 на шаге 4750) — шум, а не тренд. Другие бенчмарки не запускались. | |
| Примеры продолжения текста (температура 0.8, top-k 40): | |
| > **Москва — это** не «прибытие» и в самом деле не что иное, как смерть. Для нас это не идеальная задача, — в ней много нечистоплюдая и безразличная, где «высокая» и безотносимая, даже «абсолютная» | |
| > **Для того чтобы** приступить к работе, приступить к работе, а после этого вы сможете научиться учить свою деятельность. | |
| Текст грамматически похож на русский и по стилю на веб-страницы, но по смыслу бессвязен: повторы, выдуманные слова и ошибки в согласовании встречаются постоянно. | |
| ## Ограничения | |
| - Только русский язык; на других языках модель почти бесполезна. | |
| - Контекст 512 токенов. | |
| - Нет дообучения на инструкциях и диалогах, нет фильтров безопасности. | |
| - Обучена на ограниченном объёме данных (меньше нескольких эпох по 131M токенов), поэтому заметно недообучена. | |
| ## Лицензия | |
| Код и веса под Apache 2.0. Обучающие данные собраны из FineWeb-2 (ODC-By 1.0) и сохраняют исходные условия. | |