Машинное обучение 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
🖥 Полный курс по библиотеке Numpy. Урок 4: Создание матриц из файла.

Видео
Код из видео

@machinelearning_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52👎1🔥1
Примите участие в AI Challenge - международном конкурсе по искусственному интеллекту для молодежи от Сбера

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

Участники будут соревноваться в пяти направлениях: от медицины до креативных индустрий.

Отбор пройдет в 4 этапа: регистрация, командная работа, финальный этап с защитой перед экспертами и награждение. Призовой фонд разделят победители в каждом направлении.

Зарегистрироваться можно прямо сейчас на сайте конкурса.
🦙TinyLlama-1.1B

Проект TinyLlama для предварительно обученых моделей Llama 1,1 млрд- 3 трлн. токенов.

TinyLlama использует точно такую же архитектуру и токенизатор, как и в Llama 2. Это означает, что TinyLlama может быть подключена и работать во открытых проектах, построенных на базе Llama. Ее компактность позволяет использовать модель во множестве приложений, с ограниченным объемом вычислений и памяти.

Github

@machinelearning_ru
🔥102👍1
🖥 Python анализ данных с Pandas.Урок 1: Введение.

Видео
Код из видео

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

Почитать:
Machine Learning: хорошая подборка книг для начинающего специалиста
Как понять, что клиента пора реактивировать?
Книга «Математика в машинном обучении»
Что нового в Pandas 2.1
Готовые скрипты Python
Влад Грозин о PhD в США, философии в Data Science, пузыре рекомендаций и голодающих геймерах
Руководство по масштабированию MLOps
Чем мы можем заменить тест Тьюринга
Как (быстро) сделать русский локальный ChatGPT
«SAM и тут и сям»: Segment Anything Model в задачах компьютерного зрения (часть 2)
LLaMa vs GigaChat: может ли опенсорсная модель работать лучше LLM с 13 млрд параметрами?
YandexGPT 2 — большое обновление языковой модели Яндекса
Deploying Apps on Render
Mastering ZIP File Handling in Python: Reading and Creating Zip Archives
The Minion Game - HackerRank Solution Python
Iterables and Iterators - HackerRank Solution Python
Regex Substitution - HackerRank Solution Python
How to Solve the "No Idea!" Challenge in Python
🌐 UN Goals : Education & Gender Equity ⚖️
Starting my Journey in Open Source
Created a toggle_state_button with PyQt5
Accelerating Releases with Pulumi: My Proxy Project Journey

Посмотреть:
🌐 Lightning Interview “Beyond the Code: How AI Is Disrupting the Programmer's Role” ( 58:40)
🌐 Introduction to Generative Art with Stable Diffusion, presented by HP Inc - Hunter Kempf ( 43:48)
🌐 Emerging Approaches to AI Governance: Tech-Led vs Policy-Led - Ilana Golbin ( 44:36)

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

@machinelearning_ru
👍91
Анализ данных и машинное обучение в облаке

Если вам не хватает мощностей собственного компьютера для разработки модели машинного обучения, у вас краткосрочный проект, для которого нецелесообразно покупать мощные видеокарты, или вы хотели бы собрать небольшую платформу обработки данных, используйте 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