forked from huggingface/course
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
282 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,173 @@ | ||
- title: 0. Установка | ||
sections: | ||
- local: chapter0/1 | ||
title: Введение | ||
|
||
- title: 1. Transformer models | ||
sections: | ||
- local: chapter1/1 | ||
title: Introduction | ||
- local: chapter1/2 | ||
title: Natural Language Processing | ||
- local: chapter1/3 | ||
title: Transformers, what can they do? | ||
- local: chapter1/4 | ||
title: How do Transformers work? | ||
- local: chapter1/5 | ||
title: Encoder models | ||
- local: chapter1/6 | ||
title: Decoder models | ||
- local: chapter1/7 | ||
title: Sequence-to-sequence models | ||
- local: chapter1/8 | ||
title: Bias and limitations | ||
- local: chapter1/9 | ||
title: Summary | ||
- local: chapter1/10 | ||
title: End-of-chapter quiz | ||
quiz: 1 | ||
|
||
- title: 2. Using 🤗 Transformers | ||
sections: | ||
- local: chapter2/1 | ||
title: Introduction | ||
- local: chapter2/2 | ||
title: Behind the pipeline | ||
- local: chapter2/3 | ||
title: Models | ||
- local: chapter2/4 | ||
title: Tokenizers | ||
- local: chapter2/5 | ||
title: Handling multiple sequences | ||
- local: chapter2/6 | ||
title: Putting it all together | ||
- local: chapter2/7 | ||
title: Basic usage completed! | ||
- local: chapter2/8 | ||
title: End-of-chapter quiz | ||
quiz: 2 | ||
|
||
- title: 3. Fine-tuning a pretrained model | ||
sections: | ||
- local: chapter3/1 | ||
title: Introduction | ||
- local: chapter3/2 | ||
title: Processing the data | ||
- local: chapter3/3 | ||
title: Fine-tuning a model with the Trainer API or Keras | ||
local_fw: { pt: chapter3/3, tf: chapter3/3_tf } | ||
- local: chapter3/4 | ||
title: A full training | ||
- local: chapter3/5 | ||
title: Fine-tuning, Check! | ||
- local: chapter3/6 | ||
title: End-of-chapter quiz | ||
quiz: 3 | ||
|
||
- title: 4. Sharing models and tokenizers | ||
sections: | ||
- local: chapter4/1 | ||
title: The Hugging Face Hub | ||
- local: chapter4/2 | ||
title: Using pretrained models | ||
- local: chapter4/3 | ||
title: Sharing pretrained models | ||
- local: chapter4/4 | ||
title: Building a model card | ||
- local: chapter4/5 | ||
title: Part 1 completed! | ||
- local: chapter4/6 | ||
title: End-of-chapter quiz | ||
quiz: 4 | ||
|
||
- title: 5. The 🤗 Datasets library | ||
sections: | ||
- local: chapter5/1 | ||
title: Introduction | ||
- local: chapter5/2 | ||
title: What if my dataset isn't on the Hub? | ||
- local: chapter5/3 | ||
title: Time to slice and dice | ||
- local: chapter5/4 | ||
title: Big data? 🤗 Datasets to the rescue! | ||
- local: chapter5/5 | ||
title: Creating your own dataset | ||
- local: chapter5/6 | ||
title: Semantic search with FAISS | ||
- local: chapter5/7 | ||
title: 🤗 Datasets, check! | ||
- local: chapter5/8 | ||
title: End-of-chapter quiz | ||
quiz: 5 | ||
|
||
- title: 6. The 🤗 Tokenizers library | ||
sections: | ||
- local: chapter6/1 | ||
title: Introduction | ||
- local: chapter6/2 | ||
title: Training a new tokenizer from an old one | ||
- local: chapter6/3 | ||
title: Fast tokenizers' special powers | ||
- local: chapter6/3b | ||
title: Fast tokenizers in the QA pipeline | ||
- local: chapter6/4 | ||
title: Normalization and pre-tokenization | ||
- local: chapter6/5 | ||
title: Byte-Pair Encoding tokenization | ||
- local: chapter6/6 | ||
title: WordPiece tokenization | ||
- local: chapter6/7 | ||
title: Unigram tokenization | ||
- local: chapter6/8 | ||
title: Building a tokenizer, block by block | ||
- local: chapter6/9 | ||
title: Tokenizers, check! | ||
- local: chapter6/10 | ||
title: End-of-chapter quiz | ||
quiz: 6 | ||
|
||
- title: 7. Main NLP tasks | ||
sections: | ||
- local: chapter7/1 | ||
title: Introduction | ||
- local: chapter7/2 | ||
title: Token classification | ||
- local: chapter7/3 | ||
title: Fine-tuning a masked language model | ||
- local: chapter7/4 | ||
title: Translation | ||
- local: chapter7/5 | ||
title: Summarization | ||
- local: chapter7/6 | ||
title: Training a causal language model from scratch | ||
- local: chapter7/7 | ||
title: Question answering | ||
- local: chapter7/8 | ||
title: Mastering NLP | ||
- local: chapter7/9 | ||
title: End-of-chapter quiz | ||
quiz: 7 | ||
|
||
- title: 8. How to ask for help | ||
sections: | ||
- local: chapter8/1 | ||
title: Introduction | ||
- local: chapter8/2 | ||
title: What to do when you get an error | ||
- local: chapter8/3 | ||
title: Asking for help on the forums | ||
- local: chapter8/4 | ||
title: Debugging the training pipeline | ||
local_fw: { pt: chapter8/4, tf: chapter8/4_tf } | ||
- local: chapter8/5 | ||
title: How to write a good issue | ||
- local: chapter8/6 | ||
title: Part 2 completed! | ||
- local: chapter8/7 | ||
title: End-of-chapter quiz | ||
quiz: 8 | ||
|
||
- title: Hugging Face Course Event | ||
sections: | ||
- local: event/1 | ||
title: Part 2 Release Event |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,109 @@ | ||
# Введение | ||
|
||
Добро пожаловать на курс от Hugging Face! Это введение поможет настроить рабочее окружение. Если вы только начинаете курс, мы рекомендуем сначала заглянуть в [Главу 1](/course/chapter1), затем вернуться и настроить среду, чтобы попробовать запустить код самостоятельно. | ||
|
||
Все библиотеки, которые мы будем использовать в этом курсе доступны как Python-пакеты, мы покажем, как установить окружение и необходимые библиотеки. | ||
|
||
Мы рассмотрим два пути настройки виртуального окружения: с использованием Google Colab и виртуального окружения Python. Можно выбрать любой из вариантов исходя из собственных предпочтений. Если вы начинающий, то лучше начать с Google Colab. | ||
|
||
Если вы пользуетесь операционной системой Windows, то мы рекомендуем сразу начать использование Google Colab, т.к. мы не будем рассматривать эту операционную систему в качестве платформы для работы. Если вы используете Linux или MacOS, то можно воспользоваться любым из описанных здесь подходов. | ||
|
||
Для прохождения курса вам понадобится аккаунт на Hugging Face, бесплатно можно зарегистрироваться здесь: [создать учетную запись](https://huggingface.co/join). | ||
|
||
## Использование Colab | ||
|
||
Использование Colab – самый простой вариант: просто загрузите блокнот в браузере и приступайте к работе! | ||
|
||
Если вы не знакомы с Google Colab, то мы рекомендуем начать с изучения [Введения](https://colab.research.google.com/notebooks/intro.ipynb). Colab позволяет использовать более мощную аппартную базу (GPU - видеокарты, TPU - тензорные процессоры) и он бесплатен для небольших нагрузок. | ||
|
||
Как только вы освоитесь в Colab, создайте новый блокнот: | ||
|
||
<div class="flex justify-center"> | ||
<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter0/new_colab.png" alt="An empty colab notebook" width="80%"/> | ||
</div> | ||
|
||
Следующий шаг - установка библиотек, которые мы будем использовать в курсе. В качестве менеджера пакетов будет использоваться `pip`. Для запуска системной команды в ячейке блокнота необходимо в самом начале дописать символ `!`. Библиотеку 🤗 Transformers можно установить так: | ||
|
||
``` | ||
!pip install transformers | ||
``` | ||
|
||
Вы можете удостовериться, что библиотека установилась, просто сделав ее импорт: | ||
|
||
``` | ||
import transformers | ||
``` | ||
|
||
<div class="flex justify-center"> | ||
<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter0/install.gif" alt="A gif showing the result of the two commands above: installation and import" width="80%"/> | ||
</div> | ||
|
||
Это установка самой базовой версии 🤗 Transformers. В частности, никаких библиотек машинного обучения (как PyTorch или TensorFloat) установлено не будет. Так как мы будем использовать множество различных возможностей библиотеки 🤗 Transformers, мы рекомендуем установить версию для разработчиков, в составе которой сразу инсталлируются все необходимые зависимости: | ||
|
||
``` | ||
!pip install transformers[sentencepiece] | ||
``` | ||
|
||
Это займет определенное время, но сразу после установки вы будете готовы двигаться дальше! | ||
|
||
## Использование виртуального окружения Python | ||
|
||
Если вы хотите использовать виртуальное окружение Python, сначала необходимо установить Python. Мы рекомендуем использовать [эти инструкции](https://realpython.com/installing-python/) для установки. | ||
|
||
После установки Python у вас появится возможность запускать Python-команды в терминале. Прежде чем переходить дальше, запустите в терминале команду `python --version`. В результате должна быть распечатана версия Python, доступная для работы. | ||
|
||
Когда вы запускаете Python-команду в терминале (например, `python --version`), эту команду обрабатывает _оснвной_ Python-интерпретатор вашей системы. Мы не рекомендуем устанавливать в его окружение дополнительные библиотеки, лучше для каждого проекта создавать виртуальные окружения. Каждый проект будет обладать собственными зависимостями и пакетами, если проекты будут в разных окружениях, то вам меньше придется следить за совместимостью бибилиотек. | ||
|
||
В Python такой подход можно реализовать с помощью разных библиотек, а подробнее об окружениях можно почитать [тут](https://docs.python.org/3/tutorial/venv.html). Каждое окружение будет содержать в себе необходимую версию языка и набор библиотек. Все эти окружения изолированы друг от друга. Среди самых популярных инструментов для работы с виртуальными окружениями можно отметить [`venv`](https://docs.python.org/3/library/venv.html#module-venv). | ||
|
||
Для начала создайте папку в домашней директории, в которой будут храниться ваши файлы курса (ее можно назвать произвольным именем, например: *transformers-course*): | ||
|
||
``` | ||
mkdir ~/transformers-course | ||
cd ~/transformers-course | ||
``` | ||
Находясь в директории *transformers-course*, создайте виртуальное окружение с использованием `venv`: | ||
|
||
``` | ||
python -m venv .env | ||
``` | ||
|
||
Теперь в папке должна появиться директория с именем *.env*: | ||
|
||
``` | ||
ls -a | ||
``` | ||
|
||
```out | ||
. .. .env | ||
``` | ||
|
||
Переключаться между окружениями можно с помощью команд `activate` и `deactivate`: | ||
|
||
``` | ||
# Активировать виртуальное окружение | ||
source .env/bin/activate | ||
# Деактивировать окржуение | ||
source .env/bin/deactivate | ||
``` | ||
|
||
Вы можете убедиться, что окружение активировано с помощью команды `which python`: если ее результат указывает на виртуальное окружение, значит, вы успешно активировали его! | ||
|
||
``` | ||
which python | ||
``` | ||
|
||
```out | ||
/home/<user>/transformers-course/.env/bin/python | ||
``` | ||
|
||
### Установка зависимостей | ||
|
||
Как и в предыдущем разделе, посвященном Google Colab, вам необходимо установить библиотеку 🤗 Transformers(желательно, версию для разработчиков) с помощью менеджера `pip`: | ||
|
||
``` | ||
pip install "transformers[sentencepiece]" | ||
``` | ||
|
||
Теперь все установлено! Двигаемся дальше! |