GuppyLM: 9-миллионная языковая модель, созданная с нуля для образовательных целей

Что такое GuppyLM
GuppyLM — это крошечная языковая модель (примерно 9 миллионов параметров), которая притворяется рыбкой по имени Гуппи. Она создана с нуля, чтобы показать, как работают языковые модели, не требуя докторской степени или огромного кластера GPU. Проект включает генерацию данных, создание токенизатора, архитектуру модели, цикл обучения и вывод — всё примерно в 130 строках кода на PyTorch.
Детали архитектуры
- Параметры: 8.7 млн
- Слои: 6
- Скрытая размерность: 384
- Головы внимания: 6
- FFN: 768 (ReLU)
- Словарь: 4 096 (BPE)
- Максимальная последовательность: 128 токенов
- Нормализация: LayerNorm
- Позиции: Обучаемые эмбеддинги
- LM head: Веса связаны с эмбеддингами
Это стандартный трансформер без GQA, RoPE, SwiGLU или раннего выхода — максимально простой.
Обучение и данные
Модель обучается на 60 тысячах синтетических диалогов по 60 темам примерно за 5 минут на бесплатном GPU T4 в Colab. Датасет (arman-bd/guppylm-60k-generic на HuggingFace) содержит 57 тысяч обучающих и 3 тысячи тестовых примеров в формате: {"input": "...", "output": "...", "category": "..."}.
Темы включают: приветствия, чувства, температура, еда, свет, вода, аквариум, шум, ночь, одиночество, пузыри, стекло, отражение, дыхание, плавание, цвета, вкус, растения, фильтр, водоросли, улитки, страх, возбуждение, скука, любопытство, счастье, усталость, снаружи, кошки, дождь, времена года, музыка, посетители, дети, смысл жизни, время, память, сны, размер, будущее, прошлое, имя, погода, сон, друзья, шутки, страх, любовь, возраст, интеллект, здоровье, пение, телевизор и другие.
Личность и вывод
Гуппи говорит короткими предложениями в нижнем регистре о воде, температуре, свете, вибрациях и еде. Она не понимает человеческих абстракций вроде денег, телефонов или политики. Пример диалога:
Вы> привет, гуппи Гуппи> привет. я только что нашёл хорошее место у камня. температура приятная. Вы> ты голоден Гуппи> да. всегда да. я поплыву наверх прямо сейчас. обещаю съесть всё. Вы> в чём смысл жизни Гуппи> еда. ответ всегда еда.
Быстрый старт
Поговорить с Гуппи (обучение не требуется): Загружает предобученную модель с HuggingFace. Просто запустите все ячейки в блокноте.
Обучить свою: Установите среду выполнения на GPU T4, запустите все ячейки — загрузит датасет, обучит токенизатор, обучит модель, протестирует её. Загрузите на HuggingFace или скачайте локально.
Локальный чат:
pip install torch tokenizers python -m guppylm chat
Пример локального взаимодействия:
Вы> кот смотрит на тебя Гуппи> я прячусь за растением, когда пушистый приходит. Вы> на улице идёт дождь Гуппи> я думаю, дождь — это лучшее, что есть снаружи.
Структура проекта
guppylm/ ├── config.py # Гиперпараметры (модель + обучение) ├── model.py # Стандартный трансформер ├── dataset.py # Загрузка данных + батчинг ├── train.py # Цикл обучения (косинусный LR, AMP) ├── generate_data.py # Генератор диалоговых данных (60 тем) ├── eval_cases.py # Тестовые случаи ├── prepare_data.py # Подготовка данных + обучение токенизатора └── inference.py # Интерфейс чата
Этот проект полезен разработчикам, которые хотят понять основы архитектуры трансформеров, не имея дела с моделями на миллиарды параметров. Полная реализация показывает каждый этап от сырого текста до обученных весов и сгенерированного вывода.
📖 Read the full source: HN LLM Tools
👀 Смотрите также

Разработчик OpenClaw ищет «убийственные» варианты применения после 900 пользовательских тестов
Создатель OpenClaw сообщает, что хотя пользователи пробуют такие функции, как интерфейсы Telegram, интеграции с календарями и автоматизированные рабочие процессы, большинство не остаются с инструментом надолго. Задача заключается в поиске рабочих процессов для ежедневного использования, которые станут необходимыми, а не экспериментальными.

Фреймворк для ИИ-напарников в Slack, полностью управляемый из Claude Code
ginnie-agents — это фреймворк с открытым исходным кодом для запуска автономных AI-агентов с идентификацией в Slack, трехуровневой памятью, cron-задачами и рабочими часами — все настраивается и управляется через Claude Code. Требуются Claude Code Max, Docker, Node 22+ и рабочее пространство Slack с разрешениями на создание приложений.

Нужен MCP-сервер, обеспечивающий семантическое обнаружение инструментов для AI-агентов.
Сервер MCP под названием Need обеспечивает семантический поиск по более чем 10 000 инструментам из brew, npm, pip и cargo. Когда агент запрашивает задачу, например, 'сжать эти PNG-файлы', он находит pngquant, устанавливает его, запускает и сообщает об успехе.

Напоминание: Сервер MCP для постоянной памяти Claude Code
Recall — это сервер MCP с открытым исходным кодом, который предоставляет Claude Code постоянную память между сессиями с помощью семантического поиска на основе эмбеддингов. Он включает четыре хука жизненного цикла: session-start, observe, pre-compact и session-end.