Big Data Science [RU]
1.65K subscribers
72 photos
9 videos
539 links
Big Data Science [RU] — канал о жизни Data Science.
Для сотрудничества: a.chernobrovov@gmail.com
🌏https://t.me/bdscience — Big Data Science channel (english version)
💼https://t.me/bds_job — channel about Data Science jobs and career
Download Telegram
💡🤖😎10 терминов и аспектов из области ИИ, которые сегодня необходимо понимать и осознавать каждому
🧐Сегодня разберем 10 аспектов, которые наиболее широко охватывают область ИИ в различных ее проявлениях:
Размышление/планирование: современные ИИ-системы могут решать задачи, используя шаблоны, которые они усвоили из исторических данных, чтобы понять информацию, что напоминает процесс рассуждения. Самые продвинутые системы могут идти дальше, справляясь с более сложными задачами, создавая планы и определяя последовательность действий для достижения цели.
Обучение/инференция: чтобы создать и использовать ИИ-систему, существует два этапа: обучение и инференция. Обучение можно сравнить с процессом образования ИИ, когда ему предоставляют набор данных, и он учится выполнять задачи или делать прогнозы на основе этих данных.
Инференция — это процесс, когда ИИ использует выученные шаблоны и параметры для того, чтобы, например, предсказать цену нового дома, который скоро будет выставлен на продажу.
Малые языковые модели (SLM): компактные версии больших языковых моделей (LLM). Обе этих вида используют методы машинного обучения, чтобы распознавать шаблоны и связи, позволяя им генерировать реалистичные и естественные ответы на языке. Однако в отличие от LLM, которые огромны и требуют больших вычислительных мощностей и памяти, SLM, такие как Phi-3, обучены на меньших, тщательно подобранных наборах данных и имеют меньше параметров.
Заземление: генеративные ИИ-системы могут создавать истории, стихи, шутки и отвечать на исследовательские вопросы. Однако иногда они сталкиваются с трудностями в отделении фактов от вымысла или используют устаревшие данные, что приводит к ошибочным ответам, называемым "галлюцинациями". Разработчики стремятся сделать взаимодействие ИИ с реальным миром более точным через процесс, называемый заземлением (grounding), когда модель связывают с актуальными данными и конкретными примерами, чтобы улучшить точность и выдавать более релевантные результаты.
Ретроспективная генерация с дополнением (RAG): когда разработчики предоставляют ИИ доступ к внешним источникам данных, чтобы он был более точным и актуальным, используется метод, называемый Retrieval Augmented Generation (RAG). Этот подход экономит время и ресурсы, добавляя новые знания без необходимости повторного обучения ИИ.
Оркестрация: ИИ-программы выполняют множество задач при обработке запросов пользователей, слой оркестрации управляет их действиями в правильном порядке для получения наилучшего ответа. Оркестрационный слой также может следовать шаблону RAG, выполняя поиск в интернете для получения свежей информации и добавления контекста.
Память: современные ИИ-модели технически не обладают памятью. Однако они могут иметь оркестрационные инструкции, которые помогают им «запоминать» информацию, выполняя определённые шаги при каждом взаимодействии.
Трансформеры и диффузионные модели: люди десятилетиями обучают ИИ-системы пониманию и генерации языка, но одним из прорывов, который ускорил прогресс, стала модель-трансформер. Среди генеративных ИИ именно трансформеры лучше и быстрее всего понимают контекст и нюансы.
Диффузионные модели, обычно используют для создания изображений. Эти модели продолжают вносить мелкие изменения, пока не создадут желаемый результат.
Модели передового уровня: Frontier models — это масштабные системы, которые раздвигают границы ИИ и могут выполнять широкий спектр задач с новыми и расширенными возможностями. Они становятся ключевыми инструментами для различных отраслей, включая здравоохранение, финансы, научные исследования и образование.
GPU: графический процессор — это мощный вычислительный блок. Изначально их создавали для того, чтобы улучшать графику в видеоиграх, а теперь они стали настоящими "мускулами" в мире вычислений. А поскольку ИИ по сути занимается решением огромного количества вычислительных задач, чтобы понимать язык и распознавать изображения или звуки, GPU незаменимы для ИИ как на этапе обучения, так и при работе с готовыми моделями.
👍4
💡Создание приложения рекомендации минуя сложности векторных баз данных

Данные не только обучают ИИ-системы, но и являются конечным результатом, который вы получаете. Поэтому так важно использовать «хорошие» данные. Какая бы мощная модель ни была, если на входе плохие данные, на выходе будет такой же результат.

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

📚Для сведения стоит отметить, что:

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

Streamlit — это фреймворк для Python. Он содержит набор программных инструментов, которые помогают перенести модель машинного обучения в веб. Написанную «умную» программу с помощью этого фреймворка можно быстро сделать веб-приложением.
📊Небольшие советы по обработке больших датасетов в Pandas от Google

Pandas — отличный инструмент для работы с небольшими наборами данных, обычно размером от двух до трех гигабайт.

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

⚠️Вот несколько советов по эффективной обработке данных в Pandas:

Используйте эффективные типы данных: используйте более эффективные с точки зрения памяти типы данных (например, int32вместо int64, float32вместо float64), чтобы сократить использование памяти.
Загружать меньше данных: используйте use-colsпараметр для загрузки только необходимых столбцов, что сокращает потребление памяти.pd.read_csv()
Разделение на части: используйте chunksizeпараметр in для чтения набора данных меньшими порциями, обрабатывая каждую порцию итеративно.pd.read_csv()
Оптимизация dtypes Pandas: используйте astypeметод для преобразования столбцов в типы, более эффективно использующие память, после загрузки данных, если это уместно.
Распараллеливание Pandas с помощью Dask: используйте Dask, библиотеку параллельных вычислений, для масштабирования рабочих процессов Pandas до наборов данных, превышающих объем оперативной памяти, за счет использования параллельной обработки.

🖥Подробнее можно узнать тут
👍2
🧐💡Небольшое введение в MapReduce: преимущества и недостатки

MapReduce — это модель программирования и связанный с ней фреймворк для обработки больших наборов данных параллельно в распределённых вычислительных системах. Она включает две основные фазы: Map (проецирование) и Reduce (сведение).

Преимущества MapReduce:

Масштабируемость: MapReduce легко масштабируется на тысячи машин, что позволяет обрабатывать огромные объемы данных

Параллелизм: MapReduce автоматически распределяет задачи по доступным узлам, выполняя их параллельно, что сокращает время выполнения вычислений

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

Недостатки MapReduce:

Высокие затраты на ввод/вывод (I/O): Одним из ключевых недостатков является то, что между этапами Map и Reduce данные записываются и считываются с диска, что значительно снижает производительность в задачах, где важна быстрая передача данных

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

Требование к перегруппировке данных (Shuffle phase): Этап перегруппировки (shuffle) часто требует значительных ресурсов и времени, что делает этот процесс узким местом в производительности MapReduce

Низкая производительность для сложных задач: для сложных алгоритмов, требующих множества шагов взаимодействия между узлами (например, итеративные задачи), производительность MapReduce снижается

Подробнее о MapReduce можно также узнать отсюда
👍2
😎💡🔥Подборка непопулярных, но весьма полезных Python-библиотек для работы с данными

Bottleneck - это библиотека, которая ускоряет работу методов NumPy до 25 раз, особенно при обработке массивов, содержащих значения NaN. Она оптимизирует такие вычисления, как нахождение минимумов, максимумов, медиан и других агрегатных функций. Благодаря использованию специализированных алгоритмов и обработке пропусков данных, Bottleneck значительно ускоряет работу с большими массивами данных, делая её более эффективной по сравнению с стандартными методами NumPy.

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

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

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

Modelstore - это библиотека для управления и отслеживания моделей машинного обучения. Она помогает организовывать, сохранять и версионировать модели, а также отслеживать их жизненный цикл. С помощью Modelstore, пользователи могут легко сохранять модели в различных хранилищах (S3, GCP, Azure и других), управлять их обновлениями и восстановлением. Это облегчает развертывание и мониторинг моделей в производственных средах, делая работу с моделями более удобной и контролируемой.

CleverCSV - это библиотека, которая улучшает процесс синтаксического анализа CSV-файлов и помогает избегать ошибок при их чтении с помощью Pandas. Она автоматически определяет правильные разделители и формат CSV-файлов, что особенно полезно при работе с файлами, которые имеют нестандартные или неоднородные структуры. CleverCSV упрощает работу с данными, устраняя ошибки, связанные с неправильным распознаванием разделителей и других параметров формата файла.
👍2
🌎ТОП октябрьских ивентов в Data Science
1-2 октября - AIшница 2.0 - Онлайн - https://ai-practicum.bitrix24.events/
2 октября - Big Data и AI Day 2024 - Москва, Россия - https://www.tadviser.ru/a/809807
2 октября - Digital Innopolis Days 2024 & Innopolis AI Conference - Казань, Россия - https://digitalinnopolisdays.ru/
3 октября - M2 Data Meetup - Москва, Россия - https://m2tech.timepad.ru/event/3000932/
5 октября - IT Community Day - Санкт-Петербург, Россия - https://developers.sber.ru/kak-v-sbere/events/it_october
10 октября - Selectel Tech Day 2024 - Москва, Россия - https://techday.selectel.ru/
10-12 октября - ICOMP 2024 - Казань, Россия - https://icomp.cc/
11-26 октября - ВТБ More.Tech - Онлайн - https://moretech.vtb.ru/
14-20 октября - Yandex Cup 2024 - Онлайн - https://yandex.ru/cup/
29 октября - Матемаркетинг 2024 - Онлайн - https://matemarketing.ru/
30-31 октября - Digital Kazakhstan - Алматы, Казахстан - https://dkz.plus-forum.com/
💡😎3 непопулярных, но весьма нужных библиотеки визуализации

Supertree — это Python-библиотека, предназначенная для интерактивной и удобной визуализации деревьев решений в Jupyter Notebooks, Jupyter Lab, Google Colab и других блокнотах, поддерживающих HTML-рендеринг. С помощью этого инструмента можно не только визуализировать деревья решений, но и взаимодействовать с ними непосредственно в блокноте.

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

TensorHue — это Python-библиотека, предназначенная для визуализации тензоров непосредственно в консоли, что облегчает их анализ и отладку, делая процесс работы с тензорами более наглядным и понятным.
👍1
😎⚡️Сильный даасет сгенерированный, с помощью Claude Opus.

Synthia-v1.5-I - это датасет, содержащий более 20 тысяч технических вопросов и ответов, предназначенный для обучения больших языковых моделей (LLM). Он включает системные промпты, стилизованные как Orca, чтобы стимулировать генерацию разнообразных ответов. Этот набор данных может использоваться для обучения моделей более точным и развернутым ответам на технические запросы, что улучшает их производительность в различных технических и инженерных задачах.

Для загрузки датасета с помощью Python:

from datasets import load_dataset
ds = load_dataset("migtissera/Synthia-v1.5-I")
👍1
⚡️HTTP SQLite StarbaseDB

StarbaseDB — это мощная и масштабируемая база данных с открытым исходным кодом, которая базируется на SQLite и работает через HTTP-протокол. Эта база данных построена для работы в облачной среде (например, на Cloudflare), что позволяет ей эффективно масштабироваться вплоть до нуля в зависимости от нагрузки. Основные преимущества StarbaseDB включают в себя:

Легкость использования: Предоставляет возможность работать через HTTP-запросы, что упрощает интеграцию с различными системами и сервисами.
Масштабируемость: Автоматическая подстройка под объем нагрузки с возможностью масштабирования в обе стороны.
Поддержка SQLite: Использование проверенной временем и легковесной базы данных SQLite для хранения данных.
Опенсорс: Открытый исходный код, что позволяет разработчикам адаптировать и улучшать систему под свои нужды.

Она подходит для разработчиков, которые ищут простой и надежный способ организации баз данных с минимальной настройкой и высокой доступностью в облачных платформах, таких как Cloudflare.
👍1
💡Новость дня: MongoDB создает партнёрскую экосистему ИИ

MongoDB активно адаптируется к вызовам развития искусственного интеллекта, представив улучшенную версию своей базы данных (8.0) и запустив MongoDB AI Application Program (MAAP). Эта программа нацелена на создание глобальной партнерской экосистемы, направленной на стандартизацию решений в сфере ИИ. Среди ключевых партнеров — крупные игроки облачных и консалтинговых сервисов, такие как Microsoft Azure, Google Cloud Platform, Amazon Web Services, Accenture, а также AI-компании Anthropic и Fireworks AI.

Обновления в MongoDB 8.0 обещают заметное повышение производительности:

Увеличение пропускной способности на 32%.
Ускорение пакетной записи на 56%.
Повышение скорости параллельной записи на 20%.

Это даёт возможность MongoDB лучше справляться с высокими нагрузками, которые часто встречаются при работе с большими данными и ИИ. Уже внедрены решения для крупных компаний, включая одного из ведущих автопроизводителей Франции и глобального производителя бытовой техники.

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

Подробнее тут
👍1
😎Оптимизация аналитики с Oracle

Oracle выложили статью у себя в блоге, где они рассказывают о том, как подключиться к кластеру BDS с помощью соединений Hive и Spark из Oracle Analytics Cloud (OAC).

Кластеры Oracle Big Data Service содержат распределённую файловую систему Hadoop (HDFS) и базу данных Hive, которые загружают и преобразуют данные из различных источников и в разных форматах (структурированные, полуструктурированные и неструктурированные).

Узнайте, как подключить Oracle Analytics Cloud к Oracle Big Data Service, используя Hive и Spark, для улучшения анализа данных. Объединение мощных инструментов поможет эффективно обрабатывать и визуализировать большие объемы информации.
👍1
😎Топ Pyhton-библиотек для оптимизации работы с данными

Pony ORM — это удобная и мощная библиотека для работы с объектно-реляционными базами данных, которая позволяет писать SQL-запросы, используя синтаксис Python. Она автоматически преобразует Python-код в SQL-запросы, что упрощает взаимодействие с базами данных, делая его более интуитивным и лаконичным. Pony ORM поддерживает основные СУБД, такие как PostgreSQL, MySQL, SQLite и другие, предоставляя гибкость и удобство при создании запросов и работе с моделями данных.

Pypika — это библиотека для создания SQL-запросов программным способом на Python, которая позволяет избегать ошибок ручного написания SQL-кода и защищает от SQL-инъекций. Она особенно полезна при построении динамических и параметризованных запросов, что делает её идеальным инструментом для приложений, работающих с базами данных. Pypika позволяет строить запросы с высокой степенью детализации и сложности, сохраняя при этом читаемость и безопасность кода.

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

Tortoise ORM — это современный асинхронный ORM (Object-Relational Mapping), разработанный для работы с базами данных в асинхронных Python-приложениях. Он поддерживает различные реляционные базы данных, такие как PostgreSQL, MySQL, SQLite, и написан с упором на простоту и удобство использования. Tortoise ORM позволяет строить сложные SQL-запросы с использованием Python-кода, автоматически синхронизируя модели данных с базой данных. Поддержка асинхронности делает его особенно полезным в высоконагруженных или веб-приложениях, где важно эффективно управлять ресурсами и запросами к базе данных.

Polars — это высокопроизводительная библиотека для обработки и анализа данных на языке Python и Rust, ориентированная на работу с большими объемами данных. Благодаря многопоточности и оптимизированной архитектуре, Polars обеспечивает значительно более высокую скорость выполнения операций по сравнению с традиционными инструментами, такими как Pandas. Библиотека поддерживает широкий спектр операций над табличными данными (dataframes), предлагая интуитивно понятный интерфейс для фильтрации, агрегации и трансформации данных. Она идеально подходит для задач, требующих высокой производительности, особенно при работе с большими наборами данных.
👍2
🔥Маленькая подборочка инструментов для разметки данных со всеми вытекающими подробностями

CVAT (Computer Vision Annotation Tool) — это один из самых популярных и востребованных инструментов для аннотации изображений, который используется для создания наборов данных в области компьютерного зрения.

Преимущества CVAT:
Кастомизация: CVAT, как open-source решение, предоставляет пользователям полную свободу в настройке платформы под свои нужды. Это делает инструмент гибким и адаптируемым, позволяя интегрировать его в различные рабочие процессы. В документации CVAT можно найти подробные инструкции по кастомизации, что делает процесс настройки более доступным даже для новичков.
Подробная документация: Документация CVAT включает в себя подробные описания функционала, примеры использования, лайфхаки и изображения. Регулярные обновления документации гарантируют, что пользователи всегда будут в курсе последних изменений и улучшений.

Недостатки CVAT:
Высокие требования к ресурсам: Одним из основных недостатков CVAT являются его высокие требования к серверным ресурсам, это может стать проблемой для некоторых команд.

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

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

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

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

Недостатки:
Высокие требования к ресурсам: Для полноценного использования Label Studio может потребоваться значительное количество ресурсов, что делает его менее удобным для пользователей с ограниченными возможностями.
Ограничения в разметке Bounding Boxes: В то время как, к примеру, CVAT предлагает более удобный и быстрый инструмент для разметки Bounding Boxes, Label Studio лучше подходит для разметки аудиоданных.
💡🔥Эффективная работа с географическими данными

GeoPy — это библиотека Python, которая позволяет работать с географическими данными и предоставляет инструменты для выполнения таких задач, как геокодирование (преобразование адресов в координаты), обратное геокодирование (преобразование координат в адреса) и вычисление расстояний между географическими точками.

😎Основные возможности работы с геоданными через GeoPy:

Геокодирование: Превращает адреса или места в географические координаты (широта и долгота). Это полезно, когда вам нужно, например, визуализировать данные на карте.
Обратное геокодирование: Преобразует координаты в человеческий адрес. Это может быть полезно для создания более понятных данных или интерфейсов.
Обратное геокодирование: Преобразует координаты в человеческий адрес. Это может быть полезно для создания более понятных данных или интерфейсов.

🖥Подробнее узнать про анализ географических данных можно из этой статьи
👍2
😎Nvidia опубликовали новый датасет для обучения файнтюн-моделей

HelpSteer2 — это англоязычный набор данных, разработанный NVIDIA и размещённый на платформе Hugging Face. Он включает 21 362 строки и предназначен для обучения reward-моделей, которые помогают улучшать полезность, фактическую точность и связность ответов, генерируемых большими языковыми моделями (LLM).

Каждая строка в наборе данных содержит запрос, ответ и пять аннотированных человеком атрибутов ответа:
Полезность (usefulness)
Правильность (correctness)
Связность (coherence)
Сложность (complexity)
Многословность (verbosity)

Набор данных может использоваться для тонкой настройки LLM, чтобы они генерировали более релевантные и качественные ответы на пользовательские запросы.
👍2
🌎ТОП ноябрьских ивентов в Data Science
5 ноября - AvitoTech ML cup 2024 - Онлайн - https://ods.ai/competitions/avitotechmlcup2024
5 ноября - Alfa Analyze IT 3 - Москва, Россия - https://digital.alfabank.ru/events/analyzeit3
7 ноября - CNews Forum 2024 - Москва, Россия - https://forum.cnews.ru/
7-8 ноября - Матемаркетинг 2024 - Москва, Россия - https://matemarketing.ru/
8 ноября - I'ML 2024 - Онлайн - https://imlconf.com/
13 ноября - ScorFest 2024 - Москва, Россия - https://scoring-forum.ru/
15 ноября - Merge 2024. Сколково - Москва, Россия - https://skolkovo2024.mergeconf.ru/
23 ноября - IT LINK Осень - Чебоксары, Россия - https://it-link.pro/
28 ноября - T-Meetup: System Analysis - Екатеринбург, Россия - https://meetup.tbank.ru/event/t-meetup-po-sistemnomu-analizu/
🔥1