Машинное обучение digest
57 subscribers
1.69K photos
224 videos
923 links
Download Telegram
🌟 RLtools: самая быстрая библиотека глубокого обучения с подкреплением для задач непрерывного управления.

RLtools - библиотека глубокого обучения с подкреплением (Deep Reinforcement Learning, DRL) с высокой скоростью работы для разработки и исследования алгоритмов DL.

RLtools написана на C++ и позволяет проводить обучение и вывод моделей DRL на РС, мобильных устройствах и embedded-системах. В экспериментальном тестировании, библиотека обучила алгоритм RL непосредственно на микроконтроллере.

Библиотека поддерживает алгоритмы DRL: TD3, PPO, Multi-Agent PPO и SAC и предлагает набор примеров, демонстрирующих использование этих алгоритмов для решения задач управления на примерах управления маятником, гоночным автомобилем и роботом-муравьем MuJoCo.

Код реализации алгоритмов:

🟢TD3 - Pendulum, Racing Car, MuJoCo Ant-v4, Acrobot;
🟢PPO - Pendulum, Racing Car, MuJoCo Ant-v4 (CPU), MuJoCo Ant-v4 (CUDA);
🟢Multi-Agent PPO - Bottleneck;
🟢SAC - Pendulum (CPU), Pendulum (CUDA), Acrobot.

Благодаря оптимизации и использования аппаратного ускорения RLtools в 76 раз быстрее других библиотек. Например, на MacBook Pro с M1 RLtools может обучить модель SAC (управление маятником) за 4 секунды.

Библиотеку можно использовать на Linux, macOS, Windows, iOS, Teensy, Crazyflie, ESP32 и PX4.

RLtools предоставляет Python API, с которым можно использовать библиотеку из Python-кода. API RLtools совместим с библиотекой симуляции сред Gym.

Проекты, использующие RLtools:

🟠Научиться летать за секунды (Youtube, IEEE Spectrum);

🟠Идентификация системы на основе данных для квадрокоптеров с задержкой двигателя (Youtube, Project Page).

▶️Запуск на примере обучения политике с помощью PPO:

# Clone and checkout
git clone https://github.com/rl-tools/example
cd example
git submodule update --init external/rl_tools

# Build and run
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build .
./my_pendulum


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


🟡Документация
🟡Arxiv
🟡RLTools Design Studio
🟡Demo
🟡Zoo Experiment Tracking
🟡Google Collab (Python Interface)
🟡Сообщество в Discord
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #DL #RTools #Github
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
✔️ Anthropic предлагает новый способ подключения данных к чат-ботам.

Anthropic разработала новый открытый стандарт Model Context Protocol (MCP) для подключения ИИ-ассистентов к системам хранения данных. MCP позволяет моделям ИИ, независимо от разработчика, получать данные из различных источников, включая бизнес-инструменты, репозитории контента и среды разработки приложений. Это позволит моделям генерировать более качественные и релевантные ответы на запросы пользователей.

Anthropic утверждает, что MCP решает проблему разрозненности данных, предоставляя разработчикам протокол для создания двусторонних соединений между источниками данных и ИИ-приложениями. MCP уже интегрирован компаниями Block и Apollo и платформами Replit, Codeium и Sourcegraph.
techcrunch.com

✔️ Зумеры используют ИИ для повышения эффективности своей работы.

Согласно исследованию Google Workspace и The Harris Poll, 82% представителей Gen Z уже используют инструменты ИИ в своей работе. Практически все опрошенные (98%) ожидают, что ИИ окажет влияние на их отрасль или рабочее место в течение следующих 5 лет. Более 50% пользователей ИИ регулярно делятся своим опытом и знаниями с коллегами, а 75% рекомендуют инструменты генеративного ИИ своим коллегам.

Z-поколение использует ИИ для написания электронных писем, преодоления языковых барьеров и повышения эффективности в коммуникациях. 88% респондентов считают, что ИИ может помочь им начать работу над сложной задачей, а 87% полагают, что ИИ сделает их более уверенными в онлайн-встречах.
googlecloudpresscorner.com

✔️ NVIDIA анонсировала GenAI-модель Fugatto для генерации звука.

Fugatto — это новая генеративная модель, которая позволяет создавать, изменять и комбинировать любые звуки, музыку и голоса с помощью текстовых промптов и аудиофайлов.

Модель мультиязычна, основана на Transformers и использует 2,5 млрд. параметров. Fugatto обладает уникальной способностью сочетать различные инструкции и интерполировать между ними, предоставляя тонкий контроль над генерируемым звуком. Модель может изменять акценты и эмоции в голосе, создавать новые звуки, которых никогда не было, и даже заставлять музыкальные инструменты издавать нехарактерные для них звуки. Демо видео, техотчет.
blogs.nvidia.com

✔️ iRacing объявила о партнерстве с Microsoft в области исследований ИИ.

iRacing объединилась с Microsoft Research для разработки продвинутых моделей ИИ - Large Action Models (LAM). Цель сотрудничества - улучшить ИИ-пилотов, создать системы коучинга на базе ИИ и внедрить другие функции с использованием ИИ.

LAM будут обучаться на основе данных iRacing, чтобы предоставлять гонщикам обратную связь в режиме реального времени, улучшать качество игры и помогать им совершенствовать свои навыки. iRacing и Microsoft Research планируют опубликовать результаты своих исследований, чтобы разработчики могли внедрять технологии в свои продукты. В проекте также участвует бывший гонщик INDYCAR Ориоль Сервиа в качестве эксперта.
iracing.com

✔️ DynaSaur: агент LLM, который совершенствуется, создавая собственные функции.

DynaSaur - это платформа агентов LLM, разработанная совместно Университетом Мэриленда и Adobe, которая позволяет агентам динамически создавать и компоновать действия в режиме реального времени.

В отличие от традиционных LLM-агентов, которые руководствуются предопределенными наборами действий, DynaSaur генерирует, выполнет и совершенствует новые функции Python, когда существующие функции оказываются недостаточными. Агент ведет растущую библиотеку повторно используемых функций, наращивая способность реагировать на различные сценарии.
В тестах на платформе GAIA DynaSaur превзошел базовые показатели, достигнув средней точности 38,21% с использованием GPT-4. Кода пока нет.
arxiv.org
Please open Telegram to view this post
VIEW IN TELEGRAM
📌Книга "Обучение с подкреплением: Основы"

Хороших книг по обучению с подкреплением (Reinforcement Learning, RL) уже выпущено достаточно, однако есть пробел между продвинутыми учебниками, в которых основное внимание уделяется одному или нескольким аспектам, и более общими книгами, в которых предпочтение отдается удобочитаемости, а не сложности.

Авторы книги, люди с опытом работы в CS и инжиниринга, подают тему RL в строгом и академическом стиле. Книга основана на конспектах лекций для углубленного курса бакалавриата, который преподается авторами в Тель-Авивском университете.

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

Математическая модель книги - Марковский процесс принятия решений (Markov Decision Process, MDP). Основное внимание уделяется: последовательному принятию решений, выбору действий, долгосрочному эффекту от этих действий и разница между немедленным вознаграждением и долгосрочной выгодой.

Тематически книга состоит из двух частей – "Планирование" и "Обучение".

▶️ Раздел "Планирование" - основы принятия оптимальных решений в условиях неопределенности в соответствии с MDP.

🟢Глава 2. Обоснование модели MDP и ее связь с другими моделями.
🟢Глава 3. Основные алгоритмические идеи в детерминированной постановке.
🟢Глава 4. Цепи Маркова, на которых основана MDP.
🟢Глава 5. Модель MDP с конечным горизонтом и фундаментальный подход к динамическому программированию.
🟢Глава 6. Дисконтированная настройка с бесконечным горизонтом.
🟢Глава 7. Эпизодическая настройка.
🟢Глава 8. Альтернативный подход к решению MDP с использованием формулировки линейного программирования.

▶️ Раздел "Обучение" - принятие решений, когда модель MDP неизвестна заранее.

🟠Глава 9. Описание и мотивация модели обучения и ее связь с альтернативами при принятии решений.
🟠Глава 10. Подход, основанный на моделях, при котором агент явно изучает модель MDP на основе своего опыта и использует ее для принятия решений по планированию.
🟠Глава 11. Альтернативный подход без использования моделей, при котором решения принимаются без явного построения модели.
🟠Глава 12. Изучение приблизительно оптимальных решений крупных задач с использованием аппроксимации функции стоимости.
🟠Глава 13 Решение крупных задач с использованием методов градиентной политики.
🟠Глава 14. Особый случай на примере игровых автоматов, как MDP с единым состоянием и неизвестными наградами, и онлайн-характер принятия решений.


🟡Сайт учебника
🟡Читать


@ai_machinelearning_big_data

#AI #ML #RL #MDP #Book
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 SmolTalk: синтетический англоязычный датасет для обучения LLM.

SmolTalk - это синтетический датасет, разработанный HuggingFace для обучения SmolTalk: новый синтетический набор данных для обучения больших языковых моделей LLM с учителем. Он состоит из 2 млн. строк и был использован для создания семейства моделей SmolLM2-Instruct. SmolTalk включает в себя как новые, так и существующие наборы данных.

Новые наборы данных:

🟢Smol-Magpie-Ultra (400 тыс. строк);
🟢Smol-constraints (36 тыс. строк);
🟢Smol-rewrite (50 тыс. строк);
🟢Smol-summarize (101 тыс. строк).

Существующие общедоступные наборы данных:

🟠OpenHermes2.5 (100 тыс. строк);
🟠MetaMathQA (50 тыс. строк);
🟠NuminaMath-CoT (1120 тыс. строк);
🟠Self-Oss-Starcoder2-Instruct (1120 тыс. строк);
🟠SystemChats2.0 (30 тыс. строк);
🟠LongAlign (примеры на английском языке с менее 16 тыс. токенов);
🟠Everyday-conversations (50 тыс. строк);
🟠APIGen-Function-Calling (80 тыс. строк);
🟠Explore-Instruct-Rewriting (30 тыс. строк).

SmolTalk сравнили недавно выпущенным набором данных Orca AgentInstruct 1M, обучив SmolLM2 на обоих наборах данных с использованием одинаковой конфигурации обучения.

Результаты показали, что SmolTalk показал значительные улучшения в производительности модели, особенно в задачах математики, программирования и следованию системным промптам. Наблюдались также значительные улучшения в масштабе 7B при обучении Mistral-7B на SmolTalk, особенно по показателям IFEval, BBH, GS8Mk и MATH.

▶️Загрузка датасета для трейна:

from datasets import load_dataset

ds = load_dataset("HuggingFaceTB/smoltalk", "all", split="train")
# to load the train split of a specific subset such as smol-magpie-ultra, you can do
ds = load_dataset("HuggingFaceTB/smoltalk", "smol-magpie-ultra", split="train")


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


🟡Датасет
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #LLM #HuggingFace #Dataset
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 🌟 OuteTTS-0.2-500M: обновление ТTS-модели с возможностью клонирования голоса.

OuteTTS-0.2-500M - улучшенная версия предыдущей модели синтеза речи, основанная на Qwen-2.5-0.5B и обученная на крупных и более качественных датасетах Emilia-Dataset, LibriTTS-R и Multilingual LibriSpeech. Контекст длиной 4096 токенов обеспечивает ~ 54 секунды генерации звука.

Новая версия получила изменения относительно версии 0.1:

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

🟢Естественная речь. V 0.2 генерирует более естественную и плавную синтезированную речь;

🟢Расширенный словарь. Модель обучена на более чем 5 млрд. токенов аудио;

🟢Клонирование голоса. Улучшены возможности клонирования голоса с большей вариативностью и точностью;

🟢Многоязычная поддержка. Добавлена экспериментальная поддержка китайского, японского и корейского языков.


⚠️ Для инференса GGUF-версии модели необходимо установить llama-cpp-python.


▶️ Установка и пример локального инференса:

# Install from PyPI
pip install outetts

# Interface Usage
import outetts

# Configure the model
model_config = outetts.HFModelConfig_v1(
model_path="OuteAI/OuteTTS-0.2-500M",
language="en", # Supported languages in v0.2: en, zh, ja, ko
)

# Initialize the interface
interface = outetts.InterfaceHF(model_version="0.2", cfg=model_config)

# Optional: Create a speaker profile (use a 10-15 second audio clip)
speaker = interface.create_speaker(
audio_path="path/to/audio/file",
transcript="Transcription of the audio file."
)

# Optional: Load speaker from default presets
interface.print_default_speakers()
speaker = interface.load_default_speaker(name="male_1")

output = interface.generate(
text="%Prompt Text%%.",
temperature=0.1,
repetition_penalty=1.1,
max_length=4096,

# Optional: Use a speaker profile
speaker=speaker,
)

# Save the synthesized speech to a file
output.save("output.wav")


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

📌Лицензирование модели: CC-BY-NC-4.0 License.


🟡Страница проекта
🟡Модель
🟡GGUF версия
🟡Demo
🟡Сообщество в Discord
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #TTS #OuteTTS
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 Wavehax: нейросетевой вокодер без эффекта наложения частот.

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

Wavehax работает в частотно-временной области, оценивая комплексные спектрограммы и преобразуя их во временные сигналы с помощью кратковременного преобразования Фурье (STFT). Использование STFT позволяет получать более высокое качество синтезированной речи, особенно при экстраполяции на высокие значения основной частоты (F0).

Архитектура Wavehax построена на 2D CNN и специальном гармоническом априоре. Априор представляет собой комплексную спектрограмму, полученную из гармонического сигнала, который помогает модели генерировать высококачественные и согласованные по фазе гармонические компоненты.

В экспериментах, проведённых на корпусе японской речи JVS, Wavehax продемонстрировал качество речи, сравнимое с HiFi-GAN V1, при этом значительно сократив количество операций умножения-накопления и параметров модели.

Wavehax работает в 4 раза быстрее HiFi-GAN V1 на CPU и устойчив к экстраполяции на высокие значения F0, где эффект наложения частот становится особенно заметным.

▶️ Пример трейна и инференса с датасетом JVS:

# Set up the env
cd wavehax
pip install -e .

# Extract F0 and mel-spectrogram.
wavehax-extract-features audio=data/scp/jvs_all.scp

# Compute statistics of the training data
wavehax-compute-statistics feats=data/scp/train_no_dev.list stats=data/stats/train_no_dev.joblib

# Train the vocoder model
wavehax-train generator=wavehax discriminator=univnet train=wavehax train.train_max_steps=500000 data=jvs out_dir=exp/wavehax

# Inference via generate speech waveforms
wavehax-decode generator=wavehax data=jvs out_dir=exp/wavehax ckpt_steps=500000



🟡Страница проекта
🟡Arxiv
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #Vocoder #Wavehax
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 Wavehax: нейросетевой вокодер без эффекта наложения частот.

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

Wavehax работает в частотно-временной области, оценивая комплексные спектрограммы и преобразуя их во временные сигналы с помощью кратковременного преобразования Фурье (STFT). Использование STFT позволяет получать более высокое качество синтезированной речи, особенно при экстраполяции на высокие значения основной частоты (F0).

Архитектура Wavehax построена на 2D CNN и специальном гармоническом априоре. Априор представляет собой комплексную спектрограмму, полученную из гармонического сигнала, который помогает модели генерировать высококачественные и согласованные по фазе гармонические компоненты.

В экспериментах, проведённых на корпусе японской речи JVS, Wavehax продемонстрировал качество речи, сравнимое с HiFi-GAN V1, при этом значительно сократив количество операций умножения-накопления и параметров модели.

Wavehax работает в 4 раза быстрее HiFi-GAN V1 на CPU и устойчив к экстраполяции на высокие значения F0, где эффект наложения частот становится особенно заметным.

▶️ Пример трейна и инференса с датасетом JVS:

# Set up the env
cd wavehax
pip install -e .

# Extract F0 and mel-spectrogram.
wavehax-extract-features audio=data/scp/jvs_all.scp

# Compute statistics of the training data
wavehax-compute-statistics feats=data/scp/train_no_dev.list stats=data/stats/train_no_dev.joblib

# Train the vocoder model
wavehax-train generator=wavehax discriminator=univnet train=wavehax train.train_max_steps=500000 data=jvs out_dir=exp/wavehax

# Inference via generate speech waveforms
wavehax-decode generator=wavehax data=jvs out_dir=exp/wavehax ckpt_steps=500000



🟡Страница проекта
🟡Arxiv
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #Vocoder #Wavehax
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 SmolVLM: набор компактных VLM от HuggingFace - Base, Synthetic и Instruct.

SmolVLM - серия компактных VLM с 2 млрд. параметров, отличающихся высокой эффективностью использования памяти и могут быть развернуты на локальных устройствах с ограниченными ресурсами.

Архитектура SmolVLM основана на Idefics3, с несколькими отличиями:

🟢В качестве языковой основы используется SmolLM2 1.7B вместо Llama 3.1 8B;

🟢Визуальная информация сжимается в 9 раз с помощью стратегии pixel shuffle, по сравнению с 4-кратным сжатием в Idefics3;

🟢Используются патчи размером 384x384 пикселей, а не 364x364;

🟢Визуальная основа модели изменена на shape-optimized SigLIP с патчами 384x384 пикселей и внутренними патчами 14x14;

🟢Контекстное окно SmolLM2 было расширено до 16 тыс. токенов для поддержки работы с несколькими изображениями.

Модель кодирует каждый патч изображения 384x384 в 81 токен, что позволяет ей обрабатывать тестовые запросы и изображения с использованием всего 1.2 тыс. токенов, в то время как Qwen2-VL использует 16 тыс. токенов. Это преимущество приводит к значительно более высокой скорости предварительной обработки (в 3,3-4,5 раза) и генерации (в 7,5-16 раз) по сравнению с Qwen2-VL.

Для самостоятельной тонкой настройки SmolVLM можно использовать transformers и TRL. Разработчиками представлен блокнот для файнтюна на VQAv2 с использованием LoRA, QLoRA или полной тонкой настройки. SmolVLM интегрирован с TRL для DPO через CLI.

⚠️ При batch sizes=4 и 8-битной загрузке QLoRA файнтюн потребляет около ~16 GB VRAM


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


🟡Статья на HF
🟡Набор моделей
🟡Demo


@ai_machinelearning_big_data

#AI #ML #SmallVLM #Huggingface
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 OLMo 2: Новое поколение полностью открытых языковых моделей.

OLMo 2 - серия открытых языковых моделей, созданная для развития науки о языковых моделях .

Модели OLMo 2 доступны в вариантах 7B и 13B параметров и обучены на массиве данных объемом 5 трлн. токенов. Они демонстрируют производительность, сопоставимую или превосходящую аналогичные по размеру полностью открытые модели на английских академических тестах.

Разработчики OLMo 2 уделили особое внимание стабильности обучения, используя методы RMSNorm, QK-Norm, Z-loss регуляризация и улучшенная инициализация.

Обучение проводилось в 2 этапа. На первом этапе модели обучались на датасете OLMo-Mix-1124 (3,9 трлн. токенов). На втором этапе использовался специально подобранный набор данных Dolmino-Mix-1124 (843 млрд. токенов), состоящий из веб-данных, материалов из академических источников, форумов вопросов и ответов, инструкций и математических задачников. Для объединения моделей, обученных на разных подмножествах данных, применялся метод "model souping".

Для оценки OLMo 2 была разработана система OLMES (Open Language Modeling Evaluation System) из 20 тестов для измерения способностей модели. OLMo 2 превзошел предыдущую версию OLMo 0424 по всем задачам и показал высокую эффективность по сравнению с другими открытыми моделями.

▶️Набор моделей OLMo 2:

🟢Базовые модели: OLMo-2-1124-7B и OLMo-2-1124-13B

🟠GGUF-версии: OLMo-2-1124-7B-GGUF и OLMo-2-1124-13B-GGUF

🟢Инструктивные версии: OLMo-2-1124-7B-Instruct и OLMo-2-1124-13B-Instruct

🟠DPO-версии: OLMo-2-1124-7B-DPO и OLMo-2-1124-13B-DPO

🟠SFT-версии: OLMo-2-1124-7B-SFT и OLMo-2-1124-13B-SFT

🟠Reward Model - версия OLMo-2-1124-7B-RM


▶️Пример инференса OLMo-2-7B c HF Transformers:

from transformers import AutoModelForCausalLM, AutoTokenizer
olmo = AutoModelForCausalLM.from_pretrained("allenai/OLMo-2-1124-7B")
tokenizer = AutoTokenizer.from_pretrained("allenai/OLMo-2-1124-7B")
message = ["Language modeling is "]
inputs = tokenizer(message, return_tensors='pt', return_token_type_ids=False)
# optional verifying cuda
# inputs = {k: v.to('cuda') for k,v in inputs.items()}
# olmo = olmo.to('cuda')
response = olmo.generate(**inputs, max_new_tokens=100, do_sample=True, top_k=50, top_p=0.95)
print(tokenizer.batch_decode(response, skip_special_tokens=True)[0])


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


🟡Страница проекта
🟡Набор моделей
🟡Demo
🖥GitHub


@ai_machinelearning_big_data

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