Вот так я изучаю ML
Сегодня я хочу поделиться с вами тем, как я изучаю новые вещи в ML, потому что я думаю, что это может помочь и вам. Эту стратегию я начал использовать 2 года назад, когда решил изучать Reinforcement Learning.
Необходимость постоянно учиться ML
Машинное обучение – увлекательная область, но в то же время сложная и быстро развивающаяся. Неважно, как много вы знаете сегодня, ваши навыки и опыт устареют быстрее, чем вы думаете.
Поначалу это может показаться обескураживающим. Но для меня это оказалось главной причиной, по которой я работаю в ML.
Волнение и радость, которые я испытываю, когда узнаю что-то новое, например
- новый язык программирования, например Rust
- новая библиотека, например Polars, или
- совершенно новая парадигма для создания приложений ML, например Large Language Models
- это то, что делает ML особенным для меня.
И я чертовски уверен, что вы чувствуете то же самое.
Позвольте мне поделиться с вами рецептом, которому я следую, когда хочу освоить что-то новое в ML.
Обучение на основе проектов
Я строю свое обучение как проект. То есть я начинаю с того, что спрашиваю себя:
Какой проект я хочу создать с помощью этой новой вещи, которую я хочу изучить?
Когда вы отталкиваетесь от конечной цели, вы сохраняете концентрацию, не отвлекаетесь и узнаете тонны вещей довольно быстро.
Пример
Допустим, вы хотите освоить большие языковые модели (LLM). Хорошим первым проектом будет создание REST API для анализа настроений.
Когда вы начинаете свой путь обучения с четкой целью, вы переводите свой мозг в режим решения проблем. И вы начинаете задавать себе правильные вопросы:
- Где найти набор данных для обучения и оценки модели?
- Какая модель подходит для этой задачи?
- Как обернуть и развернуть свою модель в виде REST API?
Поэтому вы отправляетесь в Интернет и начинаете искать ответы. Поначалу вы чувствуете себя немного ошеломленным. Но в конце концов вы начинаете соединять точки и находить ответы на свои вопросы. Например,
- Набор данных? → Этот набор данных Amazon Review может стать хорошей отправной точкой.
- Модель? → Библиотека трансформеров Hugging Face предоставляет отличные модели для анализа настроений, которые вы можете использовать из коробки или даже доработать с помощью собственных данных, чтобы повысить их точность для вашей задачи.
- Развертывание? → AWS Lambda – популярная платформа для бессерверного развертывания, почему бы не попробовать?
Это строительные блоки вашего решения, которые вам нужно собрать воедино, чтобы стать чемпионом.
Но это сложный и тернистый путь.
Проектно-ориентированное обучение – это не простой путь, потому что для создания решения недостаточно иметь ингредиенты. Вам нужно запачкать руки и начать писать код, который превратит эти ингредиенты в ваш шедевр.
Этот этап полон взлетов и падений, маленьких побед и разочарований. И именно тогда происходит НАСТОЯЩЕЕ ОБУЧЕНИЕ.
Только когда вы сами боретесь и внедряете решения, вы учитесь. Все просто.
Мы – чемпионы, друзья мои.
Когда вы основываете свое обучение на настоящих проектах, вы получаете две вещи:
- Безмерную радость, когда вам удается преодолеть препятствия и завершить проект.
- Невероятное портфолио, которое вы сможете демонстрировать на собеседованиях и которое поможет вам выделиться из толпы.