Обновить
699.81

Машинное обучение *

Основа искусственного интеллекта

Сначала показывать
Порог рейтинга
Уровень сложности

Бэггинг и случайный лес. Ключевые особенности и реализация с нуля на Python

Уровень сложностиСложный
Время на прочтение13 мин
Количество просмотров14K

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

Читать далее

Quantization Deep Dive, или Введение в современную квантизацию

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров34K

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

Потом я перешёл в команду YandexGPT. Вместо маленьких моделей я стал работать с очень крупными. Мне стало интересно, как устроена квантизация больших языковых моделей (LLM). Ещё меня очень впечатляли истории, где люди берут гигантские нейросети, квантизируют в 4 бита и умудряются запускать их на ноутбуках. Я решил разобраться, как это делается, и собрал материал на доклад для коллег и друзей. А потом пришла мысль поделиться знаниями с более широкой аудиторией, оформив их в статью. Так я и оказался на Хабре :)

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

Читать далее

Расчёт вкусов пользователя для ленты рекомендаций с применением item2vec-подхода

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров2.9K

Ежемесячная аудитория ОК только в России превышает 36 млн человек. Причём это активные пользователи, которые хорошо взаимодействуют с нашим контентом: ставят Классы, комментируют, делают репосты. Залогом активного отклика во многом является формирование новостной ленты с учетом предпочтений каждого конкретного пользователя.

Меня зовут Дмитрий Решетников. Я тимлид команды рекомендаций в Ленте ОК. В этой статье я расскажу, как выглядит наш пайплайн рекомендации в ленте новостей, о месте item2vec в нём и результатах внедрения такого подхода.

Читать далее

Классификация экзопланет (часть I обработка данных)

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров1.6K

В космосе есть нечто завораживающее и прекрасное, в то же время человек устроен так, что ему если ему что то не известно, то стоит этого бояться (спасибо нашим мамам папам в n-ном поколении за столь широкий диапазон восприятия информации и реагирования на неё), тем не менее всегда находились безумцы исследователи, мечтатели и просто люди, которым в лом заниматься тем, что уже итак без них придумали и хорошо работает, поэтому они стремились придумать что то новое. Кто то занимается курсами по бесконечным саморазвитиям, открывает новые виды дыхания, а также наполняет свои чакры и чувствует прилив сил, а кто-то действительно пытается обнаружить то, что обычному человеку скорее всего в ближайшие лет 50 (а может и больше) не понадобится, ведь вряд-ли мы сможем покинуть нашу солнечную систему раньше этого срока. Однако в том чтобы смотреть в ночное небо и пытаться нарисовать у себя в голове линии, которые называют большой медведицей или тот же ковш, а может и повезет увидеть млечный путь во всей своей красе, есть нечто притягательное и необычное, то что заставляет одновременно почувствовать себя, как говорят некоторые маленькой точкой, но в то же время не забываем что у нас есть микромир, для которого человек, грубо говоря уже сам является целой вселенной. Как писала Лиза Рэндалл в 'достучаться до небес', человек, он где то посередине всего этого мира.

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

Читать далее

Материалы для подготовки к собеседованию на позицию Data Scientist. Часть 2: Классическое машинное обучение

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров19K

Привет! Меня зовут Артем. Я работаю Data Scientist'ом в компании МегаФон (платформа для безопасной монетизации данных OneFactor).

В предыдущей статье я поделился материалами для подготовки к одному из самых волнительных (для многих) этапов - Live Coding.

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

Читать далее

Предварительная обработка данных для машинного обучения

Уровень сложностиСложный
Время на прочтение13 мин
Количество просмотров13K

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

Читать далее

ИИ в 3D: Где мы сейчас и какое будущее нас ждёт? (Часть 3)

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров3.5K

Мир, в котором мы с вами живём и который непосредственно ощущаем, является объёмным: расположение любой точки в нём можно описать тремя координатами, и этот факт элементарно зашит в нашу природу. Чем больше “понимания” система искусственного интеллекта будет иметь относительно истинной сущности вещей, включая их расположение, форму и объем, тем легче она будет справляться с задачами, которые до сих пор мог выполнять только человек. 

В этой статье разберём, как ИИ помогает решать одну из ключевых задач робототехники, а именно - понимание и ориентация в объёмных пространствах!

Читать далее

Симуляция миров: как работает нейросеть SORA

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров15K
Видеоконтент стал неотъемлемой частью нашей жизни. ТикТок, Ютуб и прочие платформы с каждым днём всё больше используются людьми как способ отвлечься от повседневности и позволяют ненадолго предаться прокрастинации. Кто бы что ни говорил, но в 2024 году человек не представляет без него жизни, но создание качественного контента это довольно трудоемкая задача. В ней нам может помочь новая нейросеть OpenAI “SORA”.

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

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

Мозг промышленного масштаба или как воплотить мечту в реальность?

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров3.7K

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

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

В этой статье мы подробно рассмотрим жизненный цикл ML-сервиса от идеи до разработки и внедрения, а также инструменты и принципы, используемые на каждом этапе. 

Читать далее

FinRL: Библиотека глубокого обучения с подкреплением для автоматизированной торговли акциями

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров14K

Глубокое обучение с подкреплением (Deep Reinforcement Learning - DRL) является эффективным подходом в количественных финансах. Однако обучение торгового агента DRL, который бы решал, где торговать, по какой цене и в каком количестве, сопряжено с ошибками, а так же со сложной разработкой и отладкой.

Библиотека FinRL облегчает новичкам знакомство с количественными финансами и разработку собственных стратегий торговли акциями. Она позволяет пользователям оптимизировать свои собственные разработки и легко сравнивать их с существующими схемами. В рамках FinRL виртуальные среды настраиваются с помощью наборов данных фондового рынка, торговые агенты обучаются с помощью нейронных сетей, а функционал обратного тестирования (backtesting) анализирует эффективность торговли. Кроме того, в систему включены важные торговые ограничения, такие как стоимость сделки, ликвидность рынка и степень неприятия риска инвестором. FinRL отличается полнотой, хорошим практическим руководством и воспроизводимостью, что упрощает работу новичкам.

Читать далее

Основы Actor-Critic алгоритма

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров5.1K

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

Actor-Critic — это класс алгоритмов в RL, суть которого довольно проста на словах, он сочетает в себе такие полтики как policy-based и оценки value-based. У нас есть два главных действующих лица: Actor и Critic. Actor отвечает за выбор действий, т.е формирование политики поведения, он принимает решения исходя из текущего состояния окружающей среды. Critic оценивает, насколько хорошо или плохо Actor справляется со своей задачей, предоставляя обратную связь через оценку действий Actor'a.

Читать далее

Алгоритмы AdaBoost (SAMME & R2). Принцип работы и реализация с нуля на Python

Уровень сложностиСложный
Время на прочтение11 мин
Количество просмотров6.6K

Следующим мощным алгоритмом машинного обучения является AdaBoost (adaptive boosting), в основе которого лежит концепция бустинга, когда слабые базовые модели последовательно объединяются в одну сильную, исправляя ошибки предшественников.

В AdaBoost в качестве базовой модели используется пень решений (могут использоваться другие модели) — дерево с небольшой глубиной, которому присваивается вектор весов размера N, каждое значение которого соответствует определённому значению y_train и изначально равно 1 / N, где N — количество образцов в обучающей выборке. Каждый следующий пень обучается с учётом весов, рассчитанных на основе ошибок предыдущего прогноза. Также для каждого обученного пня отдельно рассчитывается вес, используемый для оценки важности итоговых прогнозов.

Читать далее

Разработка SQL Expert Bot: подробный гайд по использованию Vercel AI SDK и API OpenAI

Время на прочтение8 мин
Количество просмотров2.1K

OpenAI заложила фундамент для революции в сфере искусственного интеллекта с появлением ChatGPT, открывая новую эру в области AI, которую активно используют как отдельные люди, так и бизнес‑сообщества. OpenAI даже предоставила API для разработки персонализированных AI‑решений, включая чат‑ботов, виртуальных помощников и многого другого. Доступ к этому API можно получить через SDK, которые OpenAI выпустила для разных языков программирования, а также через оболочки, разработанные для удобства создания интерфейсов.

Компания Vercel внесла свой вклад, разработав AI SDK для создания интерактивных пользовательских интерфейсов с использованием TypeScript и JavaScript. Примечательно, что этот SDK является проектом с открытым исходным кодом и поддерживает Vercel Edge runtime.

В рамках данной статьи мы создадим SQL Expert ChatBot, применив API OpenAI и SDK от Vercel. Мы рассмотрим вопросы стриминговых ответов, настройки запросов и многое другое.

Читать далее

Ближайшие события

Выжимаем из Random Forest максимум: увеличиваем полноту при 100% точности

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров4.9K

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

И вот, просматривая отдельные деревья решений, меня осенило — попробую-ка я обрезать все деревья, используемые в Random Forest, до одной, но самой эффективной ветки. И — о чудо! — заметно выросла как точность (precision), так и полнота (recall). И особенно полнота выросла на высоких уровнях точности.

Проверил этот способ на других задачах. И везде при 100% точности заметно выростала полнота. Что же я сделал?

Читать далее

Как машинлернеры мерили экспрессию генов от воздействия лекарств

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров1.9K

Привет! Меня зовут Дима и я веду канал про соревновательный МЛ. Недавно мы выиграли приз в довольно престижном соревновании и я сделал обзор всех лучших решений

Хочу вам рассказать о Open Problems, где не удалось взять золото, но все равно все очень довольны, ведь мы взяли 13 место и специальные приз жюри, который позволил нам выступить на NeuralIPS.

Начнем с краткого описания соревнования:

Компания-организатор занимается тем, что пытается оптимизировать проведение дорогостоящих экспериментов с препаратами на живых, но отделенных от самих созданий клетках 🧪 (in vitro) 🧪. У клеток много разных типов и препарат лечащий одну клетку мог спокойно убить все клетки другого типа в том же организме. Взяли много таких экспериментов, в том числе контрольные. Можно увидеть на картинке подробности того, как проводился тест

Читать далее

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

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров4.4K

Приветствую, друзья! Меня зовут Александр Вихарев, и я работаю системным аналитиком в проектах для Fix Price. 

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

Чтобы избежать этого и освободить время специалистов компании, занимающихся сверкой документации, было решено разработать свою OCR-систему на основе решений внешних поставщиков. Технология OCR (optical character recognition, оптическое распознавание символов) позволяет извлекать текстовые слои из отсканированных документов для сверки и переводить их в удобные для работы форматы.

Читать далее

Градиентный бустинг. Реализация с нуля на Python и разбор особенностей его модификаций (XGBoost, CatBoost, LightGBM)

Уровень сложностиСложный
Время на прочтение28 мин
Количество просмотров28K

На сегодняшний день градиентный бустинг (gradient boosting machine) является одним из основных production-решений при работе с табличными, неоднородными данными, поскольку обладает высокой производительностью и точностью, а если быть точнее, то его модификации, речь о которых пойдёт чуть позже.

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

Читать далее

Генерация коротких текстов в жанре фэнтези, по заданным параметрам

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров2.4K

Добрый день! Меня зовут Александр. Меня очень интересует тематика нейронных сетей, связанных с работой с текстом. И по этому я решил пройти курс от OTUS «Natural Language Processing». В рамках выпускной работы на этом курсе, я хотел попробовать расширить знания в сфере генерации текстов и использовании различных стратегий генерации. А так как мне еще нравится стилистика жанра фэнтези, то выбор пал на генерацию текстов этого жанра. При этом хотелось попробовать генерировать не только тексты выбранной стилистики но и по заданным параметрам, например имя главного героя, место действия и др.

Читать далее

Дилемма ИИ: когда обучение больших языковых моделей заходит в тупик

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров5.7K

ИИ готовится заменить сотни тысяч должностей не только в разработке ПО, но и во множестве других областей: в журналистике, творческой работе, общении с покупателями и так далее. Это та же самая мантра, которую мы слышим по поводу каждой технологической инновации: «Компьютер полностью заменит людей». Старая история из фильмов про терминаторов.

Хотя я уже перечислил некоторые возможные последствия для ПО в своей статье «Мы снова в кризисе ПО, но в ближайшее время ИИ никого не заменит», мне бы хотелось рассмотреть, что произойдёт, если большие языковые модели (Large Language Model, LLM) полностью заменят человеческий труд. Содержание дилеммы будет практически одинаковым для всех областей, но я сосредоточусь на разработке ПО, потому что самые громкие заявления об LLM звучат как раз в её сторону.

Читать далее

Пишем чат-бот для работы с PDF

Время на прочтение7 мин
Количество просмотров10K

Популярность языковых моделей, в частности ChatGPT, растет в геометрической прогрессии, но многие из нас все еще сталкивается с определенными ограничениями, такими как устаревшая информация, которые OpenAI пока что не смогла преодолеть.

Но задумывались вы над тем, чтобы задавать вопросы непосредственно из своих документов, хранящихся в облаке? Сохраните своё время, которое уходило бы на поиски и ручной мониторинг сайтов, и задействуйте автоматизацию при работе с PDF-документами. Если вас занимает такая перспектива, эта статья окажется для вас ценным ресурсом.

Мы можем избежать риска недостоверных данных в ChatGPT, внедрив работу модели через RAG. В нашем материале мы подробно объясним, как создать чат-бота для взаимодействия с документами из вашего хранилища с помощью LangChain.

Приступим (:

Читать далее

Вклад авторов