This media is not supported in your browser
VIEW IN TELEGRAM
На GitHub есть репозиторий free-programming-books, где собрано более 4000 бесплатных книг, 2000 курсов и других полезных ресурсов по программированию
Для удобства поиска можно использовать этот инструмент
Этот проект - яркий пример силы опенсорс сообщества, который из клона списка со StackOverflow стал одним из самых популярных на GitHub✌️
🔸 Русскоязычная версия ресурсов
👉 @DataSciencegx
Для удобства поиска можно использовать этот инструмент
Этот проект - яркий пример силы опенсорс сообщества, который из клона списка со StackOverflow стал одним из самых популярных на GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍2🤔1
Эндрю Ын анонсировал новый бесплатный курс: Agentic AI
Здесь учат собирать LLM-агентов с нуля, без фреймворков, на чистом Python. Всё чётко, с разбором того, как устроены агенты под капотом.
Что внутри:
- Reflection — агент сам анализирует свои ответы и улучшает их;
- Tool use — учим LLM вызывать функции: искать в вебе, слать письма, писать код;
- Planning — разбиваем задачи на подзадачи и строим план выполнения;
- Multi-agent collaboration — создаём несколько специализированных агентов, которые работают вместе, как команда.
Плюс отдельный блок про evals и анализ ошибок
В итоге соберёте исследовательского агента, который сам ищет, анализирует и пишет отчёты.
Проходится в своём темпе, подходит всем, кто знаком с Python и немного с LLM. Забираем здесь
👉 @DataSciencegx
Здесь учат собирать LLM-агентов с нуля, без фреймворков, на чистом Python. Всё чётко, с разбором того, как устроены агенты под капотом.
Что внутри:
- Reflection — агент сам анализирует свои ответы и улучшает их;
- Tool use — учим LLM вызывать функции: искать в вебе, слать письма, писать код;
- Planning — разбиваем задачи на подзадачи и строим план выполнения;
- Multi-agent collaboration — создаём несколько специализированных агентов, которые работают вместе, как команда.
Плюс отдельный блок про evals и анализ ошибок
В итоге соберёте исследовательского агента, который сам ищет, анализирует и пишет отчёты.
Проходится в своём темпе, подходит всем, кто знаком с Python и немного с LLM. Забираем здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍1👀1
Я никогда не использую метод
Skimpy — гораздо более удобная (и опенсорс) альтернатива, которая предоставляет расширенное описание данных: форму датасета, типы данных по колонкам, статистику, графики распределений и т.д.
👉 @DataSciencegx
describe из PandasSkimpy — гораздо более удобная (и опенсорс) альтернатива, которая предоставляет расширенное описание данных: форму датасета, типы данных по колонкам, статистику, графики распределений и т.д.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12🤔5👍3
Один из лучших ресурсов, если хочешь выучить SQL на практике и с нуля 👍
Это интерактивные уроки прямо в браузере, без регистрации и бесплатно. Всё подается шаг за шагом: от базовых запросов до более сложных тем, таких как JOIN и агрегации
Весь процесс строится на упражнениях, так что теорию сразу применяешь на практике
Всем, кто хочет научиться SQL с нуля, рекомендую заценить: https://sqlbolt.com/
👉 @DataSciencegx
Это интерактивные уроки прямо в браузере, без регистрации и бесплатно. Всё подается шаг за шагом: от базовых запросов до более сложных тем, таких как JOIN и агрегации
Весь процесс строится на упражнениях, так что теорию сразу применяешь на практике
Всем, кто хочет научиться SQL с нуля, рекомендую заценить: https://sqlbolt.com/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🔥1🤔1
Бесплатный курс по изучению концепций глубокого обучения
Концептуальное и архитектурное путешествие по моделям компьютерного зрения в глубоком обучении, прослеживающее эволюцию от LeNet и AlexNet до ResNet, EfficientNet и Vision Transformers.
Курс объясняет принципы проектирования, лежащие в основе skip-соединений, bottleneck-блоков, сохранения тождества, компромиссов глубины/ширины и attention.
Каждая глава сочетает наглядные иллюстрации, исторический контекст и сравнения «бок о бок», чтобы показать, почему архитектуры выглядят именно так и как они обрабатывают информацию.
Забираем на YouTube
👉 @DataSciencegx
Концептуальное и архитектурное путешествие по моделям компьютерного зрения в глубоком обучении, прослеживающее эволюцию от LeNet и AlexNet до ResNet, EfficientNet и Vision Transformers.
Курс объясняет принципы проектирования, лежащие в основе skip-соединений, bottleneck-блоков, сохранения тождества, компромиссов глубины/ширины и attention.
Каждая глава сочетает наглядные иллюстрации, исторический контекст и сравнения «бок о бок», чтобы показать, почему архитектуры выглядят именно так и как они обрабатывают информацию.
Забираем на YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🤔1
Находка: репозиторий, где куча туториалов по созданию AI-агентов, готовых к продакшену и с реальными кейсами использования
Весь код в открытом доступе и есть объяснение, как их развернуть. GitHub: agents-towards-production
👉 @DataSciencegx
Весь код в открытом доступе и есть объяснение, как их развернуть. GitHub: agents-towards-production
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Наконец-то в Python 3.14 можно отключить GIL
Это большое событие, потому что раньше, даже если ты писал многопоточный код, Python всё равно выполнял только один поток за раз, без какого-либо прироста производительности.
А теперь Python действительно может выполнять твой многопоточный код параллельно.
И uv полностью это поддерживает!
👉 @DataSciencegx
Это большое событие, потому что раньше, даже если ты писал многопоточный код, Python всё равно выполнял только один поток за раз, без какого-либо прироста производительности.
А теперь Python действительно может выполнять твой многопоточный код параллельно.
И uv полностью это поддерживает!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤18👍2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
AI Engineering Hub
Комплексный ресурс для изучения и разработки решений на базе AI. Здесь вы найдёте:
- 93+ продакшн-готовых проектов для любого уровня
- подробные туториалы по LLM, RAG, агентам и многому другому
- реальные примеры применения AI-агентов
- готовые примеры для внедрения, адаптации и масштабирования в ваших проектах
Забираем на GitHub
👉 @DataSciencegx
Комплексный ресурс для изучения и разработки решений на базе AI. Здесь вы найдёте:
- 93+ продакшн-готовых проектов для любого уровня
- подробные туториалы по LLM, RAG, агентам и многому другому
- реальные примеры применения AI-агентов
- готовые примеры для внедрения, адаптации и масштабирования в ваших проектах
Забираем на GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍2🔥1
Все почему-то игнорируют эту новую OCR-модель. Chandra от Datalab заняла топовые позиции в независимых бенчмарках и обошла предыдущего лидера dots-ocr.
Поддерживает более 40 языков
Без проблем обрабатывает текст, таблицы и формулы
Я протестировал её на рукописном письме Рамануджана 1913 года.
Полностью опенсорс: GitHub
👉 @DataSciencegx
Поддерживает более 40 языков
Без проблем обрабатывает текст, таблицы и формулы
Я протестировал её на рукописном письме Рамануджана 1913 года.
Полностью опенсорс: GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
RAG vs. CAG, понятное объяснение
RAG хорош, но у него есть серьёзная проблема
Каждый запрос бьёт по векторной БД. Даже ради статической информации, которая не менялась месяцами.
Это дорого, медленно и лишнее.
Cache-Augmented Generation (CAG) решает эту проблему, позволяя модели «помнить» статическую информацию прямо в своей key-value (KV) памяти.
Ещё лучше? Можно комбинировать RAG и CAG и получить лучшее из обоих подходов.
Как это работает:
RAG + CAG делит вашу базу знаний на два слоя:
↳ Статические данные (политики, документация) один раз кэшируются в KV-памяти модели
↳ Динамические данные (свежие апдейты, «живые» документы) подтягиваются через ретривал
Результат? Более быстрый инференс, меньше затрат, меньше избыточности.
Хитрость в том, чтобы избирательно кэшировать.
Кэшируйте только статичные, ценные знания, которые редко меняются. Если закэшируете всё, упрётесь в лимиты контекста. Разделение «cold» (кэшируемые) и «hot» (получаемые через ретривал) данных делает систему надёжной.
Можно начинать уже сегодня. OpenAI и Anthropic уже поддерживают кэширование промптов в своих API.
Вот ссылка на гайд OpenAI по кэшированию промптов: https://x.com/akshay_pachaar/status/1985690138756989286
Вы уже пробовали CAG в проде?
👉 @DataSciencegx
RAG хорош, но у него есть серьёзная проблема
Каждый запрос бьёт по векторной БД. Даже ради статической информации, которая не менялась месяцами.
Это дорого, медленно и лишнее.
Cache-Augmented Generation (CAG) решает эту проблему, позволяя модели «помнить» статическую информацию прямо в своей key-value (KV) памяти.
Ещё лучше? Можно комбинировать RAG и CAG и получить лучшее из обоих подходов.
Как это работает:
RAG + CAG делит вашу базу знаний на два слоя:
↳ Статические данные (политики, документация) один раз кэшируются в KV-памяти модели
↳ Динамические данные (свежие апдейты, «живые» документы) подтягиваются через ретривал
Результат? Более быстрый инференс, меньше затрат, меньше избыточности.
Хитрость в том, чтобы избирательно кэшировать.
Кэшируйте только статичные, ценные знания, которые редко меняются. Если закэшируете всё, упрётесь в лимиты контекста. Разделение «cold» (кэшируемые) и «hot» (получаемые через ретривал) данных делает систему надёжной.
Можно начинать уже сегодня. OpenAI и Anthropic уже поддерживают кэширование промптов в своих API.
Вот ссылка на гайд OpenAI по кэшированию промптов: https://x.com/akshay_pachaar/status/1985690138756989286
Вы уже пробовали CAG в проде?
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍2
Введение в системы машинного обучения
Создано профессором Гарварда Виджаем Джанапа Редди. Это открытый учебник, который учит тебя строить реальные, работающие AI-системы: от edge-устройств до облака.
Он выводит обучение за пределы простого “тренируем модель” и показывает, как заставить модель действительно работать - cтабильно, эффективно и с высокой производительностью.
PDF-ка и онлайн версия доступны здесь, репозиторий тут
👉 @DataSciencegx
Создано профессором Гарварда Виджаем Джанапа Редди. Это открытый учебник, который учит тебя строить реальные, работающие AI-системы: от edge-устройств до облака.
Он выводит обучение за пределы простого “тренируем модель” и показывает, как заставить модель действительно работать - cтабильно, эффективно и с высокой производительностью.
PDF-ка и онлайн версия доступны здесь, репозиторий тут
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍2
This media is not supported in your browser
VIEW IN TELEGRAM
XBOW привлекла $117 млн для разработки AI-агентов-хакеров
А теперь кто-то выложил аналог с открытым исходным кодом, бесплатно.
Strix — это автономные AI-агенты, которые действуют как реальные хакеры: они динамически выполняют ваш код, находят уязвимости и подтверждают их реальными proof-of-concept-эксплойтами.
Почему это важно:
Главная проблема классического security-тестирования - оно не успевает за скоростью разработки.
Strix решает это, интегрируясь прямо в ваш рабочий процесс:
↳ Запускайте его в CI/CD, чтобы ловить уязвимости до продакшена
↳ Получайте реальные PoC, а не ложные срабатывания от статического анализа
↳ Тестируйте всё: инъекции, контроль доступа, ошибки бизнес-логики
И самое крутое:
Вам не нужно быть экспертом по безопасности. Strix включает полный набор инструментов хакера: HTTP-прокси, автоматизацию браузера и Python runtime для разработки эксплойтов.
Это как если бы у вас была команда безопасности, работающая с той же скоростью, что и ваш CI/CD pipeline.
К тому же инструмент запускается локально в Docker-контейнерах, ваш код никогда не покидает ваше окружение.
Начать очень просто:
Укажите путь к вашему коду: приложению, репозиторию или директории.
Ссылка на GitHub-репозиторий: strix
👉 @DataSciencegx
А теперь кто-то выложил аналог с открытым исходным кодом, бесплатно.
Strix — это автономные AI-агенты, которые действуют как реальные хакеры: они динамически выполняют ваш код, находят уязвимости и подтверждают их реальными proof-of-concept-эксплойтами.
Почему это важно:
Главная проблема классического security-тестирования - оно не успевает за скоростью разработки.
Strix решает это, интегрируясь прямо в ваш рабочий процесс:
↳ Запускайте его в CI/CD, чтобы ловить уязвимости до продакшена
↳ Получайте реальные PoC, а не ложные срабатывания от статического анализа
↳ Тестируйте всё: инъекции, контроль доступа, ошибки бизнес-логики
И самое крутое:
Вам не нужно быть экспертом по безопасности. Strix включает полный набор инструментов хакера: HTTP-прокси, автоматизацию браузера и Python runtime для разработки эксплойтов.
Это как если бы у вас была команда безопасности, работающая с той же скоростью, что и ваш CI/CD pipeline.
К тому же инструмент запускается локально в Docker-контейнерах, ваш код никогда не покидает ваше окружение.
Начать очень просто:
pipx install strix-agentУкажите путь к вашему коду: приложению, репозиторию или директории.
Ссылка на GitHub-репозиторий: strix
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤5
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍3❤2👎1
Нашел шикарную штуку для всех, кто хочет прокачаться в математике для диплернинга — вот этот раздел
Ноль воды, только то что нужно для работы в ML. Мат.анализ, лин.алгебра, теория вероятностей — всё в удобном формате и сразу с кодом
Отдельный приятный момент: можно выбрать диалект, на котором будут показывать примеры (PyTorch, Keras или MXNET).
Кстати, другие главы там не менее достойные🤓
👉 @DataSciencegx
Ноль воды, только то что нужно для работы в ML. Мат.анализ, лин.алгебра, теория вероятностей — всё в удобном формате и сразу с кодом
Отдельный приятный момент: можно выбрать диалект, на котором будут показывать примеры (PyTorch, Keras или MXNET).
Кстати, другие главы там не менее достойные
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤8
This media is not supported in your browser
VIEW IN TELEGRAM
Microsoft. Google. AWS.
Все пытаются решить одну и ту же задачу для AI-агентов:
Как построить графы знаний, которые будут достаточно быстрыми для LLM-приложений в реальном времени?
FalkorDB — это опенсорс графовая база данных, которая решает эту проблему, переосмысливая сам принцип работы графов. Она использует разреженные матрицы и линейную алгебру, а не классический обход графа!
Разберёмся, почему она такая быстрая:
Традиционные графовые базы хранят связи как связанные узлы и обходят их по одному хопу.
Но здесь есть проблема:
Когда вы делаете запрос на связи, база данных проходит по узлам и рёбрам, буквально следуя по карте. Для огромных графов знаний, на которых работают AI-агенты, это создаёт серьёзное узкое место.
А что если представить весь граф как математическую структуру?
Здесь появляются разреженные матрицы.
Разреженная матрица хранит только существующие связи. Никакого лишнего места, никаких ненужных данных
И вот где происходит прорыв:
Когда ваш граф представлен как разреженная матрица, вы можете выполнять запросы с помощью линейной алгебры, а не обхода. Запросы превращаются в математические операции, а не покроковый переход по узлам.
Математика быстрее обхода. Гораздо быстрее.
Плюс разреженные матрицы позволяют невероятно эффективно использовать память. Вы храните только то, что существует, поэтому можете держать огромные графы знаний в памяти, не прожигая ресурсы.
Тогда почему бы просто не использовать Vector Search?
Vector search быстрый, но он фиксирует только наивное сходство. Он умеет находить паттерны, но не видит структуру.
Графы фиксируют тонкие отношения между сущностями. Это гарантирует, что контекст, который вы поднимаете для агента, точный и релевантный, а не просто похожий.
И вот что даёт вам FalkorDB:
↳ Сверхбыстрая мультитенантная графовая база данных
↳ Эффективное хранение через разреженные матрицы
↳ Совместимость с OpenCypher (тот же язык запросов, что и в Neo4j)
↳ Специально создана для LLM-приложений и памяти агентов
↳ Работает поверх Redis для простого деплоя
Старт занимает всего одну Docker-команду. Я протестировал это через их Python-клиент, разница в производительности заметна сразу.
Если вы строите AI-агентов, которым нужен доступ к связанным данным в реальном времени, это точно стоит попробовать.
И главное, это 100% опенсорс. GitHub: FalkorDB
👉 @DataSciencegx
Все пытаются решить одну и ту же задачу для AI-агентов:
Как построить графы знаний, которые будут достаточно быстрыми для LLM-приложений в реальном времени?
FalkorDB — это опенсорс графовая база данных, которая решает эту проблему, переосмысливая сам принцип работы графов. Она использует разреженные матрицы и линейную алгебру, а не классический обход графа!
Разберёмся, почему она такая быстрая:
Традиционные графовые базы хранят связи как связанные узлы и обходят их по одному хопу.
Но здесь есть проблема:
Когда вы делаете запрос на связи, база данных проходит по узлам и рёбрам, буквально следуя по карте. Для огромных графов знаний, на которых работают AI-агенты, это создаёт серьёзное узкое место.
А что если представить весь граф как математическую структуру?
Здесь появляются разреженные матрицы.
Разреженная матрица хранит только существующие связи. Никакого лишнего места, никаких ненужных данных
И вот где происходит прорыв:
Когда ваш граф представлен как разреженная матрица, вы можете выполнять запросы с помощью линейной алгебры, а не обхода. Запросы превращаются в математические операции, а не покроковый переход по узлам.
Математика быстрее обхода. Гораздо быстрее.
Плюс разреженные матрицы позволяют невероятно эффективно использовать память. Вы храните только то, что существует, поэтому можете держать огромные графы знаний в памяти, не прожигая ресурсы.
Тогда почему бы просто не использовать Vector Search?
Vector search быстрый, но он фиксирует только наивное сходство. Он умеет находить паттерны, но не видит структуру.
Графы фиксируют тонкие отношения между сущностями. Это гарантирует, что контекст, который вы поднимаете для агента, точный и релевантный, а не просто похожий.
И вот что даёт вам FalkorDB:
↳ Сверхбыстрая мультитенантная графовая база данных
↳ Эффективное хранение через разреженные матрицы
↳ Совместимость с OpenCypher (тот же язык запросов, что и в Neo4j)
↳ Специально создана для LLM-приложений и памяти агентов
↳ Работает поверх Redis для простого деплоя
Старт занимает всего одну Docker-команду. Я протестировал это через их Python-клиент, разница в производительности заметна сразу.
Если вы строите AI-агентов, которым нужен доступ к связанным данным в реальном времени, это точно стоит попробовать.
И главное, это 100% опенсорс. GitHub: FalkorDB
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Это настоящая золотая жила AI-ресурсов от MongoDB! (бесплатно и ориентировано на реальные задачи AI-инжиниринга)
Поднимать AI-прототипы локально – это весело.
Можно быстро экспериментировать, пушить код и пробовать разные модели почти без подготовки окружения.
Но когда начинаешь делать AI для реальных пользователей, всё становится сложнее.
Нужно учитывать хранение данных, эффективный ретривал, производительность, безопасность и масштабируемое управление контекстом.
AI-хаб ресурсов от MongoDB очень круто закрывает этот гэп в обучении.
Он даёт целую экосистему гайдов, демо и учебных треков, спроектированных для разработчиков, которые хотят строить продакшн-AI-приложения на надёжной дата-инфраструктуре.
Два особенно полезных ресурса, с которых стоит начать:
1. Основы векторного поиска в MongoDB: разберитесь, как реально работает семантический поиск,, и соберите рабочий поисковый pipeline.
2. Построение агентов с памятью на MongoDB, Fireworks AI и LangChain: обучите агента вспоминать прошлые взаимодействия и подтягивать контекст напрямую из ваших операционных данных.
Что делает эту библиотеку ещё интереснее – контент не ограничивается только AI. Он проводит через все вспомогательные компоненты, которые нужны для запуска AI в проде, например:
↳ Архитектуры хранения для AI-приложений
↳ Индексация и ретривал с высокой пропускной способностью
↳ Кэширование для ускорения инференса
↳ Лучшие практики безопасности для AI-датапайплайнов
↳ End-to-end примеры с реальными датасетами
Все туториалы ориентированы на построение рабочих систем, а не просто объяснение концепций.
Ссылка: https://www.mongodb.com/resources/use-cases/artificial-intelligence
👉 @DataSciencegx
Поднимать AI-прототипы локально – это весело.
Можно быстро экспериментировать, пушить код и пробовать разные модели почти без подготовки окружения.
Но когда начинаешь делать AI для реальных пользователей, всё становится сложнее.
Нужно учитывать хранение данных, эффективный ретривал, производительность, безопасность и масштабируемое управление контекстом.
AI-хаб ресурсов от MongoDB очень круто закрывает этот гэп в обучении.
Он даёт целую экосистему гайдов, демо и учебных треков, спроектированных для разработчиков, которые хотят строить продакшн-AI-приложения на надёжной дата-инфраструктуре.
Два особенно полезных ресурса, с которых стоит начать:
1. Основы векторного поиска в MongoDB: разберитесь, как реально работает семантический поиск,, и соберите рабочий поисковый pipeline.
2. Построение агентов с памятью на MongoDB, Fireworks AI и LangChain: обучите агента вспоминать прошлые взаимодействия и подтягивать контекст напрямую из ваших операционных данных.
Что делает эту библиотеку ещё интереснее – контент не ограничивается только AI. Он проводит через все вспомогательные компоненты, которые нужны для запуска AI в проде, например:
↳ Архитектуры хранения для AI-приложений
↳ Индексация и ретривал с высокой пропускной способностью
↳ Кэширование для ускорения инференса
↳ Лучшие практики безопасности для AI-датапайплайнов
↳ End-to-end примеры с реальными датасетами
Все туториалы ориентированы на построение рабочих систем, а не просто объяснение концепций.
Ссылка: https://www.mongodb.com/resources/use-cases/artificial-intelligence
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍1
Твой контейнер вообще не содержит 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