Твой контейнер вообще не содержит 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
❤9🔥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
❤2
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
❤8🔥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
❤2
Нейронный процессор (NPU) это специализированный чип, оптимизированный под быстрые параллельные вычисления, в первую очередь под матричные и векторные операции.
В теории вероятностей и статистике NPU ускоряют такие задачи, как симуляции методом Монте-Карло и байесовский вывод. В машинном обучении они ускоряют обучение нейросетей и инференс при низком энергопотреблении.
В реальной жизни NPU обеспечивают работу таких функций, как разблокировка по лицу, распознавание речи, умные камеры, автопилот и локальный предиктивный ИИ на смартфонах, автомобилях и IoT-устройствах.
👉 @DataSciencegx
В теории вероятностей и статистике NPU ускоряют такие задачи, как симуляции методом Монте-Карло и байесовский вывод. В машинном обучении они ускоряют обучение нейросетей и инференс при низком энергопотреблении.
В реальной жизни NPU обеспечивают работу таких функций, как разблокировка по лицу, распознавание речи, умные камеры, автопилот и локальный предиктивный ИИ на смартфонах, автомобилях и IoT-устройствах.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6😁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
❤20🔥15🤔7
Тензоры играют ключевую роль в физике, машинном обучении и даже в биологии. Эйнштейн однажды умолял друга помочь ему разобраться в них, опасаясь, что сходит с ума.
Джозеф Хоулетт объясняет, как они работают: разбираемся
👉 @DataSciencegx
Джозеф Хоулетт объясняет, как они работают: разбираемся
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍3🔥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
🔥8👍2
⚡️ ВАЙБ-КОДИНГ теперь в Telegram!
Ребята сделали крутейший канал, где на наглядных примерах и понятном языке рассказывают как войти в новую эру разработки с ИИ, делятся полезными фишками и инструментами
Подписывайтесь: @vibecoding_tg
Ребята сделали крутейший канал, где на наглядных примерах и понятном языке рассказывают как войти в новую эру разработки с ИИ, делятся полезными фишками и инструментами
Подписывайтесь: @vibecoding_tg
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
❤1