Кажется, нет более ненадежной вещи в мире, чем тренера по Джиу Джитсу. Однажды вышло так, что у меня должно было быть три персональных тренировки в один день, каждая - с разным тренером.
За день до, один из них слился, и я подумал - ну и слава богу, три - многовато. Но удар пришел откуда не ждали, на следующий день слились два оставшихся, что превратило интенсивный день - в день отдыха. Надо сказать что все три - те с кем я регулярно тренируюсь, а не случайные чуваки
За день до, один из них слился, и я подумал - ну и слава богу, три - многовато. Но удар пришел откуда не ждали, на следующий день слились два оставшихся, что превратило интенсивный день - в день отдыха. Надо сказать что все три - те с кем я регулярно тренируюсь, а не случайные чуваки
Кстати, если кто-то проживает в Куала Лумпуре
Можно устроить встречу, ужин, митап
Я как раз сейчас там, до 7 декабря
Можно устроить встречу, ужин, митап
Я как раз сейчас там, до 7 декабря
Forbes did it again
An AI startup CEO on a Forbes '30 Under 30' list has been charged with defrauding investors out of $10 million
An AI startup CEO on a Forbes '30 Under 30' list has been charged with defrauding investors out of $10 million
Yahoo Tech
An AI startup CEO on a Forbes '30 Under 30' list has been charged with defrauding investors out of $10 million
Joanna Smith-Griffin is the latest Forbes 30 Under 30 alum facing criminal charges, joining Sam Bankman-Fried, Charlie Javice, and Martin Shkreli.
Нашел зал по ММА в Куала-Лумпуре.
Зал довольно неплохой, его сделали выступающие в ONE FC бойцы. Например, тренер по борьбе — парень из Ирана, а по джиу-джитсу выписывают специалистов из Бразилии.
Сегодня моим тренером был бразилец, который всего 15 дней как переехал в КЛ. После спарринга спрашиваю: как думаешь, какой у меня пояс? Он говорит: белый? Правда, по-английски он почти не понимает, не знает, как будет «пятнадцать», и часто отвечает «Si».
Поэтому я сказал «Si», и он с уважением пожал мне руку.
Зал довольно неплохой, его сделали выступающие в ONE FC бойцы. Например, тренер по борьбе — парень из Ирана, а по джиу-джитсу выписывают специалистов из Бразилии.
Сегодня моим тренером был бразилец, который всего 15 дней как переехал в КЛ. После спарринга спрашиваю: как думаешь, какой у меня пояс? Он говорит: белый? Правда, по-английски он почти не понимает, не знает, как будет «пятнадцать», и часто отвечает «Si».
Поэтому я сказал «Si», и он с уважением пожал мне руку.
Кофаундер датабрикса, помимо работы СТО в компании, еще и статьи пишет - WORLD MODEL ON MILLION-LENGTH VIDEO AND LANGUAGE WITH BLOCKWISE RINGATTENTION
Выглядит как отчёт о работе нормальных инженеров, которые решили попробовать что-то новое и описали результаты на arXiv.
Берут Blockwise Ring Attention, аннотируют данные (включая видео и текст) по-разном, постепенно скармливают всё это в модель, увеличивают контекст до миллиона токенов и радуются.
Из интересного – используют Masked Sequence Packing.
Предположим, у нас есть текст длиной 500 токенов, видео длиной 1 000 токенов и книга длиной 10 000 токенов. Вместо того чтобы обрабатывать каждую последовательность отдельно (с огромным количеством padding), модель объединяет их в один батч и добавляет маску, чтобы в каждый момент времени была видна только соответствующая часть каждой последовательности.
Затем лосс от каждого токена перевзвешивают по длине секции. Без этого самая длинная последовательность перевесила бы всё остальное. И радуются жизни.
В целом прорыва нет, просто разумная инструкция
Выглядит как отчёт о работе нормальных инженеров, которые решили попробовать что-то новое и описали результаты на arXiv.
Берут Blockwise Ring Attention, аннотируют данные (включая видео и текст) по-разном, постепенно скармливают всё это в модель, увеличивают контекст до миллиона токенов и радуются.
Из интересного – используют Masked Sequence Packing.
Предположим, у нас есть текст длиной 500 токенов, видео длиной 1 000 токенов и книга длиной 10 000 токенов. Вместо того чтобы обрабатывать каждую последовательность отдельно (с огромным количеством padding), модель объединяет их в один батч и добавляет маску, чтобы в каждый момент времени была видна только соответствующая часть каждой последовательности.
Затем лосс от каждого токена перевзвешивают по длине секции. Без этого самая длинная последовательность перевесила бы всё остальное. И радуются жизни.
В целом прорыва нет, просто разумная инструкция
Живу в гостинице в КЛ.
К сожалению, охлаждающей мега-простыни подо мной нет, поэтому приходится ставить кондиционер на максимум и спать под обычной простынкой. Впрочем, я всегда сплю под простынкой.
Очевидно, чтобы спать под простыней, нужно ее иметь. Поэтому каждый вечер я звоню и прошу принести мне extra bedsheet.
Сегодня запросил в очередной раз, возникла неожиданная пауза, поставили на удержание, потом сказали: да, конечно, сейчас принесем.
Через десять минут звонят в дверь и приносят: халат, тапочки, зубную щетку и просят зайти на пять минут, чтобы установить экстра кровать с матрасом, которую они с собой привезли.
Простынку я так и не получил.
К сожалению, охлаждающей мега-простыни подо мной нет, поэтому приходится ставить кондиционер на максимум и спать под обычной простынкой. Впрочем, я всегда сплю под простынкой.
Очевидно, чтобы спать под простыней, нужно ее иметь. Поэтому каждый вечер я звоню и прошу принести мне extra bedsheet.
Сегодня запросил в очередной раз, возникла неожиданная пауза, поставили на удержание, потом сказали: да, конечно, сейчас принесем.
Через десять минут звонят в дверь и приносят: халат, тапочки, зубную щетку и просят зайти на пять минут, чтобы установить экстра кровать с матрасом, которую они с собой привезли.
Простынку я так и не получил.
Хочу открыть миру репозиторий по ML System Design
Идея — создать open-source репозиторий, в котором размещены инструкции по созданию корректных дизайн-документов для ML-систем. В репозитории также представлены примеры реальных и мок дизайнов. Каждый желающий может поревьюить документы других, опубликовать свои, а также оценить уже существующие документы.
На данный момент доступно два документа в качестве примеров, краткое описание требований к каждому разделу дизайн-документа, а также шесть дизайнов, находящихся на стадии ревью через пулл-реквесты.
Приветствуются участие в виде звёздочек, а также вклад в создание контента или проведение ревью
Идея — создать open-source репозиторий, в котором размещены инструкции по созданию корректных дизайн-документов для ML-систем. В репозитории также представлены примеры реальных и мок дизайнов. Каждый желающий может поревьюить документы других, опубликовать свои, а также оценить уже существующие документы.
На данный момент доступно два документа в качестве примеров, краткое описание требований к каждому разделу дизайн-документа, а также шесть дизайнов, находящихся на стадии ревью через пулл-реквесты.
Приветствуются участие в виде звёздочек, а также вклад в создание контента или проведение ревью
GitHub
GitHub - ML-SystemDesign/MLSystemDesign
Contribute to ML-SystemDesign/MLSystemDesign development by creating an account on GitHub.
Интересные времена, оказывается разбивать данные на партиции в момент их заливки уже немодно, согласно Progressive Partitioning for Parallelized Query Execution in Google’s Napa
Внедрили динамическое партицирование для каждого запроса, потому что:
* Гранулярность партиций сильно зависит от конкретного запроса.
* Фиксированные партиции не справляются с перекошенным распределением данных и динамическими нагрузками.
Система использует прогрессивное партицирование, уточняя границы партиций итеративно до тех пор, пока не будет достигнута оптимальная гранулярность для запроса. Это позволяет балансировать между качеством разбиения и производительностью.
Как это работает?
1. Данные хранятся в LSM деревьях, где каждый апдейт добавляется в виде дельты (таких дельт в системе может быть тысячи).
2. Дельта - это иммутабельные (неизменяемые) снапшоты, и они образуются, когда данные из памяти (memtable) сбрасываются на диск. Вдобавок они отсортированы по ключам. Дельты попадают сначала в Level 0, где данные остаются отсортированными, но разные дельты могут перекрываться по ключам. Компактизация со временем переносит данные на следующий уровень, устраняя дублирование и перекрытия.
3. В каждой дельте есть свой B Tree индекс, позволяющий эффективно работать с широкими диапазонами ключей и выбирать нужную гранулярность в рамках дельты.
4. Min/max информация о ключах хранится как отдельные метаданные, позволяя быстро отфильтровать ненужные дельты еще до обхода B Tree.
5. Вместо того чтобы полагаться на статическое разбиение, система динамически партицирует данные в момент выполнения запроса.
В чем плюсы?
Быстрая запись: данные просто записываются в неизменяемые файлы (дельты), без затрат на реструктуризацию.
Эффективное чтение: запросы динамически получают оптимальные партиции, что минимизирует перекос нагрузки.
Масштабируемость: иерархическая структура B-деревьев и организация дельт позволяют LSM-деревьям работать с петабайтами данных и миллиардами запросов.
Этот подход помогает Google масштабировать свои хранилища, оставаясь гибкими и эффективными даже под нагрузкой в миллиарды запросов в день.
Интересно и неожиданно - не думал что партицирование будет динамическим, но логично.
Внедрили динамическое партицирование для каждого запроса, потому что:
* Гранулярность партиций сильно зависит от конкретного запроса.
* Фиксированные партиции не справляются с перекошенным распределением данных и динамическими нагрузками.
Система использует прогрессивное партицирование, уточняя границы партиций итеративно до тех пор, пока не будет достигнута оптимальная гранулярность для запроса. Это позволяет балансировать между качеством разбиения и производительностью.
Как это работает?
1. Данные хранятся в LSM деревьях, где каждый апдейт добавляется в виде дельты (таких дельт в системе может быть тысячи).
2. Дельта - это иммутабельные (неизменяемые) снапшоты, и они образуются, когда данные из памяти (memtable) сбрасываются на диск. Вдобавок они отсортированы по ключам. Дельты попадают сначала в Level 0, где данные остаются отсортированными, но разные дельты могут перекрываться по ключам. Компактизация со временем переносит данные на следующий уровень, устраняя дублирование и перекрытия.
3. В каждой дельте есть свой B Tree индекс, позволяющий эффективно работать с широкими диапазонами ключей и выбирать нужную гранулярность в рамках дельты.
4. Min/max информация о ключах хранится как отдельные метаданные, позволяя быстро отфильтровать ненужные дельты еще до обхода B Tree.
5. Вместо того чтобы полагаться на статическое разбиение, система динамически партицирует данные в момент выполнения запроса.
В чем плюсы?
Быстрая запись: данные просто записываются в неизменяемые файлы (дельты), без затрат на реструктуризацию.
Эффективное чтение: запросы динамически получают оптимальные партиции, что минимизирует перекос нагрузки.
Масштабируемость: иерархическая структура B-деревьев и организация дельт позволяют LSM-деревьям работать с петабайтами данных и миллиардами запросов.
Этот подход помогает Google масштабировать свои хранилища, оставаясь гибкими и эффективными даже под нагрузкой в миллиарды запросов в день.
Интересно и неожиданно - не думал что партицирование будет динамическим, но логично.
На Хабре вышла статья, в которой упомянули мое имя - мимо такого я пройти не смог. Статья неплохая, однако я вижу минимум три важных момента, которые надо учитывать:
1. Статистика и распределения
Мы легко можем адаптировать t-статистику или любую другую метрику под наше распределение. Это значит, что p-value всё равно будет равномерным для широкого класса данных, просто статистики будут другими. Например, в статье была выбрана "магазино-дневная" грануляция, что позволило получить равномерное распределение p-value. Это логичный выбор, но могли бы выбрать любую другую (например, "магазино-час" или "магазино-секунда"). Для таких случаев рекомендую ознакомиться с этой статьёй от Х5. Выбрали грануляцию, обеспечивающую равномерное распределение p-value и наилучшее соотношение роста данных и дисперсии. Кроме того, можно посмотреть сюда - Dealing With Ratio Metrics in A/B Testing at the Presence of Intra-User Correlation and Segments.
2. Зачем нужен CUPED?
CUPED помогает нормировать данные и устранять зависимости. Если в данных есть корреляции, то с помощью CUPED и ML-моделей можно минимизировать этот эффект и сгладить дисперсии.
3. A/A-тесты — основа основ
В статье справедливо упомянуто, что перед запуском всегда проводился дизайн теста и проверка на A/A. Это базовый шаг, без которого нельзя судить об адекватности методологии. Мы делаем то же самое с первых итераций наших A/B тестов, чтобы быть уверенными в корректности инструментов.
Выводы:
Статья адекватная, но видно, что это не работа гранда: где-то упрощения, где-то ошибки
Важен не факт наличия зависимости в данных, а то, насколько хорошо мы контролируем распределение p-value
Нужен модуль валидации для получения распределений А/А и синтетических А/Б
1. Статистика и распределения
Мы легко можем адаптировать t-статистику или любую другую метрику под наше распределение. Это значит, что p-value всё равно будет равномерным для широкого класса данных, просто статистики будут другими. Например, в статье была выбрана "магазино-дневная" грануляция, что позволило получить равномерное распределение p-value. Это логичный выбор, но могли бы выбрать любую другую (например, "магазино-час" или "магазино-секунда"). Для таких случаев рекомендую ознакомиться с этой статьёй от Х5. Выбрали грануляцию, обеспечивающую равномерное распределение p-value и наилучшее соотношение роста данных и дисперсии. Кроме того, можно посмотреть сюда - Dealing With Ratio Metrics in A/B Testing at the Presence of Intra-User Correlation and Segments.
2. Зачем нужен CUPED?
CUPED помогает нормировать данные и устранять зависимости. Если в данных есть корреляции, то с помощью CUPED и ML-моделей можно минимизировать этот эффект и сгладить дисперсии.
3. A/A-тесты — основа основ
В статье справедливо упомянуто, что перед запуском всегда проводился дизайн теста и проверка на A/A. Это базовый шаг, без которого нельзя судить об адекватности методологии. Мы делаем то же самое с первых итераций наших A/B тестов, чтобы быть уверенными в корректности инструментов.
Выводы:
Статья адекватная, но видно, что это не работа гранда: где-то упрощения, где-то ошибки
Важен не факт наличия зависимости в данных, а то, насколько хорошо мы контролируем распределение p-value
Нужен модуль валидации для получения распределений А/А и синтетических А/Б
Сегодня прочитал статью, описывающую архетипы принципал инженеров. Является хорошим дополнени к архетипам стафф инженеров (см https://www.group-telegram.com/cryptovalerii.com/120)
Если кратко, то вот роли принципал инженеров, но в целом - рекомендую прочитать оригинал.
Sponsor:
Является лидером проекта или программы, охватывающей несколько команд.
Обеспечивает принятие решений, устраняет препятствия и продвигает проект.
Фокусируется на определении продукта, организационном выравнивании и delivery проекта.
Требует значительных временных затрат, обычно ограничивая участие до 1-2 проектов одновременно.
Guide:
Эксперт в своей области, глубоко вовлечённый в архитектуру и проектирование.
Производит примеры артефактов (например, проектные документы, код) и работает через других.
Основное внимание уделяется техническому направлению проекта, а не общему delivery.
Обычно ограничен участием в 1-2 проектах из-за большой временной нагрузки.
Catalyst:
Инициирует и продвигает новые идеи или проекты, часто амбициозные или сложные.
Разрабатывает концепции, добивается согласования и организует команды для выполнения.
Это временная роль, которая заканчивается, как только проект запускается.
Ключевая роль для амбициозных проектов, требующих импульса.
Tie-Breaker:
Разрешает затруднения в принятии решений, делая чёткие и обоснованные выборы.
Включает в себя погружение в детали, понимание различных позиций и донесение логики принятия решения.
Роль временная, используемая только для критических решений, чтобы избежать блоков.
Catcher:
Возвращает проекты на правильнве рельсы в условиях жёстких сроков.
Анализирует проблемы, приоритизирует задачи и разрабатывает реалистчные планы восстановления.
Обучает лидерству в сложных ситуациях, но не должен быть использован слишком часто.
Лучше распределить эту роль между большим количеством инженеров, чтобы избежать перегрузки.
Participant:
Участвует в проекте без явных лидерских ролей, активно или пассивно.
Активное участие (например, обсуждения дизайна, задачи по коду) приветствуется.
Следует избегать чрезмерного участия в роли Participant, чтобы сосредоточиться на других ролях.
#BigTechLevels
Если кратко, то вот роли принципал инженеров, но в целом - рекомендую прочитать оригинал.
Sponsor:
Является лидером проекта или программы, охватывающей несколько команд.
Обеспечивает принятие решений, устраняет препятствия и продвигает проект.
Фокусируется на определении продукта, организационном выравнивании и delivery проекта.
Требует значительных временных затрат, обычно ограничивая участие до 1-2 проектов одновременно.
Guide:
Эксперт в своей области, глубоко вовлечённый в архитектуру и проектирование.
Производит примеры артефактов (например, проектные документы, код) и работает через других.
Основное внимание уделяется техническому направлению проекта, а не общему delivery.
Обычно ограничен участием в 1-2 проектах из-за большой временной нагрузки.
Catalyst:
Инициирует и продвигает новые идеи или проекты, часто амбициозные или сложные.
Разрабатывает концепции, добивается согласования и организует команды для выполнения.
Это временная роль, которая заканчивается, как только проект запускается.
Ключевая роль для амбициозных проектов, требующих импульса.
Tie-Breaker:
Разрешает затруднения в принятии решений, делая чёткие и обоснованные выборы.
Включает в себя погружение в детали, понимание различных позиций и донесение логики принятия решения.
Роль временная, используемая только для критических решений, чтобы избежать блоков.
Catcher:
Возвращает проекты на правильнве рельсы в условиях жёстких сроков.
Анализирует проблемы, приоритизирует задачи и разрабатывает реалистчные планы восстановления.
Обучает лидерству в сложных ситуациях, но не должен быть использован слишком часто.
Лучше распределить эту роль между большим количеством инженеров, чтобы избежать перегрузки.
Participant:
Участвует в проекте без явных лидерских ролей, активно или пассивно.
Активное участие (например, обсуждения дизайна, задачи по коду) приветствуется.
Следует избегать чрезмерного участия в роли Participant, чтобы сосредоточиться на других ролях.
#BigTechLevels
Forwarded from Мы обречены
Ну как вы там прожили год? Нормально, сойдет? Есть план, которого придерживаетесь, чтобы все в жизни было на своих местах.
И для ответа Да, и для ответа Нет — мы записали универсально подходящий выпуск.
Если вы на пути к оптимизации всего в своей жизни, пожалуйста, вдохновляйтесь об нашего гостя. Валера Бабушкин, большая айтишная шишка в Бритиш Петролеум, прямиком из Лондона, блистает эрудицией, рассказывает умные вещи про трейдинг, большие миллиардные деньги, большую аналитику и большие корпорации.
Если у вас все разваливается — мы вам расскажем, почему вся эта оптимизация жизни и приведение всего подряд в лучшую форму — это чушь собачья, которая убивает фан и эстетику.
В общем, заходите смотрите, последний выпуск в году, хороший душевный и толковый
Youtube | VK-видео | Rutube | Аудиоверсия
И для ответа Да, и для ответа Нет — мы записали универсально подходящий выпуск.
Если вы на пути к оптимизации всего в своей жизни, пожалуйста, вдохновляйтесь об нашего гостя. Валера Бабушкин, большая айтишная шишка в Бритиш Петролеум, прямиком из Лондона, блистает эрудицией, рассказывает умные вещи про трейдинг, большие миллиардные деньги, большую аналитику и большие корпорации.
Если у вас все разваливается — мы вам расскажем, почему вся эта оптимизация жизни и приведение всего подряд в лучшую форму — это чушь собачья, которая убивает фан и эстетику.
В общем, заходите смотрите, последний выпуск в году, хороший душевный и толковый
Youtube | VK-видео | Rutube | Аудиоверсия
YouTube
Оптимизируем свою жизнь, работу, деньги и развлечения — Валерий Бабушкин — Мы обречены
Партнёр выпуска — команда продвинутых инженеров AvitoTech. Больше о технологиях и инженерной культуре в Авито, а также анонсы митапов можно найти здесь:
— Телеграм: https://clc.to/SgfzKw
— Хабр: https://clc.to/-2kvXA
— Митапы: https://clc.to/etKaMQ
Подробнее…
— Телеграм: https://clc.to/SgfzKw
— Хабр: https://clc.to/-2kvXA
— Митапы: https://clc.to/etKaMQ
Подробнее…
Жаль что ChatGPT не может справиться с простым вопросом по AWS и выдает абсолютно разные ответы, при использовании двух флагманских моделей