Машинное обучение RU
17.7K subscribers
1.58K photos
209 videos
11 files
2.04K links
Все о машинном обучении

админ - @workakkk

@data_analysis_ml - анализ даннных

@ai_machinelearning_big_data - Machine learning

@itchannels_telegram -лучшие ит-каналы

@pythonl - Python

@pythonlbooks- python 📚

@datascienceiot - 📚

РКН: clck.ru/3FmrUw
Download Telegram
📡Prithvi: новая модель и датасет NASA для анализа экологических явлений

NASA и IBM выпустили open-source модель Prithvi, которая позволит ученым отслеживать последствия изменения климата, осуществлять мониторинг вырубки лесов, прогнозировать урожайность сельскохозяйственных культур и анализировать выбросы парниковых газов.

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

Опубликовано около 250 000 терабайт данных NASA.
Модель позволяет анализировать геопространственные данные в 4 раза быстрее, чем другие модели мо, используя при этом вдвое меньший объем данных.

🛰 Модель

@machinelearning_ru
👍95🔥2
👆 Рост производительности машинного обучения с Rust

Создадим с нуля небольшой фреймворк машинного обучения на Rust.

Цели
1. Выяснить, заметен ли рост скорости при переходе с Python и PyTorch на Rust и LibTorch, серверную библиотеку PyTorch на C++, особенно в процессе обучения модели. ML-модели становятся крупнее, для их обучения требуется больше вычислительных возможностей, для обычного человека порой нереальных. Один из способов уменьшить рост аппаратных требований — понять, как сделать алгоритмы вычислительно эффективнее. Python в PyTorch — это лишь слой поверх LibTorch. Вопрос в том, стоит ли менять его на Rust. Планировалось использовать крейт Tch-rs для доступа к тензорам и функционалу Autograd DLL-библиотеки LibTorch как «калькулятору градиентов», а затем разработать с нуля на Rust остальное.
2. Сделать код достаточно простым для четкого понимания всех вычислений линейной алгебры и с возможностью легко его расширить при необходимости.
3. Во фреймворке ML-модели должны определяться, насколько это возможно, по аналогичной структуре стандартных Python/PyTorch.
4. Поизучать Rust и не скучать.

Но статья посвящена скорее преимуществам применения Rust в машинном обучении.

Переходим сразу к конечному результату — вот как маленьким фреймворком создаются нейросетевые модели.

Листинг 1. Определение нейросетевой модели
struct MyModel {
l1: Linear,
l2: Linear,
}

impl MyModel {
fn new (mem: &mut Memory) -> MyModel {
let l1 = Linear::new(mem, 784, 128);
let l2 = Linear::new(mem, 128, 10);
Self {
l1: l1,
l2: l2,
}
}
}

impl Compute for MyModel {
fn forward (&self, mem: &Memory, input: &Tensor) -> Tensor {
let mut o = self.l1.forward(mem, input);
o = o.relu();
o = self.l2.forward(mem, &o);
o
}
}


Затем модель инстанцируется и обучается.

Листинг 2. Инстанцирование и обучение нейросетевой модели
fn main() {
let (x, y) = load_mnist();

let mut m = Memory::new();
let mymodel = MyModel::new(&mut m);
train(&mut m, &x, &y, &mymodel, 100, 128, cross_entropy, 0.3);
let out = mymodel.forward(&m, &x);
println!("Training Accuracy: {}", accuracy(&y, &out));
}


Для пользователей PyTorch это интуитивно понятная аналогия определения и обучения нейросети на Python. В примере выше показана модель нейросети, используемая затем для классификации. Модель применяется к набору данных Mnist тестов производительности для сравнения двух версий модели: Rust и Python.

В первом блоке кода создается структура MyModel с двумя слоями типа Linear.

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

В третьем блоке реализуется типаж Compute для MyModel, им определяется метод forward. Затем в функции main загружается набор данных Mnist, инициализируется память, инстанцируется MyModel, а после она обучается в течение 100 эпох с размером пакета 128, потерями перекрестной энтропии и скоростью обучения 0,3.

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

Если вы привыкли создавать ML-модели в PyTorch, то наверняка, глядя на код выше, зададитесь вопросом: «Зачем здесь ссылка на Memory?». Объясним ниже. 👇

Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍2🔥1
🖥 Задачи из интервью Google Data Science

Простые, интуитивно понятные объяснения некоторых вопросов Google по решению проблем

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

Читать

@machinelearning_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍3🔥1
Тренировки по алгоритмам 3.0

1. Как и зачем изучать алгоритмы
2. Стеки
3. Очереди, деки и приоритетные очереди
4. Динамическое программирование с одним параметром
5. Динамическое программирование с двумя параметрами
6. Обход графов в ширину
7. Разбор ДЗ (практика)
8. Разбор ДЗ (практика)
9. Разбор ДЗ (практика)
10. Разбор ДЗ (практика)

#video #algorithm

https://www.youtube.com/watch?v=5QqVZJ8bA5o&list=PL6Wui14DvQPz_vzmNVOYBRqML6l51lP0G&ab_channel=%D0%90%D0%BA%D0%B0%D0%B4%D0%B5%D0%BC%D0%B8%D1%8F%D0%AF%D0%BD%D0%B4%D0%B5%D0%BA%D1%81%D0%B0

@machinelearning_ru
👍102🥰1
Best_Python_Tools_for_Building_Generative_AI_Applications_KDnuggets.pdf
153 KB
Шпаргалка по лучшим инструментам Python для создания приложений генеративного ИИ

@machinelearning_ru
👍61
LabML сайт, где собран код многих популярных ИИ-моделей , вроде GPT или Stable Diffusion.

Все это с комментариями почти в каждой строке, а также математическими формулами.

📌 Сайт

@machinelearning_ru
👍82🔥2
🟡 Дайджест полезных материалов из мира : Машинное обучение за неделю

Почитать:
Дайджест новостей искусственного интеллекта и машинного обучения за лето
Простая нейронная сеть без библиотек и матриц. Эволюционный алгоритм
10 ресурсов, посвященных тенденциям и лучшим практикам управления данными
Дропаем ранжирующие метрики в рекомендательной системе, часть 2: двухэтапные модели
Как найти задачу, которую можно решить с помощью машинного обучения
Что особенного в прогнозировании спроса на перевозки по ж/д
Что такое CLTV и как мы в билайне с ним работаем
Теперь наш синтез на 22 языках с кириллицей и ещё в 4 раза быстрее
Простая нейронная сеть без библиотек и матриц. Обучение с учителем
LlamaIndex: создаем чат-бота без боли и страданий. Часть 2
ML для ускорения работы картографов
How to create virtual environment from terminal (command line)
Todo App - Project Idea - Flask/PostgreSQL/Docker
Introduction to Sets in Python
How to Add Color to Old Black and White Movies and Images | using DeOldify
A way to (actually) run Python code in ChatGPT
What is Machine Learning?
Webhook and Ansible
Navigating Databases with Python: A Beginner-Friendly Guide
Send Automated Emails (smtplib & Python) Through Lambda
Benefits of hybrid search

Посмотреть:
🌐 Lightning Interview "Hands-On Generative AI Applications" ( 57:29)
🌐 Vector Search - A gentle introduction - Zain Hasan ( 44:27)
🌐 Lightning Interview "Confident Data Science" ( 00:00)
🌐 Toward Robust, Knowledge-Rich Natural Language Processing - Hannaneh Hajishirzi, PhD ( 34:14)
🌐 Lightning Interview "Generative AI and the Law" ( 56:21)

Хорошего дня!

@machinelearning_ru
👍9🔥1🥰1
👨‍🎓 CS224u: Natural Language Understanding

Стэнфордский университет только что открыл полный доступ к курсу CS224U. Это один из чрезвычайно популярных курсов по пониманию естественного языка для выпускников, который читает профессор Кристофер Поттс.

GitHub
Видео

@machinelearning_ru
🔥11👍42
📢SeamlessM4T

Meta выпустила самый мощный нейропереводчик на сегодняшний день. SeamlessM4T понимает более 100 языков и умеет осуществлять все типы переводов: из текста в текст, из речи в текст, из текста в речь и даже из речи в речь.

Github
Статья
Demo
Hugging face

@machinelearning_ru
👍14🔥42🤔1
🍦Python Ice Cream: Лучший способ отладки кода

Прекратите использовать оператор print() для отладки своего кода. Существует лучший способ добиться того же самого.


IceCream – это библиотека Python, позволяющая сделать отладку легкой и читабельной при минимальном количестве кода.

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

◾️Установка IceCream

Установить библиотеку icecream можно с помощью программы pip.
pip install icecream

◾️Импорт IceCream

Импорт модуля ic в скрипт python.
from icecream import ic

◾️Начало работы с IceCream

Для этого достаточно заменить оператор print() на ic().
from icecream import ic

var_1 = 1
var_2 = 2

ic(var_1)
ic(var_2)

Вот что вы увидите на выходе.
ic| var_1: 1
ic| var_2: 2


Она не только выводит значение переменной, но и ее имя.

*️⃣Не только переменные, но и ic() можно использовать в функциях, классах и т.д.

Функции
def func(num):
return num * 2

ic(func(3))

Выход

ic| func(3): 6

‼️ Как здорово! Он печатает имя метода (func), переданный аргумент (3) и выходной результат (6).

Продолжение
Gitgub

@machinelearning_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍124👎2🔥2
📊 История путешествий вместе с Plotly Express

В данном проекте Quick Success Data Science раскроем секрет визуализации путешествий. Для этого потребуется помощь Python, pandas и Plotly Express.

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

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

Plotly Express требует Plotly в качестве зависимости. Ее можно установить с помощью conda или pip.

Установка с conda: conda install -c plotly plotly_express.

Установка с pip: pip install plotly.

Для установки pandas используем conda install pandas или pip install pandas.

Код запускается в JupyterLab, представлен и описан ячейками. Три ячейки выполняют следующие задачи:

Импорт библиотек и установка цвета для элементов карты, таких как страны и океаны.
Создание списка посещенных стран и преобразование его в датафрейм pandas.
Отображение датафрейма в виде картограммы посредством Plotly Express.
Импорт библиотек и установка цветов
Для удобства и гибкости при настройки карты присваиваем цвета четырем переменным. Одна предназначена для посещенных стран, другая — для непосещенных, третья — для границ стран и четвертая — для океанов.

import plotly.express as px
import pandas as pd

# Определение цвета для элементов карты:
visited_color = 'tan'
unvisited_color = 'white'
border_color = 'darkgray'
ocean_color = 'lightblue'

Статья
Plotly Express

@machinelearning_ru
👍5🔥5🥰2
This media is not supported in your browser
VIEW IN TELEGRAM
📌 Машинное обучение на рекламных платформах

Для специалистов важно знать практическое применение ML. Например, как устроены механизмы CPA-продвижения на поиске маркеплейса.

Руководитель группы машинного обучения рекламной платформы Александр Воронцов расскажет, как устроено продвижение в поиске Яндекс Маркета, рассмотрит классический tradeoff «качество — покрытие» и покажет, как выглядит размен продуктовых метрик при внедрении в продакшн новых факторов.

Доклад прозвучит 7 сентября на конференции для экспертов ML — Practical ML Conf. Основные темы конференции: Генеративные модели, Research, NLP, Hardware, CV, RecSys, MLOps, Ecomm. Найдётся то, что вам интересно. Регистрация уже началась вот здесь.

@machinelearning_ru
🔥2
📋Состояние инфраструктуры данных на 2023 год — ключевые тренды ландшафта MAD от Мэтта Терка

Основные изменения в инфраструктуре данных на 2023 год
Hadoop
Несмотря на то, что некоторые компоненты экосистемы Hadoop до сих пор используются (например, Hive), их популярность снизилась настолько, что эта экосистема больше не попадает в ландшафт индустрии данных, что также подтверждается последними статьями из разряда “Big Data is Dead”.

Data lakes стали относиться к одной категории с Lakehouse
Сюда, среди прочих, относятся следующие инструменты (где это актуально, в скобках также указаны год основания и общий объем финансирования):

Cloudera (2008, $1041 млн) — корпоративный дата-хаб, построенный на базе Apache Hadoop.
Databricks (2013, $3497 млн) — их платформа lakehouse используется для сервисов интеграции и аналитики. Эта компания ввела парадигму lakehouse и выступает лидером в этой категории.
Dremio (2015, $405 млн) — платформа аналитики данных, позволяющая компаниям запрашивать данные с любого источника и ускоряющая аналитическую обработку с помощью инструментов бизнес-аналитики, машинного обучения и клиентов SQL.
Onehouse (2021, $33 млн) — облачный управляемый сервис формата lakehouse, помогающий создавать озера данных, обрабатывать данные и владеть данными в опенсорсных форматах.
Azure Data Lake Storage  — подобный S3 сервис объектного хранилища, обычно называемый ADLS Gen 2
Azure HD Insight  — аналогичен вышеназванному сервису, но для экосистемы Hadoop.
GCP Google BigLake  — позволяет создавать таблицы BigLake в Google Cloud Storage (GCS), Amazon S3 и ADLS Gen 2 в поддерживаемых открытых форматах файлов, таких как Parquet, ORC и Avro.
GCP Google Cloud Dataproc  — аналогичен сервису выше, но для экосистемы Hadoop.
AWS Lake Formation  — упрощает управление озером данных на базе S3 с интеграцией каталога метаданных Glue, механизма запросов Athena и так далее.
AWS Amazon EMR  — аналогичен сервису выше, но для экосистемы Hadoop.

📌Продолжение

@machinelearning_ru
👍62🔥1
🖥 GPT-3.5 Turbo теперь можно дообучать самостоятельно для конкретных задач

GPT-3.5 Turbo от OpenAI получил обновление, позволяющее самостоятельно дообучать модель для использования в своих приложениях, что позволит разработчикам возможность максимально раскрыть потенциал GPT-3.5.

Теперь разработки могут делать файнтюнинг параметров модели для совершенствования производительности и точности работы модели в своих сферах применения. Первые тесты показывают, что тонко настроенный GPT-3.5 Turbo соответствует или превосходит базовые метрики GPT-4 для конкретных задач.

На тестах выяснилось, что дообучение позволит компаниям сократить длину запросов при сохранении аналогичной эффективности: тестировщики смогли сократить размер запросов на 90%, внедряя инструкции непосредственно в модель, что ускоряет каждый вызов API и сокращает затраты. Дообученные модели обрабатывают контексты из 4 тыс. токенов, вдвое увеличивая предыдущую емкость, что также ускоряет вызовы и снижает затраты на использование API.

📌 Подробнее

@machinelearning_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥31
🚀Arthur Bench: инструмент для оценки языковых моделей

Arthur Bench содержит метрики для сравнения моделей по точности ответов, легкости их чтения, хеджированию и другим критериям.

Хеджирование является очень актуальной проблемой при использовании языковых моделей в приложениях: модели включают в ответ предложения, указывающие на существующие ограничения их использования («как языковая модель, я не могу…»), что обычно вызывает проблемы.

Bench значительно упрощает ручной анализ моделей.


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

pip install 'arthur-bench[server]'

from arthur_bench.run.testsuite import TestSuite
suite = TestSuite(
"bench_quickstart",
"exact_match",
input_text_list=["What year was FDR elected?", "What is the opposite of down?"],
reference_output_list=["1932", "up"]
)
suite.run("quickstart_run", candidate_output_list=["1932", "up is the opposite of down"])

@machinelearning_ru
🔥53👍3
🔥Google VRDU

Google опубликовали в открытом доступе VRDU – датасет и модель, которая понимает документы.

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

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

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

Датасет и бенчмарк Google VRDU (Visually-rich Document Understanding) были разработаны с учетом данных особенностей.

Датасет VRDU состоит из документов двух типов: регистрационных форм и форм для покупки рекламы. Датасет содержит более 2 000 документов, таких как счета-фактуры и квитанции. Документы являются текстовыми файлами, полученными путем преобразования в текст с помощью Google Cloud изображений, собранных в открытом доступе в Интернете. Затем документы были размечены вручную для сопоставления значений, встречающихся в данных, с их аннотацией (например, числового значения величины налога с названием поля «Налог»).

Github
Датасет

@machinelearning_ru
👍54🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
📊Diagramming AI — полезный инструмент для автоматизация создания UML и рабочих процессов с помощью ИИ

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

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

#ИИ #UML

@machinelearning_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Shell-AI: Your Intelligent Command-Line Companion

Shell-AI (shai) - это утилита CLI, которая позволяет использовать возможности понимания естественного языка в командной строке. Просто введите на естественном языке то, что вы хотите сделать, и shai предложит однострочные команды, которые реализуют ваш запрос.

pip install shell-ai

Github

@machinelearning_ru
👍8🔥32