Как человек, который еще помнит про computer vision за пределами диплернинга, насладился статьей про дистилляцию LSD. Товарищ майор, я про line segment detector, а вовсе не про психоделики! 🚔
Идея подкупает простотой и элегантностью. В малоизвестной, но важной задаче нахождения отрезков (line segments) на картинке по-прежнему все не очень хорошо: есть классический алгоритм LSD - не очень стабильный, зато универсальный; есть сколько-то DL моделей, обученных на единственном датасете из 5000 картинок, они гораздо более устойчивы к шуму, но не обобщаются на другие датасеты.
Авторы предлагают такое:
- для генерации трейн сета применяем классический LSD к сотне аугментированных версий одной картинки;
- превращаем найденные отрезки в distance/angle fields, то есть такое представление, где для каждого пикселя есть значение "в какую сторону и как далеко надо идти к ближайшему отрезку" и усредняем по этим аугментированным версиям;
- учим классический Unet предсказывать такие поля;
- обратно преобразуем предсказанные поля в отрезки.
Быстро, эффективно, не требует ни ручной разметки, ни мощного железа.
P.S. Если этот пост наберет сколько-то лайков, я напишу (или не напишу) метапост, как я читаю (или не читаю) статьи!
Идея подкупает простотой и элегантностью. В малоизвестной, но важной задаче нахождения отрезков (line segments) на картинке по-прежнему все не очень хорошо: есть классический алгоритм LSD - не очень стабильный, зато универсальный; есть сколько-то DL моделей, обученных на единственном датасете из 5000 картинок, они гораздо более устойчивы к шуму, но не обобщаются на другие датасеты.
Авторы предлагают такое:
- для генерации трейн сета применяем классический LSD к сотне аугментированных версий одной картинки;
- превращаем найденные отрезки в distance/angle fields, то есть такое представление, где для каждого пикселя есть значение "в какую сторону и как далеко надо идти к ближайшему отрезку" и усредняем по этим аугментированным версиям;
- учим классический Unet предсказывать такие поля;
- обратно преобразуем предсказанные поля в отрезки.
Быстро, эффективно, не требует ни ручной разметки, ни мощного железа.
P.S. Если этот пост наберет сколько-то лайков, я напишу (или не напишу) метапост, как я читаю (или не читаю) статьи!
Люблю всратую музыку, и потому suno.ai врывается на третье место generative AI приложений в моем личном рейтинге (сразу после ChatGPT и Github Copilot).
Пост-панк на русском получается очень атмосферным без особых хлопот, с одного промпта, вот примеры:
- Моя боль, мой стартап 🧑💻;
- Коты не навещают меня в больнице 😿;
- Такой молодой, такой тупой 👴
Пост-панк на русском получается очень атмосферным без особых хлопот, с одного промпта, вот примеры:
- Моя боль, мой стартап 🧑💻;
- Коты не навещают меня в больнице 😿;
- Такой молодой, такой тупой 👴
Suno
Моя Боль Мой Стартап (My Pain, My Start-Up)
Listen and make your own on Suno.
Дата-дривен карго культ учит, что если метрики растут, а результат на глаз выглядит не очень, то метрики первичны, ведь они как будто имеют больший охват (например, весь тестовый датасет), чем то, что может увидеть один человек невооруженным взглядом. Я и сам долгое время был адептом этого тезиса, пока не наступил на достаточное количество граблей.
Проблема в том, что сделать сбалансированную метрику или набор метрик всегда сложнее, чем кажется (завсегдатаи Kaggle не дадут соврать). Именно поэтому в реальности приходится не оптимизировать единственную метрику верхнего уровня, а делать набор метрик и следить за всеми, а потом принимать субъективное решение, когда одна метрика неизбежно вдруг пойдет вверх, а другая вниз.
Буквально вчера на работе смотрел на результаты ML экспериментов и недоумевал: вариант, который и визуально мне нравился больше, и в теории должен был быть лучше, по метрикам выглядел хуже. Заподозрил проблему в недавно задизайненной метрике, поленился доказывать теорией, сделал "модель", которая генерила рандом с определенными свойствами и тут же выбил искомые 100%. Будь это корпорация с бездумной ориентацией на KPI, можно было бы закоммитить и бездельничать до конца квартала!
Проблема в том, что сделать сбалансированную метрику или набор метрик всегда сложнее, чем кажется (завсегдатаи Kaggle не дадут соврать). Именно поэтому в реальности приходится не оптимизировать единственную метрику верхнего уровня, а делать набор метрик и следить за всеми, а потом принимать субъективное решение, когда одна метрика неизбежно вдруг пойдет вверх, а другая вниз.
Буквально вчера на работе смотрел на результаты ML экспериментов и недоумевал: вариант, который и визуально мне нравился больше, и в теории должен был быть лучше, по метрикам выглядел хуже. Заподозрил проблему в недавно задизайненной метрике, поленился доказывать теорией, сделал "модель", которая генерила рандом с определенными свойствами и тут же выбил искомые 100%. Будь это корпорация с бездумной ориентацией на KPI, можно было бы закоммитить и бездельничать до конца квартала!
Реклама, которую вы точно не ждали.
Если вы склонны ворчать, что программирование стало скучным конвейером по перекладыванию протобафов для бесполезных фичей и крысиными гонками за новыми фреймворками, то вот вам шанс резко изменить свою жизнь!
Мой старый кореш Алексей ищет программиста на Фортране для разработки симулятора физики плазмы. Достаточно даже опыта С/C++ и готовности этот самый Фортран освоить. Кроме того, не придется жить под мостом и питаться объедками: обещают платить вполне себе рыночные деньги 💰
Если вы склонны ворчать, что программирование стало скучным конвейером по перекладыванию протобафов для бесполезных фичей и крысиными гонками за новыми фреймворками, то вот вам шанс резко изменить свою жизнь!
Мой старый кореш Алексей ищет программиста на Фортране для разработки симулятора физики плазмы. Достаточно даже опыта С/C++ и готовности этот самый Фортран освоить. Кроме того, не придется жить под мостом и питаться объедками: обещают платить вполне себе рыночные деньги 💰
Telegram
Keep it simple, stupid!
Next Step Fusion, https://nextfusion.org/ — люксембургский стартап в области fusion energy ищет программиста на Fortran и C/C++ для продолжения разработки симулятора физики плазмы NSF Simulator.
Симулятор активно используется для симуляции и расчёта сценариев…
Симулятор активно используется для симуляции и расчёта сценариев…
Беда пришла откуда не ждали: сегодня tensorboard насрал мне в штаны.
Ковырял задачу, в которой без оценки глазами пока никак. Сгенерил все семплы, сложил в тензорборд, предусмотрительно запустил с
Внес небольшие изменения, пошел смотреть на различия и вдруг что-то зачесалось - как будто слишком быстро все просмотрел. Ну и оказалось, что в UI отображалась только примерно половина семплов. Пришлось вручную распарсить tensorboard-файл и со стыдом признаться, что в своей оценке масштаба проблемы я ошибся примерно вдвое.
Ковырял задачу, в которой без оценки глазами пока никак. Сгенерил все семплы, сложил в тензорборд, предусмотрительно запустил с
-samples_per_plugin images=100000
, начал анализировать. Размер датасета я знал, пролистал все картинки, нашел ошибки, и бодро подытожил в духе: "так, среди 200 семплов у нас 4 ошибки, error rate 2%, проблема незначительна". Подытожил настолько бодро, что даже CTO поверил. Внес небольшие изменения, пошел смотреть на различия и вдруг что-то зачесалось - как будто слишком быстро все просмотрел. Ну и оказалось, что в UI отображалась только примерно половина семплов. Пришлось вручную распарсить tensorboard-файл и со стыдом признаться, что в своей оценке масштаба проблемы я ошибся примерно вдвое.
Наша книга по ML System Design прошла третье - и последнее - ревью внутри паблишера. Я уже писал про ревью раньше, но вкратце процесс такой: издатель раздает 10+ потенциальным читателям текущую версию книги и заставляет писать много комментариев и отвечать на десятки вопросов. Ревью проводится после каждой трети книги, и потом анонимизированные комментарии сваливаются обратно авторам: чините, что считаете важным.
По результатам ревью выглядит так, что мы наконец-то научились писать: оценки выросли 3.75 → 4.36 → 4.73. Во многом это вызвано тем, что книга "отлежалась" - много мелких улучшений по результатам первых ревью, отзывов читателей (большое вам спасибо!) и собственных переосмыслений/дополнений. Еще в комментариях написали, что книгу стоило бы назвать Principles of ML Design. Мы вообще-то так и хотели, но издательство вежливо проигнорировало наше мнение по этому вопросу.
В общем, с нашей стороны все в целом готово, осталось пройти через пару кругов формальностей, дождаться корректуры, и тогда книга уйдет в печать (и все предзаказавшие печатную версию ее наконец-то получат). Зная неповортливость издательства, рассчитываю увидеть печатную версию к концу года.
В раннем доступе было продано чуть больше тысячи экземпляров. До завтрашнего дня у издательства скидки 50% на все, но я ни на что не намекаю :)
По результатам ревью выглядит так, что мы наконец-то научились писать: оценки выросли 3.75 → 4.36 → 4.73. Во многом это вызвано тем, что книга "отлежалась" - много мелких улучшений по результатам первых ревью, отзывов читателей (большое вам спасибо!) и собственных переосмыслений/дополнений. Еще в комментариях написали, что книгу стоило бы назвать Principles of ML Design. Мы вообще-то так и хотели, но издательство вежливо проигнорировало наше мнение по этому вопросу.
В общем, с нашей стороны все в целом готово, осталось пройти через пару кругов формальностей, дождаться корректуры, и тогда книга уйдет в печать (и все предзаказавшие печатную версию ее наконец-то получат). Зная неповортливость издательства, рассчитываю увидеть печатную версию к концу года.
В раннем доступе было продано чуть больше тысячи экземпляров. До завтрашнего дня у издательства скидки 50% на все, но я ни на что не намекаю :)
Это было предсказуемо: в 2024 легкая небрежность в тексте/коде окончательно стала премиальной и крафтовой. Пресный вежливый текст - значит, написано при помощи LLM (и даже без упражнений с промптами). Шероховатости придают эффект теплоты: человек не поленился и написал сам.
Например, пишет мне рекрутер, и второй абзац его письма выглядит как LLM-summary моего линкедин-профиля. Дальше как-то автоматически сложно поверить его словам, что this is exactly the type of experience they are looking for.
Или с другой стороны: проверяю тестовые задания, и довольно быстро калибруюсь. Например, много тривиальных комментариев, начинающихся с заглавной буквы и заканчивающихся точкой - явное свидетельство сгенеренного кода. Да ладно комментарии, я уже и по названиям переменных узнаю код авторства GPT.
Вообще, кстати, в этом тестовом использовать GPT не запрещено, но надо бы не только сгенерить решение, но и понять, что там происходит. В итоге больше всего сигнала в ответе на вопрос "почему это работает?".
В итоге умение писать кое-как теперь вообще не имеет значения, а умение писать изящно (будь то текст или код) ценится как и раньше.
Например, пишет мне рекрутер, и второй абзац его письма выглядит как LLM-summary моего линкедин-профиля. Дальше как-то автоматически сложно поверить его словам, что this is exactly the type of experience they are looking for.
Или с другой стороны: проверяю тестовые задания, и довольно быстро калибруюсь. Например, много тривиальных комментариев, начинающихся с заглавной буквы и заканчивающихся точкой - явное свидетельство сгенеренного кода. Да ладно комментарии, я уже и по названиям переменных узнаю код авторства GPT.
# Init model.
model = Autoencoder.to(DEVICE)
criterion = nn.MSELoss()
Вообще, кстати, в этом тестовом использовать GPT не запрещено, но надо бы не только сгенерить решение, но и понять, что там происходит. В итоге больше всего сигнала в ответе на вопрос "почему это работает?".
В итоге умение писать кое-как теперь вообще не имеет значения, а умение писать изящно (будь то текст или код) ценится как и раньше.
Кажется, с разных сторон назревает некоторый антихайп про generative AI:
Например:
- Партнер в Sequoia насчитал, что с текущими инвестициями в железо genAI должен принести $600B, чтобы окупиться, и этого, конечно, не видно.
- Goldman Sachs оценивает будущие инвестиции в железо в триллион баксов (правда, без уточнения, за какой период) и тоже сомневаются в окупаемости
- Видеокарты не становятся фундаментально эффективнее, а в основном просто больше (правда, этот тейк относится к продвижению альтернативного железа, так что take it with a grain of salt).
- Economist утверждает про незначительный экономический эффект, несмотря на сотни миллиардов capex.
- Anecdotal data: лично разговаривал с парой человек, которые после тщательного анализа передумали лезть в некоторые на первый взгляд привлекательные ниши, где genAI вроде должен быть полезен: оказалось, что соотношение цена/качество (и полезность как следствие качества) не сходятся буквально на порядок.
Но подождите, рано ползти на кладбище. Вместо этого приведу цитату из requests for startups от YC:
Small fine-tuned models as an alternative to giant generic ones'
Giant generic models with a lot of parameters are very impressive. But they are also very costly and often come with latency and privacy challenges.
...
We are eager to support companies engaged in developing or fine-tuning such specialized models or creating tools to facilitate their construction.
Запрос на это не может не развиться: на foundation моделях хорошо строить прототипы, а вот скейлить и улучшать - гораздо сложнее. Например, мои бывшие коллеги делали решение для крупного банка, и их специализованный API получился примерно в 500 раз дешевле:
Enriching these transactions directly with GPT4-0314 , would cost $4.5M per day. With Ntropy, this costs $9k per day, a 500x reduction, while maintaining the same accuracy.
Окей, GPT4-0314 - это уже плохой выбор, GPT-4o обошлась бы в разы дешевле, но разбежка примерно на два порядка все еще сохраняется.
Как человек, который любит делатьмелкие негигантские специализированные модели и не любит обещать API-based foundation моделям $100 чаевыми, я не могу не радоваться.
Например:
- Партнер в Sequoia насчитал, что с текущими инвестициями в железо genAI должен принести $600B, чтобы окупиться, и этого, конечно, не видно.
- Goldman Sachs оценивает будущие инвестиции в железо в триллион баксов (правда, без уточнения, за какой период) и тоже сомневаются в окупаемости
- Видеокарты не становятся фундаментально эффективнее, а в основном просто больше (правда, этот тейк относится к продвижению альтернативного железа, так что take it with a grain of salt).
- Economist утверждает про незначительный экономический эффект, несмотря на сотни миллиардов capex.
- Anecdotal data: лично разговаривал с парой человек, которые после тщательного анализа передумали лезть в некоторые на первый взгляд привлекательные ниши, где genAI вроде должен быть полезен: оказалось, что соотношение цена/качество (и полезность как следствие качества) не сходятся буквально на порядок.
Но подождите, рано ползти на кладбище. Вместо этого приведу цитату из requests for startups от YC:
Small fine-tuned models as an alternative to giant generic ones'
Giant generic models with a lot of parameters are very impressive. But they are also very costly and often come with latency and privacy challenges.
...
We are eager to support companies engaged in developing or fine-tuning such specialized models or creating tools to facilitate their construction.
Запрос на это не может не развиться: на foundation моделях хорошо строить прототипы, а вот скейлить и улучшать - гораздо сложнее. Например, мои бывшие коллеги делали решение для крупного банка, и их специализованный API получился примерно в 500 раз дешевле:
Enriching these transactions directly with GPT4-0314 , would cost $4.5M per day. With Ntropy, this costs $9k per day, a 500x reduction, while maintaining the same accuracy.
Окей, GPT4-0314 - это уже плохой выбор, GPT-4o обошлась бы в разы дешевле, но разбежка примерно на два порядка все еще сохраняется.
Как человек, который любит делать
Сел в поезд, еду в Вену жрать шницели со штруделем на ICML - пожалуй, это вторая по значимости академическая ML конференция после NeurIPS.
В первый и пока единственный раз я ездил на ICML восемь лет назад. Тогда конференция проходила в большом отеле в Нью-Йорке, и это привело к курьезу - я вышел из лифта не на том этаже, и оказался на встрече тогда еще кандидата в президенты Трампа с лидерами христианских общин. Пока что эвристика "поехал на ICML - Трамп стал президентом" работает со стопроцентной точностью, учитывайте в своих политических прогнозах!
В первый и пока единственный раз я ездил на ICML восемь лет назад. Тогда конференция проходила в большом отеле в Нью-Йорке, и это привело к курьезу - я вышел из лифта не на том этаже, и оказался на встрече тогда еще кандидата в президенты Трампа с лидерами христианских общин. Пока что эвристика "поехал на ICML - Трамп стал президентом" работает со стопроцентной точностью, учитывайте в своих политических прогнозах!
MNIST 1D - самая прекрасно безумная работа, которую я пока увидел на ICML.
Это полусинтетический датасет, похожий на MNIST, который при этом сложнее для стандартных бейзлайнов, но при этом требует еще меньше вычислительных ресурсов. Авторы утверждают, что на этом датасете можно быстро воспроизводить всякие забавные метаэффекты типа Double Descent и Winning Lottery Tickets, используя только процессор бюджетного ноутбука.
Это полусинтетический датасет, похожий на MNIST, который при этом сложнее для стандартных бейзлайнов, но при этом требует еще меньше вычислительных ресурсов. Авторы утверждают, что на этом датасете можно быстро воспроизводить всякие забавные метаэффекты типа Double Descent и Winning Lottery Tickets, используя только процессор бюджетного ноутбука.
GitHub
GitHub - greydanus/mnist1d: A 1D analogue of the MNIST dataset for measuring spatial biases and answering Science of Deep Learning…
A 1D analogue of the MNIST dataset for measuring spatial biases and answering Science of Deep Learning questions. - greydanus/mnist1d
Следующее прекрасное/безумное - AutoOS: Make Your OS More Powerful by Exploiting Large Language Models (github, статья).
TL;DR: разбираться в 15 тыщах флагов для linux kernel как-то сложно, давайте лучше сделаем цикл, где LLM будет перебирать значения, а потом полученный конфиг будет проверяться на жизнеспособность. Штош, я тоже в детстве любил шатать разные незнакомые параметры и проверять, загрузится ли система.
TL;DR: разбираться в 15 тыщах флагов для linux kernel как-то сложно, давайте лучше сделаем цикл, где LLM будет перебирать значения, а потом полученный конфиг будет проверяться на жизнеспособность. Штош, я тоже в детстве любил шатать разные незнакомые параметры и проверять, загрузится ли система.
Среди статей на ICML нашел интересный топик - knowledge transfer from foundation models. Такая смесь дистилляции (которая фокусируется на переносе знаний между архитектурами) и трансфер лернинга (перенос знаний между задачами). Возьмем для примера две статьи, одна от Apple, другая от Amazon (неудивительно, что этим больше интересуются компании, чем университеты).
В Knowledge Transfer from Vision Foundation Models for Efficient Training of Small Task-specific Models авторы предложили т.н. task-oriented knowledge transfer - по сути нехитрая трехшаговая схема, что в каком порядке учить, что замораживать, как выбирать неразмеченный датасет. Ничего сверхординарного, зато много результатов экспериментов, подтверждающих полезность этой схемы.
Transferring Knowledge from Large Foundation Models to Small Downstream Models понравилась больше. В этой статье авторы предлагают своего рода выучиваемый feature selection поверх фичей из foundation моделей. Идея такая: надо заставить модель-студента выучивать только нужные фичи от учителя, а остальные можно игнорить (в отличие от обычной дистилляции, где студент должен выучить все, и обычно в пространстве предсказаний, а не фичей).
The core intuition behind AFT is that we want the downstream model to prefer making predictions based on information already present in the pre-trained features, as they are highly likely to contain useful knowledge for the downstream task, but without necessarily using all pretrained features, since not all of them will be relevant to the downstream task.
In contrast to KD, AFT does not penalize the downstream model (student) from forgetting some of the pretrained (teacher) features, and only penalizes learning extra features not extracted from pre-training.
Техническая реализация представляет собой дополнительную компоненту лосса, который регуляризует обучение основной модели, используя фичи от pretrained foundation модели. При этом можно использовать фичи сразу от нескольких моделей, и успешно дистиллировать их все. Кстати, оказалось, что для компьютерного зрения фичи из нескольких моделей более полезны, чем в NLP - авторы предполагают, что причина в большем разнообразии vision моделей по сравнению с однотипными языковыми трансформерами, обученными на одних и тех же датасетах.
Повторюсь: умение делать небольшие модели - важно и нужно.
В Knowledge Transfer from Vision Foundation Models for Efficient Training of Small Task-specific Models авторы предложили т.н. task-oriented knowledge transfer - по сути нехитрая трехшаговая схема, что в каком порядке учить, что замораживать, как выбирать неразмеченный датасет. Ничего сверхординарного, зато много результатов экспериментов, подтверждающих полезность этой схемы.
Transferring Knowledge from Large Foundation Models to Small Downstream Models понравилась больше. В этой статье авторы предлагают своего рода выучиваемый feature selection поверх фичей из foundation моделей. Идея такая: надо заставить модель-студента выучивать только нужные фичи от учителя, а остальные можно игнорить (в отличие от обычной дистилляции, где студент должен выучить все, и обычно в пространстве предсказаний, а не фичей).
The core intuition behind AFT is that we want the downstream model to prefer making predictions based on information already present in the pre-trained features, as they are highly likely to contain useful knowledge for the downstream task, but without necessarily using all pretrained features, since not all of them will be relevant to the downstream task.
In contrast to KD, AFT does not penalize the downstream model (student) from forgetting some of the pretrained (teacher) features, and only penalizes learning extra features not extracted from pre-training.
Техническая реализация представляет собой дополнительную компоненту лосса, который регуляризует обучение основной модели, используя фичи от pretrained foundation модели. При этом можно использовать фичи сразу от нескольких моделей, и успешно дистиллировать их все. Кстати, оказалось, что для компьютерного зрения фичи из нескольких моделей более полезны, чем в NLP - авторы предполагают, что причина в большем разнообразии vision моделей по сравнению с однотипными языковыми трансформерами, обученными на одних и тех же датасетах.
Повторюсь: умение делать небольшие модели - важно и нужно.
Добрался почитать статью SAM 2: Segment Anything in Images and Videos (старье, ей уже больше месяца!), искренне восхитился. Причем даже не только красивой демкой и высокими метриками на всех подряд zero-shot / semi-supervised бенчмарках по сегментации, а дизайном всего решения.
TL;DR такой:
- поставили новую задачу promptable video segmentation - в такой постановке задачу не решают, зато ее можно рассматривать как обобщение ранее известных задач;
- чтобы ее решить, подошли с обеих сторон - модель и данные;
- модель дизайнили под относительно быстрый стриминг инференс, пригодный и для видео, и для отдельных картинок, которые рассматриваются как частный случай видео из одного кадра;
- поддержка видео реализована через memory attention блок (выход енкодера проходит через self-attention на себя, а cross-attention - на memory, содержащий фичемапы предыдущих фреймов и предсказаний + вектора сегментируемого таргета);
- собрали огромный датасет из 600k+ масок, используя много итераций self-labeling с вовлечением разметчиков (human in the loop is all we need), в конце добившись среднего времени разметки кадра человеком 4.5 секунд;
- при помощи тех же self-labeling + валидацией человеками расширили датасет в четыре раза, и обеспечили этим еще и хорошую сегментацию фоновых объектов;
- для каждого куска пайплайна есть детальный ablation study.
Вообще не знаю, зачем пересказывать такую статью - она написана максимально понятно, вникать не придется, читается легче, чем телеграм-канал среднего ML-графомана. Но если читать все равно лень, можете посмотреть видео.
TL;DR такой:
- поставили новую задачу promptable video segmentation - в такой постановке задачу не решают, зато ее можно рассматривать как обобщение ранее известных задач;
- чтобы ее решить, подошли с обеих сторон - модель и данные;
- модель дизайнили под относительно быстрый стриминг инференс, пригодный и для видео, и для отдельных картинок, которые рассматриваются как частный случай видео из одного кадра;
- поддержка видео реализована через memory attention блок (выход енкодера проходит через self-attention на себя, а cross-attention - на memory, содержащий фичемапы предыдущих фреймов и предсказаний + вектора сегментируемого таргета);
- собрали огромный датасет из 600k+ масок, используя много итераций self-labeling с вовлечением разметчиков (human in the loop is all we need), в конце добившись среднего времени разметки кадра человеком 4.5 секунд;
- при помощи тех же self-labeling + валидацией человеками расширили датасет в четыре раза, и обеспечили этим еще и хорошую сегментацию фоновых объектов;
- для каждого куска пайплайна есть детальный ablation study.
Вообще не знаю, зачем пересказывать такую статью - она написана максимально понятно, вникать не придется, читается легче, чем телеграм-канал среднего ML-графомана. Но если читать все равно лень, можете посмотреть видео.
AI at Meta
Meta Segment Anything Model 2
SAM 2 is a segmentation model that enables fast, precise selection of any object in any video or image.
Самая технически сложная задача, которой я занимался в последний месяц - заставить домашний wifi нормально работать.
Вроде бы я не совсем кретин в вопросах сетей: в далекие школьные годы админил домашнюю сеть и еще помню романтику одного ADSL-подключения на четыре подъезда и обжима витой пары отверткой. Казалось бы, с тех пор прогресс огого, не надо ползать по чердаку и прописывать роуты вручную, так что организовать wifi на три комнаты должно быть несложно. Но нет, разобраться, почему прекрасно работавшая сеть внезапно начала терять 30% пакетов между роутером и экстендером, совсем не тривиально. Воспроизводимость экспериментов оказалась хуже, чем в машинлернинге, и даже random seed не зафиксировать.
Все починилось совершенно само по себе на следующий день. И как в таких условиях не верить в соседей с облучателем, который вызывает интерференцию?
Вроде бы я не совсем кретин в вопросах сетей: в далекие школьные годы админил домашнюю сеть и еще помню романтику одного ADSL-подключения на четыре подъезда и обжима витой пары отверткой. Казалось бы, с тех пор прогресс огого, не надо ползать по чердаку и прописывать роуты вручную, так что организовать wifi на три комнаты должно быть несложно. Но нет, разобраться, почему прекрасно работавшая сеть внезапно начала терять 30% пакетов между роутером и экстендером, совсем не тривиально. Воспроизводимость экспериментов оказалась хуже, чем в машинлернинге, и даже random seed не зафиксировать.
Все починилось совершенно само по себе на следующий день. И как в таких условиях не верить в соседей с облучателем, который вызывает интерференцию?
Иногда люди не видят лес за деревьями, и частный случай этого - не видеть здравый смысл за чеклистами.
Например, пишет мужик из издательства и намекает, что в книжке неоригинальный контент! Мол, переработайте перед печатью кое-какие куски, "so we can't be accused of any sort of plagiarism", и любезно присылает список этих кусков.
Открываем список и видим грозные коментарии "Needs rework; extremely close to the article text" и ссылки на какой-то notion, в котором человек составляет для себя конспект книги. Рекурсия!
Например, пишет мужик из издательства и намекает, что в книжке неоригинальный контент! Мол, переработайте перед печатью кое-какие куски, "so we can't be accused of any sort of plagiarism", и любезно присылает список этих кусков.
Открываем список и видим грозные коментарии "Needs rework; extremely close to the article text" и ссылки на какой-то notion, в котором человек составляет для себя конспект книги. Рекурсия!
Machines of Loving Grace - отличное эссе Дарио Амодеи (CEO Anthropic) про потенциальное влияние AI на мир в перспективе 5-10 лет. Умеренно оптимистичное, сдержанно предостерегающее, без хайпа, обещаний AGI за три недели и образов сингулярности из дешевой фантастики.
Darioamodei
Dario Amodei — Machines of Loving Grace
How AI Could Transform the World for the Better
Еще одно философское соображение, на этот раз по мотивам Нобелевки: некоторые мамкины комментаторы видят в наградах Хинтону и Хассабису сигнал, что нобелевский комитет вложился в nvidia разделяет неудержимый технооптимизм, e/acc и вот это все.
Но есть ироничный факт, что Дарон Аджемоглу, лауреат премии по экономике этого года, оценил рост мирового продуктивности за счет AI в 0.66% на горизонте 10 лет (т.е. примерно на порядок меньше оценок того же Goldman Sachs с их $7 триллионами за 10 лет).
Если кому-то вдруг интересно лично мое мнение: считаю, что предложенный фреймворк слишком линейный, и при некотором скепсисе на тему genAI верю в сдвиги в некоторых областях за пределами генерации контента в блогах b2b SaaS-компаний.
Но есть ироничный факт, что Дарон Аджемоглу, лауреат премии по экономике этого года, оценил рост мирового продуктивности за счет AI в 0.66% на горизонте 10 лет (т.е. примерно на порядок меньше оценок того же Goldman Sachs с их $7 триллионами за 10 лет).
Если кому-то вдруг интересно лично мое мнение: считаю, что предложенный фреймворк слишком линейный, и при некотором скепсисе на тему genAI верю в сдвиги в некоторых областях за пределами генерации контента в блогах b2b SaaS-компаний.
Реальность:
- надоело ждать полного прогона тестов на CI, между делом спрятал некоторые долгие джобы под if, чтобы они триггерились только для релевантных изменений.
Потенциальный пост в Linkedin:
- Pioneered a transformative project as part of a company-wide infrastructure efficiency and cost optimization strategy, establishing a scalable model that achieved a sustainable 40% reduction in CI operational costs across the AI organization.
- надоело ждать полного прогона тестов на CI, между делом спрятал некоторые долгие джобы под if, чтобы они триггерились только для релевантных изменений.
Потенциальный пост в Linkedin:
- Pioneered a transformative project as part of a company-wide infrastructure efficiency and cost optimization strategy, establishing a scalable model that achieved a sustainable 40% reduction in CI operational costs across the AI organization.
a16z выкатили примечательный блогпост про big ideas in tech 2025.
Примечателен он в первую очередь тем, как единственная страница может заставить включиться кулер нового макбука.
Примечателен он в первую очередь тем, как единственная страница может заставить включиться кулер нового макбука.
Почти в каждом deep learning-based продукте, над которым я работал, на каком-то этапе где-то сбоку появляется небольшая линейная модель, обучаемая отдельно, иногда даже на классических фичах. Она, конечно, не может решать основную сложную задачу, но внезапно сильно помогает с каким-нибудь корнеркейсом. Например:
- определять резкую смену контекста (и необходимость сбросить стейт),
- детектить потенциальные ошибки или аномалии,
- слегка уточнять результаты сложного пайплайна,
- роутить инпут между компонентами,
- заполнять недостающий параметр, если в API вдруг не приходит какое-то поле, а менять что-то на клиенте слишком дорого,
- подсвечивать потенциальные проблемы человекам in the loop.
Этой модели никогда нет в изначальном дизайне: если проблема была бы заметна изначально, она бы зачастую решалась элегантнее - например, добавлением дополнительной головы в основную модель. Она появляется, когда все вроде почти работает, и не хватает совсем чуть-чуть.
Вот сейчас у меня есть матрица расстояний в чем-то вроде матчинга, и нужно оценивать уверенность матча, потому что иногда лучше ответить ничего, чем неправильно. Сначала берешь собственно дистанцию, потом хочется добавить еще пару эвристик типа расстояния до second best кандидата, их нужно как-то взвешивать... Так что не надо брезговать классикой, и умение выжать лишний процент из линейной модели все еще полезно.
- определять резкую смену контекста (и необходимость сбросить стейт),
- детектить потенциальные ошибки или аномалии,
- слегка уточнять результаты сложного пайплайна,
- роутить инпут между компонентами,
- заполнять недостающий параметр, если в API вдруг не приходит какое-то поле, а менять что-то на клиенте слишком дорого,
- подсвечивать потенциальные проблемы человекам in the loop.
Этой модели никогда нет в изначальном дизайне: если проблема была бы заметна изначально, она бы зачастую решалась элегантнее - например, добавлением дополнительной головы в основную модель. Она появляется, когда все вроде почти работает, и не хватает совсем чуть-чуть.
Вот сейчас у меня есть матрица расстояний в чем-то вроде матчинга, и нужно оценивать уверенность матча, потому что иногда лучше ответить ничего, чем неправильно. Сначала берешь собственно дистанцию, потом хочется добавить еще пару эвристик типа расстояния до second best кандидата, их нужно как-то взвешивать... Так что не надо брезговать классикой, и умение выжать лишний процент из линейной модели все еще полезно.