Machine learning Interview
24.5K subscribers
1.05K photos
71 videos
12 files
705 links
Разбираем вопросы с собеседований по Machine Learning, Data Science, Deep Learning и Нейронным сетям, Python.

Вопросы - @notxxx1


@itchannels_telegram -🔥лучшие it каналы

РКН: clck.ru/3FmwRz
Download Telegram
Forwarded from Machinelearning
📌 Гайд по распределенному обучению.

Репозиторий Github облачного хостинг-провайдера Lambda Labs c исчерпывающим руководством по лучшим практикам распределенного обучения, диагностике часто возникающих ошибок, эффективном использовании доступных ресурсов и приемам логгирования в stdout/stderr и wandb.

Вопросы, на которые отвечает это руководство:

🟢Как обновить скрипт обучения/файнтюна на одном GPU для работы на нескольких GPU или нескольких нодах?

🟢Как диагностировать зависания/ошибки, возникающие во время обучения?

🟢Моя модель слишком велика для одного GPU - как мне обучить/настроить ее на кластере?

🟢Как запланировать и запустить обучение на кластере?

🟢Как масштабировать гиперпараметры при увеличении числа воркеров?

Руководство состоит из последовательных глав, каждая из которых содержит readme и скрипт train_llm.py.

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

▶️ Структура:

🟠Один GPU;
🟠Несколько GPU на одной ноде;
🟠Несколько GPU на нескольких нодах;
🟠Запуск заданий;
🟠Шардинг между GPU (deepspeed);
🟠Шардинг между GPU (FSDP);
🟠Обучение 405B модели;
🟠Диагностика ошибок;
🟠Дополнительные темы (детерминизм, эффективность batch-size и LR, Gradient accumulation и др.).

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

# Clone repo
git clone https://github.com/LambdaLabsML/distributed-training-guide.git

# Create venv
cd distributed-training-guide
python3 -m venv venv
source venv/bin/activate
python -m pip install -U pip
pip install -U setuptools wheel
pip install -r requirements.txt


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


🖥GitHub


@ai_machinelearning_big_data

#AI #ML #LLM #Github #Guide
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Machinelearning
🌟 Run:ai Model Streamer - ускорение загрузки LLM.

Run:ai Model Streamer – Python SDK, разработанный для оптимизации загрузки моделей машинного обучения. Он поддерживает загрузку моделей в различных форматах (.pt, .h5, .safetensors и др.) из сетевых файловых систем, хранилищ S3 и локальных дисков.

Особенность Streamer - использование многопоточности для параллельной загрузки тензоров из файла в выделенный буфер оперативной памяти.

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

Streamer использует высокопроизводительный слой на C++, а Python API обеспечивает удобную интеграцию Streamer в существующие проекты, например, для автомасштабируемых серверов инференса, где минимизация времени простоя GPU критически важна.

Тест производительности Run:ai Model Streamer выполнялся на NVIDIA A10G с моделью Llama-3-8B (15 GB) и сравнивался с загрузчиками SafeTensors от Hugging Face и Tensorizer от CoreWeave.

При использовании локальных SSD, Run:ai Model Streamer достигал максимальной пропускной способности SSD (1 ГБ/с для GP3 и 2 ГБ/с для IO2), сокращая время загрузки модели в 6 раз по сравнению с SafeTensors Loader.

На Amazon S3 Run:ai Model Streamer загружал модель за 4.88 секунды, значительно превосходя Tensorizer (37.36 секунд).


⚠️ Streamer поддерживает только приложения PyTorch.

⚠️ Размер буфера оперативной памяти регулируется параметром RUNAI_STREAMER_MEMORY_LIMIT


▶️ Пример запуска с локального диска:

# Install streamer from pip
pip install runai-model-streamer

# Load the tensors to the buffer and stream to the GPU
from runai_model_streamer import SafetensorsStreamer

file_path = "/path/to/file.safetensors"

with SafetensorsStreamer() as streamer:
streamer.stream_file(file_path)
for name, tensor in streamer.get_tensors():
tensor.to('CUDA:0')



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


🟡Бенчмарки в блоге RunAI
🟡Документация
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #LLM #RunAI #ModelStramer
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Machinelearning
📌 Практические упражнения и дополнительные материалы к книге "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
Forwarded from Machinelearning
🌟 LLaMA-Mesh: метод генерации 3D-мешей с помощью LLM.

LLaMA-Mesh - метод, разработанный NVIDIA Labs, позволяющий генерировать 3D-модели с помощью текстовых инструкций, используя LLM. В отличие от других методов, LLaMA-Mesh представляет координаты вершин и определения граней 3D-сеток в виде простого текста, что позволяет напрямую интегрировать их с LLM без расширения словаря, минимизируя дополнительные затраты на обучение и позволяя использовать знания, которые уже имеют LLM.

Метод основан на файнтюне LLaMA-3.1-8B-Instruct на специальном наборе данных., который состоит из пар "текст-3D" и интерактивных диалогов, содержащих текст и 3D-модели.

В результате этого обучения, LLaMA-Mesh получает способность генерировать высококачественные 3D-сетки с различной топологией, сопоставимые по качеству с моделями, обученными с нуля, при этом сохраняя языковые способности, обеспечивая понимание сложных инструкций и ведения контекстуально-зависимых диалогов.

Оценка LLaMA-Mesh проводилась на качественных и количественных экспериментах.

Результаты качественных тестов демонстрируют высокую точность, качество и разнообразие сгенерированных 3D-моделей, а также сохраненные языковые возможности модели.

Количественные тесты в бенчмарках MMLU, PIQA, HellaSwag и GSM8K подтвердили сохранение языковых способностей, сравнимые с фундаментальными моделями LLaMA.

⚠️ Код и предварительно обученные веса обещают опубликовать в ближайшее время.


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


@ai_machinelearning_big_data

#AI #ML #LLM #3DGen #LlamaMesh #NVIDIA
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Machinelearning
⚡️ QwQ-32B-Preview: экспериментальная ризонинг-модель от Qwen.

QwQ (Qwen with Questions) – экспериментальная исследовательская модель, разработанная Qwen Team с фокусом на развитие способности рассуждения.

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

QwQ-32B-Preview, предварительная версия модели, которая демонстрирует аналитические способности в математике и программировании, показывая топовые результаты в тестах:

🟢65.2% на GPQA (тест на решение научных задач на уровне выпускника);
🟢50.0% на AIME (оценка математических способностей);
🟢90.6% на MATH-500 (тест на понимание математики по различным темам);
🟢50.0% на LiveCodeBench (тест на навыки программирования в реальных сценариях).

Архитектура QwQ основана на transformers с использованием RoPE, SwiGLU, RMSNorm и Attention QKV bias. Модель имеет 32.5 млрд. параметров, 64 слоя и 40 attention heads для Q и 8 для KV. Контекст модели - 32 768 токенов.

⚠️ Как у любого эксперимента, у QwQ есть ограничения:

🟠Модель может смешивать языки или переключаться между ними неожиданно, влияя на четкость ответов.

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

⚠️ Сообществом LM Studio опубликованы квантованные версии в формате GGUF в разрядности от 3-bit (17.2 Gb) до 8-bit (34.8 GB), совместимые для запуска в llama.cpp (release b4191) и LM Studio.


▶️Пример инференса на HF Transformers:

from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "Qwen/QwQ-32B-Preview"
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
prompt = "How many r in strawberry."
messages = [
{"role": "system", "content": "You are a helpful and harmless assistant. You are Qwen developed by Alibaba. You should think step-by-step."},
{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
generated_ids = model.generate(
**model_inputs,
max_new_tokens=512
)
generated_ids = [
output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]


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


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


@ai_machinelearning_big_data

#AI #ML #LLM #QwQ #Qwen
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Machinelearning
🌟 INTELLECT-1: релиз первой модели децентрализованного обучения.

PRIME Intellect опубликовала INTELLECT-1 (Instruct + Base), первую языковую модель с 10 млрд. параметров, совместно обученную за 50 суток 30 участниками эксперимента по всему миру.

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

Платформа использовала сеть из 112 GPU H100 на 3 континентах и ​​достигла коэффициента использования вычислений в 96% при оптимальных условиях.

Корпус обучения составлял на 1 трлн. токенов публичных датасетов с процентным соотношением: 55% fineweb-edu, 10% fineweb, 20% Stack V1, 10% dclm-baseline, 5% open-web-math.

▶️Технические характеристики:

🟢Parameters: 10B;
🟢Layers: 42;
🟢Attention Heads: 32;
🟢Hidden Size: 4096;
🟢Context Length: 8192;
🟢Vocabulary Size: 128256.

INTELLECT-1 достигла точности 37,5% на тесте MMLU и 72,26% на HellaSwag и превзошла несколько других моделей с открытым исходным кодом в WinoGrande с результатом 65,82%.

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

▶️Квантованные в GGUF версии INTELLECT-1_Instruct в разрядностях от 3-bit (5.46 GB) до 8-bit(10.9 GB) от сообщества LM Studio.

▶️Пример инференса на Transformers:

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

torch.set_default_device("cuda")
model = AutoModelForCausalLM.from_pretrained("PrimeIntellect/INTELLECT-1")
tokenizer = AutoTokenizer.from_pretrained("PrimeIntellect/INTELLECT-1")

input_text = "%prompt%"
input_ids = tokenizer.encode(input_text, return_tensors="pt")
output_ids = model.generate(input_ids, max_length=50, num_return_sequences=1)
output_text = tokenizer.decode(output_ids[0], skip_special_tokens=True)

print(output_text)


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


🟡Статья
🟡Набор моделей HF
🟡Набор GGUF версий
🟡Техотчет
🟡Demo
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #LLM #Decentralizated
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 AQLM․rs: сокращаем расходы на нейросети

Исследователь Яндекса разработал сервис для запуска языковых моделей с 8 млрд параметров на пользовательских девайсах.

Автор написал инференс модели Llama 3.1 8B, работающий в браузере на WebAssembly без использования GPU. Для этого он применил технологию сжатия нейросетей AQLM, которую разработала команда Yandex Research вместе с университетами ISTA и KAUST.

Для примера, скорость ответов нейросети на MacBook Pro M1 составила 1,5 токена в секунду или 3–4 символа.

🟡Статья
🖥Github

@ai_machinelearning_big_data

#AI #ML #LLM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 Новые российские открытые модели: T-Lite с 7 млрд. параметров и T-Pro — с 32.

Доступ к T-Pro и обновленной T-Lite от “Т-Технологий (в составе Т-Банк) открыт для всех на платформе Hugging Face. Многочисленные индустриальные бенчмарки, в том числе ruMMLU, Ru Arena Hard, MT Bench и AlpacaEval, подтверждают статус лучших в мире открытых LLM на русском языке. По общему уровню знаний, умению вести диалог и справляться с практическими задачами T-Lite и T-Pro превосходят остальные российские и зарубежные модели. Также T-Pro и T-Lite обгоняют проприетарные модели OpenAI, Google и Anthropic.

Увеличенное число параметров у T-Pro до 32 млр. параметров делает модель более мощной и производительной, а также позволяет ей учитывать больше контекста и особенностей языка, лучше запоминать информацию, делать более точные и сложные выводы

▶️Модели входят в семейство специализированных языковых моделей “Т-Технологий” – Gen-T, которые справляются с решением конкретных задач, что не может предложить, например, ChatGPT.

▶️При разработке моделей используются технологии продолженного предобучения (Continual Pretraining). Таким образом, уже обученную на больших объемах информации модель можно достаточно дообучить под конкретные задачи.

@machinelearning_interview

#AI #ML #LLM
Forwarded from Machinelearning
🖥 Large Language Model Course

Только что был обновлен популярный бесплатный LLM курс.

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

Курс разбит на 3 части:
1️⃣LLM Fundamentals: Блок дает фундаментальные знания по математике, Python и нейронным сетям.
2️⃣ LLM Scientist: В этом блоке упор сделан на внутреннем устройстве LLM и их создание с использованием новейших технологий и фреймворков.
3️⃣ The LLM Engineer: Здесь вы научитесь писать приложений на практике и научитесь развертывать их.

⭐️ 41.4k звезд на Github

📌 Курс

#llm #course #opensource #ml
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Machinelearning
⭐️ The Illustrated DeepSeek-R1

Одно из лучших иллюстрированных объяснение внутренностей DeepSeek-R1.
Читать

⭐️ Видео генератор Pika 2.1 официально выпущен ​​— поддерживает разрешение 1080p и генерирует более согласованные и детализированные на видео.
Попробовать

⭐️ DeepSeek-R1 теперь может работать в 1.58-битном режиме, оставаясь при этом полностью функциональным. Умельцы из Unsloth AI уменьшили размер модели 671B с 720 ГБ до 131 ГБ - это на 80 % меньше.

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

1,58-битный квант помещается в 160 ГБ VRAM (2x H100 80 ГБ) для быстрого вывода со скоростью ~140 токенов/сек.

Изучив архитектуру DeepSeek-R1, разработчики выборочно квантовали определенные слои в более высокие биты (например, в 4-битные), а большинство слоев MoE оставили в 1,5 бита.
Бенчмарки + блог
GGUF (131-212 ГБ) на Hugging Face:

⭐️ YuE (乐) - новая мощная модель генерации музыки с открытым исходным кодом! 🎵 Поддерживает преобразования текста в песню (как Suno.ai) с поддержкой различных жанров, вокала и множества языков. Модель совместима с Hugging Face и LLAMA.
Код
Демо

⭐️ Qwen 2.5-VL – обновленная визуальная модель, доступная в трех размерах: 3B, 7B и 72B параметров.
Qwen-2.5-VL
Qwen-2.5-1M


⭐️Netflix выпустили Go-with-the-Flow
Netflix выпустили новый алгоритм искажения шума для генерации видео, достаточно быстрый, чтобы работать в реальном времени, который заменяет случайную временную гауссиану на коррелированный искаженный шум, полученный из полей оптического потока, который сохраняет при этом пространственную гауссиану. Эффективность алгоритма позволяет тонко настраивать современные модели диффузии видео с минимальными расходами и предоставляет универсальное решение для широкого спектра управления движением на видео. Обширные эксперименты и исследования демонстрируют преимущества метода, делая его надежным и масштабируемым подходом для управления движением в диффузионных моделях видео.
HF
Github

⭐️ «Awesome DL-Based MRI Reconstruction» - новый Awesome репозиторий, содержащий ресурсы, инструменты и научные статьи, посвященные использованию глубокого обучения для ускорения получения магнитно-резонансных изображений. Созданный для обмена знаниями и сотрудничества, он служит важным руководством для исследователей и медиков со всего мира.
Github

@ai_machinelearning_big_data


#ai #ml #news #llm #deepseek #Netflix #Qwen #Pika #news #ainews
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM