287K subscribers
3.98K photos
687 videos
17 files
4.56K links
Погружаемся в машинное обучение и Data Science

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

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

@itchannels_telegram -🔥best channels

Реестр РКН: clck.ru/3Fmqri
加入频道
Forwarded from The Devs
Complete code examples for Machine Translation with Attention, Image Captioning, Text Generation, and DCGAN implemented with tf.keras and eager execution

“Complete code examples for Machine Translation with Attention, Image Captioning, Text Generation…” https://medium.com/tensorflow/complete-code-examples-for-machine-translation-with-attention-image-captioning-text-generation-51663d07a63d

#tensorflow #tutorial
⚡️ Finetuning for Text Classification

Если вы ищете чем занаться на выходных и хотите немного почитать и покодить,- вот свежая глава из книги Build an LLM from Scratch, по настройке GPT-модели для классификации СПАМ-сообщений с точностью до 96%.

Модель небольшая и обучение на MacBook Air M3 занимает ~ 5 минут.

Github

#book #tutorial #llm

@ai_machinelearning_big_data
👍30🔥103😁1
🌟 CUTLASS Tutorial: Быстрое матричное умножение с WGMMA на GPU NVIDIA Hopper.

Большой, подробный и лаконичный туториал в 2-х частях по оптимизации матричного умножения на микроархитектуре Hopper (H100) с использованием библиотеки CUTLASS.

CUTLASS - это набор реализаций алгоритмов линейной алгебры (шаблонов) для использования на CUDA в задачах глубокого обучения, инженерных расчетах и научных исследованиях.

▶️Первая часть посвящена инструкции WGMMA (asynchronous warpgroup matrix-multiply and accumulate) - как она работает, какие ограничения имеет на размер и расположение данных в памяти и как использовать синхронизацию для правильного выполнения операций.

В этой части подробно рассматривается концепция «ядерных матриц» и «матричных дескрипторов», которые нужны для эффективной работы с WGMMA.

✔️ Вторая часть про умножение матриц(GEMM) и методы повышения эффективности GEMM-ядра путем конвейеризации. Рассматриваются две стратегии пайплайна : многоступенчатую и warp-specialization, с подробным описанием их концепции, применением CUTLASS для их построения и сравнивается производительность стратегий.

В конце туториала кратко описывается реализация конвейеризации в GEMM-ядрах для архитектуры Ampere.


@ai_machinelearning_big_data

#AI #ML #CUTLASS #Tutorial
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍215🔥4🎉3
🌟 Параллельные стратегии с Jax: обучающий туториал.

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

В статье "Исследование параллельных стратегий с Jax" подробно рассматривается реализация некоторых стратегий масштабирования в Jax - фреймворке Python, предназначенном для высокопроизводительных численных вычислений с поддержкой ускорителей GPU и TPU.

Стратегии, описанные в туториале с примерами кода и иллюстрациями:

🟢Data Parallelism - распределение данных между несколькими устройствами, которые одновременно обучают модель;  

🟢Tensor Parallelism - распределение весов модели между устройствами, позволяет каждому устройству обрабатывать свою часть тензора параллельно; 

🟢Pipeline Parallelism разделяет модель на этапы, которые выполняются последовательно на разных устройствах; 

🟢Mixture-of-Experts использует множество специализированных экспертов для обработки различных частей входных данных, что позволяет масштабировать модель до огромных размеров.


▶️ Автор статьи - Александр Самарин, Lead ML Engineer в Huawei c 5-ти летнем опытом в глубоком обучении.


@ai_machinelearning_big_data

#AI #ML #LLM #JAX #Tutorial
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍136🔥3🎉2🤝1
📌Учебное пособие по диффузионным моделям для обработки изображений и СV.

Учебник Стэнли Чана, профессора кафедры электротехники, вычислительной техники и статистики Purdue University (США), содержит ультраполезные знания в области диффузионных моделей в контексте обработки изображений и CV. Он доступно и детально объясняет сложные концепции и подходит как опытным профессионалам, так и тем, кто только начинает изучать эту область.

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

▶️ Содержание:

Вариационный автоэнкодер (VAE)

🟢Структурные элементы VAE
🟢Нижняя граница доказательства (ELBO
🟢Оптимизация в VAE
🟢Заключение и ограничения

Вероятностная модель диффузионного денойза (DDPM)

🟠Базовые элементы DDPM
🟠Нижняя граница доказательства (ELBO)
🟠Распределение обратного процесса
🟠Обучение и инференс
🟠Предсказание шума
🟠Неявная модель диффузионного денойза (DDIM)
🟠Заключение и преимущества DDPM и DDIM

Динамика сопоставления баллов Ланжевена (SMLD)

🟢Выборка из распределения
🟢Функция оценки Штейна
🟢Методы сопоставления баллов
🟢Итоги по SMLD

Стохастическое дифференциальное уравнение (SDE)

🟠От итерационных алгоритмов к обыкновенным дифференциальным уравнениям
🟠Что такое SDE?
🟠SDE для DDPM и SMLD
🟠Численные решатели для ODE и SDE
🟠Заключение и взаимосвязь между DDPM, SMLD и SDE

Уравнения Ланжевена и Фоккера-Планка

🟢Броуновское движение
🟢Мастер-уравнение
🟢Разложение Крамерса-Мойала
🟢Уравнение Фоккера-Планка
🟢Заключение и связь между SDE и уравнением Фоккера-Планка


🟡Arxiv


@ai_machinelearning_big_data

#AI #ML #Tutorial #Duffusion
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3011🔥9❤‍🔥2
📌Руководство по эффективному использованию промптов для LLM от разработчиков из GoogleDeepMind.

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

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

Авторы, Varun Godbole и Ellie Pavlick подчеркивают, что поиск «идеальной» подсказки — это итеративный процесс, аналогичный настройке модели, который в лучшем случае является эмпирическим, а в худшем - алхимическим.

▶️ Содержание:

🟢Для кого предназначен этот документ?
🟢Зачем нужно это руководство?
🟢Background трейна: предварительная и последующая подготовка
🟢Рекомендации по промптам
🟢Рудиментарное "руководство по стилю" для промптов
🟢Процедура итерации новых системных инструкций
🟢Некоторые мысли о том, когда полезна LLM
🟢Дополнительные ресурсы


📌Лицензирование: Creative Commons Attribution 4.0 International Public License.


🖥GitHub


@ai_machinelearning_big_data

#AI #ML #LLM #Prompt #Github #Tutorial
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24👍115
📌 Практические упражнения и дополнительные материалы к книге "Build a Large Language Model (From Scratch)"

Репозиторий на Github c прикладными упражнениями, ноутбуками с кодом для разработки, предварительной подготовки и тонкой настройке LLM-модели типа GPT по одной из лучших книг о построении LLM с нуля.

▶️ О книге:
В книге вы узнаете и поймете, как работают большие языковые модели изнутри, создавая собственную LLM шаг за шагом, c подробным объяснением каждого этапа понятным языком, диаграммами и примерами.

Метод, описанный в книге демонстрирует подход, используемый при создании крупных фундаментальных моделей, таких как те, что лежат в основе ChatGPT.

В репозитории к каждой главе книги соответствуют несколько (3-4) прикладных примеров в формате ipynb или в виде исполняемого python-скрипта. Код ориентирован на широкую аудиторию, разработан для запуска на обычных ноутбуках и не требует специализированного оборудования.

▶️Главная ценность репозитория - дополнительные практические материалы, которые помогут глубже изучить тонкости и нюансы процесса настройки и обучения LLM:

Настройка

🟢Советы на настройке Python
🟢Установка пакетов и библиотек Python
🟢Руководство по настройке среды Docker

Глава 2: Работа с текстовыми данными

🟠Сравнение различных реализаций Byte Pair Encoding (BPE)
🟠Понимание разницы между embedding и линейными слоями
🟠Dataloader Intuition с простыми числами

Глава 3: Код механизмов внимания

🟢Сравнение эффективных реализаций Multi-Head Attention
🟢Буферы PyTorch

Глава 4: Реализация модели GPT с нуля

🟠Анализ FLOPS

Глава 5: Предварительное обучение на немаркированных данных

🟢Альтернативная загрузка весов с HuggingFace с использованием Transformers
🟢Предварительное обучение GPT на наборе данных проекта Gutenberg
🟢Добавление дополнительных функций в цикл обучения
🟢Оптимизация гиперпараметров для предварительного обучения
🟢Создание пользовательского интерфейса для взаимодействия с LLM
🟢Преобразование GPT в Llama
🟢Llama 3.2 с нуля
🟢Memory-efficient загрузка модели

Глава 6: Тонкая настройка для классификации

🟠Дополнительные эксперименты по точной настройке различных слоев и использованию более крупных моделей
🟠Тонкая настройка различных моделей на основе датасета обзоров фильмов IMDB объемом 50 тыс. строк.
🟠Создание пользовательского интерфейса для взаимодействия с классификатором спама на основе GPT

Глава 7: Тонкая настройка для следования инструкциям

🟢Утилиты набора данных для поиска близких дубликатов и создания записей в пассивном залоге
🟢Оценка ответов на инструкции с использованием API OpenAI и Ollama
🟢Создание датасета для точной настройки инструкций
🟢Улучшение набора данных для точной настройки инструкций
🟢Создание набора данных предпочтений с помощью Llama 3.1 70B и Ollama
🟢DPO для процедуры LLM Alignment
🟢Создание пользовательского интерфейса для взаимодействия с моделью GPT с тонкой настройкой инструкций


🖥Github


@ai_machinelearning_big_data

#AI #ML #LLM #Tutorial #Github
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍69🔥2011🥰2👏1
📌Туториал по файнтюну Qwen2-VL-7B с использованием экосистемы Hugging Face.

Статья на HF из цикла Open-Source AI Cookbook c подробным пошаговым описанием и примерами кода процесса тонкой настройки VLM Qwen2-VL-7B в области ответов на вопросы по изображениям с использованием библиотеки Transformer Reinforcement Learning (TRL). В качестве целевого датасета используется ChartQA, который содержит диаграммы разных типов в паре с вопросами и ответами.

Для обучения модели демонстрируется методы Supervised Fine-Tuning (SFT) с использованием библиотеки TRL, QLoRA, которая квантует веса LoRA, обеспечивая более низкие требования к памяти и повышенную эффективность обучения.

Отдельным разделом выделен процесс подготовки данных к обучению с помощью функции collate_fn, которая выполняет корректное извлечение и пакетную обработку данных и их форматирование для модели. Обучение модели осуществляется с помощью класса SFTTrainer.

В результате модель научилась отвечать на вопросы в соответствии с используемым датасетом. Оценить готовый файнтюн можно в демо на HF Space.

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

▶️ Блокнот на Google Collab для практических экспериментов. Для его запуска понадобится платный тариф с GPU А100.


▶️Структура туториала по разделам:

🟢Установка среды

🟢Загрузка датасета

🟢Загрузка модели и проверка производительности

🟢Файнтюн модели с помощью TRL

🟠Загрузка квантованной модели для обучения
🟠Настройка QLoRA и SFTConfig
🟠Обучение модели

🟢Тестирование готовой модели

🟢Сравнение обученной модели с базовой + промптинг

🟢Дополнительные ресурсы для более глубокого изучения VLM


🔜 Статья на HuggingFace


@ai_machinelearning_big_data

#AI #ML #VLM #HuggingFace #Tutorial
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍225🔥5🥰1😁1🙈1
📌Интерактивное руководство по Prompt Engineering для Ollama.

Репозиторий на Github c набором ipynb-туториалов по Prompt Engineering для освоения методов создания оптимальных промптов для модели Qwen2.5-14B.

Руководство разделено на 9 глав с практическими упражнениями и приложением с "продвинутыми" методами. В каждой главе есть "Example Playground" для экспериментов с примерами и наблюдения за изменениями в инференсе Ollama.

Руководство использует модель Qwen 2.5-14B, но все материалы подходят и для модели Qwen 2.5-7B.

▶️Содержание:

Начальный уровень

🟢Глава 1: Базовая структура промпта.
🟢Глава 2: Ясность и прямота.
🟢Глава 3: Назначение ролей.

Средний уровень

🟢Глава 4: Отделение данных от инструкций.
🟢Глава 5: Форматы данных инференса и речь для Ollama.
🟢Глава 6: Рассуждение (шаг за шагом).
🟢Глава 7: Использование примеров.

Продвинутый уровень

🟠Глава 8: Избегание галлюцинаций.
🟠Глава 9: Создание сложных промптов (примеры использования для реальных задач):

🟢Сложные промпты с нуля - чатбот;
🟢Сложные промпты с нуля по юридическим услугам;
🟢Упражнение: Сложные промпты для финансовых услуг;
🟢Упражнение: Сложные промпты для программирования.

Приложение: За пределами стандартных подсказок

🟠Цепочка промптов.
🟠Использование инструментов.


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


🖥GitHub


@ai_machinelearning_big_data

#AI #ML #LLM #Github #Tutorial #Ollama
Please open Telegram to view this post
VIEW IN TELEGRAM
23🔥16👍13👏1
This media is not supported in your browser
VIEW IN TELEGRAM
📲 Diffusion Explainer - визуализация, которая поможет понять работу моделей, основанных на диффузии:

⭐️Визуал, который будет понятен каждому
⭐️Работает в браузере
⭐️Отличное наглядное объяснение того, как модели диффузии генерируют изображения.

https://poloclub.github.io/diffusion-explainer

Diffusion explainer
Github
Статья
Видео

@ai_machinelearning_big_data


#diffusion #tutorial #ml
54👍26🔥21