Search
Write a publication
Pull to refresh
-2
0.1
Send message

Разбираем особенности алгоритмов CatBoost и LightGBM: какой от них профит

Level of difficultyMedium
Reading time11 min
Views21K

Всем привет. Меня зовут Артур. Готовясь к выступлению на внутреннем митапе по теме особенности алгоритмов у CatBoost и LightGBM, я понял, что не смог найти единого места, где были бы понятным языком рассказаны основные особенности того, что алгоритмически работает под капотом у CatBoost и LightGBM. Причём не формальные записи алгоритмов на псевдокоде, а понятные пошаговые инструкции. Так появилась эта статья.

Читать далее

Как сделать свой AnythingGPT, отвечающий на вопросы так, как вам это необходимо (Python, OpenAI Embeddings, ChatGPT API)

Level of difficultyMedium
Reading time17 min
Views19K

Всем привет! Недавно я на практике применил одно интересное решение, которое давно хотел попробовать, и теперь готов рассказать, как своими руками такое можно сделать для любой другой аналогичной задачи. Речь пойдет о создании своей кастомизированной версии ChatGPT, которая отвечает на вопросы, учитывая большую базу знаний, которая по длине не ограничивается размером промта (то есть вы бы не смогли просто добавить всю информацию перед каждым вопросом к ChatGPT). Для этого будем использовать контекстные эмбеддинги от OpenAI (для действительно качественного поиска релеватных вопросов из базы знаний) и сам СhatGPT API (для оборачивания ответов в натуральный человеческие ответы). При этом, также предполагается, что ассистент может отвечать не только на прямо указанные в Q&A вопросы, но и на такие вопросы, на которые смог бы отвечать человек, который ознакомился с Q&A. Кому интересно научиться делать простых ботов, отвечающих по большой базе знаний, добро пожаловать под кат.

Под кат

Как аннотировать документы для обучения ИИ распознавания текста

Reading time6 min
Views2.6K

Введение в ИИ для распознавания текста



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

Однако обработка неструктурированных данных, например, PDF или отсканированных документов, при помощи ИИ — не такая уж простая задача. Для обучения и поддержки инструментов ИИ обработки и парсинга документов необходимо высококачественное аннотирование данных.

По оценкам специалистов, рынок интеллектуальной обработки документов к 2028 году вырастет до 6,3 миллиардов долларов, а большая часть решений для распознавания текста в этой сфере уже использует ИИ и машинное обучение.
Читать дальше →

«Событие Кэррингтона» 1859 года разрушило телеграфные линии. «Событие Мияке» может стать намного хуже

Reading time9 min
Views70K

В конце лета 1859 года, сразу после полуночи, золотоискатели, дремавшие в Скалистых горах Колорадо, проснулись от полярного сияния. Они описывали его «Такое яркое, что можно было легко видеть друг друга». В своем репортаже об этом, опубликованном в The Rocky Mountain News, газета утверждала, что «некоторые настаивали на том, что это был дневной свет, и начали готовить завтрак».

В тысячах километров оттуда, толпа собралась на улицах Сан-Франциско, тоже глядя наверх. «Все небо, казалось, покрылось волнами, что-то вроде полей зерна на сильном ветре. Воды залива отразили блестящие оттенки Авроры», — написал один журналист из San Francisco Herald 5 сентября 1859 года. — « Ничто не может превысить величие и красоту этого зрелища. Эффект почти сбивает с толку своей невероятностью, и тысячи испытывают смешанное чувство страха и восторга». Похожим опытом в те дни поделились жители всего мира, но больше всего явление было заметно на западе США.

Читать далее

Улучшаем прогнозы Facebook* Prophet с помощью LightGBM и Optuna

Level of difficultyMedium
Reading time10 min
Views6.9K

В данной статье я расскажу о нескольких полезных способах улучшения качества предсказаний модели Facebook Prophet. В этой статье я не буду уделять внимание таким подходам, как denoising или различным трансформациям (например, box-cox), а сконцентрируюсь на двух методах, которые позволят получить лучшее качество, не внося изменения в данные.

На Хабре уже есть подробные обзоры о Prophet (ссылка), поэтому мы ограничимся кратким введением. Prophet — это аддитивная линейная модель (GAM) для прогнозирования временных рядов, которая объединяет несколько компонентов для выявления различных закономерностей в данных (тренд, сезонность, праздники и т.д.). Даже спустя несколько лет после релиза Prophet остается одним из лучших решений для одномерного прогнозирования (univariate forecasting).

Одной из ключевых особенностей Prophet является то, что он генерирует не только прогнозы, но и признаки как для тренировочных, так и для тестовых данных. Поэтому возникает идея: «Почему бы не использовать эти данные в какой‑нибудь другой модели?». Это похоже на стекинг, где результаты первой модели улучшаются мета-моделью. Такой подход достаточно хорошо известен и иногда используется, например, в Microsoft Azure ML.

Продолжение этого подхода — обучение нескольких Prophet'ов с использованием данных, агрегированных на разных временных шкалах. Например, если у нас есть данные с ежедневной частотой, они могут быть сильно зашумленными, что затрудняет выявление более общих паттернов (недельных или месячных). Чтобы преодолеть эту проблему, можно агрегировать исходные данные на более высоком временном уровне, используя сумму, среднее или медиану, а затем обучить отдельные модели Prophet на этих данных. Таким образом можно сгенерировать дополнительные признаки для обучения мета-модели.

Читать далее

Будни техпода. Стриминг через VDS-сервер

Level of difficultyMedium
Reading time4 min
Views10K
Источник

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

В этом примере мы будем использовать ПО Restreamer, и через протокол RTMP настроим передачу трансляции на VDS-сервер, а затем на стриминговую платформу. Благодаря открытому исходному коду, Restreamer можно бесплатно установить и настроить на VDS-сервере. Главным преимуществом стриминга через VDS является то, что основная нагрузка по обработке транслируемого видео будет ложиться именно на сервер, тем самым разгружая ваш ПК. Также с помощью этого метода нам будет доступна возможность многократного вещания одного видеопотока на различные платформы и сервисы одновременно.
Читать дальше →

Оптимизация изображений для пользователей с медленным интернетом с помощью Network Information API

Level of difficultyMedium
Reading time6 min
Views5.7K

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

Для нашего проекта combat-sport.club как раз актуальна ситуация, когда взвешивание перед проведением соревнований нередко происходит в каком-нибудь подвальном помещении с плохой связью, и тяжелый SPA с большим количеством медиа может грузиться очень долго. В свою очередь это влияет и на возможность работать с платформой и в целом на удовлетворенность пользователей.

Можно считать это как продолжение серии моих статей про оптимизацию в целом: раз и два.

В этой статье я рассмотрю один из методов оптимизации сайта для пользователей с медленной скоростью интернета - Network Information API. Это API с большим набором различной информации о сети, но пока не с самой лучшей поддержкой среди браузеров. Тем не менее это не повод не использовать его для тех пользователей, чей браузер это поддерживает - а это около 73% глобальных пользователей. Примеры кода будут на Vue.

Читать далее

YandexGPT в Браузере: как мы учили модель суммаризировать статьи

Reading time7 min
Views31K
Неделю назад на сайте 300.ya.ru мы продемонстрировали возможности языковой модели YandexGPT применительно к задаче суммаризации текстов. С тех пор многое изменилось: мы обучили новую, более качественную модель, в пересказах которой в 4 раза меньше ошибок. А сегодня мы внедрили её в Яндекс Браузер. Может показаться, что мы просто взяли ту же модель, о которой уже рассказывали сообществу на примере Алисы, и прикрутили к ней кнопку в Браузере. Но не всё так просто. Да, наша базовая модель уже понимала, что такое суммаризация в общих чертах. Но для нас было важно добиться результата в нужной нам форме и с предсказуемым качеством. И вот тут-то начинаются нюансы.

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



Читать дальше →

Поиск изображений

Reading time5 min
Views13K

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

Читать далее

Эмодзи как альтернативный способ поиска в картографических сервисах

Level of difficultyEasy
Reading time8 min
Views1.3K

Приложение.

Введение

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

За каждым эмодзи стоит определённое его значение. Примеры — можно посмотреть в поиске по эмодзи и / или же в специальных сервисах перевода, например в Яндекс.Переводчике. Есть значения, которые вполне можно использовать в поиске.

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

А вот в картах за счёт контекста — можно сузить возможную потребность до навигационной и тем самым, возможно, избежать необходимости использования дополнительных уточняющих слов. Если на картах человек вбивает в качестве запроса ?, то это по идее также как и запросы «такси», «заказать ?», «заказать такси» может означать именно поиск такси. Это значит, что эмодзи как возможный язык ввода, кажется, в ряде случаев может быть вполне применим и самодостаточен (не требующий ввода дополнительных слов для уточнения потребности пользователя), потому что использование карт само по себе может сужать список возможных потребностей пользователей до необходимости найти конкретное место и/или организацию.

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

Один из способов реализовать возможность такого поиска — привязать к каждому эмодзи свой смысл-сущность, который будет одинаков на обеих сторонах:

картографического сервиса — при выдаче информации по запросу,

пользователя — для формирования запроса.

Читать далее

Фотогалерея на максималках

Reading time20 min
Views11K

~1 год назад я начал разрабатывать свою фотогалерею (песочницу для теста всяких технологий). Данная статья – это описание её архитектуры, а также различные твики/лайфхаки/микрогайды которые я узнал за время разработки + немного про производительность.

Читать далее

Фундаментальные концепции переобучения и недообучения в машинном обучении

Level of difficultyMedium
Reading time15 min
Views11K

Этот модуль дает интуитивно понятное введение в очень фундаментальные концепции переобучения и недообучения в машинном обучении. Модели машинного обучения никогда не могут делать идеальные прогнозы: ошибка теста никогда не равна нулю. Этот провал происходит из-за фундаментального компромисса между гибкостью моделирования и ограниченным размером обучающего набора данных .

Читать далее

Геокодер OSM на Java

Reading time15 min
Views27K
Привет, дорогие читатели хабра. В этой статье поговорим

  • Про адреса и хранилища данных с нечеткой схемой
  • Про обработку геоданных на java, а именно про Java Topology Suite
  • Про стоимость «простоты» для разработчика
  • Про pure Java nosql документную бд / движок полнотекстового поиска — Elasticsearch.

Читать дальше →

Как работают сервисы карт и маршрутизации

Level of difficultyEasy
Reading time8 min
Views7.7K

В период моей жизни, когда я работал в Санкт-Петербурге, пришла мне интереснейшая задача — создать и интегрировать в один проект функционал карт. По ограничениям бизнес требований, карта должна работать в условиях отсутствия интернета, при этом удовлетворять требования визуального отображения и построения маршрутов. Значит не было возможности использовать готовый API Яндекса или Google, так что пришлось реализовывать механизмы самому.

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

Как работают сервисы карт и маршрутизации?

Введение в GitHub Actions. Делаем пайплайн для деплоя Spring Boot проекта на VPS с помощью Docker

Level of difficultyEasy
Reading time4 min
Views16K

В этой статье я расскажу как построить простой пайплайн для деплоя Spring Boot проекта на сервере используя GitHub Actions и Docker.

Читать далее

Как построить систему геоаналитики с применением ML

Reading time10 min
Views6.3K


Геоаналитика помогает бизнесу принимать решения: где открыть магазин, построить отель или возвести новостройку с учетом доступности и популярности локации, наличия конкурентов и сотен других факторов. Решать подобные аналитические задачи с большим количеством значимых признаков помогает машинное обучение. В этой статье мы рассмотрим примеры работы сервисов геоаналитики VK Predict. Выясним, какие модели машинного обучения используются при построении таких систем и из каких этапов состоит разработка продукта с возможностями геоаналитики.

Статья подготовлена на основе вебинара команд VK Predict и VK Cloud. 
Читать дальше →

Проектирование ML-сервиса для прогнозирования котировок акций (для Advisors’ Axiom от Росбанка)

Level of difficultyMedium
Reading time6 min
Views3.5K

Привет, меня зовут Илья Померанцев, я руководитель ML-направления в Globus IT. Расскажу, как мы разработали нейросеть для оценки тональности новостей для инвестиционной платформы Advisors’ Axiom от Росбанка.

О проекте

Инвестиционная платформа Advisors’ Axiom — это площадка для совместной работы инвесторов сегмента Premium и VIP, инвестиционных консультантов и финансовых экспертов, разработанная ПАО «Росбанк».

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

Задача

Задача сервиса — получение, оценка (классификация) финансово-экономических новостей на основе машинного обучения модели нейронной сети для классификации текстов финансово-экономической направленности по трем видам тональностей.

Читать далее

Тестируем новые языковые модели. WizardLM

Level of difficultyEasy
Reading time12 min
Views7.7K
Ещё до выхода «утёкшего» внутреннего документа от Google стало ясно, что намерение OpenAI закрыть всю техническую информацию по моделям GPT-3.5 и GPT-4 вызывает у сообщества ещё больше желания иметь доступную открытую реализацию модели. Недавняя презентация Bard AI от Google на базе модели PaLM 2, не показала каких-то новых прорывных сверхвозможностей и примерно равна уровню GPT-4.

Так по мнению авторов выглядит иллюстрация к их модели:

image

Это может косвенно свидетельствовать о том, что нащупан некий промежуточный барьер в текущем витке развития LLM и дальнейшее улучшение будет уходить в расширение поддержки мультимодальностей, таких как аудио, видео и других данных, а так же улучшение архитектуры и повышение размера контекста.
Читать дальше →

Как мы придумали и запустили совместные поездки в Яндекс Go

Level of difficultyEasy
Reading time8 min
Views14K

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

Меня зовут Полина Белобородова, в Яндекс Go я руковожу командой аналитики новых продуктов в рамках эффективности платформы. И сегодня расскажу про то, как мы придумывали, тестировали и запускали тариф для поездок с попутчиками «Вместе».

Читать далее

Реализация двустороннего A* на двух потоках

Level of difficultyHard
Reading time10 min
Views5.7K

На Хабре можно найти немало статей, посвящённых оптимизациям поиска кратчайшего пути на графе. Я расскажу ещё про еще один подход. Речь пойдёт о распараллеливании алгоритма A* и исполнении его на двух потоках, а также о сложностях, с которыми я столкнулся при реализации, и их преодолении.

Читать далее

Information

Rating
5,603-rd
Registered
Activity