TGViewer
Channel Public Channel
Maxim.ML - канал

Maxim.ML - канал

@ml_maxim

🟥 Machine Learning Team Lead
📢 Рассказываю о жизни в IT в целом и о machine learning в частности
🤖 Генератор контента для обучения AGI
✉️ лс тут: @Maxim_ML
Subscribers
1.06K
Photos
78
Videos
7
Links
61

Showing posts older than #39 · Back to latest

Older Posts 10 shown
Post #36 405
Астрологи объявили неделю пять месяцев обучающего контента на этом канале, потому что автор вернулся в университет на факультет компьютерных наук. Нет, не учиться, а преподавать.

С вчерашнего дня началось мое приключение длиною в 40 академических часов, где мне предстоит объяснить студентам все азы обработки естественных языков.

Что я об этом думаю? Это очень круто! Потому что я сам закончил факультет компьютерных наук 4 года назад и сидел на месте этих ребят. И теперь у меня есть возможность поделиться знаниями и опытом, чем я, конечно же, воспользуюсь.

Что ждут от курса начинающие специалисты по обработке естественного языка? Об этом третья картинка (провел опрос на семинаре). Получится ли у всех нас этого добиться? Stay tuned — буду делиться успехами ребят
  • 🔥 9
  • ❤ 2
  • 👏 2
Post #33 2.06K
ML-архитектор: кто это и зачем он нужен в эпоху автоматизации кода

С появлением инструментов для автоматизации кода (например, GitHub Copilot, Cursor) роль ML-архитектора становится критически важной. ИИ генерирует фрагменты кода, но пока что плохо проектирует системы целиком, не способен предвидеть все скрытые риски и обеспечивать устойчивость решений. Архитектор здесь — тот, кто превращает разрозненные компоненты в надежный продукт.

Кто такой ML-архитектор?

Официально: Специалист, проектирующий структуру ML-систем, от выбора алгоритмов до интеграции с инфраструктурой.

По-простому: Человек, который отвечает за каждую будущую проблему — от падения accuracy модели до сбоев в продакшене. Если система «упала» через полгода после релиза — это его зона ответственности.

Чем конкретно занимается:
⚡️ Проектирование сценариев failure: предсказывает, что может сломаться, и встраивает защитные механизмы (например, автоматический откат моделей).
⚡️ Оптимизация trade-off: баланс между скоростью инференса, точностью и стоимостью инфраструктуры.
⚡️ Стандартизация процессов: как данные поступают в модель, как мониторится её работа, как обновляется pipeline.

Отдельная роль или навык разработчика?

Идеальный мир: ML-лид совмещает архитектурные компетенции с управлением командой. Он понимает, как технические решения влияют на бизнес-метрики (например, задержка предсказания может стоить потерей клиентов).

Реальность: В крупных компаниях (например, банки, маркетплейсы) ML-архитектор — отдельная позиция.
Почему?
⚡️ Масштаб: Системы с сотнями моделей требуют единой стратегии развертывания и мониторинга.
⚡️ Специализация: Лид фокусируется на управлении и бизнес-метриках, архитектор — на широте технической экспертизы в проекте и принимаемых архитектурных решениях.

Как развивать архитектурное мышление: 5 шагов
1️⃣ Рисуйте схемы — но правильно
Используйте различные стандарты: C4-моделирование, UML для ML (Data Flow Diagrams, Deployment Diagrams).
Практика: Возьмите любой open source проект (например, TensorFlow Extended) и визуализируйте его компоненты.
2️⃣ Рефлексируйте над ошибками — своими и чужими
Свои проекты: Ведите «журнал архитектурных решений» (ADR — Architecture Decision Record). Пример записи:
- Выбор базы данных для метаданных моделей
- Проблема: Нужно хранить версии моделей и их параметры.
- Варианты: PostgreSQL vs ML Metadata от TFX.
- Решение: TFX, так как интеграция с пайплайнами проще.
- Последствия: Придется мигрировать при переходе на Kubeflow.


Чужие проекты: Анализируйте кейсы на Kaggle или открытые проекты в github. Спрашивайте:
- Почему автор выбрал PyTorch, а не TensorFlow для этого NLP-проекта?
- Как система масштабируется при росте данных в 10 раз?

3️⃣ Стройте «гибридные» системы
Пример задачи: спроектируйте pipeline, где модель на PyTorch интегрирована с FastAPI-бэкендом, а логирование ошибок идет через Elasticsearch.
Совет: используйте Docker и Kubernetes даже для пет-проектов — это научит вас думать о масштабируемости.

4️⃣ Изучайте смежные области
- DevOps для ML: CI/CD пайплайны для моделей (например, gitlab + DVC).
- ETL и стриминг данных: как настроить spark-стриминг / kafka в kubernetes.

5️⃣ Участвуйте в Code Review
Задавайте вопросы не только «как работает этот код», но и:
- Что произойдет, если входные данные увеличатся в 100 раз?
- Как система восстановится при падении GPU-сервера?

Карьерный путь: когда вы готовы стать архитектором?
⚡️ Junior: решаете локальные задачи (написание модели, фича-инжиниринг).
⚡️ Middle: видите связь между своей задачей и всей системой (например, как ваша модель влияет на нагрузку API).
⚡️ Senior/Architect: можете спроектировать систему с нуля, включая точки отказа и план миграции на новые технологии.

Заключение
ML-архитектор — это не про рисование схем в вакууме. Это про умение видеть систему на 5 шагов вперед и принимать решения, которые сэкономят компании тысячи часов на исправление костылей. Инструменты автоматизации кода не заменят эту роль — они лишь увеличат спрос на людей, которые могут ими грамотно управлять.

(мемы для привлечения внимания)
  • 🔥 5
  • 😁 2
Post #31 407
  • 🔥 6
Post #30 418
Визуализация данных — это навык, на который часто забивают, а зря.

В своей серии публикаций я показываю, почему его стоит прокачивать и как это сделать.

📊 И да, сегодня — первая в этом году #пятничная_визуализация

p.s. Код на питоне есть по ссылке из поста
Telegraph barplot: между хаосом и ясностью Maxim.ML Почему одни графики мгновенно доносят суть, а другие заставляют зрителя страдать? Ответ кроется в деталях. Возьмем пример двух барплотов, которые я недавно встретил в аналитике рынка труда. Оба пытались показать распределение мнений респондентов…
  • 🔥 7
  • ❤ 1
Post #29 395
В последние 10 месяцев я активно использую нейросети для решения повседневных рабочих задач. Кейсов накопилось много, и я хочу начать делиться ими.

Сегодня будет первая публикация из цикла, а найти все можно будет по этим тегам:

➡️ #llm_для_работы - кейсы из моей рабочей практики, как LLM были полезны в команде ML-разработчиков и на продуктах финтеха
➡️ #llm_для_жизни - кейсы из жизни, когда использование помогало решать личные вопросы

Следующий кейс будет полезен всем, кто связан с разработкой. Речь пойдет о написании юнит-тестов на Python ⚙️.

Одна из задач, с которой я столкнулся, — написание регулярных выражений (регулярок) и тестов к ним. Если вы хоть раз пытались написать сложную регулярку, то знаете, что это может быть настоящим квестом. Нужно учесть множество нюансов, синтаксис, а еще убедиться, что выражение работает на всех возможных входных данных.

Я решил доверить эту задачу нейросети — Claude 3.5 Sonnet. После нескольких итераций и уточнений получил рабочую регулярку, которая делала именно то, что нужно. Но на этом история не закончилась.

# что я хотел найти:
# из строки: "последовательность запуска алгоритмов: [(1, 2) >> 3]"
# выделить: [(1, 2) >> 3]

# Регулярка по мнению Claude 3.5 sonnet
pattern = r'\[(?:\s*\((?:\d+(?:\s*,\s*\(\s*\d+(?:\s*,\s*\d+)*\s*\))*(?:\s*,\s*\d+)*)\)|\s*\d+)(?:\s*>>\s*(?:\((?:\d+(?:\s*,\s*\(\s*\d+(?:\s*,\s*\d+)*\s*\))*(?:\s*,\s*\d+)*)\)|\d+))*\s*\]'


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

Однако придумывать такие тесты вручную — это долго и не всегда эффективно. Можно что-то упустить, особенно если проект большой и сложный. И тут я подумал: а почему бы не поручить это нейросети?

Я начал с того, что написал три базовых теста (используя few-shot технику), чтобы задать контекст. Затем попросил Claude сгенерировать дополнительные тесты. Результат меня впечатлил: нейросеть не только предложила еще десяток тестов, но и добавила краевые случаи, которые я сам мог бы и не учесть.

# мои few-shot примеры 
test_cases_user = [
["алгоритмов: [1 >> 2 >> 3] этом", "1 >> 2 >> 3"],
["алгоритмов: [(1, 2) >> 3] этом", "(1, 2) >> 3"],
["алгоритмов: [(1, 2) >> (3, 4)] этом", "(1, 2) >> (3, 4)"],
["алгоритмов: [(1, 2, 3) >> (5, 6) >> 7] этом", "(1, 2, 3) >> (5, 6) >> 7"],
]
# ответ Claude 3.5 sonnet
test_cases_gpt = [
["[(1) >> (2)]", "(1) >> (2)"],
["[(1, 2)]", "(1, 2)"],
["[1 >> 2]", "1 >> 2"],
["[(1,2,3)>>4>> (5,6)]", "(1,2,3)>>4>> (5,6)"],
["[1 >> (2, 3) >> (4, 5, 6)]", "1 >> (2, 3) >> (4, 5, 6)"],
["алгоритмов: [(100, 200, 300) >> 400 >> (500, 600)] этом", "(100, 200, 300) >> 400 >> (500, 600)"],
["алгоритмов: [1000 >> (2000, 3000) >> 4000 >> (5000, 6000, 7000)] этом", "1000 >> (2000, 3000) >> 4000 >> (5000, 6000, 7000)"],
["алгоритмов: [(1) >> (2) >> (3) >> (4)] этом", "(1) >> (2) >> (3) >> (4)"],
["алгоритмов: [1 >> 2] этом", "1 >> 2"],
["алгоритмов: [(1, 2)] этом", "(1, 2)"],
["алгоритмов: [1] этом", "1"],
["алгоритмов: [(1,2,3,4,5,6,7,8,9,10) >> 11] этом", "(1,2,3,4,5,6,7,8,9,10) >> 11"],
["алгоритмов: [(1, 2) >> (3, (3, 3))] этом", "(1, 2) >> (3, (3, 3))"],
]


Вот несколько ключевых выводов, которые я для себя сделал:

1. Экономия времени: нейросети позволяют быстро генерировать большое количество тестов, что особенно полезно при работе с большими проектами.
2. Улучшение качества тестов: нейросети предлагают краевые случаи, которые разработчик может упустить.
3. Дополнительная проверка: даже если тесты от нейросети не всегда идеальны, они служат хорошей отправной точкой для дальнейшей доработки.

✏️ Этот опыт очень интересен, особенно на фоне новостей о появлении различных коробочных решений, которые работают схожим образом, но с большей автономностью. (тык 1, тык 2)
  • 👍 6
  • 🔥 3
Post #28 417
картинка для иллюстрации
  • 💯 5
  • 😁 2
Post #27 421

Forwarded from ML for Value / Ваня Максимов (Ivan Maksimov)

Что там с рынком IT-вакансий в 2025?

Со всех сторон слышны новости о сокращениях (Самолет, Vk, МТС, Сбер, Альфа и не только). Казалось бы, сейчас сотни кандидатов выйдут на рынок + онлайн-школы выпустят еще пару тысяч -- и да здравствует кровавый океан, где компании диктуют условия, и найм совершается за 1 месяц? Не тут-то было

Если вы сами искали кандидатов за последние полгода, то знаете, что поиск наоборот стал дольше / найма меньше. Но и зарплаты ничуть не снизились. В общем, какой-то парадокс. Далее будет сугубое имхо из анализа рынка и сплетен / новостей от знакомых - все, как мы любим 😊

На рынке джуниор-миддл
Спрос (кол-во вакансий) падает, а предложение (число кандидатов) растет -- по идее, должна снижаться зарплата для уравновешивания рынка. Но зарплаты снижать не вариант: конкуренция со стороны гос it, зарубежа. Также в отдельной команде может быть единственная вакансия за полгода, а не 3-4, как раньше. Поэтому важно найти "идеального" кандидата

Поэтому идет шринкфляция навыков. Помните молоко по той же цене, но за 900 мл вместо литра? Тут то же самое.
Шринкфляция навыков — на вакансию junior ищут кандидата с навыками middle-

В общем, тут советов 2:
- Прокачивайте свои навыки. Теперь недостаточно знать только pandas и catboost даже для стажировки(
- Расширяйте воронку поиска = подавайтесь на бОльшее число вакансий. Только не забывайте все же смотреть на релевантность ваших навыков роли, составлять приличное резюме и сопроводительное -- про конверсию воронки тоже надо помнить

P.S. Год учебы на курсах вписать в качестве года "работы" в резюме - ред флаг 🚩
А вот приличный (!) пет проект за опыт работы - вполне вариант

На рынке синьор и выше
Тут ситуация, когда и вакансий мало, но и кандидатов тоже мало! За идеальный мэтч готовы платить много (вакансия синьера от 700k). Поэтому тут рынок превратился в executive search с очень точечным наймом, проверкой бэкграунда и буквально "охотой" за крутыми сотрудниками

Тут вы меня может и не просили советов, но куда ж без них)
- Качайте личный бренд, чтобы быть узнаваемым внутри своей компании и на рынке
- Выступление на конференциях, статьи на Хабре, тг-каналы теперь must have. Но опять же, помните про качество: стать узнаваемым с плохой стороны сотрудником - не очень удачная идея)

Embrace yourself, IT winter has come 🥶
hh.ru Вакансия Senior Machine Learning Engineer (Computer Vision) в Москве, работа в компании Gradient (вакансия в архиве c 10 февраля… Зарплата: от 700000 ₽ за месяц. Москва. Требуемый опыт: 3–6 лет. Занятость: полная. Дата публикации: 11.01.2025.
  • ❤ 4
Post #26 412
Прочитал очень интересные мысли автора из этой публикации. Очень верно подмечено, я и сам замечаю то же самое. Поэтому далее мои мысли по состоянию IT-рынка в целом и про ML в частности.

Автор написал про то, что, несмотря на сокращения, спрос на IT-специалистов остается высоким, но требования к навыкам растут. Их важно постоянно совершенствовать, потому что наблюдается «шринкфляция навыков» — повышение требований к навыкам кандидатов даже на младшие позиции.

От себя хочу добавить следующее:
За тот же ценник от вас будут ждать не только роста качества ваших навыков, но и роста их количества.

Почему? Вот три примера.

Пример 1️⃣: сложное становится простым.

Ещё два-три года назад уметь обучать модели машинного обучения, ставить их в продакшен, подключать к ним разные источники данных и записывать предсказания — это было чем-то вроде магии. Я помню времена, когда наличие знаний о DS / ML / MLOps / DE / DA у одного человека вызывало восхищение у коллег. Но сейчас? Это просто базовые навыки. Даже я лично спрашиваю их на собеседованиях на junior-позиции.

В чём причина? Знания стали доступнее. Материалов о том, как всё это сделать, сейчас море. Но не только знания — современные инструменты делают процесс проще и эффективнее. И поэтому компании уже не хотят платить за одного специалиста, который умеет делать что-то одно. Они хотят, чтобы вы были «универсалом»: обучили модель, наладили поставку данных, поставили её в продакшен, настроили мониторинг, запланировали и запустили АБ-тест, и всё это объяснили бизнесу.

Пример 2️⃣: удивлять всё сложнее.

Помните времена, когда Data Scientist просто занимался обучением моделей? А теперь? Нам приходится не только создавать модели, но и разрабатывать корпоративные приложения с бэкендом, добавлять фронтенд — словом, быть полноценным разработчиком. Всё это, чтобы оставаться в парадигме outperforming в рамках корпоративного роста и развития. И знаете что? Год назад мы в команде вызывали у коллег удивление: «Ого, вы этим занимаетесь?» А сейчас я вижу, что такое восхищение пропало. Почему?

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

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

Пример 3️⃣: а что остается делать менеджеру?

Смогли представить себе команду специалистов из пункта 1 и 2? А теперь представьте, что вся вышеописанная команда уходит одним днем в другую компанию. Сколько ценных навыков будет потеряно? Что будет делать менеджер? Если раньше в его команде было 3 человека и 12 уникальных скилов (backend, frontend, DS, MLOps, LLMOPs и так далее), то теперь ни одного.

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

🧮 Короче говоря, в интересное время живём! Знания доступны всем, и те, кто научится их эффективно использовать, будут выигрывать. Это не шутки — это реальность, которую уже видят компании и формируют ожидания от специалистов.

Когда все могут реально научиться делать всё. И это уже заложено в ожидание рынка. Так что, если вы хотите быть востребованным на рынке, работайте над собой, расширяйте свои горизонты и не бойтесь учиться новому. Время для этого самое подходящее
  • 🔥 3
  • ❤ 2
  • 👀 2
  • 👍 1
  • 💯 1
Post #23 386
Вчера я выступил с докладом на тему того, как мы начали применять агентов в финтехе. В ближайшее время мы подготовим статью на Habr, где расскажем о всех нюансах этой темы — так что следите за обновлениями. А пока держите самые яркие мемы из презентации — они точно подняли настроение у всех слушателей
  • 🔥 18
Post #17 1.72K
Подготовил для вас актуальные идеи pet-проектов в ML на 2025 год

Всем data-привет! 🚀

Новый 2025 год уже начался, а значит самое время взяться за реализацию (и довести до конца 😬) крутого pet-проекта, который бустанёт ваши навыки и карьеру в сфере ML.

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

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

Чуть более детальное описание можно найти на habr

#pet_проект
#карьера
  • 🔥 7
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →