Пререквизиты¶
Курс рассчитан на человека, который не знает ни машинного обучения, ни высшей математики. Линейная алгебра, теория вероятностей и производные вводятся внутри курса — в модулях 2–4, — и вводятся под конкретную задачу, а не «на всякий случай».
Снаружи нужны три вещи, и все три — про инструменты, а не про предмет.
Что нужно уметь¶
Python на уровне «пишу и отлаживаю сам»¶
Переменные, списки и словари, циклы, функции, классы на уровне «понимаю, что это такое»,
чтение чужого кода без паники. Виртуальные окружения и pip install.
Не нужно: декораторы, метаклассы, асинхронность, дескрипторы, типизация.
Проверка: если вы можете за полчаса написать функцию, которая читает CSV, считает среднее по колонке и рисует гистограмму, — этого достаточно. Если нет, официальный учебник Python закрывает нужное за пару недель.
Командная строка¶
Перейти в каталог, запустить скрипт, посмотреть вывод, прочитать сообщение об ошибке до конца, а не до первой строки.
git¶
clone, commit, push, ветка, pull request. Без этого не сделать выпускную работу и не
опубликовать воспроизведение — а публикация результата и есть то, ради чего курс написан.
Pro Git бесплатна и на русском; первых трёх глав хватит.
Чего делать не нужно¶
Не проходите курс по линейной алгебре перед началом. Это самая частая и самая дорогая ошибка: три месяца на абстрактную алгебру, к концу забыто больше половины, и на ML человек приходит уже уставшим. В модуле 3 линейная алгебра вводится через регрессию и PCA — вы сразу видите, зачем нужна каждая операция, и поэтому она остаётся.
То же с теорией вероятностей и матанализом.
Про SQL
SQL в первых модулях не нужен. Он понадобится в частях V и VII, когда данные перестанут помещаться в один CSV. Начинать курс без SQL можно, заканчивать — уже нет, но у вас будет полгода, чтобы его подобрать.
Техника¶
| Минимум | Комфортно | |
|---|---|---|
| Части I–II | любой ноутбук | — |
| Части III–IV | Colab с бесплатной GPU | своя GPU от 8 ГБ |
| Части V–VI | Colab | 16 ГБ VRAM для LLM-модулей |
Каждый ноутбук курса устроен так, чтобы запускаться на CPU за разумное время — на уменьшенных данных, с честной пометкой, какое число получится на полном прогоне. Отсутствие видеокарты не должно останавливать обучение; оно должно замедлять эксперименты.
Самопроверка¶
Если на все три вопроса ответ «да» — начинайте с модуля 1.
- Я могу с нуля написать и запустить скрипт на Python, который что-то считает по файлу.
- Я понимаю, что такое ветка в git и зачем она.
- Я готов к тому, что первые четыре модуля будут про то, как проверять результаты, а не про то, как обучать модели, — и что это не задержка перед интересным, а условие того, что интересное вообще будет иметь смысл.