Глубокое синее море Deep Learning: как учится нейросеть
Машина, которая сама всё поняла и сделала выводы
Привет! Это онлайн-школа karpov.courses, и сегодня у нас статья про нейросети. Мы сталкиваемся с ними каждый день: в приложении банка общаемся с чат-ботом, браузер переводит страницу на другой язык, а телефонный оператор блокирует спам-звонок.
Как машины понимают, что нужно делать, и как их учат? Рассказывают двое наших коллег:
Что будет в статье:
Что такое Deep Learning
Специалисты Deep Learning создают и обучают искусственные нейронные сети. Это область более широкой науки машинного обучения.
Нейросеть — программа, которая сама учится на примерах. Например, в неё можно загрузить коллекцию разной музыки и сказать, где лежат классика, рок, кантри и другие жанры. Нейросеть изучит аудиозаписи и сама выведет для себя правила для определения, что к чему относится.
В машинном обучении всё работает так же, как в глубинном. Но модели Deep Learning сложнее, а данные более запутанные.
Нейросети хорошо работают с большими объёмами информации и им не нужно объяснять, как делать свою работу. Достаточно указать, где какие данные лежат. Но их нужно много: для обучения ChatGPT 4 было использовано 300 миллиардов слов.
Большой объём данных отражается на качестве нейросети: если изначально ChatGPT задумывалась как программа, которая умеет генерировать текст, то теперь она знает математику, программирование, иностранные языки и ещё кучу всего.
Вот некоторые нейросети и что они умеют:
- Layer распознаёт объекты на картинках и видео;
- Riverside.fm понимает речь по аудио;
- Eleven Labs читает текст голосом на разных языках;
- YandexGPT понимает текст: выводит общее содержание и отвечает на вопросы;
- Midjourney рисует картинки.
Что нужно уметь, чтобы учить нейросети
Процесс создания рабочей нейронной сети выглядит так:
- собираем данные;
- выбираем тип нейросети, который будем использовать;
- на собранных данных обучаем нейросеть;
- проверяем, что модель работает правильно и справляется под нагрузкой реальных пользователей.
На этом всё не заканчивается. Чтобы сделать нашу нейросеть лучшей, нужно продолжать её развивать. Именно так получилась сегодняшняя версия ChatGPT: после обучения на огромном объёме данных живые люди давали машине обратную связь по её ответам. Программа обрабатывала это и делала корректировки внутри. И так продолжалось, пока не получилось то, что есть сейчас.
Развитие нейросети происходит так. После создания минимальными усилиями первой версии нейросети мы начинаем изучать результаты, которые она генерирует. Потом формулируем гипотезу о том, что надо поменять, и ставим эксперимент: добавляем новые данные, меняем параметры обучения, выбираем другую нейросеть. После эксперимента снова изучаем результаты, делаем выводы, снова формируем гипотезу — и так по кругу движемся в сторону улучшения.
Эксперименты должны быть не случайным блужданием, а осмысленными решениями. DL-инженеру нужно понимать, что происходит с программой и как сделать её лучше.
Формировать правильные гипотезы для эксперимента — ключевое умение DL-инженера
Создание и обучение нейросети — необходимый набор навыков в Deep Learning. У всех подобных программ один принцип работы, независимо от умений финальной нейросети, которую видят конечные пользователи.
Когда вы поняли основы работы, то можно выбрать специализацию, например:
- аудио-задачи с голосом: перевод голоса в текст и наоборот, озвучивание текста голосом конкретного человека;
- изображения: генерация видео или распознавание незнакомцев на камере наблюдения;
- текст: создание собственной ChatGPT.
Когда мы готовили свой курс по Deep Learning, то провели большой опрос среди выпускников нашей школы, действующих и закончивших студентов других крупных EdTech-компаний, чтобы узнать самую популярную тему. Самой интересной оказалась работа с текстом — это же направление сейчас наиболее востребовано в бизнесе. Поэтому мы открыли обучение по этой специальности. Но звук и изображения тоже добавим.
Как выглядит работа DL-инженера
Работа DL-инженера состоит из трёх частей:
- Работа с данными. Собирать данные для задачи и обучения, общаться с заказчиками.
- Экспериментирование. Учить модели, которые подходят по возможностям: технической инфраструктуре, скорости работы. Не всегда нужно создавать новые нейросети — во многих компаниях уже есть свои, которые нужно улучшить.
- Вывод в прод. Релиз для общего доступа.
Инженерные задачи всегда связаны с конкретными задачами бизнеса. Например, ускорить работу поддержки или сделать так, чтобы клиенты получали более подходящие ответы на свои запросы.
Но сначала нужно разобраться в технической части: как переложить задачу на язык кода, чтобы всё работало.
Кому подойдёт изучение Deep Learning
Это сложная наука: нужно понимать ML и уметь программировать на Python. Вот кто начинает разбираться в глубинном обучении чаще остальных:
- ML-инженеры, чтобы погрузиться в специфику и повысить квалификацию;
- аналитики данных, чтобы уметь решать более сложные и интересные задачи;
- люди с базовыми знаниями ML и Python, чтобы освоить новую профессию.
Хотите научиться?
Сейчас в нашей школе открыт набор на курс по Deep Learning для работы с текстом: NLP — Natural Language Processing. Специализации по звуку и изображениям скоро появятся.
Чтобы было проще и эффективнее получить интересную и востребованную специальность, мы разработали специальную систему сопровождения студентов, про которую рассказали в другой статье.
С нами вы научитесь:
- создавать и обучать нейросети;
- понимать архитектуру трансформенных моделей;
- мыслить в нужном ключе для развития нейросети;
- обрабатывать текст, речь, фото и видео;
- собирать портфолио и откликаться на вакансии, чтобы строить карьеру.
А какое направление Deep Learning было бы интереснее выучить вам?