gram news
Аватар канала .ml

.ml

@mltochka

Мы — ML-инженеры финтех-компании Точка Банк. Делаем ML не ради трендов, а ради пользы. Делимся проверенными инструментами, шерим работающие модели, рассказываем, как решаем проблемы бизнеса с помощью ML. Вакансии в команду 👇🏻 https://tchk.me/Vl306E

ПроектыRUНейросети

4,230подписчиков

Открыть канал

Последние посты

  • .ml

    4 сент., 06:12

    1,170опрос441Открыть в Telegram
  • .ml

    4 сент., 06:10

    Друзья, переголосуйте, пожалуйста, в вопросе про контент — сделали множественный выбор
  • .ml

    3 сент., 11:30

  • .ml

    3 сент., 11:30

  • .ml

    3 сент., 11:30

    Опрос о вас 💜Канал существует уже два года, и нам хочется лучше понимать, кто именно нас читает. Так сможем готовить для вас более релевантный контент.Спасибо всем, что уделили минутку!
    1,260744Открыть в Telegram
  • .ml

    28 авг., 05:56

    Почему бизнес в роли заказчика, а ИИ-команда в роли исполнителя — это плохо?Если работаете в ИТ достаточно долго, схема работы, где бизнес говорит, что нужно делать, а ИИ-команда отвечает за качественную реализацию, кажется логичной и единственно верной. Но если перевести в деньги результаты ИИ-команд, которые работают в таком режиме, станет ясно, что всё не так хорошо. Часто строится много штук, красивых на бумаге, но без понятных бизнес-эффектов.Почему так происходит: • В схеме «заказчик и исполнитель» никто не отвечает за результат по-настоящему. • Когда решение о том, что делать ИИ-команде, принимает бизнес, это приводит к плохим решениям.Как возможно, чтобы никто не отвечал за результат?Вроде бы и бизнес, и ИИ-команда заинтересованы в успехе. Но что происходит дальше:• Для бизнеса цель «принеси пользу от ИИ» никогда не будет главной. Для продаж всегда на первом месте
    1,99021105211Открыть в Telegram
  • .ml

    11 авг., 07:52

    Как запустить ML-модель в реальном продукте?Это завершающий пост из серии о построении NBA для банковских продуктов. Мы уже построили модели, научились быстро их обучать и нашли способ работать даже при небольшом количестве данных. Но на практике этого оказалось мало. Чтобы система заработала в реальных условиях, пришлось внести ещё несколько изменений.Холдирование клиентовПредставим, что менеджер собирает аудиторию в Excel-файл и передаёт его в отдел рассылок. Между этим моментом и фактической отправкой письма может пройти от нескольких часов до нескольких дней.За это время могут возникнуть две неприятные ситуации:• Аудитории начнут пересекаться. Пока одна команда готовит рассылку, другая может выбрать тех же самых клиентов для своей кампании. В результате один человек получает сразу несколько писем или звонков подряд.• Аудитория может «сгореть». Например, менеджер
    2,310147611Открыть в Telegram
  • .ml

    4 авг., 08:39

    Как обучить 66 моделей и не сойти с ума?Продолжаем серию постов о построении NBA для банковских продуктов. В предыдущем посте мы рассказывали о модели отклика на продукт, которая показывает вероятность подключения без дополнительных коммуникаций.Так как в банке 66 разных продуктов, то модель отклика нужно построить для каждого. Если делать их руками — подбирать фичи, чистить данные, тюнить гиперпараметры, проверять качество, — уйдёт сотни часов работы дата-сайентистов. Поэтому мы решили автоматизировать процесс.Использовали библиотеку LightAutoMLОна закрывает большую часть стандартного пайплайна обучения:• отбирает наиболее значимые признаки; • обучает несколько моделей параллельно; • подбирает оптимальные параметры • объединяет лучшие модели в ансамбль.По сути библиотека берёт на себя большую часть той работы, которую дата-сайентист выполняет вручную.Полный цикл обучения
    2,580161674Открыть в Telegram
  • .ml

    30 июл., 06:22

    Построение модели Next Best ActionЭто продолжение серии постов о построении NBA. В прошлом посте мы рассказывали, что классическое uplift-моделирование плохо подходит для банковских продуктов. Чтобы получить статистически значимый результат, нужно провести кучу A/B-тестов и отправить миллионы сообщений.Поэтому мы сделали несколько инженерных допущений:1. Стали считать эффект только после взаимодействия с коммуникацией. Если клиент вообще не открыл письмо или не кликнул по баннеру, это приравнивается к отсутствию коммуникации:P(Y_Pr=1|Z=0, At=1,C,x) ≈ P(Y_Pr=1| At=0,x)Z — {0, 1} — факт клика на коммуникацию.Это допущение упрощает дальнейшее моделирование и позволяет отказаться от сложного персонального Uplift. Теперь его можно рассчитать по формуле:Δ(x,C,Pr) ≈ P(Z=1|At=1,C,x) (P(Y_Pr=1|Z=1, At=1,C,x) - P(Y_Pr=1| At=0,x))2. Оценили влияние канала на продукт без
    2,54013662Открыть в Telegram
  • .ml

    24 июл., 08:57

    Как посчитать пользу коммуникации?В прошлом посте мы рассказывали о построении NBA для банковских продуктов. Теперь возникает вопрос: как понять, какое действие будет лучшим для конкретного клиента?Чтобы выбрать коммуникацию, которая принесёт максимум пользы, используем формулу ожидаемой ценности (Expected Value):EV(x,C,Pr) = Δ(x,C,Pr)LTV(x,Pr)-Cost(C)x — признаки клиента; С — канал коммуникации; Pr — продукт; Δ(x,C,Pr) — инкремент к вероятности подключения продукта Pr через канал С для клиента х; Cost(C) — стоимость одной коммуникации в канале С.Сложнее всего понять, насколько коммуникация повлияла на решение. Для этого используем Uplift — прирост вероятности подключения продукта:Δ(x,C,Pr) = P(Y_Pr=1|At=1,C,x)-P(Y_Pr=1|At=0,C,x)Y_Pr=1 — факт подключения продукта Pr; At — факт коммуникации.
    2,63013955Открыть в Telegram
  • .ml

    22 июл., 10:11

    Как продвигать банковские продукты и не превратить коммуникации в спам?Представьте банк, у которого десятки продуктов: расчётные счета, эквайринг, бухгалтерия, зарплатные проекты, страховки, сейфы. Каждый из них нужно продвигать и выполнять бизнес-показатели. Но есть проблема: все эти продукты нужны одним и тем же клиентам.Как обычно выглядит процесс продвижения: Менеджер с аналитиком придумывают гипотезу → выбирают аудиторию по бизнес-фильтрам (например, «клиенты с оборотом больше X рублей») → загружают список в Excel → запускают рассылку.Проблема в том, что точно так же работают и остальные продуктовые команды.В результате один и тот же клиент может за неделю получить сразу несколько предложений: подключить эквайринг, оформить бухгалтерию, открыть депозит или воспользоваться новым сервисом для бизнеса. Каждая коммуникация сама по себе выглядит логично, но вместе они начинают
    2,540191144Открыть в Telegram
  • .ml

    30 июн., 07:02изменён

    Эволюция Attention: эра гибридных моделейЭто завершение серии постов про путь линейного attention. После S4 архитектуры прошли несколько этапов развития:📌 Mamba — впервые для SSM сделала параметры зависимыми от входа. Благодаря этому модель умеет хранить контекст в памяти и адаптивно решает, что забывать, а что помнить в зависимости от контекста. Поэтому при селективном копировании информации выигрывает у стандартной S4.Главный минус: память со временем накапливает не только полезную информацию, но и ошибки. Когда модель пытается что-то извлечь, то получает не чистый сигнал, а смесь данных и шума (retrieval error). Это особенно заметно на длинных последовательностях. 📌 DeltaNet — смогла решить проблему «грязной памяти». Каждый раз, когда модель добавляет новую информацию, то выполняет проверку:• Достаёт из памяти текущее представление вместе с накопленным шумом. • Оценивает,
    3,1201697111Открыть в Telegram
  • .ml

    23 июн., 07:29

    CancelledError — всего лишь очередное исключение. Или не совсем?Когда пользователь закрывает соединение, срабатывает таймаут или отменяется TaskGroup, под капотом запускается довольно сложный механизм прерывания Python-кода.В статье разобрали:• что на самом деле происходит при отмене задачи в asyncio; • что такое CancelledError с точки зрения event loop; • как устроен протокол cancel/uncancel и как это связано с TaskGroup и asyncio.timeout; • какие подводные камни возникают при ипользовании asyncio.shield.Статья для всех, кто пишет на Python и хочет лучше понимать внутренности asyncio ⬇️
    3,2301075Открыть в Telegram
  • .ml

    16 июн., 09:22

    Эволюция Attention: S4 и работа с длинным контекстомПродолжаем серию постов про путь линейного внимания. После RWKV стало понятно: чтобы уйти от дорогого Attention, память должна уметь работать с длинным контекстом. Нужно не просто хранить информацию, а обновлять её во времени.📌 Параллельно с RWKV развивалась архитектура State Space Models (SSM)Изначально SSM пришла из физики и математики — там использовали такие модели, чтобы описывать системы с памятью.x'(t) = Ax(t) + Bu(t) y(t) = Cx(t) + Du(t)Что происходит внутри:Входной сигнал преобразуется → смешивается с текущим состоянием (памятью) → состояние обновляется → из него формируется выход.То есть память становится не просто суммой прошлого, а динамическим состоянием.Так как язык — это дискретная последовательность, в SSM добавили параметр Δ. Он отвечает за «шаг времени» между токенами: то, как сильно должна измениться
    3,5701985311Открыть в Telegram
  • .ml

    3 июн., 07:02изменён

    В предыдущем посте мы рассказали, что такое conformal prediction и зачем он нужен. Но наверняка у вас появились вопросы:1. А как именно модель понимает, насколько конкретный объект «странный» или «рискованный»? 2. Как обучается конформный предиктор?Ответ на первый вопрос: через меру некомфортности. Мера некомфортности — это функция, которая показывает, насколько плохо конкретная пара (x, y) согласуется с моделью и уже известными данными.Мерами некомфортности могут быть как простые функции, например, MAE или hinge_loss:nonconformity_mae = |y_true - y_pred| nonconformity_hinge = 1 - P(true_class) так и более сложные, например, оценка Брайера.Интуитивный примерДопустим, модель классифицирует изображения. Для обычной картинки модель говорит: Barbie: 0.02 Ken: 0.97 Oppenheimer: 0.01
    3,24019167311Открыть в Telegram
  • .ml

    26 мая, 09:04

    Эволюция Attention: переход к линейным моделямЭто продолжение серии постов про путь линейного Attention. В прошлый раз мы выяснили, что трансформеры имеют квадратичную сложность, из-за чего плохо масштабируются на длинные последовательности и требуют много памяти.📌 Linear Attention впервые поменял подход к вычислению. Он позволил разложить kernel-функцию и вместо exp(QKᵀ) использовать φ(Q) · φ(K). Благодаря этому получилось:• перегруппировать вычисления; • сначала посчитать K · V; • потом применить Q.Но главное: сложность стала линейной по длине последовательности (вместо квадратичной). Модель работала быстрее и экономнее по памяти, но вместе с этим теряла точность.Обычный Attention хранит токены по отдельности, а линейный — складывает информацию в общую «сводку» контекста. Благодаря этому модель хорошо понимает общий смысл, но плохо запоминает детали.Встала задача:
    3,190241182Открыть в Telegram
  • .ml

    21 мая, 10:46изменён

    Мы на AHA’26 и в AI Talent HUBЛиза Афанасьева выступит на AHA’26 с докладом про данные для обучения LLM:Мы обучили Qwen 235B так, что на наших задачах модель работает на уровне GPT-4.1, при этом существенно снижая затраты компании.В докладе расскажу, как мы готовим и фильтруем данные для обучения inhouse LLM, какие пайплайны используем на разных этапах и какие ошибки успели собрать по пути. В результате слушатели получат практический рецепт, который поможет дообучить open-source LLM под свою задачу с упором на главное — качественные данные.Влад Попов в AI Talent HUB расскажет, как чинить ретривы без покупки нового железа:Мы долго работали над улучшением ретривы: тестирование различных архитектур, построение бенчмарков, поиск и создание качественных данных.Теперь готов рассказать, почему ретривы со временем перестают работать, как правильно измерять их качество и какие
    3,420201072Открыть в Telegram
  • .ml

    18 мая, 08:20

    Эволюция Attention: от RNN к TransformerОткрываем серию постов, в которых расскажем про путь к линейному Attention.До трансформеров в задачах перевода и классификации в основном использовали рекуррентные модели (RNN). В 2014 году появился механизм Attention. Он позволил не просто читать текст последовательно, а смотреть все входные токены и оценивать, какие из них важны для генерации.Как это работало:Двунаправленная RNN кодировала входную последовательность → для каждого шага декодера считалась релевантность входных токенов → получались веса через softmax → на их основе формировался контекст для генерации следующего токена.Это дало заметный прирост качества в машинном переводе. Но главная проблема RNN оставалась — они работали плохо на длинных последовательностях. Чтобы «понять» слово, модели нужно было пройти весь текст и дойти до него.Трансформеры стали следующим шагом
    3,95033111171Открыть в Telegram
  • .ml

    8 мая, 11:29изменён

    Верите ли в надёжный ML так же, как в него верим мы?Наверняка вам приходилось сталкиваться с требованиями калибровки модели, интерпретируемости, объяснимости. Но что делать, если в какой-то момент нужно получить ответ на вопрос:Насколько можно доверять этому конкретному предсказанию?Тут нам на помощь приходит conformal prediction. Это подход, который добавляет к предсказаниям модели оценку неопределённости.Обычная модель говорит: спрос завтра будет 100 единиц.Conformal prediction говорит: спрос завтра, скорее всего, будет от 80 до 125 единиц.В случае классификации обычная модель говорит: на фотографии объект А.Conformal prediction говорит: наиболее вероятно, что на изображении объект A или C.Если формализовать задачу, то мы хотим строить такие интервалы или множества ответов, которые будут содержать правильный ответ примерно в p% случаев на новых данных. Размер этого
    3,9902914831Открыть в Telegram
  • .ml

    28 апр., 08:53изменён

    Блайндбоксы в мире ML: насколько Labubu поднял конверсию, и как разработчики чуть всё не уронилиВ прошлом посте мы разобрали, как работает микросервис Labubu. Теперь разберём, к чему привело внедрение Labubu в компанию.📌 Как обработка коммуникаций едва не заняла все ресурсыКак мы помним, инференс классификатора — дорогое удовольствие. Если NLP-инженер неправильно задал промпты или тимлид выбрал не те критерии, микросервис потратит ресурсы воркеров впустую. Поэтому перед полной выгрузкой проводится проверка: вместо желаемого количества подходящих коммуникаций выдаётся 20.Пользователь Labubu анализирует выданные данные и оценивает качество отбора. Если всё в порядке, запускает процесс для остальных данных.В итоге у Labubu есть две задачи:1) Быстро выдать 20 коммуникаций для проверки. 2) Быстро обработать весь запрашиваемый объем.Проблема: пользователь может запросить
    3,550221111Открыть в Telegram