Краткий конспект лекций

Лекция 1. Современные задачи в области NLP

Знакомство с преподавателем. Общая структура курса. Формирование итоговой оценки. Основные идеи, закладываемые в курс. Место курса в образовательной программе. Структура лабораторной работы. LLM. Типовые задачи NLP, решаемые с помощью нейросетевых моделей. Жизненный цикл модели: предобучение (pre-training), инференс, тонкая настройка (дообучение, fine-tuning), инференс. Экосистема HuggingFace. Поиск подходящего датасета. Ключевые характеристики датасета: имя, вложенные датасеты, названия сплитов и их количество, количество колонок, их структура и необходимость при замере метрики. Установка необходимых библиотек. Скачивание датасета с помощью load_dataset. Получение необходимого сплита. Перевод в формат DataFrame. Основные задачи при обработке табличных значений. Перегрузка протоколов в пользовательских классах для поддержки поведения стандартных типов: итерируемость и взятие длины.

Лекция 2. Токенизация. Анализ и инференс языковых моделей

Структура языковой модели. Препроцессинг датасета. Токенизация входа. Инференс модели через вызов как функции. Постпроцессинг результатов модели. Классификация: взятие индекса логита с максимальным значением.

Лекция 3. Пакетная обработка при инференсе языковых моделей

Паралелельная обработка нескольких семплов: мотивация и технические особенности. Сценарии использования нейронной сети: ориентация на пропускную способность или на задержку. Ограничения пакетной обработки. Выравнивание длин семплов в батче через padding и truncation.

Лекция 4. Оценка качества модели. Модель как сервис

Автоматические метрики качества. Библиотека evaluate. Модель как сервис: мотивация и технические особенности реализации. Сервер. Конечные точки сервиса (endpoint).

Лекция 5. Тонкая настройка языковых моделей с помощью метода LoRA

Тонкая настройка модели (fine-tuning). Задачи тонкой настройки. Методы тонкой настройки больших языковых моделей. Основные идеи метода LoRA. Библиотека PEFT. Сценарий тонкой настройки языковой модели.

Лекция 6. Ускорение инференса языковых моделей

Ускорение инференса больших языковых моделей с использованием низкоразрядных чисел. Квантизация больших языковых моделей в целочисленные форматы. Фреймворки для ускорения инференса больших языковых моделей: OpenVINO, ONNX, TensorRT.