partially unsupervised @partially_unsupervised Channel on Telegram

partially unsupervised

@partially_unsupervised


@arsenyinfo пишет про software engineering и machine learning

partially_unsupervised (Russian)

Telegram-канал "partially_unsupervised" - это источник актуальной информации по программной инженерии и машинному обучению, созданный пользователем @arsenyinfo. В этом канале вы найдете полезные статьи, обзоры новых технологий, аналитику и советы от опытного специалиста. Arsenyinfo делится с читателями своими знаниями и опытом в области разработки программного обеспечения и машинного обучения. Если вы хотите быть в курсе последних тенденций в IT-индустрии, узнать о лучших практиках разработки и улучшить свои навыки, то канал "partially_unsupervised" - ваш идеальный выбор. Присоединяйтесь к сообществу профессионалов и развивайтесь вместе с нами!

partially unsupervised

31 Oct, 14:54


Реальность:
- надоело ждать полного прогона тестов на 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.

partially unsupervised

15 Oct, 14:09


Еще одно философское соображение, на этот раз по мотивам Нобелевки: некоторые мамкины комментаторы видят в наградах Хинтону и Хассабису сигнал, что нобелевский комитет вложился в nvidia разделяет неудержимый технооптимизм, e/acc и вот это все.

Но есть ироничный факт, что Дарон Аджемоглу, лауреат премии по экономике этого года, оценил рост мирового продуктивности за счет AI в 0.66% на горизонте 10 лет (т.е. примерно на порядок меньше оценок того же Goldman Sachs с их $7 триллионами за 10 лет).

Если кому-то вдруг интересно лично мое мнение: считаю, что предложенный фреймворк слишком линейный, и при некотором скепсисе на тему genAI верю в сдвиги в некоторых областях за пределами генерации контента в блогах b2b SaaS-компаний.

partially unsupervised

12 Oct, 11:27


Machines of Loving Grace - отличное эссе Дарио Амодеи (CEO Anthropic) про потенциальное влияние AI на мир в перспективе 5-10 лет. Умеренно оптимистичное, сдержанно предостерегающее, без хайпа, обещаний AGI за три недели и образов сингулярности из дешевой фантастики.

partially unsupervised

26 Sep, 13:43


Иногда люди не видят лес за деревьями, и частный случай этого - не видеть здравый смысл за чеклистами.

Например, пишет мужик из издательства и намекает, что в книжке неоригинальный контент! Мол, переработайте перед печатью кое-какие куски, "so we can't be accused of any sort of plagiarism", и любезно присылает список этих кусков.

Открываем список и видим грозные коментарии "Needs rework; extremely close to the article text" и ссылки на какой-то notion, в котором человек составляет для себя конспект книги. Рекурсия!

partially unsupervised

11 Sep, 14:48


Самая технически сложная задача, которой я занимался в последний месяц - заставить домашний wifi нормально работать.

Вроде бы я не совсем кретин в вопросах сетей: в далекие школьные годы админил домашнюю сеть и еще помню романтику одного ADSL-подключения на четыре подъезда и обжима витой пары отверткой. Казалось бы, с тех пор прогресс огого, не надо ползать по чердаку и прописывать роуты вручную, так что организовать wifi на три комнаты должно быть несложно. Но нет, разобраться, почему прекрасно работавшая сеть внезапно начала терять 30% пакетов между роутером и экстендером, совсем не тривиально. Воспроизводимость экспериментов оказалась хуже, чем в машинлернинге, и даже random seed не зафиксировать.

Все починилось совершенно само по себе на следующий день. И как в таких условиях не верить в соседей с облучателем, который вызывает интерференцию?

partially unsupervised

05 Sep, 14:30


Добрался почитать статью 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-графомана. Но если читать все равно лень, можете посмотреть видео.

partially unsupervised

05 Aug, 08:06


Среди статей на 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 моделей по сравнению с однотипными языковыми трансформерами, обученными на одних и тех же датасетах.

Повторюсь: умение делать небольшие модели - важно и нужно.

partially unsupervised

25 Jul, 15:45


Следующее прекрасное/безумное - AutoOS: Make Your OS More Powerful by Exploiting Large Language Models (github, статья).

TL;DR: разбираться в 15 тыщах флагов для linux kernel как-то сложно, давайте лучше сделаем цикл, где LLM будет перебирать значения, а потом полученный конфиг будет проверяться на жизнеспособность. Штош, я тоже в детстве любил шатать разные незнакомые параметры и проверять, загрузится ли система.

partially unsupervised

24 Jul, 09:18


MNIST 1D - самая прекрасно безумная работа, которую я пока увидел на ICML.

Это полусинтетический датасет, похожий на MNIST, который при этом сложнее для стандартных бейзлайнов, но при этом требует еще меньше вычислительных ресурсов. Авторы утверждают, что на этом датасете можно быстро воспроизводить всякие забавные метаэффекты типа Double Descent и Winning Lottery Tickets, используя только процессор бюджетного ноутбука.

partially unsupervised

21 Jul, 07:27


Сел в поезд, еду в Вену жрать шницели со штруделем на ICML - пожалуй, это вторая по значимости академическая ML конференция после NeurIPS.

В первый и пока единственный раз я ездил на ICML восемь лет назад. Тогда конференция проходила в большом отеле в Нью-Йорке, и это привело к курьезу - я вышел из лифта не на том этаже, и оказался на встрече тогда еще кандидата в президенты Трампа с лидерами христианских общин. Пока что эвристика "поехал на ICML - Трамп стал президентом" работает со стопроцентной точностью, учитывайте в своих политических прогнозах!

partially unsupervised

14 Jul, 17:08


Кажется, с разных сторон назревает некоторый антихайп про 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 чаевыми, я не могу не радоваться.

partially unsupervised

21 Jun, 10:56


Это было предсказуемо: в 2024 легкая небрежность в тексте/коде окончательно стала премиальной и крафтовой. Пресный вежливый текст - значит, написано при помощи LLM (и даже без упражнений с промптами). Шероховатости придают эффект теплоты: человек не поленился и написал сам.

Например, пишет мне рекрутер, и второй абзац его письма выглядит как LLM-summary моего линкедин-профиля. Дальше как-то автоматически сложно поверить его словам, что this is exactly the type of experience they are looking for.

Или с другой стороны: проверяю тестовые задания, и довольно быстро калибруюсь. Например, много тривиальных комментариев, начинающихся с заглавной буквы и заканчивающихся точкой - явное свидетельство сгенеренного кода. Да ладно комментарии, я уже и по названиям переменных узнаю код авторства GPT.

# Init model.
model = Autoencoder.to(DEVICE)
criterion = nn.MSELoss()


Вообще, кстати, в этом тестовом использовать GPT не запрещено, но надо бы не только сгенерить решение, но и понять, что там происходит. В итоге больше всего сигнала в ответе на вопрос "почему это работает?".

В итоге умение писать кое-как теперь вообще не имеет значения, а умение писать изящно (будь то текст или код) ценится как и раньше.

partially unsupervised

04 Jun, 08:29


Искренне считаю, что рекламировать неординарные вакансии - это добро, потому не стесняюсь разместить:

🔥 Wunder fund: вакансия Senior Data Researcher 🔥

TLDR: Wunder Fund, Senior Data Researcher, Алготрейдинг, HFT

🌍 Локация: Remote/Релокация в несколько стран

💰Вилка: от $5k до $7k на руки, иногда больше — договоримся (есть привязка к валюте, можем платить в долларах или крипте)

👁 Инфа: Мы — Wunder Fund, занимаемся высокочастотной торговлей (HFT) с 2014 года. Торгуем на 14 биржах по всему миру и наш дневной оборот больше $5 млрд. Сейчас ищем в команду Senior Data Researcher, который возглавит направление нейросетей в Wunder Fund.

Вам предстоит обучать модели, проверять гипотезы и добиваться максимальной точности моделей. Задача похожа на Kaggle-соревнование, только модели и фичи должны считаться максимально быстро.

Вы будете работать в сильной команде — это лучшие программисты, математики, физики, выпускники лучших вузов, победители соревнований и международных олимпиад. Наша сфера очень конкурентна, поэтому мы используем самые современные технологии, чтобы обеспечить максимальную скорость и точность наших систем.

🤓 Что вам понадобится

- Хорошо знать Python и математику
- Быть опытным практиком пристального вглядывания в данные
- Иметь успехи в Kaggle соревнованиях (Kaggle Master/Grandmaster)
- Иметь опыт успешного обучения трансформеров и LSTM.
- Будет плюсом: опыт в соревнованиях по NLP, Speech Recognition.

Условия: работа в команде выпускников МГУ и Физтеха, полная удаленка, гибкий график, ЗП по результатам собеседования от $5,000 до $7,000 на руки.

Небольшой видос про data science у нас и исследования: https://youtu.be/in2wXwxeaqs

Ссылка на вакансию: https://clck.ru/3A2CnM

Как откликнуться: Пишите в ТГ @nedifar1703

partially unsupervised

26 May, 10:27


Наша книга по ML System Design прошла третье - и последнее - ревью внутри паблишера. Я уже писал про ревью раньше, но вкратце процесс такой: издатель раздает 10+ потенциальным читателям текущую версию книги и заставляет писать много комментариев и отвечать на десятки вопросов. Ревью проводится после каждой трети книги, и потом анонимизированные комментарии сваливаются обратно авторам: чините, что считаете важным.

По результатам ревью выглядит так, что мы наконец-то научились писать: оценки выросли 3.75 → 4.36 → 4.73. Во многом это вызвано тем, что книга "отлежалась" - много мелких улучшений по результатам первых ревью, отзывов читателей (большое вам спасибо!) и собственных переосмыслений/дополнений. Еще в комментариях написали, что книгу стоило бы назвать Principles of ML Design. Мы вообще-то так и хотели, но издательство вежливо проигнорировало наше мнение по этому вопросу.

В общем, с нашей стороны все в целом готово, осталось пройти через пару кругов формальностей, дождаться корректуры, и тогда книга уйдет в печать (и все предзаказавшие печатную версию ее наконец-то получат). Зная неповортливость издательства, рассчитываю увидеть печатную версию к концу года.

В раннем доступе было продано чуть больше тысячи экземпляров. До завтрашнего дня у издательства скидки 50% на все, но я ни на что не намекаю :)

partially unsupervised

15 May, 15:33


Беда пришла откуда не ждали: сегодня tensorboard насрал мне в штаны.

Ковырял задачу, в которой без оценки глазами пока никак. Сгенерил все семплы, сложил в тензорборд, предусмотрительно запустил с -samples_per_plugin images=100000, начал анализировать. Размер датасета я знал, пролистал все картинки, нашел ошибки, и бодро подытожил в духе: "так, среди 200 семплов у нас 4 ошибки, error rate 2%, проблема незначительна". Подытожил настолько бодро, что даже CTO поверил.

Внес небольшие изменения, пошел смотреть на различия и вдруг что-то зачесалось - как будто слишком быстро все просмотрел. Ну и оказалось, что в UI отображалась только примерно половина семплов. Пришлось вручную распарсить tensorboard-файл и со стыдом признаться, что в своей оценке масштаба проблемы я ошибся примерно вдвое.

partially unsupervised

03 May, 15:42


Реклама, которую вы точно не ждали.

Если вы склонны ворчать, что программирование стало скучным конвейером по перекладыванию протобафов для бесполезных фичей и крысиными гонками за новыми фреймворками, то вот вам шанс резко изменить свою жизнь!

Мой старый кореш Алексей ищет программиста на Фортране для разработки симулятора физики плазмы. Достаточно даже опыта С/C++ и готовности этот самый Фортран освоить. Кроме того, не придется жить под мостом и питаться объедками: обещают платить вполне себе рыночные деньги 💰

partially unsupervised

20 Apr, 16:16


Дата-дривен карго культ учит, что если метрики растут, а результат на глаз выглядит не очень, то метрики первичны, ведь они как будто имеют больший охват (например, весь тестовый датасет), чем то, что может увидеть один человек невооруженным взглядом. Я и сам долгое время был адептом этого тезиса, пока не наступил на достаточное количество граблей.

Проблема в том, что сделать сбалансированную метрику или набор метрик всегда сложнее, чем кажется (завсегдатаи Kaggle не дадут соврать). Именно поэтому в реальности приходится не оптимизировать единственную метрику верхнего уровня, а делать набор метрик и следить за всеми, а потом принимать субъективное решение, когда одна метрика неизбежно вдруг пойдет вверх, а другая вниз.

Буквально вчера на работе смотрел на результаты ML экспериментов и недоумевал: вариант, который и визуально мне нравился больше, и в теории должен был быть лучше, по метрикам выглядел хуже. Заподозрил проблему в недавно задизайненной метрике, поленился доказывать теорией, сделал "модель", которая генерила рандом с определенными свойствами и тут же выбил искомые 100%. Будь это корпорация с бездумной ориентацией на KPI, можно было бы закоммитить и бездельничать до конца квартала!

partially unsupervised

28 Mar, 10:14


Люблю всратую музыку, и потому suno.ai врывается на третье место generative AI приложений в моем личном рейтинге (сразу после ChatGPT и Github Copilot).

Пост-панк на русском получается очень атмосферным без особых хлопот, с одного промпта, вот примеры:
- Моя боль, мой стартап 🧑‍💻;
- Коты не навещают меня в больнице 😿;
- Такой молодой, такой тупой 👴

partially unsupervised

16 Mar, 10:56


Как человек, который еще помнит про computer vision за пределами диплернинга, насладился статьей про дистилляцию LSD. Товарищ майор, я про line segment detector, а вовсе не про психоделики! 🚔

Идея подкупает простотой и элегантностью. В малоизвестной, но важной задаче нахождения отрезков (line segments) на картинке по-прежнему все не очень хорошо: есть классический алгоритм LSD - не очень стабильный, зато универсальный; есть сколько-то DL моделей, обученных на единственном датасете из 5000 картинок, они гораздо более устойчивы к шуму, но не обобщаются на другие датасеты.

Авторы предлагают такое:
- для генерации трейн сета применяем классический LSD к сотне аугментированных версий одной картинки;
- превращаем найденные отрезки в distance/angle fields, то есть такое представление, где для каждого пикселя есть значение "в какую сторону и как далеко надо идти к ближайшему отрезку" и усредняем по этим аугментированным версиям;
- учим классический Unet предсказывать такие поля;
- обратно преобразуем предсказанные поля в отрезки.

Быстро, эффективно, не требует ни ручной разметки, ни мощного железа.

P.S. Если этот пост наберет сколько-то лайков, я напишу (или не напишу) метапост, как я читаю (или не читаю) статьи!

partially unsupervised

15 Mar, 10:17


Человек пришел в некий банк, чтобы закрыть мой счет по доверенности. В процессе у него спрашивают пароль от интернет-банка. Нахожу предполагаемый пароль в Bitwarden, передаю, и получаю ответ "не подходит, и даже не похож".

Или операционисты в банках научились считать похожесть по соленым хэшам, или это худший театр безопасности, который я видел.

partially unsupervised

04 Mar, 15:31


Я редко пишу здесь про новости, но про очередной релиз нового семейства LLM - на этот раз Claude 3 от Anthropic - напишу.

Дело даже не в том, что они утверждают, что побили GPT-4 по метрикам. Это первая модель, которая с первой попытки правильно ответила на вопрос, которым я люблю тестировать LLM-ки: "what manhattan project participant invented the dolphin kick for swimming?" 🐬. Остальные популярные модели (GPT-4, Mistral Large, Llama 2 70B...) или скатываются в галлюцинации (обычно про Фейнмана), или отвечают в духе "уважаемый, там физики работали, какое еще плавание".

Вопрос, конечно, вдохновлен этой книгой. На более нормальные промпты, которые я успел прогнать, кажется, отвечает +- на уровне GPT.