Новая статья от Apple просто взрывает мозг.
Они показали, что одного слоя attention достаточно, чтобы превратить предобученные vision-фичи в SoTA-генераторы изображений.
Это сильно упрощает диффузионные модели, при этом качество остаётся на топовом уровне.
👉 @DataSciencegx
Они показали, что одного слоя attention достаточно, чтобы превратить предобученные vision-фичи в SoTA-генераторы изображений.
Это сильно упрощает диффузионные модели, при этом качество остаётся на топовом уровне.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤3
Способность RoPE кодировать относительные позиции при минимальном числе параметров сделала возможным появление LLM с длинным контекстом.
Нельзя просто так запихнуть вход на 4k токенов в модель с контекстом 2k, но решение стоит недорого.
В итоге расширение контекста превращается в задачу дообучения за $5K, а не полного переобучения за $500K.
👉 @DataSciencegx
Нельзя просто так запихнуть вход на 4k токенов в модель с контекстом 2k, но решение стоит недорого.
В итоге расширение контекста превращается в задачу дообучения за $5K, а не полного переобучения за $500K.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Андрей Карпаты, основатель Eureka Labs и бывший директор по ИИ в Tesla, на простом уровне объясняет, как LLM вроде ChatGPT по сути «скачивают интернет».
Подходит даже для новичков. Полное видео с разбором тут: https://bit.ly/4o13PTx
👉 @DataSciencegx
Подходит даже для новичков. Полное видео с разбором тут: https://bit.ly/4o13PTx
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍2
Xiaomi представила MiMo-V2-Flash, новую опенсорс MoE-модель, для агентных сценариев и быстрого инференса.
Архитектура включает 309B параметров, из которых 15B активны на шаг, что позволяет сочетать производительность моделей уровня топовых моделей с заметно меньшей задержкой.
Модель использует гибридное внимание: схема 5:1 с чередованием 128-оконного SWA и Global Attention, поддержка контекста до 256K токенов. По результатам бенчмарков MiMo-V2-Flash сопоставима с DeepSeek-V3.2 на общих задачах, но работает быстрее.
Отдельно отмечены результаты на SWE-Bench:
73.4% на SWE-Bench Verified
71.7% на SWE-Bench Multilingual — новый SOTA среди опенсорс моделей
Скорость генерации достигает 150 токенов/с, при этом модель получила Day-0 поддержку от lmsys.
MiMo-V2-Flash уже доступна:
-» модель на Hugging Face
-» технический отчет с деталями архитектуры
-» блог-пост команды
-» AI Studio для тестирования
Есть бесплатный доступ по API до конца года (потом - $0,1 за млн. входных токенов и $0,3 за млн. выходных)
👉 @DataSciencegx
Архитектура включает 309B параметров, из которых 15B активны на шаг, что позволяет сочетать производительность моделей уровня топовых моделей с заметно меньшей задержкой.
Модель использует гибридное внимание: схема 5:1 с чередованием 128-оконного SWA и Global Attention, поддержка контекста до 256K токенов. По результатам бенчмарков MiMo-V2-Flash сопоставима с DeepSeek-V3.2 на общих задачах, но работает быстрее.
Отдельно отмечены результаты на SWE-Bench:
73.4% на SWE-Bench Verified
71.7% на SWE-Bench Multilingual — новый SOTA среди опенсорс моделей
Скорость генерации достигает 150 токенов/с, при этом модель получила Day-0 поддержку от lmsys.
MiMo-V2-Flash уже доступна:
-» модель на Hugging Face
-» технический отчет с деталями архитектуры
-» блог-пост команды
-» AI Studio для тестирования
Есть бесплатный доступ по API до конца года (потом - $0,1 за млн. входных токенов и $0,3 за млн. выходных)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
На одном таком аэрофото модель делает сотни детекций, каждая локализована и классифицирована в реальном времени. Контейнеры, транспорт, здания, портовая инфраструктура — все распознается за один forward pass модели.
Почему это важно:
- масштабируемый мониторинг для логистики
- ситуационная осведомленность в реальном времени с дронов или спутников
- автоматический подсчет и трекинг активов
- база для digital twins и умной инфраструктуры
Это уже не просто bounding box’ы и раскраска. Это машинное восприятие на уровне города, где пиксели превращаются в структурированные, прикладные данные.
Компьютерное зрение больше не про то, чтобы видеть картинки.
Оно про понимание мира.
👉 @DataSciencegx
Почему это важно:
- масштабируемый мониторинг для логистики
- ситуационная осведомленность в реальном времени с дронов или спутников
- автоматический подсчет и трекинг активов
- база для digital twins и умной инфраструктуры
Это уже не просто bounding box’ы и раскраска. Это машинное восприятие на уровне города, где пиксели превращаются в структурированные, прикладные данные.
Компьютерное зрение больше не про то, чтобы видеть картинки.
Оно про понимание мира.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1
Почему pre-norm работает лучше, чем post-norm в трансформерах?
Я снова копался в архитектуре трансформеров (в который уже раз) и в этот раз обратил внимание на одну вещь: почти все реализации, которые я видел, используют вариант pre-norm (нормализация перед сабслоем, потом residual), и он стабильно обгоняет оригинальный post-norm дизайн (сначала residual, потом нормализация).
Разница в коде элементарная:
post-norm:
pre-norm:
Но почему это на первый взгляд небольшое изменение позволяет обучать трансформеры гораздо глубже и стабильнее? Я понимаю, что это улучшает протекание градиентов, но хочется более глубокого объяснения. В чем конкретная математика и где именно ключевая причина?
👉 @DataSciencegx
Я снова копался в архитектуре трансформеров (в который уже раз) и в этот раз обратил внимание на одну вещь: почти все реализации, которые я видел, используют вариант pre-norm (нормализация перед сабслоем, потом residual), и он стабильно обгоняет оригинальный post-norm дизайн (сначала residual, потом нормализация).
Разница в коде элементарная:
post-norm:
output = norm(x + sublayer(x))pre-norm:
output = x + sublayer(norm(x))Но почему это на первый взгляд небольшое изменение позволяет обучать трансформеры гораздо глубже и стабильнее? Я понимаю, что это улучшает протекание градиентов, но хочется более глубокого объяснения. В чем конкретная математика и где именно ключевая причина?
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍3
В open source выходит jax-js - библиотека машинного обучения для веба, полностью на чистом JavaScript.
jax-js — первый ML-компилятор, который работает прямо в браузере и генерирует быстрые WebGPU-ядра. Проект написан с нуля за последний год как личный сайд-проект.
Подробности: https://ekzhang.substack.com/p/jax-js-an-ml-library-for-the-web
Python и JavaScript - самые популярные языки в мире.
Python нужен для ML,
JavaScript — нативный язык веба.
Проект пока на ранней стадии, но jax-js задумывается как по-настоящему «реальная ML-библиотека» для веба: с JIT-фьюжном ядер под WebGPU и полноценным API, а не просто рантайм.
👉 @DataSciencegx
jax-js — первый ML-компилятор, который работает прямо в браузере и генерирует быстрые WebGPU-ядра. Проект написан с нуля за последний год как личный сайд-проект.
Подробности: https://ekzhang.substack.com/p/jax-js-an-ml-library-for-the-web
Python и JavaScript - самые популярные языки в мире.
Python нужен для ML,
JavaScript — нативный язык веба.
Проект пока на ранней стадии, но jax-js задумывается как по-настоящему «реальная ML-библиотека» для веба: с JIT-фьюжном ядер под WebGPU и полноценным API, а не просто рантайм.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🔥3
Представили T5Gemma 2 - новое поколение encoder-decoder моделей
Модель построена поверх Gemma 3. Это позволило собрать компактные варианты в конфигурациях 270M–270M, 1B–1B и 4B–4B.
На фоне того, что сегодня большинство моделей » decoder-only, T5Gemma 2 (насколько мне известно) — первая мультимодальная encoder-decoder модель с длинным контекстом и мощной мультиязычной поддержкой » 140 языков.
Надеемся, что эта модель будет полезна как в ML, так и разработчикам, которым интересно экспериментировать с новыми архитектурами.
Блог: https://blog.google/technology/developers/t5gemma-2
Модели: https://huggingface.co/collections/google/t5gemma-2
Статья: https://arxiv.org/abs/2512.14856
👉 @DataSciencegx
Модель построена поверх Gemma 3. Это позволило собрать компактные варианты в конфигурациях 270M–270M, 1B–1B и 4B–4B.
На фоне того, что сегодня большинство моделей » decoder-only, T5Gemma 2 (насколько мне известно) — первая мультимодальная encoder-decoder модель с длинным контекстом и мощной мультиязычной поддержкой » 140 языков.
Надеемся, что эта модель будет полезна как в ML, так и разработчикам, которым интересно экспериментировать с новыми архитектурами.
Блог: https://blog.google/technology/developers/t5gemma-2
Модели: https://huggingface.co/collections/google/t5gemma-2
Статья: https://arxiv.org/abs/2512.14856
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1👀1
This media is not supported in your browser
VIEW IN TELEGRAM
NotebookLM & GeminiApp
Теперь можно загружать ноутбуки NotebookLM напрямую в GeminiApp. Это удобно для:
- объединения нескольких ноутбуков в один
- генерации изображений или приложений на основе ваших ноутбуков
- развития существующих ноутбуков с подключением онлайн-исследований
- и других сценариев
Функция уже доступна, можно пробовать.🤙
👉 @DataSciencegx
Теперь можно загружать ноутбуки NotebookLM напрямую в GeminiApp. Это удобно для:
- объединения нескольких ноутбуков в один
- генерации изображений или приложений на основе ваших ноутбуков
- развития существующих ноутбуков с подключением онлайн-исследований
- и других сценариев
Функция уже доступна, можно пробовать.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
А что если можно ускорить Python в 37 раз одной строкой кода?
Медленные Python-функции в больших кодовых базах страшно оптимизировать. Можно попробовать Numba или Cython, но Numba в основном работает только с числовым кодом и NumPy-массивами.
Можно пойти в Cython, но там нужны .pyx-файлы, аннотации типов и сборка. По факту это часы рефакторинга, прежде чем ты вообще увидишь прирост.😬
Codon решает это одной строкой: декоратор codon.jit компилирует твой Python прямо в машинный код.
Ключевые плюсы:
• Работает с любым Python-кодом, не только с NumPy
• Аннотации типов не нужны, типы выводятся автоматически
• Скомпилированные функции кэшируются и потом вызываются мгновенно
• Никаких изменений в коде, кроме добавления декоратора
Выше реальные замеры производительности:
• Чистый Python: 0.240 с
• Первый вызов Codon: 0.324 с (разовая компиляция)
• Повторные вызовы Codon: 0.006 с (ускорение в 37 раз)
Ссылка на репозиторий: https://bit.ly/4q8SW3q
Запустите этот код: https://bit.ly/492cz6D
👉 @DataSciencegx
Медленные Python-функции в больших кодовых базах страшно оптимизировать. Можно попробовать Numba или Cython, но Numba в основном работает только с числовым кодом и NumPy-массивами.
Можно пойти в Cython, но там нужны .pyx-файлы, аннотации типов и сборка. По факту это часы рефакторинга, прежде чем ты вообще увидишь прирост.
Codon решает это одной строкой: декоратор codon.jit компилирует твой Python прямо в машинный код.
Ключевые плюсы:
• Работает с любым Python-кодом, не только с NumPy
• Аннотации типов не нужны, типы выводятся автоматически
• Скомпилированные функции кэшируются и потом вызываются мгновенно
• Никаких изменений в коде, кроме добавления декоратора
Выше реальные замеры производительности:
• Чистый Python: 0.240 с
• Первый вызов Codon: 0.324 с (разовая компиляция)
• Повторные вызовы Codon: 0.006 с (ускорение в 37 раз)
Ссылка на репозиторий: https://bit.ly/4q8SW3q
Запустите этот код: https://bit.ly/492cz6D
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1
Собрать RAG-приложение на AWS проще, чем кажется.
Разберём, как это сделать на сервисах, которые и так всем знакомы.
В основе RAG всегда два этапа: ingestion и querying.
Вот как каждый из них можно реализовать в AWS.
1. Ingestion: превращаем сырые данные в доступные для поиска знания
Документы лежат в S3
При появлении новых данных срабатывает Lambda
Она чистит текст, режет его на чанки и строит эмбеддинги через Bedrock Titan Embeddings
Эмбеддинги сохраняются в векторное хранилище, например OpenSearch Serverless
В итоге получается база знаний, по которой можно искать.
Важный момент: переиндексация.
Если в документе поменялся один символ, нет смысла прогонять его целиком заново. Умный diff и инкрементальные апдейты сильно экономят и время, и деньги.
2. Querying: поиск и генерация ответа
Пользователь задаёт вопрос в приложении
Запрос проходит через API Gateway в Lambda
Вопрос превращается в эмбеддинг и матчится с векторной БД
Самые релевантные чанки передаются в LLM из Bedrock, например Claude
Готовый ответ возвращается пользователю
Так LLM отвечает не «из головы», а опираясь на реальные данные.
Это самый базовый вариант RAG на AWS, но сам паттерн не меняется при масштабировании.
Можно добавлять более умный чанкинг, улучшенный retrieval, кэширование, оркестрацию, eval-пайплайны — архитектура остаётся той же.
👉 @DataSciencegx
Разберём, как это сделать на сервисах, которые и так всем знакомы.
В основе RAG всегда два этапа: ingestion и querying.
Вот как каждый из них можно реализовать в AWS.
1. Ingestion: превращаем сырые данные в доступные для поиска знания
Документы лежат в S3
При появлении новых данных срабатывает Lambda
Она чистит текст, режет его на чанки и строит эмбеддинги через Bedrock Titan Embeddings
Эмбеддинги сохраняются в векторное хранилище, например OpenSearch Serverless
В итоге получается база знаний, по которой можно искать.
Важный момент: переиндексация.
Если в документе поменялся один символ, нет смысла прогонять его целиком заново. Умный diff и инкрементальные апдейты сильно экономят и время, и деньги.
2. Querying: поиск и генерация ответа
Пользователь задаёт вопрос в приложении
Запрос проходит через API Gateway в Lambda
Вопрос превращается в эмбеддинг и матчится с векторной БД
Самые релевантные чанки передаются в LLM из Bedrock, например Claude
Готовый ответ возвращается пользователю
Так LLM отвечает не «из головы», а опираясь на реальные данные.
Это самый базовый вариант RAG на AWS, но сам паттерн не меняется при масштабировании.
Можно добавлять более умный чанкинг, улучшенный retrieval, кэширование, оркестрацию, eval-пайплайны — архитектура остаётся той же.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Разворачивайте и запускайте LLM прямо на телефоне
Unsloth теперь позволяет дообучать LLM и деплоить их на 100% локально на устройствах iOS и Android.
В видео показано, как это работает на практике: автор запускал Qwen3 на iPhone 17 Pro с производительностью примерно 25 токенов в секунду.
Гайд
👉 @DataSciencegx
Unsloth теперь позволяет дообучать LLM и деплоить их на 100% локально на устройствах iOS и Android.
В видео показано, как это работает на практике: автор запускал Qwen3 на iPhone 17 Pro с производительностью примерно 25 токенов в секунду.
Гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8
This media is not supported in your browser
VIEW IN TELEGRAM
На днях, Google выпустила FunctionGemma — компактную модель для локального запуска
Языковая модель на 270 млн параметров, рассчитана на работу с функциями и инструментами.
Модель занимает около 0,5 ГБ оперативной памяти и может работать прямо на смартфоне, выдавая больше 50 токенов в секунду. Подключение к облаку не требуется, все вычисления выполняются локально.
FunctionGemma изначально ориентирована на сценарии, где модели нужно вызывать внешние функции и работать как часть агентной логики. Ее можно дообучать с помощью Unsloth, а затем разворачивать на мобильных устройствах или других системах.
Docs + Notebook: тут
GGUF: тут
👉 @DataSciencegx
Языковая модель на 270 млн параметров, рассчитана на работу с функциями и инструментами.
Модель занимает около 0,5 ГБ оперативной памяти и может работать прямо на смартфоне, выдавая больше 50 токенов в секунду. Подключение к облаку не требуется, все вычисления выполняются локально.
FunctionGemma изначально ориентирована на сценарии, где модели нужно вызывать внешние функции и работать как часть агентной логики. Ее можно дообучать с помощью Unsloth, а затем разворачивать на мобильных устройствах или других системах.
Docs + Notebook: тут
GGUF: тут
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥2👍1
Проекты на PyTorch
Плейлист, который помогает изучать PyTorch через работу над продвинутыми проектами.
👉 @DataSciencegx
Плейлист, который помогает изучать PyTorch через работу над продвинутыми проектами.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍2
This media is not supported in your browser
VIEW IN TELEGRAM
EgoX тепеь опенсорс: генерация эгоцентрического видео из одного экзоцентрического видео
Исходники теперь доступны. Можно генерировать эгоцентрические видео так же, как в демо, либо использовать EgoX, чтобы преобразовывать свои экзоцентрические (вид от третьего лица) видео в эгоцентрические.
arXiv: https://arxiv.org/abs/2512.08269
Страница проекта: https://keh0t0.github.io/EgoX/
Код: https://github.com/DAVIAN-Robotics/EgoX
Как работает EgoX
• Стартует с одного экзоцентрического (third-person) видео
• Использует предобученные диффузионные модели для видео
• Применяет унифицированное кондиционирование и attention с учетом геометрии
• Генерирует согласованные, высококачественные эгоцентрические видео
👉 @DataSciencegx
Исходники теперь доступны. Можно генерировать эгоцентрические видео так же, как в демо, либо использовать EgoX, чтобы преобразовывать свои экзоцентрические (вид от третьего лица) видео в эгоцентрические.
arXiv: https://arxiv.org/abs/2512.08269
Страница проекта: https://keh0t0.github.io/EgoX/
Код: https://github.com/DAVIAN-Robotics/EgoX
Как работает EgoX
• Стартует с одного экзоцентрического (third-person) видео
• Использует предобученные диффузионные модели для видео
• Применяет унифицированное кондиционирование и attention с учетом геометрии
• Генерирует согласованные, высококачественные эгоцентрические видео
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🤯3
Вышла GLM-4.7.
Новая версия заметно прокачалась по сравнению с GLM-4.6 и теперь уверенно тянет open-source SOTA в кодинге, сложных рассуждениях и работе с инструментами. Параллельно подтянули чат, креатив, сторителлинг и role-play.
Что важно на практике:
Кодинг
» Существенный прирост качества в реальных дев-сценариях
» Модель стала дефолтной в GLM Coding Plan
» Лучше держит контекст, меньше ломается на длинных цепочках действий
Thinking modes
» Доработан Interleaved Thinking
» Появились Preserved Thinking и Turn-level Thinking
» Можно думать между действиями и сохранять логику между ходами, что сильно повышает стабильность на сложных задачах
UX и визуал
» Улучшена работа с фронтендом
» Поддержка разных стилей
» Заметный апдейт в генерации слайдов и постеров
Ссылки:
» Coding Plan: [https://z.ai/subscribe]
» Чат: [https://chat.z.ai]
» Веса: [https://huggingface.co/zai-org/GLM-4.7]
» Техблог: [https://z.ai/blog/glm-4.7]
» Thinking Mode: [https://docs.z.ai/guides/capabilities/thinking-mode]
👉 @DataSciencegx
Новая версия заметно прокачалась по сравнению с GLM-4.6 и теперь уверенно тянет open-source SOTA в кодинге, сложных рассуждениях и работе с инструментами. Параллельно подтянули чат, креатив, сторителлинг и role-play.
Что важно на практике:
Кодинг
» Существенный прирост качества в реальных дев-сценариях
» Модель стала дефолтной в GLM Coding Plan
» Лучше держит контекст, меньше ломается на длинных цепочках действий
Thinking modes
» Доработан Interleaved Thinking
» Появились Preserved Thinking и Turn-level Thinking
» Можно думать между действиями и сохранять логику между ходами, что сильно повышает стабильность на сложных задачах
UX и визуал
» Улучшена работа с фронтендом
» Поддержка разных стилей
» Заметный апдейт в генерации слайдов и постеров
Ссылки:
» Coding Plan: [https://z.ai/subscribe]
» Чат: [https://chat.z.ai]
» Веса: [https://huggingface.co/zai-org/GLM-4.7]
» Техблог: [https://z.ai/blog/glm-4.7]
» Thinking Mode: [https://docs.z.ai/guides/capabilities/thinking-mode]
Please open Telegram to view this post
VIEW IN TELEGRAM
Ограничен по GPU и не хочешь поднимать локальный кластер для RL?
Знакомься с OpenTinker.
OpenTinker — это open-source RL-as-a-Service: ты проектируешь агента локально, а обучение и инференс спокойно уезжают на удалённые GPU. Без возни с инфраструктурой, без жёсткой связки логики агента и исполнения. Чистый, масштабируемый агентный RL.
Почему это важно:
- можно прототипировать RL-задачи локально, не думая о железе
- всё тяжёлое — обучение и инференс — выполняется на облачных GPU
- поддержка single-turn и multi-turn задач
- обученную модель можно сразу задеплоить в инференс, без допкода
Как это устроено:
- дезагрегированная архитектура
- локально крутится лёгкий клиент
- эксперименты отправляются в облачный scheduler
- scheduler матчится с доступными GPU и оркестрирует задачи по ресурсам
- таск поднимается удалённо, а метрики стримятся в реальном времени в дашборд
API для разработчиков:
- один раз оборачиваешь environment, reward и policy
- OpenTinker сам берёт на себя data loading, rollouts, training и inference
Интерфейсы знакомые:
- для окружения: env.reset() и env.step()
- для обучения: high-level fit() — полный training loop end-to-end
- под капотом fit() собран из train_step(), validate(), save_checkpoint()
- хочешь быстро — используешь fit()
- нужен контроль — кастомизируешь шаги вручную
Runtime агента выглядит как state machine:
PENDING — препроцессинг и токенизация
GENERATING — модель генерирует ответ
INTERACTING — агент действует в окружении
TERMINATED — задача завершена
Ссылки:
Репозиторий: https://github.com/open-tinker/OpenTinker
Блог: https://open-tinker.github.io/opentinker-page/
👉 @DataSciencegx
Знакомься с OpenTinker.
OpenTinker — это open-source RL-as-a-Service: ты проектируешь агента локально, а обучение и инференс спокойно уезжают на удалённые GPU. Без возни с инфраструктурой, без жёсткой связки логики агента и исполнения. Чистый, масштабируемый агентный RL.
Почему это важно:
- можно прототипировать RL-задачи локально, не думая о железе
- всё тяжёлое — обучение и инференс — выполняется на облачных GPU
- поддержка single-turn и multi-turn задач
- обученную модель можно сразу задеплоить в инференс, без допкода
Как это устроено:
- дезагрегированная архитектура
- локально крутится лёгкий клиент
- эксперименты отправляются в облачный scheduler
- scheduler матчится с доступными GPU и оркестрирует задачи по ресурсам
- таск поднимается удалённо, а метрики стримятся в реальном времени в дашборд
API для разработчиков:
- один раз оборачиваешь environment, reward и policy
- OpenTinker сам берёт на себя data loading, rollouts, training и inference
Интерфейсы знакомые:
- для окружения: env.reset() и env.step()
- для обучения: high-level fit() — полный training loop end-to-end
- под капотом fit() собран из train_step(), validate(), save_checkpoint()
- хочешь быстро — используешь fit()
- нужен контроль — кастомизируешь шаги вручную
Runtime агента выглядит как state machine:
PENDING — препроцессинг и токенизация
GENERATING — модель генерирует ответ
INTERACTING — агент действует в окружении
TERMINATED — задача завершена
Ссылки:
Репозиторий: https://github.com/open-tinker/OpenTinker
Блог: https://open-tinker.github.io/opentinker-page/
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
А что, если вложенные определения StructType можно заменить одной строкой?
При разборе вложенного JSON в PySpark обычно приходится описывать StructType внутри StructType внутри StructType. В итоге получается громоздкий, негибкий код, который легко ломается при любом изменении структуры JSON.
В PySpark 4.0 появился тип Variant, который позволяет вообще отказаться от описания схемы. Достаточно использовать parse_json() для загрузки данных и variant_get() для извлечения значений через JSONPath.
Ключевые плюсы:
• не нужно заранее описывать схему
• любая глубина вложенности через простой синтаксис $.path
• изменения схемы не ломают код
• извлекаешь только нужные поля и только тогда, когда они реально нужны
Обновляй свои пайплайны на PySpark 4.0:
pip install pyspark>=4.0
Статья про PySpark 4.0: [https://bit.ly/4atLpI3]
Запустить код: [https://bit.ly/49oJR0Y]
👉 @DataSciencegx
При разборе вложенного JSON в PySpark обычно приходится описывать StructType внутри StructType внутри StructType. В итоге получается громоздкий, негибкий код, который легко ломается при любом изменении структуры JSON.
В PySpark 4.0 появился тип Variant, который позволяет вообще отказаться от описания схемы. Достаточно использовать parse_json() для загрузки данных и variant_get() для извлечения значений через JSONPath.
Ключевые плюсы:
• не нужно заранее описывать схему
• любая глубина вложенности через простой синтаксис $.path
• изменения схемы не ломают код
• извлекаешь только нужные поля и только тогда, когда они реально нужны
Обновляй свои пайплайны на PySpark 4.0:
pip install pyspark>=4.0
Статья про PySpark 4.0: [https://bit.ly/4atLpI3]
Запустить код: [https://bit.ly/49oJR0Y]
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍2
Google Colab теперь поставляется с предустановленным Gemini CLI
Самое кайфовое тут в том, что в Colab можно использовать оба режима: неинтерактивный (слева) и интерактивный (справа).
Больше всего мне заходит неинтерактивный режим прямо внутри ноутбука.
👉 @DataSciencegx
Самое кайфовое тут в том, что в Colab можно использовать оба режима: неинтерактивный (слева) и интерактивный (справа).
Больше всего мне заходит неинтерактивный режим прямо внутри ноутбука.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤5🔥4