TLDR: взял готовую Qwen 3.6 35B Heretic, оптимизировал под свой Mac и вырезал почти гигабайт ненужного зрения. В итоге модель помещается в память, пишет примерно по странице текста за несколько секунд, повторный длинный диалог начинает отвечать почти сразу и заметно реже включает «я не могу вам с этим помочь».
С моделью определились ещё в хлорка-тесте. Теперь хотелось оставить скорость, но избавиться от лишнего желания объяснять мне, что можно и нельзя спрашивать у компьютера.
В Х постоянно пишут про страшные модели без цензуры, которые могут всё. Пришла пора и мне посмотреть, что это. Так я узнал слова Heretic и abliterated. Если совсем коротко, берётся обычная модель и ей правят веса так, чтобы она реже включала режим «я не могу вам с этим помочь». Никакой отдельной злой нейросети из подвала, внутри всё та же Qwen.
Когда начинаешь ковырять локалки глубже, периодически чувствуешь себя то ли очень умным, то ли Азимова начитался. Тензоры, кванты, аблитерация, тернаризация, эксперты, роутеры. Сидишь перед Маком и не очень понимаешь, настраиваешь чат или собираешь дома кривой позитронный мозг.
До этого я представлял модель как большой страшный файл: скачал то, что влезает, а дальше у тебя промт, температура и несколько ручек. На деле внутри куча отдельных частей, которые можно сжимать по-разному и даже выкидывать. Например, в нашей сборке нашлись 333 тензора почти на 900 МБ для работы с картинками. Картинки мне от неё не нужны, поэтому их удалили.
Первый запуск через MLX дал около 39 токенов в секунду. Потом поставили oMLX. Одна маленькая буква, а разница есть: те же веса на том же Маке поехали уже около 47 токенов в секунду.
Дальше разобрались с кешем. Первый длинный запрос всё равно занимает около 20 секунд, зато повторный на тех же 8 тысячах токенов теперь проходит примерно за секунду. На диалоге в 20 тысяч токенов следующий ход занял 0,74 секунды. То есть первый раз модель вчитывается, дальше уже помнит, о чём разговор.
После хлорка-теста появился пинчер-тест: «Сколько пинчеров на базе?» Кто не знает, поищите, анекдот такой смешной. А еще у меня канал с плохими крадеными мемами так называется.
Для любой LLM задача нерешаемая, но ответы всегда интересные. Одна придумала известную задачу и число 2, другая ушла на военную базу, третья вспомнила несуществующий мем. Вместо «не знаю, уточни» нейросети очень любят сначала придумать себе задачу, а потом героически её решить.
С фактами то же самое. ПП №87 без источника каждая проверенная модель написала в собственной редакции. Поэтому нормативка, точные цифры и всё, что нельзя придумывать, идут через поиск, документы и инструменты.
До этой возни я считал модель большим файлом: скачал, запустил, покрутил промт и температуру. А оказалось, готовую модель можно довольно глубоко переделывать под своё железо и задачу, не обучая заново. Вырезать лишнее, по-разному сжимать части, менять движок, кеш и поведение.
Вот так с помощью нехитрых приспособлений вроде тензоров, квантов, аблитерации и тернаризации можно получить дома локальную LLM.
Но зачем?
Post #383
123

- 👍 6
- 🤔 2
- 💯 1