Перейти к содержанию

Горячая подмена знаний в llama.cpp с помощью Ngram-инжектора для Qwen

7.0/10

Разработчик под ником ortegaalfredo создал модификацию llama.cpp-NLTM и компилятор патчей ngram-knowledge-injector, позволяющие инъецировать знания в модель Qwen без её перезагрузки. Метод модифицирует таблицу Ngram PLE непосредственно в оперативной памяти перед выполнением каждого промпта, превращая её в динамическую долгосрочную память. Поскольку внедрение эмбеддингов происходит на ранних слоях модели, точный контроль сгенерированного ответа пока затруднён и требует дополнительной настройки. На данный момент решение протестировано с квантованием q8 и требует работы через механизм отображения файлов в память (mmap), являющийся стандартом для llama.cpp.

Контекст

llama.cpp — это открытый фреймворк для эффективного локального запуска больших языковых моделей на C/C++. В некоторых архитектурах линейки Qwen применяются таблицы N-gram и механизмы Prompt Lookup Embeddings (PLE), помогающие ускорять обработку текста и прогнозирование токенов. Прямая модификация таких структур данных в оперативной памяти позволяет влиять на знания модели без проведения классического дообучения или полной перезагрузки весов.

Влияние

Разработчики локальных ИИ-систем получили экспериментальный инструмент динамической подгрузки данных в модели Qwen, позволяющий обновлять знания в реальном времени без затратного переобучения и постоянного расширения контекстного окна.

Обсуждение в сообществе

Участники сообщества встретили проект с энтузиазмом, сравнив модификацию Ngram-таблиц с выходом LoRA и потенциальным шагом к обучению модели в реальном времени. В комментариях отмечена перспективность подгрузки объёмной технической документации и исходного кода проектов прямо в оперативную память без использования RAG.

Источники