Машинное обучение RU
17.7K subscribers
1.58K photos
208 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
Анализ данных и машинное обучение в облаке

Если вам не хватает мощностей собственного компьютера для разработки модели машинного обучения, у вас краткосрочный проект, для которого нецелесообразно покупать мощные видеокарты, или вы хотели бы собрать небольшую платформу обработки данных, используйте Data Analytics Virtual Machine.

В чем преимущества Data Analytics Virtual Machine в @Selectel:

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

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

Отсутствие vendor lock-in. Решение построено на базе Open Source инструментов: Jupyter, Prefect, Apache Superset. Вы платите только ресурсы облака по модели pay-as-you-go.

Арендовать готовый сервер и узнать больше о решении можно по ссылке: https://slc.tl/nh4l6

Реклама ООО «Селектел» 2VtzquuEHM2
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 pyvis: визуализация графов

Библиотека, которая позволяет создавать графы, настраивать размер нодов, их цвет и прочие характеристики:

Если вам необходимо создать интерактивный граф в нескольких строках кода на языке Python, используйте Pyvis.

Github
Docs

@machinelearning_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍132🔥1
CodeFuse-MFTCoder - это проект CodeFuse с открытым исходным кодом для многозадачной Code-LLMs (large language model for code tasks), включающий модели, наборы данных, код и руководства по работе.

Github

@machinelearning_ru
3👍3🔥2
FlexiTech.ai — российская команда профессионалов по разработке решений на базе AI и ML, применяющая инновационные технологии. В портфолио вы найдете задачи любой сложности, среди них: внедрение рекомендательных систем, атрибуция товара, распознавание и классификация изображений, изменение фона на изображении с товаром, предсказание спроса, а также обработка текстов на естественном языке.

Команда обладает большим опытом интеграции AI решений непосредственно в ваш pipeline с учетом вашего технологического стека.

🌐 Специалисты FlexiTech.ai обладают широкой экспертизой в разных сферах и всегда в курсе мировых тенденций,
💡Используемые передовые алгоритмы, делают сложные задачи быстрыми и легкими.
🏆 Реализованные интеллектуальные рабочие процессы увеличивают производительность и снижают издержки крупнейших предприятий в eCommerce, Retail, FinTech, EdTech и других отраслях.

Обращайтесь к @Flexitech_ai и сделайте свою команду больше, быстрее и эффективнее!
🔥52👍1
Efficient Controllable Generation for SDXL with T2I-Adapters

T2I-Adapter - это эффективная подключаемая модель, которая обеспечивает дополнительные настройки для предварительно обученных моделей "текст-изображение".

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

Руководство

@machinelearning_ru
👍54🔥1
🖥 Python анализ данных с Pandas. Join, merge, concat в Pandas

Видео
Код из видео
Часть 1
Часть 2

@machinelearning_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥2👍1
🔊Stable Audio: продвинутая нейросеть для генерации музыки и звука из текста от Stability AI

Stability AI выпустили Stable Audio — нейросеть для создания музыки и звуков по текстовой подсказке заданной пользователем длины. Stable Audio способна генерировать 95 секунд стереоаудио с частотой дискретизации 44,1 кГц менее чем за одну секунду на графическом процессоре NVIDIA A100. Работа с сильно уменьшенным скрытым представлением аудиозаписей по сравнению с оригинальными записями значительно сократило время вывода модели. Это первая нейросеть от Stability AI для генерации музыки.

📌Проект

@machinelearning_ru
6👍1
Пиши код, властвуй, визуализируй!

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

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

Для профилирования кода разработано множество инструментов на различных языках программирования, например, CProfiler, но в рамках данной публикации мы использовали YAPPI (Yet Another Python Profiler) – библиотека для профилирования кода с поддержкой многопоточности и асинхронности, разработанная на языке программирования С.

Yappi обладает наиболее гибким API, позволяющим профилировать как весь код, так и отдельные его части. Одним из преимуществ выбранной нами библиотеки является ее доступность во внутренней сети банка. Более подробно о данной библиотеке, вы можете узнать, из документации по ссылке.

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

▪️чтение большого числа форматов файлов профилировщиков;
▪️обрезка узлов и ребер ниже определенного порога;
▪️эффективное использование цветов для привлечения внимания к «особенным точкам»;
▪️работа на любой платформе, где присутствует Python и Graphviz.

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

Посмотрим применение этих библиотек на практике.

📌Читать

@machinelearning_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
📌 Обучение нейросети, которая создаёт субтитры в видеоплеере любого сайта

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

При этом разработчики добились, чтобы нейросеть потребляла в 5 раз меньше оперативной памяти: с 800 Мб до 150 Мб. Например, разделив архитектуру модели на две независимые части, они получили ускорение свёрток больше чем в 5 раз и экономию оперативной памяти больше чем в 3 раза (30 Мб → 8 Мб). Также было решено выделять общий префикс в явном виде, после чего удалось сохранить ещё более 400 Мб.

При этом разработчики оставили realtime on-device инференс (с обновлением раз в 600 мс в одном потоке), не потеряв в качестве по сравнению с серверным решением.

Процесс разработки команда описала в статье на Хабре.

@machinelearning_ru
👍7🔥31
🔥 Дайджест полезных материалов из мира Машинного обучения за неделю

Почитать:
Разработка систем генеративного ИИ на базе ML Platform: создаем конкурента ChatGPT без миллионных инвестиций
Создание приложения для потоковой передачи видео с физическими элементами управления
Создаём субтитры для любого видео в интернете с помощью нейросети в браузере
Тестирование производительности на Python: Пошаговое руководство с Flask
Практическое применение моделей YOLO и ResNet для обнаружения нежелательных предметов на фотографиях
DVC — прекрасный инструмент для DataScience
Как мы создали нейросеть, которая составила рейтинг компаний, занимающихся ИИ в России
Узнайте, как создать аудиоприложение LangChain на Python всего за 5 минут!
Dream Booth — очень умное дообучение stable diffusion
LlamaIndex: создаем чат-бота без боли и страданий. Часть 3
Есть один нюанс: как мы спасаем нейросети от классификации неоднозначных текстов
Как machine learning улучшает рекомендации по каталогу сайта на 80%. Повышаем эффективность collaborative filtering
Short-circuiting
Tuple Immutability
How Does Nerve Regen Formula Work?
Code Review - The foundation for quality software
Trying to bridge the gap between WFC “Even Simpler Tiled Model” and Constraint Satisfaction Problem (CSP) propositional rules
Code review - a unique way of debugging
Automating Product Descriptions in Odoo with OpenAI's GPT-3 and Python
Creating Own Chat GPT
Elastic D&D - Week 4 - Text Note Input
Scenario-Based Testing with Vedro

Посмотреть:
🌐 ODSC Webinar | A Path to Insights Starts with Trusted Data ( 23:23)
🌐 Not Just Deep Fakes: Apps of Visual Generative Models in Pharma Manufacturing - Guglielmo Iozzia ( 01:18:40)
🌐 Leveraging Generative AI in Education - A M Aditya ( 31:24)
🌐 Lightning Interview “Beyond the Code: How AI Is Disrupting the Programmer's Role” ( 58:40)

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

@machinelearning_ru
👍4🔥4🥰1
Media is too big
VIEW IN TELEGRAM
📊Python Matplotlib. Визуализация данных на PRO уровне.

📌 Видео
📌 Код и полезные ресурсы

@machinelearning_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53🔥1
🗄Как повысить эффективность кода Python с помощью кэширования

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

Зачем нужно кэширование?
Кэширование — это больше, чем просто изящный трюк. Вот почему оно важно.

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

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

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

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

Как кэшировать на профессиональном уровне?
Python предлагает несколько способов работы с кэшем.

1. Простое кэширование на основе словаря. Это подход типа “сделай сам”. Вы создаете словарь для хранения результатов кэширования. Когда вам что-то нужно, проверяете, есть ли это в словаре. Если есть — отлично, используйте. Если нет, сохраните результат для следующего раза.
# Инициализация пустого словаря кэша
cache = {}

# Функция для вычисления квадратов чисел с кэшированием
def calculate_square(x):
if x in cache:
return cache[x]
else:
result = x ** 2
cache[x] = result
return result

# Тестирование функции
print(calculate_square(5)) # Вычисляет и кэширует 5*5 = 25
print(calculate_square(5)) # Вместо пересчета результат (25) извлекается из кэша


2. Использование functools.lru_cache. Python готов поддержать вас с помощью декоратора lru_cache из модуля functools. Как личному помощнику, вы можете доверить ему выполнение своих обязанностей. Он запоминает несколько последних действий, которые выполняла ваша функция, и выдает их, когда это необходимо.
from functools import lru_cache

# Функция для вычисления чисел Фибоначчи
@lru_cache(maxsize=None) # None означает, что кэш может расти без ограничений
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)

# Тестирование функции
print(fibonacci(10)) # Вычисляет и кэширует Fibonacci(10)
print(fibonacci(10)) # Вместо пересчета результат извлекается из кэша

3. Использование внешнего кэширования (Redis).

📌 Продолжение
7👍5🔥1
Вышел dall-e-3!

https://openai.com/dall-e-3
🔥71🥰1
🖥 Универсальный алгоритм расчета потерь рабочего времени на Python

1. Постановка задачи, частные решения и их проблемы

2. Описание алгоритма

Разберём пошагово наш алгоритм.

Шаг 1:

Представим наш график как список словарей по временным отсечкам для каждого дня недели в следующем виде:

[{time: время, flag: цвет флага, start_finish: ‘’}]

◾️ время согласно графику работы: часы, минуты;
◾️ цвет флага: зелёный – после него время нужно учитывать, красный – после него время учитывать не нужно;
◾️ ‘’ – этому элементу позже будет присвоено значение «старт» или «финиш», в зависимости от того точка А или точка В расположена левее данной временной отсечки.

Для удобства восприятия покажем только values, но подразумеваем, что keys и фигурные скобки тоже присутствуют. В нашем случае получится следующий результат:

Понедельник:
[{time: 10:00, flag: зелёный, start_finish: ‘’},
{time: 19:00, flag: красный, start_finish: ‘’},
{time: 13:00, flag: красный, start_finish: ‘’},
{time: 14:00, flag: зелёный, start_finish: ‘’}]

И так для каждого дня.

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

Шаг 2:

Схожим образом представим точки A и B:
[{time: дата + время, flag: ‘’, start_finish: старт/финиш}]
▪️дата + время: год, месяц, день, часы, минуты;
▪️‘’ – на место этого элемента в дальнейшем будет подставлен красный или зелёный флаг, (по цвету флага ближайшего соседа слева на временной шкале);
▪️старт/финиш: старт – это точка А, финиш – В.

A: {time: 01.03.2023 11:00, flag: ‘’, start_finish: ‘старт’}
B: {time: 02.03.2023 11:00, flag: ‘’, start_finish: ‘финиш’}

Шаг 3:

Определим все дни между точками A и B включительно и подтянем из графика работы по этим дням все флаги, а также сами точки А и В. Данные из нашего примера превратятся в список. Теперь ключевой момент, на котором, собственно, и строится весь алгоритм: отсортируем список по возрастанию даты и времени. Это важно, т.к. позволит нам идти в цикле от отсечки к отсечке, проверяя, нужно ли включать следующий за ней отрезок в расчет.

[{time: 01.03.2023 10:00, flag: ‘зелёный’, start_finish: ‘’}
{time: 01.03.2023 11:00, flag: ‘’, start_finish: ‘старт’}
{time: 01.03.2023 13:00, flag: ‘красный’, start_finish: ‘’}
{time: 01.03.2023 14:00, flag: ‘зелёный’, start_finish: ‘’}
{time: 01.03.2023 19:00, flag: ‘красный’, start_finish: ‘’}
{time: 02.03.2023 10:00, flag: ‘зелёный’, start_finish: ‘’}
{time: 02.03.2023 13:00, flag: ‘красный’, start_finish: ‘’}
{time: 02.03.2023 13:30, flag: ‘’, start_finish: ‘финиш’}]


Код для шагов 2 и 3:

Подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83🔥3
🔥 Дайджест полезных материалов из мира машинного обучения за неделю

Почитать:
Искусство ETL. FAQ по Data Cooker ETL
Переходим на Greenplum быстро
Microsoft предлагает БЕСПЛАТНЫЕ онлайн курсы с сертификацией
Azure Data Factory + Databricks. Миграция сценариев
инициализации в Databricks из DBFS в Workspace 2023/2024
7 шагов по контейнеризации Python-приложений
20 проектов по аналитике данных для новичков в 2023 году
Форматы ORC и Parquet на базе HDFS
MySQL в Google Colab: Бесшовная интеграция
Идея: дифференцированный безусловный базовый доход
ML в полях. Как упростить жизнь агрономов?
Искусство ETL. Пишем собственный движок SQL на Spark [часть 5 из 5]
Разбираемся в отличии среднего чека от ARPU на примере одного интернет-магазина
10 Exceptional Free Data Science Tools Launched in 2023
MetaMath Boosts AI Mathematical Reasoning with LLM Enhancements
Researchers Develop a More Efficient Way to Fine-Tune Large Language Models for Long Text Sequences
Evento de Marketing com Inteligência Artificial Gratuito
How to learn AI and get RICH in the AI revolution
Text Classification with Natural Language Processing (NLP) in Python using Scikit-Learn
Oulu University and Futurewei Technologies Unveil Algorithm for Optimizing 6G Communications in Dynamic Metaverse Environments
Reinforcement Learning with TEXT2REWARD’s Automated Reward Function Design Using Advanced Language Models
Researchers Unveil Revolutionary LSC Framework for Optimized Machine-to-Machine Communication
ML & AI: From Problem Framing to Integration

Посмотреть:
🌐 Python Matplotlib. Визуализация данных на PRO уровне. ( 24:43)
🌐 Устраиваемся на работу. Решаем тестовое задание на позицию Python Junior. ( 20:28)
🌐 Уроки Golang с нуля /#29 - Дженерики/обобщения ( 10:52)
🌐 Уроки Golang с нуля /#30 - Горутины ( 08:09)
🌐 Революционный генератор музыки на основе искусственного интеллекта ( 00:12)
🌐 Серьезные проблемы с безопасностью в телеграм! ( 00:24)
🌐 Lightning Interview "Risk and Reward: Unraveling Machine Learning for High-Risk Applications" ( 52:37)
🌐 Framework and Lessons Learned from Building a Generative AI Application - Jason Tan ( 24:08)
🌐 Generative AI for Biomedical Insights: Solutions through OpenBIOML and BIO GP - Bidyut Sarkar ( 30:40)
🌐 OpenAI's DALL-E 3 - The King Is Back! ( 04:52)
🌐 NVIDIA’s DLSS 3.5: This Should Be Impossible! ( 08:29)

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

@machinelearning_ru
👍8🔥32
Bridge with NumPy! 🌉

Тензоры в PyTorch тесно связаны с массивами NumPy.

Они имеют много общего, что делает переход между ними "бесшовным"!
🔄

@machinelearning_ru
👍72🔥1
🖥 Open Source Library that let's you log and visualise LLM prompts

Разработка промптов - ключевой момент для получения максимальной отдачи от любой большой языковой модели!

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

Предлагаем вашему вниманию новую библиотеку с открытым исходным кодом, позволяющую регистрировать и визуализировать подсказки LLM.

pip install comet_llm

Github

@machinelearning_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥21
📌 Руководство для хакеров по языковым моделям

Jupiter
Github

@machinelearning_ru
👍3🔥21