Pull to refresh
1
0
Алексей Ефремов @alekseyefremov

Пользователь

Send message

Новое в Pure.DI

Level of difficultyMedium
Reading time14 min
Views2.1K

Эта статья о том, что появилось нового в генераторе исходного кода Pure.DI с момента выхода предыдущей статьи Pure.DI v2.1. Помимо исправления некоторых ошибок основной акцент был сделан на упрощении использования API для настройки генерации кода. Появилась возможность определить корни композиции обобщенных типов. Добавились накопители, что решило вопрос утилизации объектов со временем жизни отличным от Lifetime.Singleton и Lifetime.Scoped. Удалось улучшить производительность методов Resolve() и корней композиции.

Читать далее
Total votes 5: ↑6 and ↓-1+7
Comments2

Как создать telegram бот на C# быстро?

Reading time6 min
Views146K

Как создать telegram bot на C# быстро?

В этой статье мы рассмотрим заготовку для создания telegram бота на C#. В связи с последними обновлениями TelegramBotAPI, большая часть удачных с моей точки зрения публикаций на эту тему несколько устарело. Потому предлагаю разобраться в этой теме.

Читать далее
Total votes 32: ↑24 and ↓8+16
Comments39

Вы за это заплатите! Цена Чистой Архитектуры. Часть 1

Level of difficultyMedium
Reading time11 min
Views24K

Всем привет, меня зовут Артемий, я работаю старшим Android-разработчиком в команде пользовательского профиля в RuStore. Мой опыт в индустрии уже 8 лет. За это время я успел поработать в разных проектах и компаниях. У меня был опыт работы в проекте, в котором было свыше 300 модулей и больше 60 Android-разработчиков. Такие условия заставляют задуматься о масштабируемости на принципиально ином уровне.

Сегодня я расскажу о способах обеспечения масштабируемости проекта и как этому может навредить неправильное восприятие Чистой Архитектуры (далее — ЧА). Предупреждаю сразу, это лонгрид в двух частях!

Читать далее
Total votes 64: ↑61 and ↓3+58
Comments65

Zigbee шлюз для счетчиков Меркурий

Reading time1 min
Views12K

Давно удивлялся, почему не смотря на распространенность счетчиков Меркурий и возможность съема с них показаний через RS-485, на рынке DIY устройств не было Zigbee шлюза для них. Этот пробел я решил восполнить самостоятельно.

Читать далее
Total votes 56: ↑54 and ↓2+52
Comments25

Настраиваем CI/CD с GitHub Actions и werf: инструкция для новичков

Level of difficultyEasy
Reading time12 min
Views8.4K

В этой статье мы рассмотрим, как настроить пайплайн CI/CD в GitHub: подготовим репозиторий, зальём туда приложение, создадим файлы конфигурации GitHub Actions, в которых опишем, как собирать наше приложение и деплоить его в кластер Kubernetes, развёрнутый под управлением Deckhouse Kubernetes Platform. Деплоить будем с помощью Open Source CLI-утилиты werf. Она помогает организовать полный цикл доставки приложений в Kubernetes и рассматривает Git как единый источник истины для состояния развёрнутого приложения. Статья рассчитана на тех, кто только начинает свой путь в мире облаков и кластеризации.

Читать далее
Total votes 28: ↑27 and ↓1+26
Comments2

Как сайты обнаруживают ботов по TLS

Level of difficultyMedium
Reading time3 min
Views6.2K

Порой случается так что несмотря на то что мы в точности повторяем запрос к сайту из своего любимого HTTP клиента в ответ мы получаем ошибку. Но ведь в браузере запрос проходит! В чём же дело? В этой статье мы с этим разберемся!

Читать далее
Total votes 23: ↑22 and ↓1+21
Comments6

Многорукие бандиты в задаче ритейла

Reading time9 min
Views3.3K

В настоящее время набирают популярность модели Reinforcement Learning для решения прикладных задач бизнеса. В этой статье мы рассмотрим подмножество этих моделей, а именно многоруких бандитов (multi-armed bandits). Также мы:

- обсудим, какие задачи теоретически могут быть решены с помощью этих моделей;
- рассмотрим некоторые популярные реализации моделей многоруких бандитов;
- опишем симулятор ценообразования, применим эти алгоритмы в нём и сравним их эффективность.

Читать далее
Total votes 12: ↑10 and ↓2+8
Comments5

О методах позиционного кодирования в Transformer

Level of difficultyHard
Reading time10 min
Views7.3K

Обзор методов кодирования позиций токенов в нейросетевых моделях Transformer с упором на обработку длинных текстов. Для тех, кто учит и использует LLM, и для всех интересующихся.

Читать далее
Total votes 24: ↑24 and ↓0+24
Comments11

Коммивояжёр за полином*

Level of difficultyHard
Reading time12 min
Views4.2K

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

Нет под рукой квантового компьютера? Не беда, читайте дальше и узнаете, как можно решать данную задачу на классическом компьютере за полиномиальное время* от числа вершин.

Читать далее
Total votes 16: ↑14 and ↓2+12
Comments38

«ИИ без границ»: как научить Transformer обрабатывать длинные тексты

Level of difficultyHard
Reading time12 min
Views7.5K

Разносторонний системный рассказ о том, какими способами можно научить модель работать с длинными последовательностями. Для специалистов, занимающихся обучением LLM, и всех, кто хочет разобраться в теме.

Читать далее
Total votes 30: ↑30 and ↓0+30
Comments3

RecTools – OpenSource библиотека для рекомендательных систем

Level of difficultyMedium
Reading time8 min
Views7.9K

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

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

К такому же выводу, видимо, пришли ребята из МТС – и выкатили в опенсурс RecTools. Это библиотека, где собраны самые часто используемые модели для рекомендательных систем. Также с её помощью можно максимально просто и быстро оценивать необходимые метрики. 

Давайте же посмотрим, что RecTools умеет, и как с этим работать.

Читать далее
Total votes 13: ↑13 and ↓0+13
Comments4

Вставай, Наташа, «Яндекс» все уронил. Или что делать, если «Директ» перестал приносить заявки?

Level of difficultyEasy
Reading time11 min
Views2.9K

Рекламная кампания хорошо работала несколько месяцев и вдруг "сломалась"? Лидов стало меньше или они пропали совсем. Возможно, количество заявок изменилось не сильно, но они стали дороже и рекламного бюджета уже не хватает. К сожалению, сегодня такая проблема — не редкость. Многие специалисты по контексту жалуются на нестабильность Яндекс Директа. 

Читать далее
Total votes 8: ↑3 and ↓5-2
Comments0

Лиды с Директа в 2–3 дешевле: лайфхак при настройке Мастеров кампаний

Reading time4 min
Views1.4K

Два года назад Яндекс выкатил Мастер кампаний. Споры по эффективности МК не утихают до сих пор, звучат негативные оценки. Мы тоже были настроены скептически, но при тесте различных форматов нашли методику работы с МК. Она позволила уменьшить стоимость лида в 2–3 раза. Расскажем, как нам это удалось.

Читать далее
Total votes 6: ↑4 and ↓2+2
Comments2

Reinforcement learning для оптимизации цен в ритейле

Level of difficultyMedium
Reading time14 min
Views3.2K

Динамическое ценообразование является современным подходом к ценообразованию в ритейле. Оно напрямую связано с моделированием спроса, что позволяет проводить оптимизацию цен на будущий период. В этой задаче популярным решением является использование машинного обучения, однако, есть мнение, что Reinforcement Learning (а именно, многорукие бандиты), способны выступить сильной альтернативой моделям ML для динамического ценообразования. Но так ли это на самом деле? Попробуем разобраться в этой статье, держа в уме практические аспекты.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments0

Как (быстро) сделать русский локальный ChatGPT

Level of difficultyMedium
Reading time7 min
Views37K

Эта история началась в начале марта этого года. ChatGPT тогда был в самом расцвете. Мне в Telegram пришёл Саша Кукушкин, с которым мы знакомы довольно давно. Спросил, не занимаемся ли мы с Сашей Николичем языковыми моделями для русского языка, и как можно нам помочь.

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

После этого мы какое-то время продолжали какое-то время делать всё то же самое. Я потихоньку по инерции расширял rulm новыми наборами данных. Посчитав, что обучить базовую модель нам в ближайшее время не светит, мы решили сосредоточиться на дообучении на инструкциях и почти начали конвертировать то, что есть, в формат инструкций по аналогии с Flan. И тут меня угораздило внимательно перечитать статью.

Читать далее
Total votes 90: ↑89 and ↓1+88
Comments54

Как сделать контекстное окно на 100K в большой языковой модели: обо всех фокусах в одном посте

Reading time17 min
Views7.1K

От переводчика: выражаю огромную искреннюю благодарность Дмитрию Малову @malovdmitrijза консультации по ходу этого перевода, помощь в подборе формулировок, пояснение рисунков и незаменимую человеческую поддержку.

tldr; в статье рассмотрены приёмы, позволяющие ускорить обучение больших языковых моделей (LLM) и нарастить в них логический вывод. Для этого нужно использовать большое контекстное окно, в котором умещается до 100K входных токенов. Вот эти приёмы: ALiBi с подмешиванием в вектор позиции слова в последовательности (positional embedding), разреженное внимание (Sparse Attention), мгновенное внимание (Flash Attention),  многозапросное внимание, условные вычисления и GPU A100 на 80 ГБ.  

Читать далее
Total votes 21: ↑21 and ↓0+21
Comments1

Генерация текстов, кластеризация и определение E-A-T и коммерческости запросов на нейросети OpenAI (GPT-3)

Level of difficultyMedium
Reading time19 min
Views2.4K

Всем привет! Сегодня я хочу показать 5 примеров использования искусственного интеллекта (ИИ) на нейросети OpenAI (GPT-3) применительно к SEO: это кластеризация поисковых запросов, определение степени коммерциализации запросов, оценка качества контента Google E-A-T, генерация статей по ключевым словам и извлечение сущностей из текста.

Все это делается с регистрацией, СМС и только через VPN, но, в отличии от классических способов, применяемых сеошниками – без использования поисковых систем. Только OpenAI, только хардкор!

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments4

MiVOLO: новая State-of-the-Art нейросеть с открытым исходным кодом для определения пола и возраста по фотографии

Level of difficultyMedium
Reading time12 min
Views4.6K

Привет, Хабр!

Хочу рассказать вам нашу историю о том, как изначально рутинная рабочая задача закончилась созданием открытой state-of-the-art нейросети, научной работой и новым датасетом.

Читать далее
Total votes 24: ↑24 and ↓0+24
Comments9

RSync на стероидах с поддержкой Windows

Level of difficultyMedium
Reading time5 min
Views29K


На Хабре периодически рассказывают о новых инструментах для синхронизации данных. Это интересная тема. Такие программы используются:

  • для синхронизации файлов на разных устройствах,
  • дедупликации,
  • резервного копирования,
  • сжатия.

Малейшая оптимизация даёт экономию трафика, места, ускоряет синхронизацию и общую производительность любых систем. Всё, везде и сразу. В эпоху веб-приложений и клиент-серверной архитектуры со множеством девайсов, которые работают в единой инфраструктуре, синхронизация — Святой Грааль, одна из базовых технологий в компьютерной области.

Кроме того, инструменты синхронизации интересны с алгоритмической точки зрения. Любопытно, как люди умудряются оптимизировать базовые алгоритмы типа rsync, которые вроде бы работают идеально. Но нет, всегда можно придумать что-то получше.
Читать дальше →
Total votes 62: ↑62 and ↓0+62
Comments27

Как извлечь больше данных о посетителях сайта через «Яндекс.Метрику» при помощи Python и с минимумом библиотек

Reading time8 min
Views8.5K

Меня зовут Андрей Устьянцев, я ведущий аналитик направления Big Data в Лиге Цифровой Экономики. Эту статью я задумал как вторую в цикле материалов (первую об улучшении лендинга на основе метрик вы можете прочитать здесь). Сам текст будет полезен аналитикам, которым необходим более глубокий анализ данных о посетителях сайта, чем предоставляет стандартный интерфейс «Яндекс.Метрики». Или тем, кто хочет объединить данные из «Метрики» с другими источниками (например, из CRM) для визуализации, поиска инсайтов, проверки продуктовых гипотез etc.

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments1
1
23 ...

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity