Входная точка в HuggingFace
Начало пути в HuggingFace
Пошаговое руководство основ для начинающих
Работа с HuggingFace может быть сложной и запутанной, если вы не знаете, с чего начать. Одной из точек входа в репозиторий HuggingFace являются скрипты run_mlm.py и run_clm.py.
В этой статье мы рассмотрим скрипт run_mlm.py. Этот скрипт выбирает маскированную модель языка из HuggingFace и подстраивает ее под набор данных (или тренирует ее с нуля). Если вы начинающий и у вас очень мало опыта работы с кодами HuggingFace, эта статья поможет вам понять основы.
Мы выберем маскированную модель языка и загрузим набор данных из HuggingFace, а затем подстроим модель под этот набор данных. В конце мы оценим модель. Все это для лучшего понимания структуры кода, поэтому наша основная цель не связана с каким-либо конкретным применением.
Приступим.
- Раскрытие скрытых реальностей Освещение торговли людьми в Альберте
- Исследователи Университета Калифорнии в Беркли предлагают CRATE новый белый ящик-трансформер для эффективного сжатия данных и разрежения в глубоком обучении
- Исследователи из Стэнфордского университета представляют BLASTNet первый большой набор данных для основной гидродинамики с использованием машинного обучения
Несколько слов о тонкой настройке
Тонкая настройка – это общая техника глубокого обучения, которая заключается в использовании предварительно обученной модели нейронной сети и ее настройке для более эффективной работы с новым набором данных или задачей.
Тонкая настройка хорошо работает, когда ваш набор данных недостаточно велик, чтобы обучить глубокую модель с нуля! Поэтому вы начинаете с уже изученной базовой модели.
При тонкой настройке вы берете модель, предварительно обученную на большом источнике данных (например, ImageNet для изображений или BooksCorpus для NLP), а затем продолжаете обучать ее на своем наборе данных, чтобы адаптировать модель для вашей задачи. Этот процесс требует намного меньше данных и эпох, чем обучение с случайными весами.
Тонкая настройка в HuggingFace
В HuggingFace (HF) есть много встроенных функций, которые позволяют нам выполнить тонкую настройку предварительно обученной модели всего за несколько строк кода. Основные шаги выглядят следующим образом:
- загрузка предварительно обученной модели
- загрузка предварительно обученного токенизатора
- загрузка набора данных для тонкой настройки
- токенизация указанного набора данных с использованием токенизатора
- использование объекта Trainer для обучения предварительно обученной модели на токенизированном наборе данных
Давайте посмотрим на каждый шаг в коде. Мы намеренно не уточняем множество деталей, чтобы просто дать обзор того, как выглядит общая структура.