Машинное обучение digest
57 subscribers
1.68K photos
221 videos
916 links
Download Telegram
🍏 MobileCLIP: Fast Image-Text Models through Multi-Modal Reinforced Training

Apple выпустила невероятно быстрые модели Core ML и приложение для iOS, позволяющее запускать их на iPhone!

Эти модели можно подключить к демо приложению, представленному в официальном репозитории MobileCLIP.

> S0 соответствует ViT-B/ 16 от OpenAI, но в 4,8 раза быстрее и в 2,8 раза меньше размером.

> S2 превосходит ViT-B/16 от SigLIP в 2,3 раза, при этом в 2,1 раза меньше по размеру, при этом используется для обучения в 3 раза меньше данных.

> MobileCLIP-B(LT) достигает 77,2%-ную точность обработки изображений, превосходя DFN, SigLIP и даже ViT-L/14@336 от OpenAI

conda create -n clipenv python=3.10
conda activate clipenv
pip install -e .


Пример использования:

Python
import torch
from PIL import Image
import mobileclip

model, _, preprocess = mobileclip.create_model_and_transforms('mobileclip_s0', pretrained='/path/to/mobileclip_s0.pt')
tokenizer = mobileclip.get_tokenizer('mobileclip_s0')

image = preprocess(Image.open("docs/fig_accuracy_latency.png").convert('RGB')).unsqueeze(0)
text = tokenizer(["a diagram", "a dog", "a cat"])

with torch.no_grad(), torch.cuda.amp.autocast():
image_features = model.encode_image(image)
text_features = model.encode_text(text)
image_features /= image_features.norm(dim=-1, keepdim=True)
text_features /= text_features.norm(dim=-1, keepdim=True)

text_probs = (100.0 * image_features @ text_features.T).softmax(dim=-1)

print("Label probs:", text_probs)



HF
Github
Результаты модели

@ai_machinelearning_big_data

#apple #coreml #mobile
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN 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