Архитектор посмотрел на мою схему и говорит: «Ты переизобрёл паттерн иерархической памяти». А я просто хотел, чтобы Кеша не забывал, о чём мы вчера говорили 😎
Третья реинкарнация моего ИИ-ассистента. Первые две версии - это была чистая эйфория. Те 7 дней, когда собираешь первый прототип, ни с чем не сравнить. Но руки-то чешутся.
Что было. Postgres для хранения диалогов. Тяжело, избыточно для одного пользователя.
Fine-tuning на 5 000 примеров - первый блин комом. Из 5 000 штук примерно половина содержали действие-экшен. Модель обучилась и начала экшенить везде. 75% тестов прошла нормально, а в 20% случаев, где надо было подумать, переспросить, глянуть на экран, она всё равно лупила экшеном. Классическая ловушка перекоса данных, OpenAI прямо об этом предупреждает 🤷♀️
Google Colab дал бесплатно ~5 часов GPU. Обучение модели заняло 2 эпохи за 4,5 часа. Впритирку. Час запаса. Совет: не заливайте огромные датасеты в бесплатный Colab, сессия отвалится, и привет 😠
Что стало. Пересадил всё на SQLite, самую распространённую СУБД в мире, 4 млрд активных установок. Работает в каждом айфоне, каждом андроиде. Серверов не надо, бэкап - просто скопировать файл. Для персонального ассистента - то что надо.
Для векторизации файлов накрутил ChromaDB с обходчиком. Нейронку пересадил на видеокарту, ответ за ~1 секунду. Ляпота 😎
Fine-tuning, решение: разбить набор инструкций на равномерные части и обучить повторно. Выделить равномерные категории, чтобы модель не зубрила одинаковые паттерны.
А вот с памятью вышло интересно. Выстроил пайплайн иерархической памяти. Строил от боли: как бы я сам хотел, чтобы нагрузка была минимальной, а контекст находился быстро. SQLite для диалогов, личностей, предпочтений, краткосрочной и долгосрочной памяти.
ChromaDB для семантического поиска по файлам. Отправил архитектуру на консультацию.
А мне в ответ:
«Ты переизобрёл паттерн иерархической памяти».
Ни хера себе, да я архитектор получается! 😁
Оказывается, это реальный научный паттерн H-MEM, описанный в 2025 году. Четыре уровня: домен, категория, след памяти, эпизод. Я вслепую, по интуиции, пришёл к тому же.
В который раз убеждаюсь, что сначала лучше выстроить логику и боли «на салфетке», а потом уже накручивать инструменты.
Заходи в комменты и поделись своей победой 👇
@data_dzen 🙂
