Pavel Zloi
1.85K subscribers
561 photos
47 videos
2 files
801 links
Нейросети доступны каждому.

20 лет в IT
∈ 10 лет в разработке
∈ 3 года в ML/AI

Основатель:
https://rpa.icu

Связь:
@eprogrammist

Донат:
https://pay.cloudtips.ru/p/937f48ac

Ссылки:
https://github.com/EvilFreelancer
https://dzen.ru/a/ZGI0ytgNQUkpkIME
Download Telegram
Скоро опубликую кое-что интересное.
510🔥176👍3😁1
🇷🇺 FRIDA теперь в GGUF и Ollama

Модель FRIDA от SberDevices - это мощный эмбеддер на базе T5, обученный для универсального представления текста в задачах вроде парафразирования, классификации и поиска.

Однако, из-за того что её токенизатор - Roberta, а веса - T5Encoder её было затруднительно конвертировать в GGUF, но мне таки удалось это сделать.

Поэтому теперь FRIDA доступна:
- на Hugging Face в формате GGUF
- в Ollama для локального инференса

Подробнее о самой модели можно почитать в публикации "Знакомьтесь, FRIDA. Открытая эмбеддинг-модель для русского языка" на Хабр и в посте на Телеграм-канале Александра Абрамова (@dealerAI).

Качаем так:
ollama pull evilfreelancer/FRIDA


Пример запроса к Ollama:
curl http://localhost:11434/api/embed -d '{
"model": "evilfreelancer/FRIDA",
"input": "search_query: Где находится НИИ ЧАВО?"
}'


Обратите внимание: на данный момент в Ollama (v0.7.0) возможны баги при обработке некоторых строк (например, длинные русские тексты с query/document), но с llama-embedding модель работает стабильно.

PS. Подробную инструкцию о том как выполнять конвертацию выложу отдельно.
471👍257🔥5🤗4🙏3🤮1🥱1🦄1
Pavel Zloi pinned «🇷🇺 FRIDA теперь в GGUF и Ollama Модель FRIDA от SberDevices - это мощный эмбеддер на базе T5, обученный для универсального представления текста в задачах вроде парафразирования, классификации и поиска. Однако, из-за того что её токенизатор - Roberta, а веса…»
Коллектив Just AI запустили полезную волну про мифы вокруг ML, принял эстафету от Валерия Ковальского.

Поскольку занимаюсь разработкой и популяризацией нейросетевых решений, в том числе на стыке ML и реальных бизнес-задач, решил выбрать тему, которую периодически слышу от коллег из смежных направлений, мол "вкатываться в нейросети уже поздно".

Лично я так не считаю: работы ещё очень много, и её точно хватит всем. Об этом на слайдах выше.

Передаю эстафету Александру Абрамову.

UPD. К сожалению у Александра не получается принять участие, поэтому передаю эстафету Miteigi Memoto, автору канала DigitalFortress & GPU Lab.
👍198🤝6
Исследование Status Page проектов

Давно хотел создать себе страницу со статусом доступности моих публичных ИИ проектов, хотелось сделать простую мониторилку сервисов, как у больших компаний, например у DeepSeek или Mistral, или OpenAI.

Можно было бы взять облачный сервис, но я хотел чтобы это было что-то маленькое и чтобы можно было это всё локально запустить, поэтому пошёл шерстить GitHub.

Пересмотрел где-то с десяток решений и больше всего мне приглянулся проект aPulse, в нём было всё необходимое и ничего лишнего: простая страница отображения статуса, отдельный скрипт, который этот самый статус проверял, простая конфигурация в виде config.js и, самое для меня главное, он умеет отправлять уведомления в телеграм, если какой-то сервис перестал быть доступен.

Однако, в данном проекте не обошлось без "фатальных недостатков": например, он не заточен под Docker и нельзя было отключить ссылки на проверяемые эндпоинты. Всё это я добавил в своём форке и отправил PR в оригинальный репозиторий.

Вот страничка, на которой отображаются статусы моих сервисов: https://status.rpa.icu/

P.S. Кстати, есть репозиторий awesome-status-pages с подборкой таких проектов.
266🤔6👍4😁1
Пару дней гонял тесты FRIDA GGUF через бенчмарк encodechka, поскольку там нет реализации под llama.cpp пришлось изобрести свою реализацию юпитер-блокнота с тестами.

По итогу получилось, что конвертированные в GGUF модели показывают в среднем результаты хуже чем оригинальная модель.

Занятно, что особой разницы между версиями f32 и q8_0 почти нет, ну кроме того что q8_0 работает в 2 раза быстрее f32.

Далее, оказалось, что llama.cpp не может запускать без ошибок t5 модели на CUDA, поэтому тестирование проводилось исключительно на процессоре.

UPD. Кстати, в llama.cpp в режиме llama-server нельзя вернуть пачку эмбеддингов под каждый запрос чтобы потом выполнить пулинг, поэтому возможно цифры хуже из-за того что я запускал два инстанса llama-server с активным пулингом на стороне сервера, первый с cls второй с mean.
15👍1
Классификация изображений.

По одному проекту понадобился простенький классификатор одежды, поискав некоторое время набрёл на небольшой проект под названием bentoml/CLIP-API-service, однако, у данного проекта оказался один фатальный недостаток, в поставке не было Dockerfile.

Поэтому пришлось собрать его самостоятельно, по итогу у меня получился EvilFreelancer/docker-clip-api - небольшой и универсальный API сервер для запуска любых моделей семейства CLIP в формате Docker-контейнера.
115👍12❤‍🔥3🔥2👏21🥰1
Увидел в Твиттере занятный пост, автор пишет "macOS 26 is getting native support for Linux containers!", полез смотреть какой костыль высокотехнологичный продукт инженеры из Apple в очередной раз придумали, им оказался проект apple/container.

Читаю описание, на первой строке фраза "create and run Linux containers as lightweight virtual machines on your Mac", так что похоже до "native" ещё далеко, но круто что в этом направлении идёт работа.

Далеко потому что для начала MacOS нужно пересадить на ядро Linux, а Apple на это вряд ли когда-нибудь пойдут.

PS. Был приятно удивлён тем, что у Apple есть аж цельный GitHub аккаунт.
👍3🤔2
Kodify Nano от МТС в OpenSource

Вот и свершилось, компания МТС выложили в открытый доступ свою open-source модель для разработчиков. Все прекрасно легко скачать, запустить даже с ноутбука, есть оригинальные веса и GPTQ и GGUF кванты. И хотя новость выглядит довольно заманчиво, есть пара моментов, которые стоит обсудить.

Начнём с основных характеристик. Модель имеет 1.5 миллиарда параметров, поддерживает 32k токенов (это примерно 16–25 тысяч строк кода). Знает несколько популярных языков программирования, включая Python, Java и Go. Помогает писать код, объяснять его, генерировать юнит-тесты и документацию. Всё как полагается в кодинг моделях.

Но тут встаёт вопрос: 1.5 миллиарда параметров - это, конечно, круто, но... лично я уже не первый год вожусь с языковыми моделями и могу сказать: модели меньше 7B параметров обычно даже не рассматриваю.

Почему? Потому что малютки обычно не справляются с решением сложных задач, которые требуют большого контекста, разнообразия и гибкости. Особенно, когда речь идет о специализированных решениях не помянутых в обучающем датасете. Когда я хочу получить приемлемый результат, а не игрушку для демонстрации, выбираю модели с более серьёзным количеством параметров, хотя бы 7B, а лучше 13B или больше, или что-то с MoE (с активной головой на 1.5B и несколькими экспертами).

Оптимист меня поправит: "Слушай, не торопись, надо сначала протестировать, МТС - молодцы, выложили в открытый доступ!". Ну окей, давайте не будем спешить с выводами и протестируем. Всё же модель ещё не везде обкатана.

Пытаюсь запустить через Ollama (версия q8_0, которая как правило, оптимальная для скорости и качества). Запускаю ollama run hf.co/MTSAIR/Kodify-Nano-GGUF:Q8_0 тыкаю кнопочки, и получаю артефакты вместо генерации. Ну, думаю, может быть что-то не так с алгоритмом сжатия. Перехожу к float16 версии, картина повторяется.

Думаю может что не так делаю, пошёл почитать пост на Хабр и что я вижу:
Чтобы сделать Kodify еще доступнее, мы подготовили квантизированные версии — до 4 бит (это существенно снизило потребление памяти почти без потери качества). Применяли метод GPTQ‑квантизации (Generalized Post‑Training Quantization). Это один из лучших, на сегодня, методов. Он использует калибровочный датасет, являющийся частью датасета, на котором обучалась модель, для того, чтобы «сжать» модель, не испортив её.

Ну то есть похоже прям подумали над сжатием только GPTQ версии, хотя представили ещё и GGUF, вероятно их забыли протестировать перед публикацией, а ведь конвертировать это только половина дела.

Ну да ладно, раз через Ollama не получилось, пробую vLLM:
services:
vllm:
image: vllm/vllm-openai:v0.8.5
restart: always
volumes:
- ./vllm_data:/root/.cache
entrypoint: vllm
command: serve MTSAIR/Kodify-Nano --dtype bfloat16 --max_model_len=8192
environment:
- NCCL_IGNORE_DISABLED_P2P=1
- HF_HUB_ENABLE_HF_TRANSFER=0
ports:
- 8000:8000
deploy:
resources:
reservations:
devices:
- driver: nvidia
device_ids: [ '1' ]
capabilities: [ gpu ]


Подключаюсь через Open WebUI, и... чудо, в чате модель даёт вполне адекватные ответы. Конечно, на простых запросах, но всё равно, похоже, что пользоваться можно.

Подключил её в PyCharm через официальный плагичник, потестирую на моих задачках. Пока что впечатления странные, ближе к позитивным, приятно что отвечает быстро.
5👍18😁9💩4👎3🤔3
Pavel Zloi
Kodify Nano от МТС в OpenSource Вот и свершилось, компания МТС выложили в открытый доступ свою open-source модель для разработчиков. Все прекрасно легко скачать, запустить даже с ноутбука, есть оригинальные веса и GPTQ и GGUF кванты. И хотя новость выглядит…
Ну чтож, поработал с Kodify Nano в режиме Copilot в PyCharm все выходные.

Если не считать необходимость держать постоянно включенный сервер с vLLM на моей единственной шустрой GPU, то в целом очень даже юзабельно, можно задавать вопросы в контексте всего скрипта, можно выделить кусочек кода и попросить рассказать о нём или попросить изменить его, Kodify Nano сгенерирует патч с правками, которые можно словно это Cursor либо принять, либо отклонить.

Не понравилось как моделька работает с большим кодом, моделька не может делать рефакторинг по файлам, но очень понравилось как она работает с маленькими функциями, пишет небольшие тесты, комментарии к функциям, плюс плагин Kodify хранит историю запросов и контекст, что очень удобно.

Резюмируя: если вы так же как и я предпочитаете не доверять модели всю работу, а концентрируете их на каком-то маленьком участке, то Kodify Nano вам однозначно подойдёт.

PS. Скажу честно, изначально я был ооооооочень скептически настроен, причиной тому была крохотная модель, нюансики с запуском, да и в целом опыт работы с Copilot моделями у меня не очень позитивный, но за эти выходные мне удалось распробовать этот проект и он мне очень понравился. Основная причина в том, что Kodify идеально подходит под мой стиль разработки.
🔥7💊61😁1🤡1🌭1
Chat Tank

Решил окунуться в web-интерфейсы для работы с моделями в формате чатика, прежде всего было интересно найти аналог Open WebUI, мне он очень нравится, но есть пару фатальных недостатков, в частности:
- нельзя вызывать хук при регистрации новых пользователей
- нет prometheus экспортера
- агенты там называются моделями, что создаёт путаницу
- до сих пор не добавили MCP, единственный вариант подключиться к ним - через костыль в виде обёртки mcpo

Ещё один недостаток Open WebUI в том, что он с недавних пор стал закрытым проектом и если у вас больше 50 пользователей придётся прикупить лицензию.

Ну так вот, другие ю-ай'ки...


» LibreChat

Первой пощупал систему LibreChat (рис.1), внешне красиво, но там очень много всяких крутилочек, вертелочек и настроек выставленных по умолчанию, явно навайбкодили, так как в нормальных, доИИреволюционных, проектах в настройках обычно только самое важное.

После Open WebUI проект LibreChat смотрится очень перегружено (рис.2), ощущения от LibreChat словно от Miranda IM (олды поймут).

Ну да ладно, полез запускать всё это дело, скачал docker-compose.yml, он к слову состоит из пяти подсистем: librechat, RAG, mongodb, pgvector и meilisearch.

Отдельно хочу отметить проект meilisearch, если кратко то это поисковый движок, который реализует логику гибридного поиска (векторный и полнотекстовый), само собой собирает "анонимную" статистику, вероятно в будущем станет платным.


» AnythingLLM

Приятная на первый взгляд оболочка (рис.3), простой docker-compose.yml из одного сервиса anythingllm, настроек по минимуму, но есть всё необходимое. По дефолту авторизация отключена (single-user), юзер в роли админа подключается, далее в настройках можно включить авторизацию юзеров (multi-user). Механизма регистрации в системе не предусмотрено, что возможно не так уж и плохо, ведь можно реализовать регистрацию через какую-нибудь внешнюю систему аккаунтинга.

Само собой есть телеметрия, которую очень просто отключить, так что походу этот проект тоже в скором будущем станет платным.

Из странного пожалуй только крайне упоротая логика чатов, то есть workspaces, у юзера может быть одна из трёх ролей:
- admin - тут понятно, может всё
- manager - видит все workspaces, видит многие системные настройки
- default - видит только те workspaces в которые был добавлен

Для построения сервиса нужна роль default, но в ней модель нелья выбрать, разрешена только дефолтная, нет возможности создать агента, можно только чатиться в разрешённых workspace, как говорится "ешь что дают".

Перевод partially реализован, то тут то there you will созерцать english лангуяге ин ёр бравзер.


To be continued...
3👍3