О чём урок
В этом notebook мы рассмотрим пример дообучения open-mistral-7b с использованием MistralAI finetuning API. В частности, мы попытаемся передать знания mistral-large-latest, генерируя обучающие данные с помощью mistral-large-latest, чтобы затем дообучить open-mistral-7b. Все обучающие данные генерируются с использованием двух различных разделов наших индексных данных, создавая как обучающий, так и оценочный набор. Мы будем использовать mistral-small-latest для создания синтетических обучающих и оценочных вопросов, чтобы избежать каких-либо предубеждений в отношении open-mistral-7b и mistral-large-latest. Затем мы выполняем finetune с нашей абстракцией-обёрткой MistraAIFinetuneEngine. Оценка выполняется с использованием библиотеки ragas, которую мы подробнее рассмотрим позже. Мы можем отслеживать метрики на Weights & Biases Здесь мы сначала загружаем PDF-файл, который будем использовать для генерации обучающих данных. Следующий шаг — генерация обучающего и оценочного датасета. Мы сгенерируем 40 обучающих и 40 оценочных вопросов по различным разделам загруженного нами PDF-файла. Мы можем использовать open-mistral-7b для оценочных вопросов, чтобы получить нашу базовую производительность. Затем мы будем использовать mistral-large-latest для обучающих вопросов, чтобы сгенерировать наши обучающие данные. Мы сгенерируем 40 обучающих и 40 оценочных вопросов Теперь сгенерируем вопросы по совершенно другому набору документов, чтобы создать наш оценочный датасет. Для этой оценки мы будем использовать библиотеку ragas для оценки. Ragas имеет множество метрик оценки для RAG pipelines, и вы можете прочитать о них здесь. Для этого notebook мы будем использовать следующие две метрики: answer_relevancy — Это измеряет, насколько релевантен сгенерированный ответ запросу (prompt). Если сгенерированный ответ неполон или содержит избыточную информацию, оценка будет низкой. Это определяется путем вычисления вероятности того, что LLM сгенерирует данный вопрос, используя сгенерированный ответ. Значения находятся в диапазоне (0,1), чем выше, тем лучше. faithfulness — Это измеряет фактическую согласованность сгенерированного ответа с предоставленным контекстом. Это делается с использованием многоэтапной парадигмы, которая включает создание утверждений из сгенерированного ответа с последующей проверкой каждого из этих утверждений на соответствие контексту. Ответ масштабируется до диапазона (0,1). Чем выше, тем лучше.
План урока
- Установка API Key
- Загрузка данных
- Настройка LLM и модели эмбеддингов
- Генерация обучающих и оценочных данных
- Первоначальная оценка с помощью open-mistral-7b Query Engine
- mistral-large-latest для сбора обучающих данных
- Создание MistralAIFinetuneEngine
- Оценка
Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.