Твой контейнер вообще не содержит GPU-драйверов
Тогда как PyTorch внутри него вообще использует GPU хоста?
Сначала нужно понимать, что происходит на стороне хоста
NVIDIA-драйвер в ядре отдает GPU через device-файлы: /dev/nvidia0, /dev/nvidiactl и так далее
Любое приложение общается с GPU именно через эти device-файлы
PyTorch не лезет напрямую в драйвер
Он работает через CUDA Runtime (libcudart.so) это высокоуровневый API, который берет на себя аллокации, запуск kernel-ов и синхронизации
Эта runtime-библиотека лежит внутри твоего контейнера
Весь стек выглядит так:
PyTorch → CUDA Runtime → CUDA Driver → /dev/nvidia0 → ядро → GPU
Runtime живет в контейнере
Драйвер живет на хосте
Как они связываются?
Смотрим на запуск контейнера:
Containerd → containerd-shim → OCI-runtime (runc) → контейнер
Но если драйвер на хосте, а runtime в контейнере, как приложение получает доступ ко всему сразу?
Ответ: OCI-хуки
Спека OCI определяет хуки — код, который запускается на разных этапах жизненного цикла контейнера:
prestart/createRuntime
createContainer
startContainer
poststart
poststop
NVIDIA использует эти хуки, чтобы подмешивать поддержку GPU
Перед стартом контейнера хук делает следующее:
1. Монтирует GPU-девайсы (/dev/nvidia*)
2. Подкладывает в контейнер драйверные библиотеки с хоста
3. Проставляет нужные переменные окружения
4. Настраивает device-cgroups
Твое приложение ещё даже не запустилось
Всем этим занимается NVIDIA Container Toolkit
Он перехватывает создание контейнера и аккуратно встраивает всё, что нужно для работы с GPU
Твой образ остается обычным.
GPU-возможности появляются в рантайме
Вот такой фокус😔
👉 @DataSciencegx
Тогда как PyTorch внутри него вообще использует GPU хоста?
Сначала нужно понимать, что происходит на стороне хоста
NVIDIA-драйвер в ядре отдает GPU через device-файлы: /dev/nvidia0, /dev/nvidiactl и так далее
Любое приложение общается с GPU именно через эти device-файлы
PyTorch не лезет напрямую в драйвер
Он работает через CUDA Runtime (libcudart.so) это высокоуровневый API, который берет на себя аллокации, запуск kernel-ов и синхронизации
Эта runtime-библиотека лежит внутри твоего контейнера
Весь стек выглядит так:
PyTorch → CUDA Runtime → CUDA Driver → /dev/nvidia0 → ядро → GPU
Runtime живет в контейнере
Драйвер живет на хосте
Как они связываются?
Смотрим на запуск контейнера:
Containerd → containerd-shim → OCI-runtime (runc) → контейнер
Но если драйвер на хосте, а runtime в контейнере, как приложение получает доступ ко всему сразу?
Ответ: OCI-хуки
Спека OCI определяет хуки — код, который запускается на разных этапах жизненного цикла контейнера:
prestart/createRuntime
createContainer
startContainer
poststart
poststop
NVIDIA использует эти хуки, чтобы подмешивать поддержку GPU
Перед стартом контейнера хук делает следующее:
1. Монтирует GPU-девайсы (/dev/nvidia*)
2. Подкладывает в контейнер драйверные библиотеки с хоста
3. Проставляет нужные переменные окружения
4. Настраивает device-cgroups
Твое приложение ещё даже не запустилось
Всем этим занимается NVIDIA Container Toolkit
Он перехватывает создание контейнера и аккуратно встраивает всё, что нужно для работы с GPU
Твой образ остается обычным.
GPU-возможности появляются в рантайме
Вот такой фокус
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🔥3
Сегодня Supabase представили Vector Buckets.
Новый вариант хранилища, который сочетает надежность и экономичность Amazon S3 с встроенным similarity search.
http://supabase.com/blog/vector-buckets
👉 @DataSciencegx
Новый вариант хранилища, который сочетает надежность и экономичность Amazon S3 с встроенным similarity search.
http://supabase.com/blog/vector-buckets
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Mistral выпустили Ministral 3 — новую линейку reasoning- и instruct-моделей!
Ministral 3 доступны в версиях 3B, 8B и 14B, есть поддержка vision и топовая производительность в своём классе.
Модель 14B можно запускать локально на машине с 24 ГБ RAM.
Гайд + ноутбук: https://docs.unsloth.ai/new/ministral-3
GGUF-сборки: https://huggingface.co/collections/unsloth/ministral-3
👉 @DataSciencegx
Ministral 3 доступны в версиях 3B, 8B и 14B, есть поддержка vision и топовая производительность в своём классе.
Модель 14B можно запускать локально на машине с 24 ГБ RAM.
Гайд + ноутбук: https://docs.unsloth.ai/new/ministral-3
GGUF-сборки: https://huggingface.co/collections/unsloth/ministral-3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3🤯2
Apple выложила CLaRa на Hugging Face.
Новая унифицированная RAG-модель со встроенной семантической компрессией документов (16x и 128x).
Она генерирует ответы напрямую из сжатых представлений, достигая SOTA-результатов и при этом сильно уменьшая длину контекста.
CLaRa показывает топовый уровень в компрессии и reranking-е, нередко обгоняя текстовые бейслайны, и уменьшает контекст до 16 раз.
Подробности в статье, модель можно попробовать тут:
https://huggingface.co/papers/2511.18659
👉 @DataSciencegx
Новая унифицированная RAG-модель со встроенной семантической компрессией документов (16x и 128x).
Она генерирует ответы напрямую из сжатых представлений, достигая SOTA-результатов и при этом сильно уменьшая длину контекста.
CLaRa показывает топовый уровень в компрессии и reranking-е, нередко обгоняя текстовые бейслайны, и уменьшает контекст до 16 раз.
Подробности в статье, модель можно попробовать тут:
https://huggingface.co/papers/2511.18659
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9🔥4👍2
Media is too big
VIEW IN TELEGRAM
MCP теперь поддерживает аутентификацию через OAuth2.
Это большое обновление!
Хочу поделиться полноценным примером (с кодом), чтобы можно было быстро разобраться как этим пользоваться.
Суть в следующем:
Не стоит строить агентные приложения, которые получают доступ к ресурсам без нормальных ограничений.
С аутентификацией вы можете:
• вызывать сторонние API от имени пользователя
• выполнять действия, которые должны быть отслеживаемыми
• применять разные разрешения для разных ролей
Вот демо интернет-магазина на MCP, собранное с WorkOS AuthKit и nextjs.
В этом примере можно:
• подключиться к MCP-серверу
• пройти аутентификацию через AuthKit
• заказать футболку с помощью MCP-инструментов
• посмотреть детали заказа, если у вас роль администратора
Весь необходимый код лежит в репозитории:
https://fandf.co/4psHKyo
👉 @DataSciencegx
Это большое обновление!
Хочу поделиться полноценным примером (с кодом), чтобы можно было быстро разобраться как этим пользоваться.
Суть в следующем:
Не стоит строить агентные приложения, которые получают доступ к ресурсам без нормальных ограничений.
С аутентификацией вы можете:
• вызывать сторонние API от имени пользователя
• выполнять действия, которые должны быть отслеживаемыми
• применять разные разрешения для разных ролей
Вот демо интернет-магазина на MCP, собранное с WorkOS AuthKit и nextjs.
В этом примере можно:
• подключиться к MCP-серверу
• пройти аутентификацию через AuthKit
• заказать футболку с помощью MCP-инструментов
• посмотреть детали заказа, если у вас роль администратора
Весь необходимый код лежит в репозитории:
https://fandf.co/4psHKyo
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
Команда показала, как использовать Claude Code для обучения open-source LLM под ключ. Они подключили навыки Hugging Face к Claude Code, и агент смог запускать полный цикл обучения моделей end-to-end. Самое интересное, это работает не только с Claude, но и с Codex, Cursor и Gemini CLI.
Как это выглядит на практике:
- ты даешь агенту задачу дообучить модель на датасете, можно указать свой или поручить агенту найти его самому
- агент сам подбирает железо под размер модели и проверяет датасет
- обучение запускается на облачных GPU, в режиме теста или полноценного прогона
- прогресс в реальном времени отображается через дашборд Trackio
- чекпоинты автоматически пушатся в Hugging Face
Уже можно попробовать в своем любимом кодинг-агенте.
👉 @DataSciencegx
Как это выглядит на практике:
- ты даешь агенту задачу дообучить модель на датасете, можно указать свой или поручить агенту найти его самому
- агент сам подбирает железо под размер модели и проверяет датасет
- обучение запускается на облачных GPU, в режиме теста или полноценного прогона
- прогресс в реальном времени отображается через дашборд Trackio
- чекпоинты автоматически пушатся в Hugging Face
Уже можно попробовать в своем любимом кодинг-агенте.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Нейронный процессор (NPU) это специализированный чип, оптимизированный под быстрые параллельные вычисления, в первую очередь под матричные и векторные операции.
В теории вероятностей и статистике NPU ускоряют такие задачи, как симуляции методом Монте-Карло и байесовский вывод. В машинном обучении они ускоряют обучение нейросетей и инференс при низком энергопотреблении.
В реальной жизни NPU обеспечивают работу таких функций, как разблокировка по лицу, распознавание речи, умные камеры, автопилот и локальный предиктивный ИИ на смартфонах, автомобилях и IoT-устройствах.
👉 @DataSciencegx
В теории вероятностей и статистике NPU ускоряют такие задачи, как симуляции методом Монте-Карло и байесовский вывод. В машинном обучении они ускоряют обучение нейросетей и инференс при низком энергопотреблении.
В реальной жизни NPU обеспечивают работу таких функций, как разблокировка по лицу, распознавание речи, умные камеры, автопилот и локальный предиктивный ИИ на смартфонах, автомобилях и IoT-устройствах.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍1😁1
Теорема Никомаха
1³ + 2³ + 3³ + ... + n³ = (1 + 2 + 3 + ... + n)²
Сумма кубов первых n натуральных чисел всегда равна квадрату суммы этих же чисел.
Для n = 3:
(1 + 2 + 3)² = 6² = 36 = 1 + 8 + 27
👉 @DataSciencegx
1³ + 2³ + 3³ + ... + n³ = (1 + 2 + 3 + ... + n)²
Сумма кубов первых n натуральных чисел всегда равна квадрату суммы этих же чисел.
Для n = 3:
(1 + 2 + 3)² = 6² = 36 = 1 + 8 + 27
Please open Telegram to view this post
VIEW IN TELEGRAM
❤22🔥17🤔7
Тензоры играют ключевую роль в физике, машинном обучении и даже в биологии. Эйнштейн однажды умолял друга помочь ему разобраться в них, опасаясь, что сходит с ума.
Джозеф Хоулетт объясняет, как они работают: разбираемся
👉 @DataSciencegx
Джозеф Хоулетт объясняет, как они работают: разбираемся
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍5🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Представили QVAC Fabric LLM — фреймворк, который приносит полноценный AI-инференс и файнтюнинг прямо на ваше железо.
Запускайте и дообучайте современные модели вроде Llama 3 и Gemma 3 на ноутбуке, на обычной видеокарте и даже на смартфоне.
Без облака. Без компромиссов. Вы полностью контролируете свои данные.
QVAC Fabric LLM — это open source. Децентрализованный, гипермасштабируемый, антихрупкий, пользовательский AI.
QVAC. Ваше устройство. Ваш AI.
Подробнее: https://huggingface.co/blog/qvac/fabric-llm-finetune?twclid=2-k3wh4blsp5fzsaopgq5p2cl3
👉 @DataSciencegx
Запускайте и дообучайте современные модели вроде Llama 3 и Gemma 3 на ноутбуке, на обычной видеокарте и даже на смартфоне.
Без облака. Без компромиссов. Вы полностью контролируете свои данные.
QVAC Fabric LLM — это open source. Децентрализованный, гипермасштабируемый, антихрупкий, пользовательский AI.
QVAC. Ваше устройство. Ваш AI.
Подробнее: https://huggingface.co/blog/qvac/fabric-llm-finetune?twclid=2-k3wh4blsp5fzsaopgq5p2cl3
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Только что выпустили удобное небольшое расширение для Chrome clipmd, которое позволяет кликнуть по любому элементу на веб-странице и положить в буфер обмена либо этот элемент, сконвертированный в markdown Ctrl + Shift + M, либо его скриншот Ctrl + Shift + S.
Удобно для работы с LLM😊
👉 @DataSciencegx
Удобно для работы с LLM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥4
Я занимаюсь файнтюнингом LLM уже больше 2 лет.
Вот топ-5 техник файнтюнинга LLM с визуальными пояснениями:
Для начала, что вообще такого особенного в файнтюнинге LLM?
Классический файнтюнинг для LLM непрактичен (миллиарды параметров, сотни гигабайт).
Поскольку такие вычислительные ресурсы доступны не всем, появились parameter-efficient finetuning техники, сокращённо PEFT.
Перед тем как разобрать каждую технику, немного базы, которая поможет лучше понять, как они работают:
Веса LLM это матрицы чисел, которые подстраиваются во время файнтюнинга.
Большинство PEFT-техник сводятся к поиску низкоранговой адаптации этих матриц, то есть матрицы меньшей размерности, которая всё ещё может представлять информацию из исходной.
Теперь, когда есть базовое понимание ранга матрицы, можно переходить к разбору разных техник файнтюнинга.
(для наглядного объяснения каждой техники см. картинку)
1) LoRA
Добавляются две обучаемые низкоранговые матрицы A и B рядом с матрицами весов.
Вместо файнтюнинга W корректируются обновления в этих низкоранговых матрицах.
Даже для самых больших LLM матрицы LoRA занимают всего несколько мегабайт памяти.
2) LoRA-FA
Хотя LoRA сильно снижает количество обучаемых параметров, для обновления низкоранговых весов всё равно требуется заметный объём activation-памяти.
LoRA-FA (FA означает Frozen-A) замораживает матрицу A и обновляет только матрицу B.
3) VeRA
В LoRA низкоранговые матрицы A и B уникальны для каждого слоя.
В VeRA A и B заморожены, случайные и общие для всех слоёв.
Вместо этого обучаются слой-специфичные масштабирующие ВЕКТОРЫ b и d.
4) Delta-LoRA
Здесь тоже подстраивается матрица W, но не классическим способом.
В W добавляется разница (delta) между произведением матриц A и B на двух соседних шагах обучения.
5) LoRA+
В обычной LoRA обе матрицы A и B обновляются с одинаковым learning rate.
Авторы LoRA+ выяснили, что более высокий learning rate для матрицы B даёт лучшую сходимость.
👉 @DataSciencegx
Вот топ-5 техник файнтюнинга LLM с визуальными пояснениями:
Для начала, что вообще такого особенного в файнтюнинге LLM?
Классический файнтюнинг для LLM непрактичен (миллиарды параметров, сотни гигабайт).
Поскольку такие вычислительные ресурсы доступны не всем, появились parameter-efficient finetuning техники, сокращённо PEFT.
Перед тем как разобрать каждую технику, немного базы, которая поможет лучше понять, как они работают:
Веса LLM это матрицы чисел, которые подстраиваются во время файнтюнинга.
Большинство PEFT-техник сводятся к поиску низкоранговой адаптации этих матриц, то есть матрицы меньшей размерности, которая всё ещё может представлять информацию из исходной.
Теперь, когда есть базовое понимание ранга матрицы, можно переходить к разбору разных техник файнтюнинга.
(для наглядного объяснения каждой техники см. картинку)
1) LoRA
Добавляются две обучаемые низкоранговые матрицы A и B рядом с матрицами весов.
Вместо файнтюнинга W корректируются обновления в этих низкоранговых матрицах.
Даже для самых больших LLM матрицы LoRA занимают всего несколько мегабайт памяти.
2) LoRA-FA
Хотя LoRA сильно снижает количество обучаемых параметров, для обновления низкоранговых весов всё равно требуется заметный объём activation-памяти.
LoRA-FA (FA означает Frozen-A) замораживает матрицу A и обновляет только матрицу B.
3) VeRA
В LoRA низкоранговые матрицы A и B уникальны для каждого слоя.
В VeRA A и B заморожены, случайные и общие для всех слоёв.
Вместо этого обучаются слой-специфичные масштабирующие ВЕКТОРЫ b и d.
4) Delta-LoRA
Здесь тоже подстраивается матрица W, но не классическим способом.
В W добавляется разница (delta) между произведением матриц A и B на двух соседних шагах обучения.
5) LoRA+
В обычной LoRA обе матрицы A и B обновляются с одинаковым learning rate.
Авторы LoRA+ выяснили, что более высокий learning rate для матрицы B даёт лучшую сходимость.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍4
Обрабатывай датасеты больше доступной RAM с автоспилловером DuckDB
Когда объем данных превышает доступную память, большинство инструментов падают во время выполнения.
Из-за этого приходится руками резать данные на чанки или апгрейдить железо только ради того, чтобы довести базовый запрос до конца.
DuckDB автоматически сбрасывает промежуточные результаты во временные файлы, когда данные выходят за пределы выделенной памяти.
Плюсы:
• Обработка датасетов больше RAM без правок в коде
• Настраиваемые лимиты памяти, чтобы избежать крашей системы
• Автоматический спилловер на диск при заполнении памяти
• Никаких ручных чанков или батчинга
Полная статья: https://bit.ly/4oEj5WW
Запустить пример: https://bit.ly/4ovyUir
👉 @DataSciencegx
Когда объем данных превышает доступную память, большинство инструментов падают во время выполнения.
Из-за этого приходится руками резать данные на чанки или апгрейдить железо только ради того, чтобы довести базовый запрос до конца.
DuckDB автоматически сбрасывает промежуточные результаты во временные файлы, когда данные выходят за пределы выделенной памяти.
Плюсы:
• Обработка датасетов больше RAM без правок в коде
• Настраиваемые лимиты памяти, чтобы избежать крашей системы
• Автоматический спилловер на диск при заполнении памяти
• Никаких ручных чанков или батчинга
Полная статья: https://bit.ly/4oEj5WW
Запустить пример: https://bit.ly/4ovyUir
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍1
Погоди, Microsoft только что выкатили open-source инструмент для запуска AI-моделей локально?!
Без облака, подписок и авторизации.
Все на 100% приватно.
И при этом он без проблем встраивается в приложения через OpenAI-совместимый API.
Просто вбиваешь в терминале:
→ winget install Microsoft(dot)FoundryLocal (Windows)
→ brew install microsoft/foundrylocal/foundrylocal (macOS)
Вот официальный веб-сайт со всей документацией и доступными моделями: https://foundrylocal.ai
И репозиторий GitHub: https://github.com/microsoft/foundry-local
👉 @DataSciencegx
Без облака, подписок и авторизации.
Все на 100% приватно.
И при этом он без проблем встраивается в приложения через OpenAI-совместимый API.
Просто вбиваешь в терминале:
→ winget install Microsoft(dot)FoundryLocal (Windows)
→ brew install microsoft/foundrylocal/foundrylocal (macOS)
Вот официальный веб-сайт со всей документацией и доступными моделями: https://foundrylocal.ai
И репозиторий GitHub: https://github.com/microsoft/foundry-local
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1👎1
This media is not supported in your browser
VIEW IN TELEGRAM
K-means один из самых широко используемых алгоритмов кластеризации в data science и машинном обучении. Ключевая часть алгоритма - сходимость (процесс, при котором центры кластеров и назначения точек постепенно стабилизируются за счёт повторяющихся обновлений.) Cкажу так, понимание того, как и почему происходит сходимость, помогает получать надёжные и осмысленные результаты кластеризации.
✔️ Быстро сходится на большинстве наборов данных, что делает его эффективным для задач большого масштаба
✔️ Предлагает простую и интерпретируемую структуру для выявления групп
✔️ Хорошо масштабируется на больших дата-сетах за счёт низкой вычислительной сложности
❌ Результаты сильно зависят от начальной инициализации кластеров
❌ Может искажать структуру данных, если признаки неправильно отмасштабированы
❌ Может порождать пустые или нестабильные кластеры при некорректной настройке
Чтобы обеспечить стабильную сходимость:
- Используйте k-means++ для более грамотного выбора начальных центров
- Применяйте масштабирование признаков, чтобы переменные с большим масштабом не доминировали
- Задавайте адекватные значения лимита итераций и порога сходимости
На изображении показан процесс сходимости K-means. Точки данных назначаются ближайшему центру по квадрату расстояния. После этого каждый центр пересчитывается как среднее значение всех закреплённых за ним точек. Эти шаги повторяются до тех пор, пока положения центров не перестают заметно изменяться.
👉 @DataSciencegx
Чтобы обеспечить стабильную сходимость:
- Используйте k-means++ для более грамотного выбора начальных центров
- Применяйте масштабирование признаков, чтобы переменные с большим масштабом не доминировали
- Задавайте адекватные значения лимита итераций и порога сходимости
На изображении показан процесс сходимости K-means. Точки данных назначаются ближайшему центру по квадрату расстояния. После этого каждый центр пересчитывается как среднее значение всех закреплённых за ним точек. Эти шаги повторяются до тех пор, пока положения центров не перестают заметно изменяться.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Визуализация того, что находится внутри моделей ИИ. Это представляет слои взаимосвязанных нейронных сетей. И да, со временем формируются паттерны, и они могут образовывать своего рода сигнатуру того, как модель мыслит.
Этот паттерн можно рассматривать как процесс мышления.
👉 @DataSciencegx
Этот паттерн можно рассматривать как процесс мышления.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23❤9
Команда Hugging Face только что научила Claude Code полноценно обучать открытые LLM.
Ты просто говоришь что-то вроде:
«Дообучи Qwen3-0.6B на open-r1/codeforces-cots».
А дальше Claude делает всё сам.
▸ Подбирает оптимальный облачный GPU под размер модели
▸ Загружает датасет (или ищет его, если не указан)
▸ Запускает задачу: тестовый прогон или основной запуск
▸ Отслеживает прогресс через дашборд Trackio
▸ Загружает чекпоинты и финальную модель в Hugging Face Hub
👉 @DataSciencegx
Ты просто говоришь что-то вроде:
«Дообучи Qwen3-0.6B на open-r1/codeforces-cots».
А дальше Claude делает всё сам.
▸ Подбирает оптимальный облачный GPU под размер модели
▸ Загружает датасет (или ищет его, если не указан)
▸ Запускает задачу: тестовый прогон или основной запуск
▸ Отслеживает прогресс через дашборд Trackio
▸ Загружает чекпоинты и финальную модель в Hugging Face Hub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍4🔥3