Pavel Zloi – Telegram
Pavel Zloi
2.18K subscribers
581 photos
49 videos
2 files
836 links
директор ИИ · инженер‑интегратор
@eprogrammist | https://github.com/EvilFreelancer

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

Поддержать автора:
https://pay.cloudtips.ru/p/937f48ac
Download Telegram
Смотрите какой забавный проект основанный на базе mixtral 8x7b, суть его преобразовывать токсичные комментарии в обычные. Не совсем ясно как его заюзать где-то за пределами "поиграться", но идея применения БЯМ в подобном русле интересная.

Кстати странно, что автор использовал gradio, а не langchain и langserve (возможно он забыл, или он не знал), так как половину файлов можно было бы просто не писать.

#github #gpt
👍4
Читал сегодня "юмористическую" заметку на тему непростых отношений Илона Маска и текущих руководителей компании OpenAI. Судя по всему между ними разгорелся спор уровня «сам дурак» :) Ещё в твиттере на канале Илон не мало забавных мемов на тему нагенерил.

В общем с каждой такой новостью в которой фигурирует OpenAI я все больше задумываюсь отменить подписку на chatgpt, так как mixtral уже работает локально на уровне gpt 3.5 (для решения моих задач), а для проектов посложнее есть gigachat и yandexgpt или обучить свою.
👎3🔥2
Поздравляю немногочисленных подписчиц канала с 8 марта!

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

ЗЫ. Пришлось порядочно помучить модель DALL-E чтобы она правильно текст сгенерировала.
🔥11
Приветствую! Сегодня хочу поделиться ссылочкой на мою новую статью под названием "Как подружить OpenWRT и Prometheus?".

В этой публикации вы узнаете, как настроить node_exporter на вашем роутере прошитом под OpenWRT и собирать метрики, которые затем будут выгружаться в Prometheus и красиво визуализироваться в Grafana

Кстати, Grafana и Prometheus у меня работают в Docker контейнерах.

#zen #openwrt #exporter #prometheus #grafana #docker
🔥1
Решил пройтись с утреца по новостным каналам которые рассказывают про нейросети, помимо традиционных обзоров на научные работы и размышлений на разные темы увидел на канале @grokaem_seby одну крайне примечательную новость о том, что Илья Гусев (автор проекта Saiga) начал вести свой авторский телеграм-канал.
👍1
MoAI = MoE + multimodal

Вчера под вечер задался мыслью, а существуют ли модели которые одновременно и Mixture of Experts (MoE, по типу Mixtral 8x7B) и мультимодальностью обладают (как Qwen-VL)?

После непродолжительного гуглежа оказалась, что всего неделю назад была опубликована работа "MoAI: Mixture of All Intelligence for Large Language and Vision Models" (arXiv:2403.07508), которая как-раз об одной такой модели и повествует.

Пошёл копать дальше и нашёл веса данной модели (BK-Lee/MoAI-7B), а также соответствующий репозиторий на GitHub (ByungKwanLee/MoAI).

Пока пытался модель запустить локально посмотрел как она реализована, если кратко то это гирлянда из нескольких моделей и OCR, для работы потребуется CUDA 11.7, а ещё GCC не выше 11, вот кстати может пригодится:

sudo update-alternatives --config cuda
python3.9 -m venv venv
. venv/bin/activate
export CC=gcc-11 CXX=g++-11
pip install torch==2.0.1+cu117 torchvision==0.15.2+cu117 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu117
pip install natten==0.15.1+torch200cu118 -f https://shi-labs.com/natten/wheels
pip install -r assets/requirements/requirements.txt
pip install -r assets/requirements/requirements_custom.txt
pip install wheel
pip install flash-attn --no-build-isolation

Мне удалось всё развернуть, но застрял на этапе запуска демки, так как данный проект использует кастомную модель для сегментации изображений, доступ к которой автор репозтория забыл расшарить для всех, в общем я создал в репозитории проекта issue на эту тему (и как оказалось, автор уже это дело исправил).

PS. Маскотом проекта является одноимённый истукан моаи с острова Пасхи 🗿 так что с эмодзи тоже возиться не пришлось, всё уже придумано.
🗿10👍7
Отправил в репозиторий LangChain свой первый Pull Request, в нём я реализовал поддержку векторного поиска средствами движка ManticoreSearch Engine.

Ещё много чего нужно сделать, вот как-раз на выходных буду заниматься, плюс похоже функционал knn в самой мантикоре ещё не работает как надо, но нужно же с чего-то начинать :)

UPD. Отправил в канал ManticoreSearch Engine сообщение о том как воспроизвести проблему векторного поиска с которой я столкнулся.
👍10👏3
Всем привет! 11го марта Илон Маск опубликовал сообщение о том, что веса модели Grok-1 станут доступны публично спустя неделю, неделя прошла, Илон сдержал обещание и на странице проекта Grok было опубликовано сообщение гласящее что "веса в описании профиля", там вот эта ссылка висит.

Если перейти по ней, то можно увидеть техническое описание модели, папку grok-1, содержащую 773 файла, общим весом примерно 320Гб, там же будет ссылки на Torrent-файл и Magnet-ссылку для скачивания.

magnet:?xt=urn:btih:5f96d43576e3d386c9ba65b883210a393b68210e&tr=https%3A%2F%2Facademictorrents.com%2Fannounce.php&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce


Самое примечательное в описании:

- Grok-1 is a 314B parameter Mixture of Experts model - Модель имеет 314B параметров и основана на базе архитектуры MoE;
- Base model (not finetuned) - А это значит, что указанная модель скорее всего простой storywriter, не умеющий выполнять полезную работу и её надо обучать выполнять инструкции (либо few-shots как-то примешивать);
- 8 experts (2 active) - Модель представляет из себя 8x MoE, по аналогии с Mixtral 8x7b;
- 86B active parameters - Если 2 эксперта это 86B параметров, то получается, что каждый эксперт это 43B, следовательно grok-1 это 8x43b MoE;

Для запуска модели потребуются скрипты вот отсюда https://github.com/xai-org/grok-1

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

По моим прикидкам для запуска модели понадобится чуть меньше 100Гб VRAM в 8bit режиме (2x43B=86B где 1 параметр равен 1 байту, плюс затраты на инференс и токенизатор), а это значит, что когда умельцы смогут запустить модель и в 4bit режиме надо будет в два раза меньше памяти.

Полагаю в течении этой недели появится ещё и GGUF версия, так что можно будет даже на обычном компе запустить, вот тогда и посмотрим что это за зверь такой.
🔥6👍1
Всем привет! Прошлым вечером мне окончательно надоело пролистывать на Хабре десятки маркетинговых публикаций сгенеренных нейросетью дабы найти что-то на темы которые меня действительно интересуют, а именно публикации из хабов "Машинное обучение" и "Искусственный интеллект".

Вспомнил, что некоторое время назад я сделал проект простого как топор бота для Telegram, который умеет забирать данные из RSS-фида и репостить это дело на канал в телеге, чуть его допилил, добавил генератор хеш-тегов из названий категорий и собрал всё в контейнер.

Короче встречайте Telegram-канал "Хабр / ML & AI"!
12👍1
Всем привет! Рад поделиться с вами свежей публикацией "Как подготовить Linux к запуску и обучению нейросетей? (+ Docker)", которая только что появилась в моём блоге на Дзен!

В этой публикации мы окунёмся в увлекательный мир настройки серверов под управлением операционных систем на базе ядра Linux для работы с нейросетями, в частности разберём как правильно установить драйверы Nvidia, как установить CUDA, как настроить Docker и как использовать карточки в Docker-контейнерах.

Желаю приятного прочтения!

#zen #linux #nvidia #docker #ai #python
🔥224👍4
Forwarded from Salute AI
Media is too big
VIEW IN TELEGRAM
GIGA R&D DAY ⚡️ Через два часа начинаем!

Всем салют! Сегодня у нас особенный день — мы проводим конференцию GIGA R&D DAY. Погружаемся в хардовые доклады R&D-команд SberDevices по развитию GigaChat, NLP, Vision и Audio.

👉 Программа конференции

🖥 Регистрируйтесь на онлайн-трансляцию. Кстати, задать свои вопросы спикерам можно прямо в чате трансляции — ответы спикеров опубликуем в Salute AI.

#конференция_GIGA_RND_DAY
Please open Telegram to view this post
VIEW IN TELEGRAM
Salute AI
GIGA R&D DAY ⚡️ Через два часа начинаем! Всем салют! Сегодня у нас особенный день — мы проводим конференцию GIGA R&D DAY. Погружаемся в хардовые доклады R&D-команд SberDevices по развитию GigaChat, NLP, Vision и Audio. 👉 Программа конференции 🖥 Регистрируйтесь…
This media is not supported in your browser
VIEW IN TELEGRAM
Хорошая была конференция, к сожалению у меня получилось посетить только первую её половину.

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

Ну и пообщался с Сергеем Марковым, задал ему самый главный вопрос который меня интересовал: «когда релиз ruGPT-4?» на что Сергей ответил, что в ближайшие пару месяцев.

PS. Перед уходом выпросил себе сувенирную сумку :)
7🔥2
Сегодня прилетело на почту письмо от проекта Ollama, в нём было сказано, что модели для эмбеддинга теперь официально поддерживаются (подробности).

Есть несколько моделей под эти задачи заточенные, но самые любопытные это:
- mxbai-embed-large - так как у неё больше всего параметров (334M) при этом контекст всего 512 токенов
- nomic-embed-text - имеет всего 137M параметров, но при этом размер контекста 8к токенов и разные dimensions от 64 до 768 элементов
- all-minilm - крохотулька на 23M параметров, обычная sbert модель

Ещё бы в репозиторий модель multilingual-e5-large добавить и было бы совсем хорошо.

Чтобы начать использовать эмбеддинги нужно для начала обновить ollama, затем скачать нужную модель:

ollama pull mxbai-embed-text


После чего можно делать инференс:

curl http://localhost:11434/api/embeddings -d '{
"model": "nomic-embed-text",
"prompt": "The sky is blue because of Rayleigh scattering"
}'


Полагаю указанные модели будут плохо работать с русским языком, но вечерком это проверю.
🔥7👍1
Прочёл давеча публикацию под названием "OmniFusion 1.1: мультимодальность теперь и на русском", в ней шла речь про обновление модели OmniFusion, которая была впервые анонсирована в прошлом году на конференции AIJ, данная модель примечательна тем, что является мультимодальной моделью и по словам и продемонстрированным примерам авторов неплохо отвечает на русском языке.

В публикации на Хабр можно почитать выжимку, а на arXiv 2404.06212 будет чуть более подробная техническая информация о модели.

Самая на мой скромный взгляд интересная особенность модели OmniFusion 1.1 в том, что её специально обучали преобразовывать изображения с математическими формулами в код LaTeX (смотри страницу 7), что на мой скромный взгляд может очень пригодится при создании RAG на базе langchain для общения с публикациями на arXiv (через соответствующий ретривер) и/или РИНЦ и т.д. в остальном же она сделана по канонам мультимодальных моделей.

Немного разочаровало, что не был использован подход MoE (Mixture of Experts), полагаю его применят в следующей итерации модели, ещё в публикации на Хабре не указано, что модель основана на базе Mistral 7B, а размер контекста модели равен 32k токенам (подробнее тут).

Веса модели доступны на HuggingFace, а исходники скриптов инференса и ручного дообучения на GitHub, в общем отличная игрушка на вечер :)

ЗЫ. Подписывайтесь на канал моего бота @habr_ai который репостит статьи с Хабра из хабов ИИ и ML.
👍6
12 апреля 1961 советский космонавт Юрий Гагарин впервые в истории нашей планеты совершил орбитальный облёт Земли.

Так что, поздравляю всех с Днем Космонавтики!
❤‍🔥18👍73🎉1🏆1
В субботу решил попробовать проект TorchTune, который зарелизили вот буквально на днях те же human beings которые разрабатывают PyTorch.

Сложно описать словами насколько приятно работать с данным проектом, благодаря ему всё обучение грубо говоря сводится к описанию YAML-конфига и запуску бинарника.

В библиотеке предусмотрено несколько готовых моделей (пока что их немного), утилита сама скачает нужный датасет, сконвертирует его в необходимый формат (instruct или chat) после чего запустит обучение в желаемом режиме (full, lora или qlora). После обучения модель можно квантизировать и сразу выгрузить на HuggingFace, и всё при помощи одного конфига.

Ну и в общем наигравшись с минизадачками решил при его помощи воплотить в жизнь одну свою давнюю мечту ;) подробности постараюсь предоставить в течении недели, ещё много подготовительных шагов нужно пройти до релиза.

PS. Резюмируя, мне кажется, что постепенно большинство перейдут на TorchTune, так что рекомендую не тянуть с его изучением, пока проект ещё очень простой.
🔥19👍4
Всем привет! Хочу поделиться с вами ссылкой на мою свежую статью на Хабре под названием "Обучение модели токсификации текстов с помощью TorchTune, подробное руководство".

В этом гайде я подробно разбираю процесс подготовки "токсичного" датасета и шаги обучения нейросети, которая превращает обычные русскоязычные тексты в "токсичные".

Полезные ссылки:
- EvilFreelancer/toxicator-ru - исходные коды на GitHub
- evilfreelancer/llama2-7b-toxicator-ru - веса модели на HuggingFace
- evilfreelancer/toxicator-ru - датасет, тоже на HuggingFace

Протестировал модель на 100 примерах из dev сплита датасета токсикатора.

Желаю вам приятного чтения и продуктивного дня!

#habr #ai #gpt #llama
👍16🔥7👏31
Мне что-то так понравилось работать с утилитой TorchTune, что я решил добавить в неё фичу, которая мне была очень нужна на этапе обучения модели "токсикатора", в частности мне очень недоставало возможности передавать на вход тренировки модели несколько датестов. Решил не дожидаться, когда кто-то это сделает и добавил возможность сам.

Вот так можно указывать датасет на данный момент:

dataset:
_component_: torchtune.datasets.instruct_dataset
source: tatsu-lab/alpaca


А мой фикс добавит возможность делать так:

dataset:
_component_: torchtune.datasets.instruct_dataset
source:
- tatsu-lab/alpaca
- vicgalle/alpaca-gpt4


Аналогично и для компонента torchtune.datasets.chat_dataset.

ЗЫ. Единственный момент который важно учитывать заключается в том что формат всех датасетов передаваемых в массиве должен быть идентичным.
👍6👌3🐳2
В общем продолжается история с моим Pull Request в репозиторий TorchTune, к его ревью подключился ведущий разработчик проекта и дал ряд советов, в частности он предложил вместо поля source обрабатывать массив в поле dataset, то есть в этом поле можно будет указать произвольное количество датасетов различных типов, каждый со своим преобразованием и настройками, после чего система выполнит их слияние и преобразование.

То есть раньше было так:

dataset:
_component_: torchtune.datasets.instruct_dataset
source: tatsu-lab/alpaca
template: AlpacaInstructTemplate
split: train
seed: null
shuffle: True


А теперь можно будет делать так:

dataset:
- _component_: torchtune.datasets.instruct_dataset
source: vicgalle/alpaca-gpt4
template: AlpacaInstructTemplate
split: train
train_on_input: True
- _component_: torchtune.datasets.chat_dataset
source: ajibawa-2023/Code-290k-ShareGPT
conversation_style: sharegpt
chat_format: Llama2ChatFormat
max_seq_len: 1024
split: train
seed: null
shuffle: True


Как видите я тут смиксовал датасет типа Alpaca Instruct и датасет типа LLaMA2 Chat (который на самом деле OpenAI Chat).

Короче жду что ответит мейнтейнер и судя по всему, спустя ещё несколько раундов правок, мой PR таки примут :)
👍10👏5