Модели: создание и загрузка

Урок 37 из 104 курса «HuggingFace: курс по Transformers»: официальный курс Hugging Face Learn (Хаггинг Фейс) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

О чём урок

{#if fw === 'pt'} {:else} {/if} {#if fw === 'pt'} {:else} {/if} {#if fw === 'pt'} В этом разделе мы подробно рассмотрим создание и использование модели. Мы будем использовать класс AutoModel, который удобен, когда вы хотите инстанцировать любую модель из контрольной точки. Класс AutoModel и все его представители на самом деле являются простыми обертками для широкого спектра моделей, доступных в библиотеке. Это умная обертка, поскольку она может автоматически определить архитектуру модели, подходящую для вашей контрольной точки, а затем инстанцировать модель с этой архитектурой. {:else} В этом разделе мы подробно рассмотрим создание и использование модели. Мы будем использовать класс TFAutoModel, который удобен, когда вы хотите инстанцировать любую модель из контрольной точки. Класс TFAutoModel и все его родственники на самом деле являются простыми обертками для широкого спектра моделей, доступных в библиотеке. Это умная обертка, поскольку она может автоматически определить подходящую архитектуру модели для вашей контрольной точки, а затем инстанцировать модель с этой архитектурой. {/if} Однако если вы знаете тип модели, которую хотите использовать, вы можете напрямую использовать класс, определяющий ее архитектуру. Давайте рассмотрим, как это работает на примере модели BERT. Первое, что нам нужно сделать для инициализации модели BERT, - загрузить объект конфигурации: {#if fw === 'pt'} {:else} {/if} Конфигурация содержит множество атрибутов, которые используются для создания модели: Хотя вы еще не видели, что делают все эти атрибуты, вы должны узнать некоторые из них: атрибут hidden_size определяет размер вектора hidden_states, а num_hidden_layers определяет количество слоев в модели Transformer. При создании модели из конфигурации по умолчанию она инициализируется случайными значениями: {#if fw === 'pt'} {:else} {/if} Модель можно использовать и в таком состоянии, но она будет выдавать тарабарщину; сначала ее нужно обучить.

План урока

  1. Создание Transformer
  2. Различные методы загрузки
  3. Методы сохранения
  4. Использование модели Transformer для инференса
  5. Использование тензоров в качестве входов в модель

Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.

Полезные гиды