Metadata-Version: 2.4
Name: 9was9
Version: 0.1.0
Summary: Универсальный ускоритель numpy-вычислений (KV-кэш, RoPE, fused linear).
Author-email: CharmLxt <reception.mailspypi@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/CharmLxt/9was9
Project-URL: Source, https://github.com/CharmLxt/9was9
Keywords: numpy,acceleration,kv-cache,rope,llm,inference
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: numpy>=1.21.0

9was9. Версия 0.1.0. Автор CharmLxt (PyPI: CharmLxt, email: reception.mailspypi@gmail.com). Ссылка на GitHub: https://github.com/CharmLxt/9was9.



Важно про имя пакета. Установка производится командой pip install 9was9 (так пакет называется на PyPI), но импортировать его нужно как ninewas9, потому что имена Python-модулей не могут начинаться с цифры. Пример: from ninewas9 import KVCache, RoPECache, FusedLinear, fast\_softmax.



9was9 — это универсальная библиотека-ускоритель для numpy-вычислений, созданная в первую очередь для нейросетевого инференса, но применимая в любом проекте, где важна скорость работы с массивами. В основе лежит несколько идей: предвыделение памяти вместо повторяющихся аллокаций, кэширование часто используемых таблиц, объединение нескольких матричных умножений в одно и численно стабильные реализации классических операций.



Первая версия содержит пять групп функций. KVCache — это менеджер памяти для ключей и значений в трансформерах, который заранее выделяет буфер максимального размера и записывает новые значения в срез, избегая np.concatenate на каждом токене. Это уменьшает сложность вставки с O(n) до O(1) и убирает до 20% накладных расходов на инференс. RoPECache предвычисляет sin/cos таблицы для Rotary Position Embeddings с поддержкой нескольких типов масштабирования (linear, dynamic, llama3) и возвращает view без копирования. Это экономит до 15% времени forward-pass.



FusedLinear объединяет несколько линейных слоёв (например, Q, K и V проекции или gate и up MLP) в одно матричное умножение за счёт конкатенации весов. Это экономит один проход по памяти вместо трёх и лучше утилизирует BLAS-ядра. FusedMLP — это готовый MLP-блок с fused gate/up и SwiGLU/GELU/ReLU активацией. Fast-softmax содержит численно стабильные реализации softmax и log-softmax (защита от inf/nan на больших логитах), causal mask, scaled dot-product attention с поддержкой GQA и MQA через broadcast, а также top-k и top-p фильтры для вероятностного сэмплинга.



Установка: pip install 9was9. Зависимость только одна — numpy. Библиотека не требует torch, tensorflow или других тяжёлых фреймворков. Все функции работают с обычными numpy-массивами и не имеют побочных эффектов. Связь с автором: reception.mailspypi@gmail.com.

