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

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

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

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

Наши каналы: https://t.me/proglibrary/9197
Download Telegram
Что такое alignment в языковых моделях?

Alignment в контексте ИИ означает процесс настройки модели таким образом, чтобы её ответы соответствовали этике, законам и ценностям общества.

Обычно alignment происходит во время файн-тюнинга. Процесс включает в себя два этапа:
▪️Фаза обучения на инструкциях.
На этой фазе LLM дают примеры целевых задач.
▪️Фаза оценки.
На этой фазе человек или другая модель взаимодействуют с LLM и оценивают её ответы в режиме реального времени. На этом этапе может использоваться обучение с подкреплением, чтобы внести фидбэк в знания исходной модели.

#NLP
#глубокое_обучение
👍1🤔1
Объясните, как работает Transformer?

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

Его архитектура состоит из двух основных блоков:

▪️Энкодер (Encoder) (слева).
Этот блок получает входные данные (инпут) и создаёт их представления в векторном пространстве.
▪️Декодер (Decoder) (справа). 
Этот блок использует представления, полученные от энкодера, а также другие входные данные, чтобы сгенерировать последовательность. 

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

Во время обучения Transformer энкодер получает инпут (предложение) на определённом языке. Декодеру дают то же предложение, но на другом, целевом, языке. В энкодере слой attention может использовать все слова в предложении для создания контекстуализированного представления каждого слова, а декодер использует информацию об уже сгенерированных словах для предсказания следующего слова в последовательности. 

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

#глубокое_обучение
#NLP
👍6🔥3
Какие метрики близости текстов вы знаете?

Можно разделить метрики близости текстов на два типа: лексические и семантические.

🔹 Лексические
— Сходство Жаккара (Jaccard similarity)
Это довольно простая метрика. Работает так: берутся две последовательности A и B, далее находится число общих элементов в них и делится на количество элементов обеих последовательностей.

🔹 Семантические
— Косинусное сходство (cosine similarity)
Измеряет косинус угла между двумя векторами, представляющими тексты в векторном пространстве (часто используется TF-IDF векторизация).
— Евклидово расстояние (euclidean distance)
Находится кратчайшая прямая между двумя точками в евклидовом пространстве. Сначала также необходима векторизация.

#NLP
10
Объясните виды sampling при генерации? top-k, top-p

В процессе генерации текста с помощью нейронных сетей используются различные методы семплирования (sampling), чтобы определить следующий символ или слово в последовательности. Вот основные методы:

▫️top-k sampling.
При таком семплировании отфильтровываются k наиболее вероятных следующих слов в последовательности. Значение k выбирается заранее. Вероятностная масса перераспределяется только между этими k словами.

▫️ nucleus sampling (top-p).
При top-p семплировании выбор идёт из наименьшего возможного набора слов, суммарная вероятность которых превышает вероятность p. Затем вероятностная масса перераспределяется среди этого набора слов.

#NLP
#глубокое_обучение
👍2
Что такое negative sampling в NLP?

Negative sampling появляется в контексте Word2Vec, метода обучения векторных представлений слов. Дело в том, что общий вид функции потерь для Word2Vec представляет собой сумму логарифмов с обратными знаками. Количество этих логарифмов равно объёму обучающей выборки. Внутри каждого логарифма стоит дробь, в знаменателе которой — сумма экспонент, и количество слагаемых совпадает с количеством слов в словаре.

В общем, это всё выглядит несколько ужасающе, особенно если держать в уме, что эту функцию потерь нужно минимизировать. Поэтому нужно как-то упрощать вычисления. Тут и приходит на помощь negative sampling.

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

#NLP
#глубокое_обучение
2
Какова размерность эмбеддингового слоя в Transformer?

Размерность эмбеддингового слоя определяется двумя параметрами: размером словаря и размерностью эмбеддингов.

▪️Размер словаря (Vocab Size) — это количество уникальных токенов или слов, которое может обрабатывать модель. Эта величина определяется во время обучения модели и зависит от данных, на которых она обучается.
▪️Размерность эмбеддингов (Embedding Dimension) — это количество признаков, используемых для представления каждого токена. Эта размерность обычно фиксирована для данной модели и совпадает с размерностью скрытых слоёв модели.

Таким образом, матрица эмбеддингов в Transformer имеет размерность, равную размеру словаря x размерности эмбеддингов.

#NLP
#глубокое_обучение
4
Объясните механизм multihead attention

Механизм attention используется в трансформерах. Он позволяет заставить модель «обращать внимание» на важные слова в предложении. Multihead attention расширяет эту идею, используя несколько «голов» внимания для одновременного анализа информации как бы с разных точек зрения. Каждая «голова» работает независимо, позволяя модели захватывать разнообразные взаимосвязи и зависимости в данных.

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

#глубокое_обучение
#NLP
У вас есть языковая модель. Что произойдёт с новым словом из тестового датасета, которое не присутствовало в обучающем датасете?

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

▪️Игнорировать слово;
▪️Воспользоваться встроенными механизмами обработки редких или неизвестных слов, такими как применение специальных токенов.

Результат будет зависеть от конкретной реализации и архитектуры модели.

#NLP
Что такое TF-IDF?

TF-IDF (Term Frequency-Inverse Document Frequency) — это статистическая мера, используемая для оценки значимости слова в документе относительно всех других документов в коллекции или корпусе. TF-IDF сочетает два значения:

🔷 TF (Частота слова)
Это число, показывающее, сколько раз слово встречается в документе. Чем чаще, тем слово важнее в контексте этого документа.
🔷 IDF (Обратная частота документа)
Это мера, которая уменьшает вес слов, часто встречающихся во всём корпусе документов. Чем реже слово встречается во всём корпусе, тем больше его вклад в IDF.

Значение TF-IDF рассчитывается как произведение TF и IDF. На основе TF-IDF значений слов можно построить векторы документов.

#NLP
👍6👏3
Что такое токенизация?

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

Зачем нам это нужно? Токенизация позволяет перевести текст в формат, удобный для дальнейшего анализа и обработки. Токены можно преобразовать в числовые векторы, что необходимо для моделей машинного обучения. Примеры таких методов — мешок слов (Bag of Words), TF-IDF и векторные представления слов (word embeddings).

Кроме того, токенизация помогает выделить основу слова и его морфологические признаки (окончания, префиксы и т.д.), что полезно для задач, связанных с морфологическим анализом.

#NLP
👍5🔥2
Что такое стоп-слова в NLP и как с ними работать?

Стоп-слова — это распространённые в языке слова, которые практически не несут смысловой нагрузки. Чаще всего это артикли, междометия, союзы и т.д. Например, в английском языке стоп-словами могут быть the, a и an.

В рамках подготовки текста к NLP-задачам стоп-слова обычно удаляются, так как они могут добавить много шума. Универсального способа определить список стоп-слова нет. Однако можно пользоваться готовыми инструментами. Так, в библиотеке NLTK есть предустановленный список. Перед первым использованием вам понадобится его скачать: nltk.download('stopwords'). После скачивания можно его импортировать и посмотреть на сами слова.

#NLP
👍41
Что такое Named Entity Recognition (NER)?

Named Entity Recognition — распознавание именованных сущностей. Это задача из области обработки естественного языка (
NLP), цель которой — найти и классифицировать ключевые сущности в тексте.

Эти сущности могут относиться к определённым категориям, например:
- Имена людей;
- Географические объекты;
- Даты и время;
- Денежные суммы;
- Названия организаций.

▪️Как это работает?

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

▪️Где применяется?

- Автоматическое извлечение данных из документов;
- Улучшение поисковых систем;
- Обработка запросов в службах поддержки;
- Анализ социальных сетей;
- Классификация новостей;
- Работа с резюме.


#машинное_обучение #NLP
👍9