Что такое alignment в языковых моделях?
Alignment в контексте ИИ означает процесс настройки модели таким образом, чтобы её ответы соответствовали этике, законам и ценностям общества.
Обычно alignment происходит во время файн-тюнинга. Процесс включает в себя два этапа:
▪️Фаза обучения на инструкциях.
На этой фазе LLM дают примеры целевых задач.
▪️Фаза оценки.
На этой фазе человек или другая модель взаимодействуют с LLM и оценивают её ответы в режиме реального времени. На этом этапе может использоваться обучение с подкреплением, чтобы внести фидбэк в знания исходной модели.
#NLP
#глубокое_обучение
Alignment в контексте ИИ означает процесс настройки модели таким образом, чтобы её ответы соответствовали этике, законам и ценностям общества.
Обычно alignment происходит во время файн-тюнинга. Процесс включает в себя два этапа:
▪️Фаза обучения на инструкциях.
На этой фазе LLM дают примеры целевых задач.
▪️Фаза оценки.
На этой фазе человек или другая модель взаимодействуют с LLM и оценивают её ответы в режиме реального времени. На этом этапе может использоваться обучение с подкреплением, чтобы внести фидбэк в знания исходной модели.
#NLP
#глубокое_обучение
👍1🤔1
Объясните, как работает Transformer?
Архитектура Transformer используется преимущественно в языковых моделях. Их обучают на большом количестве текстов. Наиболее известная задача, в которой используются такие модели, это, конечно, генерация новых текстов. Нейросеть должна предсказать следующее слово в последовательности, отталкиваясь от предыдущих. Transformer же изначально был разработан для перевода.
Его архитектура состоит из двух основных блоков:
▪️Энкодер (Encoder) (слева).
Этот блок получает входные данные (инпут) и создаёт их представления в векторном пространстве.
▪️Декодер (Decoder) (справа).
Этот блок использует представления, полученные от энкодера, а также другие входные данные, чтобы сгенерировать последовательность.
Основная фишка архитектуры Transformer заключается в наличии специального слоя — attention. Этот слой как бы указывает модели обращать особое внимание на определённые слова в последовательности. Это позволяет более эффективно обрабатывать контекст и улавливать сложные зависимости в тексте.
Во время обучения Transformer энкодер получает инпут (предложение) на определённом языке. Декодеру дают то же предложение, но на другом, целевом, языке. В энкодере слой attention может использовать все слова в предложении для создания контекстуализированного представления каждого слова, а декодер использует информацию об уже сгенерированных словах для предсказания следующего слова в последовательности.
В целом, ключевой особенностью механизма attention является его способность динамически фокусироваться на различных частях входной последовательности при обработке каждого слова, что позволяет модели лучше понимать контекст и нюансы языка.
#глубокое_обучение
#NLP
Архитектура Transformer используется преимущественно в языковых моделях. Их обучают на большом количестве текстов. Наиболее известная задача, в которой используются такие модели, это, конечно, генерация новых текстов. Нейросеть должна предсказать следующее слово в последовательности, отталкиваясь от предыдущих. Transformer же изначально был разработан для перевода.
Его архитектура состоит из двух основных блоков:
▪️Энкодер (Encoder) (слева).
Этот блок получает входные данные (инпут) и создаёт их представления в векторном пространстве.
▪️Декодер (Decoder) (справа).
Этот блок использует представления, полученные от энкодера, а также другие входные данные, чтобы сгенерировать последовательность.
Основная фишка архитектуры Transformer заключается в наличии специального слоя — attention. Этот слой как бы указывает модели обращать особое внимание на определённые слова в последовательности. Это позволяет более эффективно обрабатывать контекст и улавливать сложные зависимости в тексте.
Во время обучения Transformer энкодер получает инпут (предложение) на определённом языке. Декодеру дают то же предложение, но на другом, целевом, языке. В энкодере слой attention может использовать все слова в предложении для создания контекстуализированного представления каждого слова, а декодер использует информацию об уже сгенерированных словах для предсказания следующего слова в последовательности.
В целом, ключевой особенностью механизма attention является его способность динамически фокусироваться на различных частях входной последовательности при обработке каждого слова, что позволяет модели лучше понимать контекст и нюансы языка.
#глубокое_обучение
#NLP
👍6🔥3
Какие метрики близости текстов вы знаете?
Можно разделить метрики близости текстов на два типа: лексические и семантические.
🔹 Лексические
— Сходство Жаккара (Jaccard similarity)
Это довольно простая метрика. Работает так: берутся две последовательности A и B, далее находится число общих элементов в них и делится на количество элементов обеих последовательностей.
🔹 Семантические
— Косинусное сходство (cosine similarity)
Измеряет косинус угла между двумя векторами, представляющими тексты в векторном пространстве (часто используется TF-IDF векторизация).
— Евклидово расстояние (euclidean distance)
Находится кратчайшая прямая между двумя точками в евклидовом пространстве. Сначала также необходима векторизация.
#NLP
Можно разделить метрики близости текстов на два типа: лексические и семантические.
🔹 Лексические
— Сходство Жаккара (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
#глубокое_обучение
В процессе генерации текста с помощью нейронных сетей используются различные методы семплирования (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
#глубокое_обучение
Negative sampling появляется в контексте Word2Vec, метода обучения векторных представлений слов. Дело в том, что общий вид функции потерь для Word2Vec представляет собой сумму логарифмов с обратными знаками. Количество этих логарифмов равно объёму обучающей выборки. Внутри каждого логарифма стоит дробь, в знаменателе которой — сумма экспонент, и количество слагаемых совпадает с количеством слов в словаре.
В общем, это всё выглядит несколько ужасающе, особенно если держать в уме, что эту функцию потерь нужно минимизировать. Поэтому нужно как-то упрощать вычисления. Тут и приходит на помощь negative sampling.
Идея такая: на каждой итерации градиентного спуска мы будем оставлять в знаменателе лишь несколько случайно выбранных слагаемых. Фактически, на каждой итерации мы будем работать со случайной и небольшой подвыборкой всей тренировочной выборки.
#NLP
#глубокое_обучение
❤2
Какова размерность эмбеддингового слоя в Transformer?
Размерность эмбеддингового слоя определяется двумя параметрами: размером словаря и размерностью эмбеддингов.
▪️Размер словаря (Vocab Size) — это количество уникальных токенов или слов, которое может обрабатывать модель. Эта величина определяется во время обучения модели и зависит от данных, на которых она обучается.
▪️Размерность эмбеддингов (Embedding Dimension) — это количество признаков, используемых для представления каждого токена. Эта размерность обычно фиксирована для данной модели и совпадает с размерностью скрытых слоёв модели.
Таким образом, матрица эмбеддингов в Transformer имеет размерность, равную размеру словаря x размерности эмбеддингов.
#NLP
#глубокое_обучение
Размерность эмбеддингового слоя определяется двумя параметрами: размером словаря и размерностью эмбеддингов.
▪️Размер словаря (Vocab Size) — это количество уникальных токенов или слов, которое может обрабатывать модель. Эта величина определяется во время обучения модели и зависит от данных, на которых она обучается.
▪️Размерность эмбеддингов (Embedding Dimension) — это количество признаков, используемых для представления каждого токена. Эта размерность обычно фиксирована для данной модели и совпадает с размерностью скрытых слоёв модели.
Таким образом, матрица эмбеддингов в Transformer имеет размерность, равную размеру словаря x размерности эмбеддингов.
#NLP
#глубокое_обучение
❤4
Объясните механизм multihead attention
Механизм attention используется в трансформерах. Он позволяет заставить модель «обращать внимание» на важные слова в предложении. Multihead attention расширяет эту идею, используя несколько «голов» внимания для одновременного анализа информации как бы с разных точек зрения. Каждая «голова» работает независимо, позволяя модели захватывать разнообразные взаимосвязи и зависимости в данных.
На практике мы делим весь эмбеддинг и прогоняем каждую часть через разные матрицы. Так мы получаем разнообразные представления.Плюсом к этому идёт возможность распараллелить процесс. В итоге результаты всех независимых механизмов внимания объединяются и проходят через линейный слой для получения финального представления.
#глубокое_обучение
#NLP
Механизм attention используется в трансформерах. Он позволяет заставить модель «обращать внимание» на важные слова в предложении. Multihead attention расширяет эту идею, используя несколько «голов» внимания для одновременного анализа информации как бы с разных точек зрения. Каждая «голова» работает независимо, позволяя модели захватывать разнообразные взаимосвязи и зависимости в данных.
На практике мы делим весь эмбеддинг и прогоняем каждую часть через разные матрицы. Так мы получаем разнообразные представления.
#глубокое_обучение
#NLP
У вас есть языковая модель. Что произойдёт с новым словом из тестового датасета, которое не присутствовало в обучающем датасете?
В языковой модели новое слово из тестового датасета будет рассматриваться как неизвестное, ведь оно не является частью изученного векторайзером словаря. Модель может:
▪️Игнорировать слово;
▪️Воспользоваться встроенными механизмами обработки редких или неизвестных слов, такими как применение специальных токенов.
Результат будет зависеть от конкретной реализации и архитектуры модели.
#NLP
В языковой модели новое слово из тестового датасета будет рассматриваться как неизвестное, ведь оно не является частью изученного векторайзером словаря. Модель может:
▪️Игнорировать слово;
▪️Воспользоваться встроенными механизмами обработки редких или неизвестных слов, такими как применение специальных токенов.
Результат будет зависеть от конкретной реализации и архитектуры модели.
#NLP
Что такое TF-IDF?
TF-IDF (Term Frequency-Inverse Document Frequency) — это статистическая мера, используемая для оценки значимости слова в документе относительно всех других документов в коллекции или корпусе. TF-IDF сочетает два значения:
🔷 TF (Частота слова)
Это число, показывающее, сколько раз слово встречается в документе. Чем чаще, тем слово важнее в контексте этого документа.
🔷 IDF (Обратная частота документа)
Это мера, которая уменьшает вес слов, часто встречающихся во всём корпусе документов. Чем реже слово встречается во всём корпусе, тем больше его вклад в IDF.
Значение TF-IDF рассчитывается как произведение TF и IDF. На основе TF-IDF значений слов можно построить векторы документов.
#NLP
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
Токенизация в контексте обработки естественного языка — это процесс разделения текста на составные части. Такими составными частями могут быть слова, небольшие словосочетания или даже слоги.
Зачем нам это нужно? Токенизация позволяет перевести текст в формат, удобный для дальнейшего анализа и обработки. Токены можно преобразовать в числовые векторы, что необходимо для моделей машинного обучения. Примеры таких методов — мешок слов (Bag of Words), TF-IDF и векторные представления слов (word embeddings).
Кроме того, токенизация помогает выделить основу слова и его морфологические признаки (окончания, префиксы и т.д.), что полезно для задач, связанных с морфологическим анализом.
#NLP
👍5🔥2
Что такое стоп-слова в NLP и как с ними работать?
Стоп-слова — это распространённые в языке слова, которые практически не несут смысловой нагрузки. Чаще всего это артикли, междометия, союзы и т.д. Например, в английском языке стоп-словами могут быть the, a и an.
В рамках подготовки текста к NLP-задачам стоп-слова обычно удаляются, так как они могут добавить много шума. Универсального способа определить список стоп-слова нет. Однако можно пользоваться готовыми инструментами. Так, в библиотеке NLTK есть предустановленный список. Перед первым использованием вам понадобится его скачать: nltk.download('stopwords'). После скачивания можно его импортировать и посмотреть на сами слова.
#NLP
Стоп-слова — это распространённые в языке слова, которые практически не несут смысловой нагрузки. Чаще всего это артикли, междометия, союзы и т.д. Например, в английском языке стоп-словами могут быть the, a и an.
В рамках подготовки текста к NLP-задачам стоп-слова обычно удаляются, так как они могут добавить много шума. Универсального способа определить список стоп-слова нет. Однако можно пользоваться готовыми инструментами. Так, в библиотеке NLTK есть предустановленный список. Перед первым использованием вам понадобится его скачать: nltk.download('stopwords'). После скачивания можно его импортировать и посмотреть на сами слова.
#NLP
👍4❤1
Что такое Named Entity Recognition (NER)?
Named Entity Recognition — распознавание именованных сущностей. Это задача из области обработки естественного языка (NLP ), цель которой — найти и классифицировать ключевые сущности в тексте.
Эти сущности могут относиться к определённым категориям, например:
- Имена людей;
- Географические объекты;
- Даты и время;
- Денежные суммы;
- Названия организаций.
▪️Как это работает?
Алгоритмы NER анализируют текст и на основе обученных моделей выделяют слова или фразы, относящиеся к этим категориям. Для обучения используются аннотированные данные, где сущности уже отмечены.
▪️Где применяется?
- Автоматическое извлечение данных из документов;
- Улучшение поисковых систем;
- Обработка запросов в службах поддержки;
- Анализ социальных сетей;
- Классификация новостей;
- Работа с резюме.
#машинное_обучение #NLP
Named Entity Recognition — распознавание именованных сущностей. Это задача из области обработки естественного языка (
Эти сущности могут относиться к определённым категориям, например:
- Имена людей;
- Географические объекты;
- Даты и время;
- Денежные суммы;
- Названия организаций.
▪️Как это работает?
Алгоритмы NER анализируют текст и на основе обученных моделей выделяют слова или фразы, относящиеся к этим категориям. Для обучения используются аннотированные данные, где сущности уже отмечены.
▪️Где применяется?
- Автоматическое извлечение данных из документов;
- Улучшение поисковых систем;
- Обработка запросов в службах поддержки;
- Анализ социальных сетей;
- Классификация новостей;
- Работа с резюме.
#машинное_обучение #NLP
👍9