Машинное обучение digest
57 subscribers
1.69K photos
224 videos
925 links
Download Telegram
🌟 LLaVaOLMBitNet1B: первая тернарная мультимодальная LLM от IntelLabs.

LLaVaOLMoBitnet1B - мультимодальная модель, способная принимать в качестве входных данных изображение + текст (запрос) и отдавать согласованные текстовые ответы на выходе.

Архитектура модели состоит из 3-х частей:

🟢CLIP ViT-L/14 на 100М параметров, состоящий из 24 слоев с размером скрытого слоя 1024;
🟢MLP, состоящий из 2-х линейных слоев с размером скрытого слоя 2048 с активацией GELU;
🟢Тернарная LLM (OLMoBitNet1B) с 1.1 миллиардом параметров, состоящая из 16 слоев, в которых все линейные слои заменены на слои BitLinear158.

Модель была обучена в 2 фазы. Первая - предварительное обучение для выравнивания функций и вторая фаза - тонкой настройки инструкций.

Фаза предварительного обучения состояла из 1 эпохи на отфильтрованном наборе данных 595 тыс. концептуальных текстовых аннотаций, с обновлением весов только проекционного слоя.
Для второй фазы точной настройки инструкций использовалась 1 эпоха с набором данных LLaVa-Instruct-150K с обновлением и весов слоя проекции и весов LLM.

⚠️ Примечание: Модель в репозитории IntelLabs на Huggingface находится в режиме акцепта доступа. После отправки запроса пройдет какое-то время, прежде чем владелец репозитория одобрит запрос.

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

# Clone repositry
git clone https://huggingface.co/IntelLabs/LlavaOLMoBitnet1B

# Move to folder & intall requirements
cd LlavaOLMoBitnet1B
pip install -r requirements.txt

# Run inference
python llava_olmo.py


▶️Чтобы задать свой промпт и указать путь до целевого изображения, измените параметры в файле llava_olmo.py:

text = "Be concise. Describe what is in the image"

url = "https://URL_TO_IMAGE.jpg"


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


🟡Arxiv
🟡Модель


@ai_machinelearning_big_data

#AI #Intel #ML #LlavaBitNet
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Machinelearning
🌟 OLMoE: Открытые языковые модели на основе Mixture-of-Experts.

OLMoE (Open Mixture-of-Experts Language Models) - это метод создания языковых моделей, использующий разреженно активированные смеси экспертов (Mixture-of-Experts, MoE). Следуя этому методу была создана и опубликована базовая модель и 2 ее вариации:

🟢OLMoE-1B-7B;

🟠OLMoE-1B-7B-SFT - промежуточная версия базовой модели, прошедшая этап SFT-посттрейна, но без Instruct-дообучения;

🟢OLMoE-1B-7B-Instruct

Модель предварительно обучалась на 5,1 трлн. токенов с 7 млрд. общих параметров, из которых только 1,3 млрд. активируются для каждого входного токена.
Такая конфигурация дает аналогичную стоимость инференса, как при использовании моделей с 1 млрд. параметров (напр. TinyLlama 1B), но требует больше VRAM для хранения 7 млрд общих параметров.

В создании OLMoE-1B-7B была использована архитектура decoder-only трансформера, в которой feedforward network была заменена на Mixture-of-Experts модуль, состоящий из набора меньших feedforward network, собранных в массивы k-экспертов. Ими управляет маршрутизатор (его роль выполняет обученный линейный слой), определяющий, какие из k-экспертов будут активированы для каждого входящего токена. Инференсы k-экспертов умножаются на вероятности маршрутизатора и потом суммируются, образуя общий инференс MoE-модуля.

Претрейн модели выполнялся на очищенных от дубликатов датасетах DCLM и Dolma 1.7 (Github, Wikipedia, наборы научных статей). На следующем этапе инструктивного дообучения были добавлены данные по программированию и математике, чтобы сбалансировать эти области знаний для повышения точности MoE.

Проведенные после обучения эксперименты показывают, что OLMoE-модели обучаются примерно в 2 раза быстрее, чем обычные LLM с эквивалентными активными параметрами.

▶️Пример инференса базовой модели на Transformers:

# NOTE! Install the `transformers` & `torch` libraries first
from transformers import OlmoeForCausalLM, AutoTokenizer
import torch

DEVICE = "cuda" if torch.cuda.is_available() else "cpu"

# Load different ckpts via passing e.g. `revision=step10000-tokens41B`
# also check allenai/OLMoE-1B-7B-0924-SFT & allenai/OLMoE-1B-7B-0924-Instruct
model = OlmoeForCausalLM.from_pretrained("allenai/OLMoE-1B-7B-0924").to(DEVICE)
tokenizer = AutoTokenizer.from_pretrained("allenai/OLMoE-1B-7B-0924")
inputs = tokenizer("Bitcoin is", return_tensors="pt")
inputs = {k: v.to(DEVICE) for k, v in inputs.items()}
out = model.generate(**inputs, max_length=64)
print(tokenizer.decode(out[0]))
# > # Bitcoin is a digital currency that is created and held electronically.
#No one controls it. Bitcoins aren’t printed, like dollars or euros – they’re produced by people and businesses running computers all around the world, using software that solves mathematical


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


🟡Arxiv
🟡Dataset
🟡Набор моделей
🖥Github

@ai_machinelearning_big_data

#AI #ML #LLM #MoE
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 OLMoE: Открытые языковые модели на основе Mixture-of-Experts.

OLMoE (Open Mixture-of-Experts Language Models) - это метод создания языковых моделей, использующий разреженно активированные смеси экспертов (Mixture-of-Experts, MoE). Следуя этому методу была создана и опубликована базовая модель и 2 ее вариации:

🟢OLMoE-1B-7B;

🟠OLMoE-1B-7B-SFT - промежуточная версия базовой модели, прошедшая этап SFT-посттрейна, но без Instruct-дообучения;

🟢OLMoE-1B-7B-Instruct

Модель предварительно обучалась на 5,1 трлн. токенов с 7 млрд. общих параметров, из которых только 1,3 млрд. активируются для каждого входного токена.
Такая конфигурация дает аналогичную стоимость инференса, как при использовании моделей с 1 млрд. параметров (напр. TinyLlama 1B), но требует больше VRAM для хранения 7 млрд общих параметров.

В создании OLMoE-1B-7B была использована архитектура decoder-only трансформера, в которой feedforward network была заменена на Mixture-of-Experts модуль, состоящий из набора меньших feedforward network, собранных в массивы k-экспертов. Ими управляет маршрутизатор (его роль выполняет обученный линейный слой), определяющий, какие из k-экспертов будут активированы для каждого входящего токена. Инференсы k-экспертов умножаются на вероятности маршрутизатора и потом суммируются, образуя общий инференс MoE-модуля.

Претрейн модели выполнялся на очищенных от дубликатов датасетах DCLM и Dolma 1.7 (Github, Wikipedia, наборы научных статей). На следующем этапе инструктивного дообучения были добавлены данные по программированию и математике, чтобы сбалансировать эти области знаний для повышения точности MoE.

Проведенные после обучения эксперименты показывают, что OLMoE-модели обучаются примерно в 2 раза быстрее, чем обычные LLM с эквивалентными активными параметрами.

▶️Пример инференса базовой модели на Transformers:

# NOTE! Install the `transformers` & `torch` libraries first
from transformers import OlmoeForCausalLM, AutoTokenizer
import torch

DEVICE = "cuda" if torch.cuda.is_available() else "cpu"

# Load different ckpts via passing e.g. `revision=step10000-tokens41B`
# also check allenai/OLMoE-1B-7B-0924-SFT & allenai/OLMoE-1B-7B-0924-Instruct
model = OlmoeForCausalLM.from_pretrained("allenai/OLMoE-1B-7B-0924").to(DEVICE)
tokenizer = AutoTokenizer.from_pretrained("allenai/OLMoE-1B-7B-0924")
inputs = tokenizer("Bitcoin is", return_tensors="pt")
inputs = {k: v.to(DEVICE) for k, v in inputs.items()}
out = model.generate(**inputs, max_length=64)
print(tokenizer.decode(out[0]))
# > # Bitcoin is a digital currency that is created and held electronically.
#No one controls it. Bitcoins aren’t printed, like dollars or euros – they’re produced by people and businesses running computers all around the world, using software that solves mathematical


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


🟡Arxiv
🟡Dataset
🟡Набор моделей
🖥Github

@ai_machinelearning_big_data

#AI #ML #LLM #MoE
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Новостной дайджест

✔️ 3.7 миллиона фальшивых звезд GitHub.

Сервис Socket обнаружили 3.7 миллиона фальшивых звезд GitHub, что указывает на тенденцию роста угроз, связанных с мошенничеством, финансовыми махинациями и вредоносным ПО. Эти кампании быстро активизировались за последние шесть месяцев.

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

Алгоритм Socket выявил 3 746 538 подозрительных звезд за последние пять лет (с июля 2019 года по июль 2024 года) и 10 155 репозиториев, которые, по-видимому, проводили кампании по накрутке.
socket.dev

✔️ LLM не могут объяснить свои рассуждения.

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

✔️ YouTube создает инструменты для обнаружения дипфейков лиц и голосов.

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

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

YouTube дополнительно ведет разработку новых способов предоставления авторам выбора в отношении того, как третьи стороны могут использовать их контент на платформе.
blog.youtube

✔️ Поиск нового поколения и RAG с Vertex AI.

В блоге Google Cloud опубликована статья о том, как Vertex AI можно использовать для создания поисковых приложений следующего поколения.
Статья состоит из трех частей: новые шаблоны в поиске, развитие поиска в будущем и RAG с помощью Vertex AI.
cloud.google.com

✔️ Повышение эффективности отладки C++ с помощью breakpoint expressions, генерируемых искусственным интеллектом.

В статье Devblogs Microsoft представлена новая функция в Visual Studio 2022, использующая искусственный интеллект для генерации выражений для условных точек останова и точек трассировки в коде C++. Эта функция, работающая на базе GitHub Copilot поможет разработчикам сэкономить время и силы, позволив ИИ предлагать подходящие условия или создавать собственные. В статье приводится пошаговое руководство по включению и использованию этой функции в Visual Studio 2022.
devblogs.microsoft.com


@ai_machinelearning_big_data

#news #ai #ml
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 VEnhancer: Генеративное улучшение синтезированного видео.

VEnhancer - генеративная система апсемлинга пространственно-временных характеристик, которая улучшает результаты существующих методов преобразования текста в видео путем добавления большего количества деталей в пространственной области и синтетического детализированного движения во временной области.
Он гибко адаптируется к различным коэффициентам апсемплинга в диапазоне 1x~8x.

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

Несколько дней назад VEnhancer получил обновление:

🟢Поддержка длинных видео (путем разбиения видео на несколько фрагментов с перекрытиями);
🟢Быстрая выборка с 15 шагами без потери качества (путем установки --solver_mode 'fast' в команде скрипта);
🟢Использование временного VAE для уменьшения мерцания.

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

⚠️ Для обработки видео в 2K разрешении при fps=>24 требуется около 80 GB VRAM.

Использование VEnhancer возможно через CLI, с помощью GradioUI и в виде неофициальной ноды (WIP) для ComfyUI.

▶️Установка:

# Clone repo
git clone https://github.com/Vchitect/VEnhancer.git
cd VEnhancer

# Create environment
conda create -n venhancer python=3.10
conda activate venhancer

# Install requirments:
pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2
pip install -r requirements.txt


▶️Установка пакета ffmpeg:

sudo apt-get update && apt-get install ffmpeg libsm6 libxext6  -y


▶️Инференс с помощью CLI:

bash run_VEnhancer.sh


▶️Инференс с помощью GradioUI:

python gradio_app.py



🟡Страница проекта
🟡Arxiv
🟡Модель
🟡Demo Video
🖥Github [ Stars: 224 | Issues: 8 | Forks: 13]


@ai_machinelearning_big_data

#AI #Text2Video #VEnchancer #ML
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 SCIAGENTS : Автоматизация научных изысканий с помощью мультиагентных графовых рассуждений.

SciAgents - фреймворк, который самостоятельно генерирует и уточняет исследовательские гипотезы, разъясняя лежащие в их основе механизмы, принципы проектирования и неожиданные свойства объекта исследования.

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

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

Практическая реализация для тестирования SciAgents представлена двумя ipynb для генерации новых исследовательских идей, соответствующих неавтоматизированному и автоматизированному мультиагентным методам.

Для запуска SciAgents понадобятся:

🟢GraphReasoning;
🟢wkhtmltopdf ;
🟠OpenAI API-key;
🟠Semantic Scholar API.

▶️ Установка:

# Graph Reasoning installation 
pip install git+https://github.com/lamm-mit/GraphReasoning

# wkhtmltopdf installation
sudo apt-get install wkhtmltopdf

# Graph file
from huggingface_hub import hf_hub_download
graph_name='large_graph_simple_giant.graphml'
filename = f"{graph_name}"
file_path = hf_hub_download(repo_id='lamm-mit/bio-graph-1K', filename=filename, local_dir='./graph_giant_component')

# Embeddings
from huggingface_hub import hf_hub_download
embedding_name='embeddings_simple_giant_ge-large-en-v1.5.pkl'
filename = f"{embedding_name}"
file_path = hf_hub_download(repo_id='lamm-mit/bio-graph-1K', filename=filename, local_dir='./graph_giant_component')

# Clone SciAgents
git clone https://github.com/lamm-mit/SciAgentsDiscovery.git

# Insatll reqs
cd SciAgentsDiscovery
pip install -e .



🟡Arxiv
🖥Github


@ai_machinelearning_big_data

#AI #ML #Alents #Research #SciAgentsDiscovery
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Arcee-Llama-3.1-SuperNova 70B и 8B: Дистиллированные версии Llama 405B.

Arcee представила Arcee-SuperNova-70B и Arcee-SuperNova-Lite (8B), разработанные для альтернативной замены крупным проприетарным моделям, ориентированные на следование инструкциям и согласованию с человеческими предпочтениями.

Создание Arcee-SuperNova включало в себя несколько этапов, начиная с дистилляции Llama-3.1-405B-Instruct в Llama-3.1-70B-Instruct. Для этого был создан датасет из 500 млн. токенов, включающий примеры кода и математических задач и извлеченные logits модели Llama-3.1-405B.

Обучение Llama-3.1-70B-Instruct проводилось в течение пяти дней на 32 GPU H100 с использованием FSDP (Fully Sharded Data Parallel) для обеспечения возможности распределенного обучения.

Параллельно с этим была обучена отдельная версия Llama-3.1-70B с использованием Spectrum, настроенного на на 35% слоев с наивысшим соотношением SNR при длине последовательности 8192. Эта модель была обучена на наборе данных, созданном с помощью конвейера EvolKit - фреймворка повышения сложности инструкций при файнтюне LLM.

Финальная версия Arcee-SuperNova была создана путем слияния чекпойнтов из EvolKit и DPO, которые затем были объединены с дистиллированной Llama-3.1-70B-Instruct.

Проведенные тесты готовой модели в бенчмарке IF-Eval, показали, что Arcee-SuperNova превосходит не только Llama-3.1-70B-Instruct, но и проприетарные модели от OpenAI и Anthropic, а также Llama-405B-Instruct.

🟠Arcee-SuperNova-70B доступна только через API-сервис Arcee, а попробовать ее можно в playground web-интерфейса бесплатно;

🟢Arcee-SuperNova-Lite (8B), созданная по тому же принципу, что и 70B, доступна на Huggingface;

🟢Неофициальные GGUF версии Arcee-SuperNova-Lite (8B) от bartowski разрядностью от 2-bit (2.95Gb) до 16-bit (16 Gb) для использования с llama.cpp и LM Studio.


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


🟡Страница проекта
🟡Набор GGUF
🟡Модель Arcee-SuperNova-Lite
🟡Demo 70B


@ai_machinelearning_big_data

#AI #ML #LLM #Llama #Supernova
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM