Telegram Web
Что лучше всего подойдет для генерации синтетических данных?
Anonymous Poll
15%
Apache Hive
16%
PostgreSQL
1%
MySQL
69%
Тут ничего не подходит
🧐Чем отличаются форматы медицинских снимков DICOM и NIfTI

Прежде чем разбираться в отличиях DICOM и NIfTI, давайте немного подробнее разберемся, что из себя представляет в отдельности каждый из этих форматов

🤔Что такое стандарт DICOM?


Стандарт DICOM — Digital Imaging and Communications in Medicine (DICOM) — используется для обмена снимками и информацией, он популярен уже более десятка лет. Сегодня почти каждое устройство, используемое в радиологии (в том числе КТ, МРТ, УЗИ и рентгенографии), оснащено поддержкой стандарта DICOM. Согласно информации разработчика стандарта, DICOM позволяет передавать медицинские снимки в среде устройств разных производителей и упрощать разработку и расширение систем архивации изображений и коммуникации.

🤔Что такое стандарт NIfTI?

The Neuroimaging Informatics Technology Initiative (NIfTI) был создан для работы с пользователями и производителями медицинских устройств с целью решения некоторых проблем и недостатков других стандартов визуализации. Стандарт NIfTI был специально разработан для устранения этих проблем в сфере нейровизуализации с упором на функциональную магнитно-резонансную томографию (fMRI, ФМРТ). Согласно определению NIfTI, основная задача NIfTI — предоставление скоординированного целевого обслуживания, обучения и исследований для ускорения разработки и повышения удобства информационных инструментов в сфере нейровизуализации. NIfTI состоит из двух стандартов, NIfTI-1 и NIfTI-2, причём второй является 64-битным усовершенствованием первого. Он не заменяет NIfTI-1, а используется параллельно и поддерживается широким ассортиментом медицинских нейровизуальных устройств и операционных систем.

В чём разница между DICOM и NIfTI?

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

2. Файлы DICOM часто более громоздкие: передачей данных DICOM руководят строгие правила форматирования, гарантирующие поддержку принимающим устройством классов SOP и синтаксисов передачи, например, формата файла и шифрования, использованного для передачи данных. При передаче файлов DICOM одно устройство переговаривается с другим. Если одно устройство не может обработать информацию, которую пытается отправить другое, оно проинформирует запрашивающее устройство, чтобы отправитель мог откатиться к другому объекту (например, к предыдущей версии) или отправить информацию в другую точку получения. Поэтому обработка, передача, считывание и запись файлов NIfTI обычно выполняются проще и быстрее, чем для файлов снимков DICOM.

3. DICOM работает с 2D-слоями, а NIfTI может отображать 3D-детали: в файлах NIfTI снимки и другие данные хранятся в 3D-формате. Он специально спроектирован таким образом, чтобы преодолеть проблемы пространственной ориентации других форматов файлов медицинских снимков. Файлы снимков DICOM и ассоциированные данные составлены из 2D-слоёв. Это позволяет просматривать различные срезы изображения, что особенно полезно при анализе человеческого тела и различных органов. Однако благодаря NIfTI нейрохирурги могут быстро выявлять в 3D на снимках объекты, например, правое и левое полушарие мозга. Это бесценная возможность при анализе снимков человеческого мозга, оценивать и аннотировать который крайне сложно.

4. В файлах DICOM можно хранить больше информации: как говорилось выше, файлы DICOM позволяют медицинским специалистам хранить в различных слоях больше информации. Можно создавать структурированные отчёты и даже фиксировать снимки, чтобы другие клиницисты и дата-саентисты могли чётко увидеть, на чём основано мнение/рекомендация.
🌎ТОП сентябрьских ивентов в Data Science
4-9 сентября - SmartData 2024 - Москва, Россия - https://smartdataconf.ru/
11-13 сентября - AISUMMIT - Москва, Россия - https://aisummit.ru/
17-25 сентября - Flow 2024 Autumn - Санкт-Петербург, Россия - https://flowconf.ru/
18-27 сентября - PiterPy 2024 - Санкт-Петербург, Россия - https://piterpy.com/
19 сентября - BY DATA - Минск, Беларусь - https://dgline.by/bydata
25 сентября - YANDEX SCALE 2024 - Москва, Россия - https://scale.yandex.cloud/
26 сентября - AiConf 2024 - Москва, Россия - https://aiconf.ru/2024/
26-27 сентября - MARKETING DATA ANALYTICS 2024 - Москва, Россия - https://interforums.ru/mda24/home
28-29 сентября - E-CODE - Москва, Россия - https://ecode.ozon.tech/
⚠️Text2SQL теперь недостаточно

Недавно наткнулся на статейку, в которой авторы подробно описывают инновационный подход TAG.

Генерация с расширением таблиц (TAG) - это унифицированная парадигма общего назначения для ответа на вопросы на естественном языке с использованием баз данных. Суть данного подхода заключается в том, что у нас имеется модель, которая принимает запрос на естественном языке, обрабатывает его и возвращает ответ на естественном языке.

Таким образом, Text2SQL лишь представляет спектр взаимодействий между LM и базой данных. Сама суть этих взаимодействий описывается c помощью TAG.

📚 Статья с подробным описанием
🛠 Реализация подхода
😎Универсальная БД с эмбеддингами

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

Ключевые особенности txtai:

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

🖥 GitHub
🟡 Документация
Как вы думаете, что лучше использовать для обработки 2 тыс. строк табличных данных?
Anonymous Poll
75%
Pandas
9%
Spark
16%
NumPy
😎3 полезных инструмента для для работы с SQL-таблицами

SQL Fiddle - Инструмент для простого тестирования, отладки и обмена фрагментами SQL. Добавляете текст в панель, а SQL Fiddle превращает его в скрипт для создания необходимой таблицы. Подойдет как для работы с базами данных, так и для практики навыков SQL.

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

SQLFlow - простой инструмент для визуализации SQL-запросов и отображения зависимостей. Позволяет отслеживать data lineage-происхождение и трансформации в данных при исполнении запросов.
🤔Проведение оценки качества данных в Airbnb

Airbnb — онлайн-платформа для размещения и поиска краткосрочной аренды частного жилья по всему миру.

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

Как отмечает автор, составление оценки базируется на следующих принципах:

1. Полный охват — это метод оценки, который может быть применён ко всем данным из целого массива, обеспечивая анализ и обработку информации без пропусков или ограничений. Этот принцип позволяет проводить более полное и точное исследование данных, охватывая весь набор, независимо от его объёма или сложности.
2. Автоматизированность — это процесс, при котором сбор вводных данных, необходимых для проведения оценки, полностью автоматизирован, без необходимости ручного вмешательства. Такой прнцип обеспечивает высокую скорость, точность и эффективность в сборе и обработке данных, что позволяет улучшить качество анализа и сократить время на принятие решений.
3. Действенность — это характеристика, означающая, что оценка качества данных легко доступна и понятна как для производителей, так и для потребителей данных. Это обеспечивает прозрачность и удобство использования результатов оценки, что способствует более эффективному взаимодействию и повышению доверия между всеми сторонами.
4. Многомерность — это свойство оценки, которое позволяет разложить её на различные базовые составляющие качества данных. Это помогает детально анализировать отдельные аспекты, влияющие на общее качество, такие как точность, полнота, актуальность и консистентность, обеспечивая более глубокое понимание и возможность адресного улучшения каждого компонента.
5. Возможность эволюции — это характеристика оценки, означающая, что критерии и их определения могут адаптироваться и изменяться со временем. Такой гибкий подход позволяет оценке оставаться актуальной и эффективной в условиях меняющихся требований, новых данных и технологического прогресса.
💡🤖😎10 терминов и аспектов из области ИИ, которые сегодня необходимо понимать и осознавать каждому
🧐Сегодня разберем 10 аспектов, которые наиболее широко охватывают область ИИ в различных ее проявлениях:
Размышление/планирование: современные ИИ-системы могут решать задачи, используя шаблоны, которые они усвоили из исторических данных, чтобы понять информацию, что напоминает процесс рассуждения. Самые продвинутые системы могут идти дальше, справляясь с более сложными задачами, создавая планы и определяя последовательность действий для достижения цели.
Обучение/инференция: чтобы создать и использовать ИИ-систему, существует два этапа: обучение и инференция. Обучение можно сравнить с процессом образования ИИ, когда ему предоставляют набор данных, и он учится выполнять задачи или делать прогнозы на основе этих данных.
Инференция — это процесс, когда ИИ использует выученные шаблоны и параметры для того, чтобы, например, предсказать цену нового дома, который скоро будет выставлен на продажу.
Малые языковые модели (SLM): компактные версии больших языковых моделей (LLM). Обе этих вида используют методы машинного обучения, чтобы распознавать шаблоны и связи, позволяя им генерировать реалистичные и естественные ответы на языке. Однако в отличие от LLM, которые огромны и требуют больших вычислительных мощностей и памяти, SLM, такие как Phi-3, обучены на меньших, тщательно подобранных наборах данных и имеют меньше параметров.
Заземление: генеративные ИИ-системы могут создавать истории, стихи, шутки и отвечать на исследовательские вопросы. Однако иногда они сталкиваются с трудностями в отделении фактов от вымысла или используют устаревшие данные, что приводит к ошибочным ответам, называемым "галлюцинациями". Разработчики стремятся сделать взаимодействие ИИ с реальным миром более точным через процесс, называемый заземлением (grounding), когда модель связывают с актуальными данными и конкретными примерами, чтобы улучшить точность и выдавать более релевантные результаты.
Ретроспективная генерация с дополнением (RAG): когда разработчики предоставляют ИИ доступ к внешним источникам данных, чтобы он был более точным и актуальным, используется метод, называемый Retrieval Augmented Generation (RAG). Этот подход экономит время и ресурсы, добавляя новые знания без необходимости повторного обучения ИИ.
Оркестрация: ИИ-программы выполняют множество задач при обработке запросов пользователей, слой оркестрации управляет их действиями в правильном порядке для получения наилучшего ответа. Оркестрационный слой также может следовать шаблону RAG, выполняя поиск в интернете для получения свежей информации и добавления контекста.
Память: современные ИИ-модели технически не обладают памятью. Однако они могут иметь оркестрационные инструкции, которые помогают им «запоминать» информацию, выполняя определённые шаги при каждом взаимодействии.
Трансформеры и диффузионные модели: люди десятилетиями обучают ИИ-системы пониманию и генерации языка, но одним из прорывов, который ускорил прогресс, стала модель-трансформер. Среди генеративных ИИ именно трансформеры лучше и быстрее всего понимают контекст и нюансы.
Диффузионные модели, обычно используют для создания изображений. Эти модели продолжают вносить мелкие изменения, пока не создадут желаемый результат.
Модели передового уровня: Frontier models — это масштабные системы, которые раздвигают границы ИИ и могут выполнять широкий спектр задач с новыми и расширенными возможностями. Они становятся ключевыми инструментами для различных отраслей, включая здравоохранение, финансы, научные исследования и образование.
GPU: графический процессор — это мощный вычислительный блок. Изначально их создавали для того, чтобы улучшать графику в видеоиграх, а теперь они стали настоящими "мускулами" в мире вычислений. А поскольку ИИ по сути занимается решением огромного количества вычислительных задач, чтобы понимать язык и распознавать изображения или звуки, GPU незаменимы для ИИ как на этапе обучения, так и при работе с готовыми моделями.
💡Создание приложения рекомендации минуя сложности векторных баз данных

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

В этой статье описывается пример использования базы данных 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 до наборов данных, превышающих объем оперативной памяти, за счет использования параллельной обработки.

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

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

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

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

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

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

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

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

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

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

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

Подробнее о MapReduce можно также узнать отсюда
😎💡🔥Подборка непопулярных, но весьма полезных 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 упрощает работу с данными, устраняя ошибки, связанные с неправильным распознаванием разделителей и других параметров формата файла.
🌎ТОП октябрьских ивентов в 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-библиотека, предназначенная для визуализации тензоров непосредственно в консоли, что облегчает их анализ и отладку, делая процесс работы с тензорами более наглядным и понятным.
😎⚡️Сильный даасет сгенерированный, с помощью Claude Opus.

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

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

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

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

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

Она подходит для разработчиков, которые ищут простой и надежный способ организации баз данных с минимальной настройкой и высокой доступностью в облачных платформах, таких как Cloudflare.
2024/11/23 04:45:05
Back to Top
HTML Embed Code: