Горячая подмена знаний в 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.