Никто об этом не просил, но лайкал в 20к старсов проекты с MoE моделями, значит подсознательно прям просили.
Поэтому, я психанул и написал свой фреймворк для агентов, чтобы они адаптировали любые локальные модели под вас.
https://github.com/howdeploy/LocalForgeLLM/
И теперь я буллишь по локальным нейронкам. Ибо с весны этого года, данная история стала сильно юзабельнее и рентабельнее, а главное дешевле.
Но. Но. Чтобы тебе кастрюлю не спаривать с пенсилом, поясню сейчас на пальцах. Предыстория.
Калибри епта
Мне мой другалек тонфлиппер aka соланафлиппер, скидывает мне иногда в личку проекты. Вот недавно он прислал Colibri, который работает как FreeToken.
Но фритокен вроде как посолиднее будет и интереснее. И дальше мы погрузимся в чудеса инженерии.
То есть уже созданная апка, которая запускает тяжелые огромные модели под ваше слабое железо. Работает все на магии упомянутого в хуке MoE. А что это?
MoE-модели (Mixture of Experts) — это архитектура нейросетей, в которой вместо одной большой и монолитной структуры используется множество меньших подсетей под названием эксперты + система маршрутизации между ними.
Простыми словами модель ту мы целиком качаем, но железо напрягается лишь на части этой модели, в зависимости от задачи.
И тут проблема в том, что на выходе иишка мне советует ставить 7B модели, а 26-31B модели через эти оптимизаторы у меня будут не юзабельны.
То есть, мне продают инструмент, что даст запустить на моей 4060 мощные модели, но толку в этом никакого. Рационально не бьется.
Однако, есть еще один известный вам метод. Который и в моем контенте ни раз упоминался. В гайдах, да и просто если погуглить. Llama или Ollama.
llama.cpp — это легковесный движок с открытым исходным кодом на языках C и C++, предназначенный для локального запуска больших языковых моделей (LLM) на домашнем или условно-домашнем железе.
И тут начинается интересное, потому что в настройках llama.cpp можно подогнать модельку строго под железо, доведя до абсолютно вылизанного состояния то, как будет работать MoE модель у вас.
А еще существуют методы предварительного сжатия вроде APEX. Ну и напомню, если кто забыл, ранее я рассказывал про виды квантований. Вернее вкинул, что их много и они разные.
И дальше мы про это подробно поговорим, ибо именно MoE APEX модельки я считаю революцией, гемой и скрытой альфой.
У этой штуки еще меньше обсуждений в сети и старсов на гитхабе, но творит она прям лютые вещи. Скоро узнаете, что там именно получается.
Так-с, а че такое фреймворк?
Framework — готовая программная платформа и набор правил, которые задают архитектуру будущего приложения и берут на себя рутинные задачи.
Я уже выпускал подобное ради интереса, когда сделал фреймворк абуза халявных токенов на любую нейронку. А теперь я сделал базис, который позволяет агенту ужать модель под ваше железо.
И как можно было понять, существует немалое количество реализаций — как бы нам модели сжать, оптимиировать aka ускорить и не потерять в качестве. Но запихнуть в микроволновку вместо серверного оборудования за много бабок.
Значит эти реализации можно выпотрашить, прогнать по ним вайбкодом личные сборки моделей, подогнать на тестах и сделать это рабочим инструментом.
Ссылка на мой фреймворк. А дальше будет пост часть 2, где я расскажу как это работает и куда тыкать.
