skyzh/tiny-llm

Практический курс для системных инженеров: реализация инференса Qwen3 с нуля на чипах Apple с использованием массивов MLX, начиная с матричного умножения, с последовательным добавлением KV-кэша, квантования, непрерывной пакетной обработки и страничного KV-кэша для создания мини-версии vLLM, и завершением построением кодового агента.

Практический курс для системных инженеров: реализация инференса Qwen3 с нуля на чипах Apple с использованием массивов MLX, начиная с матричного умножения, с последовательным добавлением KV-кэша, квантования, непрерывной пакетной обработки и страничного KV-кэша для создания мини-версии vLLM, и завершением построением кодового агента.

Звёзды 4851 (+22 / 24ч)

Обоснование

  • Четырёхнедельный маршрут: на 1-й неделе реализуйте внимание, RoPE, GQA, RMSNorm, MLP, сэмплирование и авторегрессионный цикл, используя только mlx.core; на 2-й неделе добавьте KV-кэш, матрично-векторное умножение с 4-битным квантованием и SIMD-предзаполнение; на 3-й неделе реализуйте непрерывную пакетную обработку, блочный приём запросов и страничный KV-кэш, чтобы внимание при декодировании и FlashAttention напрямую читали страницы
  • Каждый оператор необходимо реализовать самостоятельно на Python, C++ или Metal, не используя готовые оптимизированные версии из MLX; MLX служит лишь эталоном корректности и базовой линией производительности
  • Кодовый агент на 4-й неделе публикуется ежедневно, на данный момент открыт до 9-го дня: изменение файлов после одобрения, одиночные команды проверки, контрольные точки и восстановление, сжатие контекста, детерминированное тестирование и т.д.

Использование

  • Учебные материалы находятся на skyzh.github.io/tiny-llm, начните с главы о настройке окружения; проверьте окружение командами: pdm install -v, pdm run check-installation, pdm run test-refsol -- -- -k week_1
  • Упражнения выполняются в пакете tiny_llm, пакет tiny_llm_ref содержит эталонные решения для тестирования; следуйте порядку глав книги

Риски

  • Требуется Mac на чипе Apple; автор предупреждает, что начиная с 3-го дня 4-й недели агент будет отправлять содержимое файлов модели, изменять файлы и выполнять команды, поэтому необходимо использовать временное рабочее пространство без ключей доступа
  • Это учебный проект, а не производственный фреймворк инференса; репозиторий существует с 2025 года, лицензия Apache-2.0

Открыть

Trendshift(GitHub Trending 快照)

Открыть последние новости ИИ