Библиотека собеса по Data Science | вопросы с собеседований
4.33K subscribers
418 photos
10 videos
1 file
389 links
Вопросы с собеседований по Data Science и ответы на них.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/7dfb7235

Для обратной связи: @proglibrary_feeedback_bot

Наши каналы: https://t.me/proglibrary/9197
Download Telegram
May 29
🔴 Как системно оценить качество предобработанных данных перед обучением большой языковой модели (LLM)

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

Оценка должна включать как количественные, так и качественные метрики.

➡️ Количественные метрики:

😶 Распределение токенов
Проверьте, не доминируют ли специальные токены, мусорные фрагменты или нерелевантные конструкции. Ожидаемые токены (например, ключевые слова доменной области) должны иметь разумную частоту.

😶 Покрытие словаря
Оцените, насколько хорошо охвачены часто встречающиеся слова и сабворды в вашей предметной области. Можно использовать частотный анализ на корпусе.

😶 Статистика по длине документов
Сравните среднюю и медианную длину документов с ожидаемыми значениями. Аномально короткие или длинные тексты могут быть ошибками разметки или дубликатами.

😶 Языковое распределение
В мультиязычном корпусе важно убедиться, что каждый язык представлен в правильной пропорции. Используйте модель определения языка (например, fastText или langid.py).

➡️ Качественные проверки:

😶 Ручная выборка документов
Просмотрите случайные примеры: содержимое должно быть осмысленным, без мусора, персональных данных или несоответствий тематике.

😶 Проверка дубликатов и шаблонов
Автоматически найдите повторяющиеся документы или шаблонные страницы (например, элементы веб-навигации).

😶 Оценка перплексии на тестовой модели
Можно применить небольшую предварительно обученную LLM к данным, чтобы вычислить перплексию. Высокая перплексия может сигнализировать о шуме или нерелевантности.

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

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
May 29
👍 Как можно снизить нагрузку на инференс при использовании ансамблей глубоких нейронных сетей

Возможные стратегии:

1️⃣ Дистилляция модели: обучите более компактную «студенческую» нейросеть, которая имитирует выходы ансамбля. Это позволяет значительно сократить время инференса, сохранив при этом качество.

2️⃣ Снижение точности / квантизация: уменьшите разрядность весов и активаций (например, до 8 бит), чтобы ускорить вычисления и уменьшить использование памяти.

3️⃣ Производительное оборудование и параллелизация: если позволяют ресурсы, можно запускать модели параллельно на нескольких GPU или специализированных ускорителях (например, TPU или нейромодулях).

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
May 30
May 31
Как понять, какие задачи можно эффективно объединить в мультизадачную модель

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

🔍 Хорошие кандидаты для мультизадачного обучения:
— Задачи, основанные на одинаковых входных данных (например, текст, изображения).
— Задачи, требующие похожего понимания структуры (например, синтаксического или семантического анализа в NLP).
— Задачи, где одна может обогащать представление для другой (например, часть речи ↔️ определение сущностей).

📌 Пример:
В NLP можно объединить задачи классификации тональности, распознавания именованных сущностей и анализа зависимостей — они все используют текст и извлекают структурированную информацию.

🚫 Плохие кандидаты — риск негативного переноса:
— Задачи с разными типами данных и отдельными признаковыми пространствами (например, изображение + аудио без общего контекста).
— Задачи с конфликтующими целями (например, одна требует обобщения, другая — запоминания деталей).

На что ещё обратить внимание:
➡️ Размер и баланс подзадач — мелкие задачи могут быть подавлены.
➡️ Возможность общей архитектуры (shared encoder + task-specific heads).
➡️ Наличие метрик для оценки взаимного влияния задач.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
May 31
June 1
Почему кто-то может предпочесть иерархическую кластеризацию вместо кластеризации на основе разбиения

1. Многоуровневая структура кластеров
Иерархические методы способны выявлять вложенные структуры: можно увидеть, как малые кластеры объединяются в более крупные. Это особенно полезно, если данные имеют естественную иерархию.

2. Гибкость при выборе количества кластеров
В отличие от методов типа K-средних, где нужно заранее задать число кластеров, иерархическая кластеризация позволяет определить их после построения, анализируя дендрограмму (древовидное представление).

3. Хороша для анализа и интерпретации
Иерархическая кластеризация часто применяется в задачах, где важно понять структуру и взаимосвязи между объектами — например, в биоинформатике (кластеризация генов), лингвистике (группировка слов), маркетинге (иерархия клиентов).

⚠️ Ограничения:

➡️ Сложность по вычислениям: стандартные алгоритмы имеют сложность $O(n^2)$ по памяти и времени, что делает их неэффективными для больших наборов данных.
➡️ Чувствительность к шуму и выбросам: особенно при использовании метрик расстояния без устойчивости к выбросам.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
June 2
🌸 Как признаки, извлечённые автоэнкодером, соотносятся с другими методами выделения признаков

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

🛠 По сравнению с вручную созданными признаками (handcrafted features)

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

Недостатки:
🙅‍♂️ Требуют большого объёма данных для эффективного обучения.
🙅‍♂️ Полученные признаки зачастую трудно интерпретировать, особенно без специальных визуализаций или декодеров.

📉 По сравнению с линейными методами, такими как PCA (анализ главных компонент)

Преимущества:
✔️ Автоэнкодеры способны выявлять нелинейные зависимости, в то время как PCA ограничен линейными проекциями.
✔️ Гибкость архитектуры позволяет моделировать сложные структуры данных, выходящие за пределы линейных подпространств.
✔️ Возможность применения модификаций (например, вариационных, спарс-, денойзинг автоэнкодеров).

Недостатки:
🙅‍♂️ Более трудоёмкие вычислительно, требуют настройки гиперпараметров и структуры сети.
🙅‍♂️ Чувствительны к переобучению и ошибкам в архитектуре.
🙅‍♂️ Могут запоминать вход, не извлекая полезных обобщённых признаков, если плохо обучены.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
June 3
👇 Как обрабатывать крупномасштабные датасеты с иерархической кластеризацией, учитывая её высокую вычислительную стоимость

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

🔧 Приближённые или гибридные методы:
1️⃣ Использование mini-batch иерархической кластеризации, где анализируется не весь набор данных, а его небольшие случайные подвыборки.
2️⃣ Применение предварительной кластеризации (например, алгоритмом k-Means), чтобы разбить данные на подгруппы, а затем применить иерархическую кластеризацию только к центроидам этих кластеров. Это снижает объем вычислений, сохраняя структуру на высоком уровне.

⚙️ Оптимизированные структуры данных:
1️⃣ Использование KD-деревьев или Ball-деревьев может ускорить операции поиска ближайших соседей, особенно при агломеративной кластеризации.
2️⃣ Некоторые библиотеки, такие как Scipy или fastcluster, используют улучшенные алгоритмы и эффективное хранение расстояний, чтобы ускорить вычисления.

📉 Снижение размерности данных:
1️⃣ Применение методов снижения размерности (например, PCA, t-SNE, UMAP) перед кластеризацией может значительно уменьшить вычислительные издержки и упростить структуру данных.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
June 4
June 5
🗑 Нужно ли автоматически удалять один из признаков, если они сильно коррелируют

Не всегда — всё зависит от цели вашей модели.

🎯 Если важна точность предсказаний:
Современные алгоритмы машинного обучения (например, Random Forest, градиентный бустинг, нейросети) достаточно устойчивы к мультиколлинеарности.
Если оба признака способствуют улучшению метрик — удалять не обязательно.

🧠 Если важна интерпретируемость (например, в линейной регрессии):
Сильно коррелирующие признаки могут делать модель нестабильной и затруднять интерпретацию коэффициентов.
В этом случае удаление одного признака может упростить модель и сделать её более надёжной.

🔎 Как подойти на практике:
1. Проверьте через кросс-валидацию, ухудшается ли качество модели при удалении одного признака.
2. Используйте предметные знания, чтобы определить, не измеряют ли оба признака одно и то же.
3. Вместо удаления можно применить регуляризацию (например, L1 или L2), чтобы модель автоматически уменьшала влияние избыточных признаков.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
June 5
June 6
Как алгоритм EM оценивает параметры

Алгоритм EM (Expectation-Maximization) оценивает параметры модели в два чередующихся шага:

🔍 E-шаг (шаг ожидания):
— Рассчитывает апостериорные вероятности принадлежности каждой точки к каждому скрытому компоненту.
— То есть, на этом этапе мы «угадываем», как могла бы распределиться скрытая структура данных при текущих параметрах модели.


🔧 M-шаг (шаг максимизации):
Обновляет параметры модели (например, средние, ковариационные матрицы, веса компонентов) так, чтобы максимизировать логарифмическую вероятность наблюдаемых данных, учитывая ожидания из E-шага.

🔁 Эти шаги повторяются поочерёдно до тех пор, пока логарифмическая правдоподобность не перестанет значительно меняться — то есть, пока не будет достигнута сходимость.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
June 6
June 7
June 7
June 8
▶️ Можно ли использовать Tanh и ReLU в одной нейросетевой архитектуре

Да, в архитектурах нейросетей иногда смешивают Tanh и ReLU — и это может быть вполне оправдано.

🔹 ReLU хорошо работает в ранних слоях, способствуя разреженности и предотвращая затухание градиентов.

🔹 Tanh может быть полезен в более глубоких или специализированных частях сети — например, в рекуррентных слоях или на выходе генератора GAN, где нужно получить значения в пределах −1,1.

📌 Пример: в GAN’ах часто используют ReLU внутри генератора и Tanh на выходе — чтобы итоговые изображения были нормализованы.

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

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
June 8
June 9