Читать книгу Гений кода. Истории самых впечатляющих ИИ-проектов, которые уже меняют жизнь - Ар'лан ис'Дрекхэм - Страница 10
Часть 2: Рождение титанов. Истории прорывов, изменивших правила игры
Глава 9. BERT and Co.: Как модели научились читать контекст (Понимание языка)
ОглавлениеКрючок: Загадка про банк
Представь, что ты даёшь компьютеру два предложения:
– «Я пошёл в банк, чтобы положить деньги на счёт.»
– «Мы сидели на банке в парке и ели мороженое.»
Для человека это элементарно. В первом случае – финансовое учреждение, во втором – скамейка. Но для машины до 2018 года это была катастрофа. Слово «банк» – это просто набор букв. У него нет значения само по себе. Значение появляется только из контекста.
До появления BERT компьютеры читали текст как мешок слов. Они не понимали, что порядок важен. Они не понимали, что слово может менять смысл в зависимости от соседей. Они были как дислексики, которые видят буквы, но не схватывают суть.
А потом в Google пришла команда исследователей и сделала то, что изменило всё.
Герои: Невидимые гении из Маунтин-Вью
В отличие от DeepMind с их громкими пиар-кампаниями, команда, создавшая BERT, работала в тени. Это были инженеры и исследователи из Google AI Language.
Их имена – Джейкоб Девлин, Мин-Вей Чанг, Кентон Ли, Кристина Тутанова – известны в основном специалистам. Они не играли в Го на глазах у всего мира. Они просто делали свою работу: улучшали поиск Google.
Проблема, которую они решали, была мучительной для всей компании. Google зарабатывает деньги на поиске. А поиск – это понимание того, что ищет пользователь. Если поисковая система не понимает смысла запроса, она показывает ерунду. А пользователи уходят к конкурентам.
К 2018 году все поисковики работали примерно одинаково: они смотрели на слова в запросе и искали страницы, где эти слова встречаются. Это была эра keyword matching. Но люди так не мыслят. Люди мыслят смыслами.
Конфликт: Почему старые модели были глупыми
До BERT все языковые модели работали по одному из двух принципов:
1. Bag of Words (Мешок слов).
Предложение превращалось в набор слов без порядка. «Мама мыла раму» и «Рама мыла маму» для такой модели были одинаковыми. Абсурд, но факт.
2. Односторонние модели (RNN/LSTM).
Они читали текст слева направо и предсказывали следующее слово. Но у них была проблема: они «видели» только прошлое, но не будущее. А для понимания контекста нужно видеть и то, что было ДО, и то, что будет ПОСЛЕ.
Пример: «Он пошёл в банк, потому что ему нужно было…».
Чтобы понять, какой банк имеется в виду, нужно знать, что будет дальше: «… положить деньги» или «… починить штаны». Односторонняя модель этого не умела. Она гадала вслепую.
Исследователи Google задали простой вопрос: «А что, если научить модель смотреть на текст с двух сторон одновременно? Что, если дать ей читать как человек?».
Развязка: BERT – дворецкий, который понимает всё
BERT (Bidirectional Encoder Representations from Transformers) – это архитектура, которая совершила революцию.
Название расшифровывается как «Двунаправленные представления кодировщика от трансформеров». Звучит страшно, но суть проста.
Гениальная идея №1: Двунаправленность.
BERT читает текст сразу весь. Он не идёт слева направо. Он смотрит на все слова в предложении одновременно и для каждого слова учитывает все остальные – и слева, и справа.
Как это работает? Представь, что ты разгадываешь кроссворд. У тебя есть слово из 5 букв, и тебе нужно его угадать. Ты смотришь на соседние слова по вертикали и горизонтали. Ты учитываешь всё сразу. Примерно так же работает BERT.
Гениальная идея №2: Маскировка (Masked Language Model).
Как научить модель понимать контекст, если у тебя нет правильных ответов? В обычном языке нет размеченных данных.
Хитрость: они прятали 15% слов в предложении и заставляли модель угадывать спрятанное.
Например: «Я пошёл в [MASK], чтобы положить деньги.»
Модель должна понять по контексту, что спрятано слово «банк» (финансовый), а не «парк» или «магазин».
Когда модель учится угадывать спрятанные слова, она невольно учится понимать, как слова связаны друг с другом. Она впитывает в себя грамматику, семантику, контекст. Это называется self-supervised learning – самообучение без учителя.
Гениальная идея №3: Трансформеры.
BERT построен на архитектуре Transformer, которая была придумана в Google чуть раньше (знаменитая статья «Attention Is All You Need», 2017). Трансформеры позволяют модели обрабатывать все слова параллельно (а не последовательно, как старые сети) и использовать механизм внимания (attention) – то есть фокусироваться на важных словах в предложении, даже если они далеко друг от друга.
Инсайт: Момент, когда поиск поумнел
В 2018 году Google опубликовала статью про BERT и одновременно выложила код в открытый доступ.
Это был гениальный бизнес-ход. Google могла держать технологию в секрете и пользоваться сама. Вместо этого они открыли исходники. Почему? Потому что BERT – это не продукт. Это фундамент. Google хотела, чтобы весь мир начал строить на этом фундаменте, чтобы экосистема росла, а Google оставалась лидером.
Эффект был мгновенным. BERT побил все рекорды в 11 задачах понимания языка (GLUE benchmark). То, что казалось невозможным вчера, стало реальностью сегодня.
А в 2019 году Google объявила, что BERT работает в поиске. Это было самое большое изменение в алгоритмах поиска за последние 5 лет.
Что это значило для обычных людей?
Раньше, если ты искал «2019 бразилия путешественник забрался в аптеку», Google искал слова «2019», «бразилия», «путешественник», «забрался», «аптека». И находил чёрт знает что.
С BERT Google начала понимать, что предлог «в» меняет смысл. Что «забраться в аптеку» – это не то же самое, что «купить в аптеке». Что контекст важен.
Вот пример, который приводила сама Google:
Запрос: «Do estheticians stand a lot at work?» (Много ли стоят косметологи на работе?)
Раньше Google показывала страницы про «стоячую работу» вообще. BERT понял, что важно слово «estheticians» (косметологи), и выдал точный ответ именно про эту профессию.
Война гигантов: BERT против всех
Успех BERT породил гонку вооружений. Все захотели свою «понимающую» модель.
– OpenAI выпустила GPT (Generative Pre-trained Transformer). Но их модель была односторонней (слева направо). Она лучше генерировала текст, но хуже понимала контекст.
– Фейс выпустил RoBERTa – улучшенную версию BERT (больше данных, дольше обучение, хитрее настройки).
– Microsoft выпустила MT-DNN, Turing-NLG.
– Google не остановилась: вышли ALBERT (лёгкий BERT), T5 (Text-to-Text Transfer Transformer) – модель, которая умела делать всё: переводить, отвечать, обобщать, просто превращая любую задачу в текст.
Каждая новая модель была больше, мощнее и требовала больше вычислительных ресурсов. Если первые версии BERT имели 110 миллионов параметров, то современные модели (GPT-3) доросли до 175 миллиардов.
Темная сторона: Размер имеет значение?
У этого бума был обратный эффект.
1. Экологический. Обучение большой языковой модели выделяет столько же CO2, сколько 5 автомобилей за весь срок службы. Гонка гигантов стала угрожать климату.
2. Элитарный. Только суперкорпорации (Google, Microsoft…) могли позволить себе обучать такие модели. Университеты и стартапы выпали из гонки. Наука из открытой стала закрытой.
3. Невменяемый. Модели стали настолько большими, что никто до конца не понимает, как они работают внутри. Мы знаем, что на входе и что на выходе, но что происходит между ними – «чёрный ящик».
Наследие: Без BERT не было бы ChatGPT
BERT и его последователи создали фундамент для всего, что мы имеем сейчас.
– Поисковики стали умными. Яндекс тоже внедрил свои аналоги.
– Голосовые помощники начали понимать сложные запросы.
– Анализ тональности (определение эмоций по тексту) вышел на новый уровень.
– Машинный перевод перестал быть корявым.
– И самое главное: BERT доказал, что контекст – это всё.
А потом, через несколько лет, на этом фундаменте построили ChatGPT. Но об этом позже.
Твой ход: Четыре урока от BERT
– Смотри на проблему с двух сторон. Одностороннее мышление – главный враг понимания. Всегда ищи контекст, всегда смотри на ситуацию с разных углов.
– Учись угадывать спрятанное. Метод маскировки (предсказание пропущенного) – отличный способ учиться чему угодно. Когда ты сталкиваешься с неполной информацией, попробуй восстановить целое. Это тренирует мозг.
– Открытость порождает экосистему. Google открыла BERT – и весь мир начал работать на их технологии. Иногда выгоднее поделиться, чем спрятать.
– Размер – не главное. BERT был прорывом не потому, что был огромным, а потому что был умным. В погоне за масштабом не забывай про качество архитектуры.
P.S.
Знаешь, что самое забавное? Когда BERT только вышел, многие критики говорили: «Ну, понимание контекста – это круто, но до настоящего интеллекта ещё далеко». Они были правы. Но они не знали, что семена уже посеяны.
Всего через несколько лет те же принципы (трансформеры, внимание, контекст) приведут к появлению моделей, которые будут писать поэмы и сдавать экзамены в Стэнфорде.