305K subscribers
4.01K photos
710 videos
17 files
4.59K links
Погружаемся в машинное обучение и Data Science

Показываем как запускать любые LLm на пальцах.

По всем вопросам - @haarrp

@itchannels_telegram -🔥best channels

Реестр РКН: clck.ru/3Fmqri
Download Telegram
⚡️ Molmo: семейство state-of-art MMLM.

Molmo (Multimodal Open Language Model) - это семейство VLM, разработанных в Институте искусственного интеллекта Аллена, для решения задач обработки изображений и текста - создание подробных описаний изображений и выполнение комплексных визуальных операций, например:

🟢ответы на вопросы;
🟢обнаружение и сегментация по текстовому запросу;
🟢подсчет объектов или элементов;
🟢использование в сфере робототехники для изображений или видео;
🟢расширение возможностей VR.

▶️Molmo 72B - флагманская модель на базе Qwen2-72B в роли LLM и ViT-L/14 336px CLIP в роли visial-энкодера. Molmo-72B достигает наивысшего балла в бенчмарках и занимает второе место по человеческой оценке, лишь немного уступая GPT-4o.

▶️Molmo 7B-D и Molmo 7B-O - более утилитарные модели с разницей в исходных LLM (Qwen2-7B и OLMo-7B-1124 соответственно) и все тем же ViT-L/14 336px в качестве энкодера.

▶️ MolmoE 1B - компактная модель на архитектуре Mixture-of-Experts, основанная на OLMoE-1B-7B с 1.5B активных и 7.2B общих параметров, с производительностью, сравнимой с GPT-4V.

Обучение семейства выполнялось в 2 этапа: предварительное обучение на наборе данных PixMo-Cap для генерации аннотаций к изображениям и этап SFT с использованием комбинации академических наборов данных и наборов данных PixMo (PixMo-AskModelAnything, PixMo-Points, PixMo-CapQA, PixMo-Docs, PixMo-Clocks).

Тестирование модели проводилось на 11 бенчмарках: AI2D, ChartQA, VQA v2, DocVQA, InfographicVQA, TextVQA, RealWorldQA, MMMU, Math-Vista, CountBenchQA и Flickr Count.

Результаты показали, что Molmo, особенно модель Molmo-72B, демонстрирует производительность на уровне GPT-4o, превосходя Gemini 1.5 Pro, Flash и Claude 3.5 Sonnet.

⚠️ Модели Molmo могут испытывать трудности с прозрачными изображениями. В качестве решения, разработчики рекомендуют добавлять белый или темный фон к изображениям перед передачей их в модель, например, с помощью библиотеки PIL.


📌Лицензирование : Apache 2.0


🟡Страница проекта
🟡Коллекция моделей на HF
🟡Arxiv
🟡Demo


@ai_machinelearning_big_data

#AI #ML #Molmo #MoE #MMLM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍306🔥6
🌟 Show-me: альтернатива ChatGPT-O1 на Сhat-Gpt-4o-mini.

Show-Me — это проект, который использует LangChain для связи с gpt-4o-mini и визуализирует процесс рассуждений в виде динамического графического интерфейса.

Ключевая особенность Show-Me - алгоритм «Reasoning, Refinement, and Update» (RRU), который обрабатывает запросы.

Этот алгоритм работает следующим образом: сначала LLM оценивает сложность задачи и, если это необходимо, разбивает её на подзадачи. Затем она генерирует ответы для каждой подзадачи, а система автоматически проверяет их. Если ответ не проходит проверку, LLM уточняет его, основываясь на результатах.

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

Весь процесс отображается в реальном времени с помощью динамического графика, что делает процесс рассуждений LLM понятным и наглядным.

Show-Me имеет модульную архитектуру, состоящую из frontend на основе React и backend на базе Flask. Frontend отвечает за взаимодействие с пользователем, визуализацию графика рассуждений и отправку запросов на backend.

Backend обрабатывает взаимодействие сgpt-4o-mini, выполняет алгоритм RRU, управляет разбиением задач, агрегирует ответы и отправляет обновления на frontend через SocketIO.

В будущем разработчики планируют расширить возможности Show-Me, добавив поддержку большего количества языков программирования, улучшив визуализацию и позволив пользователям выбирать различные LLM.

▶️Установка и запуск:

# Clone the Repository
git clone https://github.com/marlaman/show-me.git

# Backend Setup
cd backend
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

# Create a .env file and add your OpenAI API Key: 
# OPENAI_API_KEY=[your key]

# Frontend Setup:
cd .. # poject root
npm install # or yarn install

# Run Backend
python app.py #or flask run

# Run Frontend
npm start # or yarn start



🖥GitHub


@ai_machinelearning_big_data

#AI #ML #LLM #Rasoning
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥40👍217
✔️ FTC объявила о правоприменительных мерах против нескольких компаний за обман и недобросовестное использование ИИ.

Федеральная торговая комиссия (FTC) объявила о запуске операции «AI Comply» против компаний, использующих ажиотаж вокруг искусственного интеллекта для обмана потребителей. Уже возбуждено пять дел.

FTC отмечает участившиеся случаи использования ИИ для мошенничества. Компании, против которых возбуждены дела: Do Not Pay, обещавшая услуги «робота-юриста», Ascend Ecom, предлагавшая создать онлайн-магазины с помощью ИИ для пассивного дохода, Ecommerce Empire Builders, продававшая тренинги и готовые интернет-магазины для получения прибыли, и Rytr, предлагавшая сервис для написания отзывов на основе ИИ.

Комиссия продолжит пресекать подобные случаи мошенничества.
ftc.gov

✔️ Nebius, отделившись от Яндекса, планирует инвестировать в инфраструктуру ИИ 1 млрд. долларов.

Амстердамская группа Nebius, которая возникла после разделения активов российского технологического гиганта «Яндекс», планирует инвестировать более 1 млрд. долларов в инфраструктуру ИИ в Европе к середине 2025 года.

Компания планирует расширить собственные мощности GPU, построив новый кластер в Париже и расширить существующий центр обработки данных в Финляндии. Инвестиции позволят Nebius достичь общей мощности в десятки тысяч GPU.
kfgo.com

✔️ SoundExchange разрабатывает глобальный реестр звукозаписей для ИИ.

Компания SoundExchange, занимающаяся сбором и распределением гонораров за использование музыки, объявила о разработке глобального реестра звукозаписей, предназначенного для использования в сфере ИИ. Ожидается, что реестр будет запущен в первом квартале 2025 года и станет развитием уже существующих систем SoundExchange.

Этот реестр позволит создателям музыки и правообладателям указать, хотят ли они, чтобы их произведения использовались для обучения алгоритмов ИИ. База данных позволит компаниям, создающим модели ИИ, проверять наличие разрешений перед использованием записей для обучения своих алгоритмов.

SoundExchange видит в этом реестре возможность упростить музыкальную индустрию, защитить ценность музыки и предоставить создателям больший контроль над использованием их произведений в сфере ИИ. Несмотря на то, что реестр будет добровольным инструментом, правообладатели сохранят за собой все юридические права на свои записи, независимо от их присутствия в базе данных.
thatericalper.com

✔️ Браузер Brave добавил возможность использовать локальные LLM.

Brave представил новую функцию в версии браузера 1.69 и выше, которая позволяет пользователям использовать локальные LLM вместо облачных решений. Эта функция, получившая название «Bring Your Own Model» (BYOM), призвана обеспечить большую конфиденциальность, поскольку данные пользователей не покидают устройство.

Для использования локальных моделей пользователям потребуется Ollama. В настройках Brave Leo пользователи могут добавить свою модель, указав ее имя, эндпоинт сервера и, при необходимости, ключ API. Для локальных моделей ключ API не требуется. После добавления модели ее можно выбрать в качестве основной.
itsfoss.com

✔️ Google расширила возможности NotebookLM, добавив поддержку YouTube и аудиофайлов.

Теперь NotebookLM позволяет создавать краткие обзоры видео с YouTube и аудиофайлов. Новые функции помогают обобщать ключевые моменты видео и аудиозаписей генерировать из них подкасты и делиться ими по прямой ссылке.

Например, полная версия этой новости в формате подкаста на английском языке.

NotebookLM, изначально использовавшийся преподавателями и учащимися, привлекает все больше бизнес-пользователей. Райза Мартин, старший менеджер по продуктам ИИ в Google Labs, отметила, что теперь 50% пользователей - преподаватели и учащиеся, а 50% - бизнес-профессионалы.
techcrunch.com

@ai_machinelearning_big_data

#news #ai #ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍318🔥5
🌟 vGPU NVIDIA на базе драйвера Nouveau для Linux.

NVIDIA представила набор патчей для ядра Linux с технологией vGPU для использования виртуальных графических процессоров в системах виртуализации. vGPU разделяет ресурсы физического графического процессора NVIDIA, привязывая каждый виртуальный GPU к виртуальной функции PCI Express.

Драйвер vGPU работает с видеокартами NVIDIA на архитектуре Ada Lovelace, создавая от одного до нескольких виртуальных GPU в зависимости от модели карты. В хост-системе создание и сопряжение виртуальных GPU с гостевыми системами выполняются изменённым драйвером Nouveau. В гостевых системах используются штатные драйверы NVIDIA, как для обычного графического процессора.

Каждый vGPU получает часть памяти из фреймбуфера физического GPU, различаясь типами, назначением, размером видеопамяти, количеством дисплеев и максимальным разрешением экрана.

Реализация технологии vGPU включает базовый драйвер nvkm на основе Nouveau и менеджер vgpu_mgr, реализованный как модуль VFIO. Менеджер создает и удаляет виртуальные GPU, выбирает тип, управляет ресурсами и предоставляет API для управления. Он взаимодействует с базовым драйвером GPU для загрузки прошивки GSP, управления ресурсами, обработки исключений, конфигурации и системных событий.

Также в Mesa Vulkan-драйвер добавлен gfxstream (Graphics Streaming Kit) для доступа к API Vulkan из гостевых систем Linux, Android и Fuchsia. Драйвер, разработанный Google, перенаправляет обращения к графическим API при виртуализации API Vulkan. Он используется в эмуляторе Android, виртуальном устройстве Cuttlefish, сервисе Google Play Games и операционной системе Fuchsia. Gfxstream включен в QEMU и crosvm и поддерживается совместно с устройствами virtio-gpu и goldish.


🟡Страница релиза
🟡Документация
🟡Host Kernel
🟡Guest driver package


@ai_machinelearning_big_data

#AI #ML #vGPU #Linux #NVIDIA
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
19👍12🔥8🥰3🐳2
🌟 Emu3: набор MMLM, основанный на методе предсказании следующего токена.

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

Модель использует токенизатор изображений SBER-MoVQGAN для преобразования видео и изображений в дискретные токены, RMSNorm для нормализации, GQA для механизмов внимания, SwiGLU для активации и RoPE для позиционного кодирования.

Процесс генерации в Emu3 начинается с обработки моделью начальной последовательности токенов (например, текстовое описание для генерации изображения).

Затем Emu3 авторегрессивно предсказывает наиболее вероятный следующий токен в последовательности. Этот процесс продолжается до тех пор, пока не будет сгенерирована вся последовательность, представляющая собой конечный результат (изображение или видео).

▶️ Представлены 3 модели:

🟢Emu3-Chat – модель-чат, анализирует входные изображения и генерирует текстовые ответы;

🟢Emu3-Gen – модель для генерации изображений по текстовому описанию;

🟢Emu3-VisionTokenizer – токенизатор изображений для преобразования изображений и видео в дискретные токены.

Для обучения использовались наборы данных Aquila, LAION-High-Resolution, InternVid, MSCOCO-30K, GenEval, T2I-CompBench, DPG-Bench, SEED-Bench, RealWorldQA, OCRBench и VBench.

Результаты тестирования показывают превосходство Emu3 над SDXL в генерации и сопоставимость с LLaVA-1.6 в задачах интерпретаций изображений.

Инференс моделей пока доступен только в СLI на Transformers, примеры для генерации или описания входного изображения можно найти в репозитории проекта.

⚠️ Информации о технических требованиях по GPU разработчиками Emu3 не предоставлено.

▶️Локальная установка:

# Clone the repository
git clone https://github.com/baaivision/Emu3
cd Emu3

# Install requirements
pip install -r requirements.txt


📌Лицензирование : Apache 2.0 License.


🟡Страница проекта
🟡Коллекция моделей на HF
🟡Arxiv
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #MMLM #Text2Video #Text2Image
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🔥64👏1
🌟 Local File Organizer: менеджмент локальных файлов под управлением LLM и VLM.

Local File Organizer (LFO) - инструмент для управления локальными файлами и папками, который поможет навести порядок. Он использует квантованные в Q4 модели Google Gemma 2-2B и Llava v1.6 в сочетании с Nexa SDK чтобы выполнять заданные операции с локальным содержимым. Последовательность работы LFO выглядит упрощенно так:

🟢Сканирование: LFO сканирует целевой каталог поисках.

🟢Категоризация содержимого: LLM анализирует и обобщает содержимое найденных файлов и создает описания и имена файлам, VLM по такому же принципу обрабатывает графику.

🟢Организация: На основе сгенерированных метаданных, файлы упорядочиваются в новую структуру каталогов.

Весь процесс происходит на 100% на локальном устройстве. Не требуется подключение к Интернет, данные не покидают локальную машину, и не требуется никаких API — файлы остаются в полной конфиденциальности и безопасности.

LFO может работать на CPU и GPU в Windows, macOS и Linux, понимает графические форматы (.png, .jpg, .jpeg, .gif, .bmp), текстовые (.txt, .docx) и PDF-файлы. Системные промпты управления моделями кастомизируемы.

⚠️ Важно!

🟠Для установки с использованием GPU (CUDA, Metal, ROCm) ознакомьтесь с инструкцией по установке.

🟠Аргументы настройки инференса LLM и VLM можно найти тут.

🟠Предварительно скачайте модели Gemma 2-2B и Llava v1.6 и пропишите путь до них в конфигах.

🟠Предварительно установите Tesseract OCR;

🟠Кастомизация системных промптов - в файле data_processing.py.

▶️ Установка и запуск для CPU:

# Clone the Repository
git clone https://github.com/QiuYannnn/Local-File-Organizer.git

#Create & activate Conda env
conda create --name local_file_organizer python=3.12
conda activate local_file_organizer

# Install the CPU version of Nexa SDK
pip install nexaai --prefer-binary --index-url https://nexaai.github.io/nexa-sdk/whl/cpu --extra-index-url https://pypi.org/simple --no-cache-dir

# Install the dependencies
pip install -r requirements.txt

# Running the Script
python main.py



📌Лицензирование : MIT и Apache 2.0 License.


🟡Модель Gemma 2-2B
🟡Модель Llava v1.6
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #LLM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24👍164👀2
🔥 Memory pinning для ускорения обучения моделей

Если вы регулярно используете GPU для обучения моделей, то существует довольно простая техника, которая часто используется для ускорения обучения моделей.

...изменив всего две строки кода.


Рассмотрим стандартный цикл обучения модели в PyTorch (См Картинку 1)

В этом коде:
- Строка 5 передает данные в GPU из CPU.
- Все выполняется на GPU после передачи данных, то есть в строках 7-15.

💡 Это означает, что когда работает GPU, CPU простаивает, а когда работает CPU, GPU простаивает, наглядно(См Картинку 2)

⚡️ Но вот что мы можем сделать, чтобы оптимизировать:

- Когда модель обучается на 1-м батче, CPU может передать 2-й батч на GPU.
- Таким образом, GPU не придется ждать следующего батча данных, как только он завершит обработку существующего батча.

👉 Иными словами, график использования ресурсов будет выглядеть примерно так (См Картинку 3)

💡 В то время, когда CPU будет простаивать, GPU (который является фактическим ускорителем для обучения модели) гарантированно будет иметь данные для работы.

Формально этот процесс известен как memory pinning, и он используется для ускорения передачи данных от CPU к GPU, делая процесс обучения асинхронным.

Это позволяет нам готовить следующий обучающий набор параллельно с обучением модели на текущих данных.

👉 Включить эту функцию в PyTorch довольно просто. Во-первых, при определении объекта DataLoader надо установить pin_memory=True и указать num_workers (См Картинку 4)

Далее, на этапе передачи данных в шаге обучения укажите non_blocking=True (См Картинку 5)

⚡️ Готово!

Вот как работает ускорение на примере набора данных MNIST в обучении простой нейронной сети (См Картинку 6)

- Без memory pinning обучение модели на 5 эпохах занимает около 43 секунд:
- а с использованием memory pinning та же модель обучается менее чем за 10 (!!!) секунд 🔥(См Картинку 7)

📌 Важные особенности использования memory pinning:

- если несколько тензоров будут выделены в "привязанную" память, это приведет к резервированию значительной части оперативной памяти.

Поэтому, всякий раз, когда используете memory pinning - отслеживайте потребление RAM!

- когда набор данных относительно мал, memory pinning имеет незначительный эффект, поскольку передача данных от CPU к GPU все равно не занимает столько времени (См Картинку 7)

📌 Полная версия

@ai_machinelearning_big_data
👍71🔥97👌1