Мы предположили, что большие модели лучше. Существуют ли сценарии, для которых более крупные модели работают хуже? В 2022 году компания Anthropic обнаружила, что, как это ни парадоксально, большее количество обучения выравниванию приводит к модели, которые в меньшей степени согласуются с человеческими предпочтениями. Согласно их статье, модели, обученные быть более согласованными, «с гораздо большей вероятностью выражают конкретные политические взгляды (за право на оружие и иммиграцию) и религиозные взгляды (буддистские), осознанный опыт и моральную самооценку, а также желание не быть закрытыми».
В 2023 году группа исследователей, в основном из Нью-Йоркского университета, учредила премию Inverse Scaling Prize, чтобы найти задачи, в которых большие языковые модели работают хуже. Они предлагали 5 000 долларов за каждый третий приз, 20 000 долларов за каждый второй приз и 100 000 долларов за один первый приз. Всего на конкурс поступило 99 заявок, из которых 11 были удостоены третьих премий. Они обнаружили, что большие языковые модели иногда (только иногда) хуже справляются с задачами, требующими запоминания, и задачами с сильными априорными характеристиками. Тем не менее, они не присудили ни вторых, ни первых призов, потому что, несмотря на то, что представленные задания показывают неудачи для небольшого набора тестов, ни одно из них не продемонстрировало неудач в реальном мире.
Заострим внимание на трех вещах:
1. Производительность модели зависит от размера модели и размера набора данных.
2. Большие модели и большие наборы данных требуют больше вычислительных ресурсов.
3. Вычисления стоят денег.
Если у вас нет неограниченных денег, планирование бюджета имеет важное значение. Вы же не хотите начинать с произвольно большого размера модели и смотреть, сколько это будет стоить. Вы начинаете с бюджета – сколько денег вы хотите потратить, – и определяете наилучшие характеристики модели, которые вы можете себе позволить. Поскольку вычислительные ресурсы часто являются ограничивающим фактором – вычислительная инфраструктура не только дорога, но и сложна в настройке, – команды часто начинают с бюджета на вычислительные ресурсы. При фиксированном количестве FLOP, какой размер модели и размер набора данных обеспечат наилучшую производительность? Модель, которая может достичь наилучшей производительности при фиксированном бюджете вычислений, является необязательной.
Учитывая вычислительный бюджет, правило, которое помогает рассчитать оптимальный размер модели и размер набора данных, называется законом масштабирования шиншиллы, предложенным в статье Шиншиллы «Обучение вычислений – оптимальные большие языковые модели». Чтобы изучить взаимосвязь между размером модели, размером набора данных, вычислительным бюджетом и производительностью модели, авторы обучили 400 языковых моделей размером от 70 миллионов до более чем 16 миллиардов параметров на 5-500 миллиардах токенов. Они обнаружили, что для оптимального обучения с точки зрения вычислений необходимо, чтобы количество обучающих маркеров было примерно в 20 раз больше размера модели. Это означает, что для модели с 3B-параметрами требуется примерно 60B обучающих токенов. Размер модели и количество обучающих токенов должны масштабироваться одинаково: при каждом удвоении размера модели количество обучающих токенов также должно быть удвоено.
Мы прошли долгий путь с тех пор, когда к тренировочному процессу относились как к алхимии. Расчет с точки зрения оптимальных вычислительных ресурсов предполагает, что затраты на получение данных намного дешевле, чем затраты на вычисления. Закон масштабирования был разработан для плотных моделей, обученных преимущественно на данных, генерируемых человеком. Адаптация этого расчета к разреженным моделям, таким как смесь экспертных моделей, и синтетических данных является активной областью исследований.
Закон масштабирования оптимизирует качество модели с учетом бюджета вычислений. Однако важно помнить, что для производства качество модели – это еще не все. Некоторые модели, в первую очередь Llama, имеют неоптимальную производительность, но лучшее удобство использования. Учитывая их вычислительный бюджет, авторы Llama могли бы выбрать более крупные модели, которые будут работать лучше, но они выбрали модели меньшего размера. С меньшими моделями проще работать и дешевле выполнять вывод, что помогло их моделям получить более широкое распространение.
Что касается производительности модели при заданном бюджете вычислений, стоит отметить, что затраты на достижение производительности данной модели снижаются. Например, по данным Artificial Intelligence Index Report 2022, в наборе данных ImageNet стоимость достижения точности 93% снизилась вдвое с 2019 по 2021 год.
В то время как затраты на производительность той же модели снижаются, затраты на повышение производительности модели остаются высокими. Как и в случае с задачей «последней мили», повышение точности модели с 90 до 95 % обходится дороже, чем повышение с 85 до 90 %. Как отмечается в статье «За пределами нейронных законов масштабирования: преодоление степенного закона масштабирования с помощью обрезки данных», это означает, что модель с частотой ошибок 2% может потребовать на порядок больше данных, вычислений или энергии, чем модель с частотой ошибок 3%.
При моделировании языка снижение потери кросс-энтропии примерно с 3,4 до 2,8 натов требует в 10 раз больше обучающих данных. Для больших моделей машинного зрения увеличение числа обучающих выборок с 1 миллиарда до 2 миллиардов приводит к повышению точности в ImageNet всего на несколько процентных пунктов.
Тем не менее, небольшие изменения производительности, потери при моделировании языка или точности ImageNet могут привести к значительным различиям в качестве последующих приложений. Если вы переключитесь с модели с потерей перекрестной энтропии 3,4 на модель с потерей 2,8, вы заметите разницу.
Производительность модели сильно зависит от значений ее гиперпараметров. При работе с небольшими моделями обычной практикой является многократное обучение модели с разными наборами гиперпараметров и выбор наиболее эффективного. Однако это редко возможно для больших моделей, так как их однократное обучение достаточно истощает ресурсы. Параметр может быть изучен моделью в процессе обучения. Гиперпараметр задается пользователями для настройки модели и управления ее обучением. Гиперпараметры для настройки модели включают количество слоев, размерность модели и размер словаря. Гиперпараметры для управления обучением модели включают размер пакета, количество эпох, скорость обучения, начальную дисперсию для каждого слоя и многое другое.
Это означает, что для многих моделей у вас может быть только один шанс получить правильный набор гиперпараметров. В результате, масштабная экстраполяция (также называемая переносом гиперпараметров) превратилась в исследовательскую подобласть, которая пытается предсказать для больших моделей, какие гиперпараметры обеспечат наилучшую производительность. Текущий подход заключается в изучении влияния гиперпараметров на модели различных размеров, обычно намного меньших, чем размер целевой модели, а затем экстраполируется, как эти гиперпараметры будут работать на размер целевой модели. В документе Microsoft и OpenAI за 2022 год показано, что удалось перенести гиперпараметры из модели 40M в модель 6.7B.
Масштабная экстраполяция пока остается нишевой темой, так как мало кто имеет опыт и ресурсы для изучения обучения больших моделей. Это также сложно сделать из-за огромного количества гиперпараметров и того, как они взаимодействуют друг с другом. Если у вас есть десять гиперпараметров, вам придется изучить 1024 комбинации гиперпараметров. Вам нужно было бы изучить каждый гиперпараметр по отдельности, затем два из них вместе, три вместе и так далее. Кроме того, эмерджентные способности делают экстраполяцию менее точной. Эмерджентные способности относятся к тем, которые присутствуют только в масштабе и могут быть ненаблюдаемы на небольших моделях, обученных на меньших наборах данных.
До сих пор каждый порядок увеличения размера модели приводил к увеличению производительности модели. GPT-2 имеет на порядок больше параметров, чем GPT-1 (1,5 млрд против 117 млн). У GPT-3 на два порядка больше, чем у GPT-2 (175 млрд против 1,5 млрд). Это означает увеличение размеров моделей на три порядка в период с 2018 по 2021 год. На сколько еще порядков могут вырасти размеры моделей? Будет ли момент, когда производительность модели выйдет на плато независимо от ее размера? Хотя ответить на эти вопросы сложно, уже есть два видимых узких места для масштабирования: обучающие данные и электричество.
Базовые модели используют так много данных, что есть реальная опасность, что в ближайшие несколько лет у нас закончатся интернет-данные. Скорость роста размера обучающего набора данных намного выше, чем скорость генерации новых данных (Villalobos с соавторами, 2022). Если вы когда-либо размещали что-либо в Интернете, вы должны предположить, что это уже включено или будет включено в обучающие данные для некоторых языковых моделей, независимо от вашего согласия или нет. Это похоже на то, как если вы публикуете что-то в Интернете, вы должны ожидать, что это будет проиндексировано Google.
Некоторые люди используют этот факт для внедрения нужных им данных в обучающие данные будущих моделей. Они делают это, просто публикуя нужный текст в Интернете, надеясь, что это повлияет на будущие модели, чтобы они генерировали желаемые ответы. Злоумышленники также могут использовать этот подход для атак с быстрым внедрением. Открытым исследовательским вопросом является вопрос о том, как заставить модель забыть конкретную информацию, которую она узнала во время обучения. Представьте, что вы опубликовали запись в блоге, которую в конечном итоге удалили. Если эта запись блога была включена в обучающие данные модели, модель все равно может воспроизвести содержимое записи. В результате люди могут получить доступ к удаленному контенту без вашего согласия.
Кроме того, Интернет быстро заполняется данными, генерируемыми моделями искусственного интеллекта. Если компании продолжат использовать интернет-данные для обучения будущих моделей, эти новые модели будут частично обучены на данных, сгенерированных искусственным интеллектом. В декабре 2023 года Grok, модель, обученная X, была поймана на отказе в запросе, заявив, что это противоречит политике OpenAI в отношении вариантов использования. Это заставило некоторых людей предположить, что Grok обучался с использованием выходных данных ChatGPT. Игорь Бабушкин, основной разработчик Grok, ответил, что это связано с тем, что Grok был обучен на веб-данных, а «веб полон выходных данных ChatGPT».
Некоторые исследователи опасаются, что рекурсивное обучение новых моделей ИИ на данных, созданных ИИ, приводит к тому, что новые модели постепенно забывают исходные шаблоны данных, что со временем ухудшает их производительность. Как только общедоступные данные исчерпаны, наиболее реальными путями для большего количества обучающих данных, созданных человеком, являются собственные данные. Уникальные проприетарные данные – книги, защищенные авторским правом, переводы, контракты, медицинские записи, последовательности генома и так далее – станут конкурентным преимуществом в гонке ИИ. Именно по этой причине OpenAI заключила сделки с издателями и СМИ, включая Axel Springer и Associated Press.
Неудивительно, что в свете ChatGPT многие компании, включая Reddit и Stack Overflow, изменили условия использования данных, чтобы другие компании не могли собирать их данные для своих моделей. В период с 2023 по 2024 год быстрое нарастание ограничений данных из веб-источников привело к тому, что более 28% наиболее важных источников в популярном общедоступном наборе данных C4 были полностью ограничены в использовании. Из-за изменений в Условиях предоставления услуг и ограничений на сканирование теперь ограничены 45% C4.
Другим узким местом, менее очевидным, но более насущным, является электричество. Для работы машин требуется электричество. Центры обработки данных, по разным оценкам, потребляют 1-2% мировой электроэнергии. К 2030 году это число может достигнуть от 4% до 20%. До тех пор, пока мы не найдем способ производить больше энергии, центры обработки данных могут вырасти не более чем в 50 раз, что составляет менее двух порядков. Это вызывает опасения по поводу дефицита электроэнергии в ближайшем будущем, что приведет к росту стоимости электроэнергии.
Теперь, когда мы рассмотрели два ключевых решения по моделированию – архитектуру и масштаб – давайте перейдем к следующему важному набору решений по проектированию: как согласовать модели с предпочтениями человека.
Пост-обучение начинается с предварительно обученной модели. Допустим, вы предварительно обучили модель фундамента с помощью самоконтроля. Из-за того, как сегодня работает предварительное обучение, предварительно обученная модель обычно имеет две проблемы. Во-первых, самоконтроль оптимизирует модель для завершения текста, а не для разговоров. Во-вторых, если модель предварительно обучена на данных, собранных без разбора из Интернета, ее результаты могут быть расистскими, сексистскими, грубыми или просто неправильными. Цель посттренинга состоит в том, чтобы решить обе эти проблемы. Пост-обучение каждой модели отличается. Однако, в целом, пост-тренинг состоит из двух этапов:
1. Контролируемая тонкая настройка (SFT): тонкая настройка предварительно обученной модели на основе высококачественных данных инструкций, чтобы оптимизировать модели для разговоров, а не для завершения.
2. Тонкая настройка предпочтений: дальнейшая тонкая настройка модели для вывода ответов, соответствующих предпочтениям человека. Тонкая настройка предпочтений обычно выполняется с помощью обучения с подкреплением (RL). Методы тонкой настройки предпочтений включают обучение с подкреплением на основе обратной связи с человеком (RLHF) (используется в GPT-3.5 и Llama 2), DPO (оптимизация прямых предпочтений) (используется Llama 3) и обучение с подкреплением на основе обратной связи AI (RLAIF) (потенциально используется Клодом).
Позвольте мне выделить разницу между претренингом и посттренингом еще одним способом. Для базовых моделей на основе языка предварительное обучение оптимизирует качество на уровне маркеров, когда модель обучается точно прогнозировать следующий маркер. Однако пользователей не волнует качество на уровне токенов – их волнует качество всего ответа. Пост-обучение, как правило, оптимизирует модель для генерации ответов, предпочитаемых пользователями. Некоторые люди сравнивают предварительную подготовку с чтением для получения знаний, в то время как посттренировка похожа на обучение тому, как использовать эти знания.
Остерегайтесь двусмысленности терминологии. Некоторые люди используют термин «тонкая настройка инструкций» для обозначения контролируемой тонкой настройки, в то время как другие используют этот термин для обозначения как контролируемой тонкой настройки, так и тонкой настройки предпочтений. Так как посттренинг потребляет небольшую часть ресурсов по сравнению с предтренингом (InstructGPT использовал только 2% вычислительных ресурсов для пост-тренинга и 98% для предтренинга), пост-обучение можно рассматривать как раскрытие возможностей, которые уже есть в предварительно обученной модели, но к которым пользователям трудно получить доступ только с помощью запросов.
Самоконтролируемое предварительное обучение приводит к созданию мошеннической модели, которую можно считать неукротимым монстром, потому что она использует беспорядочные данные из Интернета. Затем этот монстр контролируется и настраивается на основе данных более высокого качества – Stack Overflow, Quora или человеческих аннотаций, – что делает его более социально приемлемым. Эта тонко настроенная модель дополнительно полируется с помощью тонкой настройки предпочтений, чтобы сделать ее подходящей для клиента, что похоже на смайлик. Обратите внимание, что комбинация предварительного обучения, SFT и тонкой настройки предпочтений является популярным решением для построения моделей фундаментов на сегодняшний день, но это не единственное решение. Вы можете пропустить любой из шагов, как вы вскоре увидите.
Предварительно обученная модель, скорее всего, оптимизирована для завершения, а не для обсуждения. Если вы введете в модель «Как приготовить пиццу», модель продолжит дополнять это предложение, так как модель не имеет представления о том, что это должен быть разговор. Любой из следующих трех вариантов может быть допустимым завершением:
1. Добавляем больше контекста к вопросу: «для семьи из шести человек?»
2. Добавление дополнительных вопросов: «Какие ингредиенты мне нужны? Сколько времени это займет?»
3. Даем инструкцию по приготовлению пиццы.
Если цель состоит в том, чтобы адекватно реагировать на запросы пользователей, правильным вариантом является 3.
Мы знаем, что модель имитирует свои обучающие данные. Чтобы побудить модель генерировать соответствующие ответы, можно показать примеры подходящих ответов. Такие примеры имеют формат (prompt, response) и называются демонстрационными данными. Некоторые люди называют этот процесс клонированием поведения: вы демонстрируете, как должна вести себя модель, а модель клонирует это поведение. Поскольку для разных типов запросов требуются разные типы ответов, демонстрационные данные должны содержать диапазон запросов, которые должна обрабатывать модель, такие как ответы на вопросы, обобщение и перевод.
Хорошие учителя важны для того, чтобы люди учились. Точно так же хорошие маркировщики важны для ИИ, чтобы научиться вести интеллектуальные разговоры. В отличие от традиционной маркировки данных, которая часто может быть выполнена с небольшим опытом или без него, демонстрационные данные могут содержать сложные подсказки, ответы на которые требуют критического мышления, сбора информации и суждения о целесообразности запросов пользователя.
Интуиция означает возникновение и развитие событий случайным образом в счастливом или выгодном ключе, но используйте это слово лишь в предложении: «Встреча с Маргарет и знакомство с Томом было счастливой случайностью».
Поэтому компании часто используют высококвалифицированных маркировщиков для создания демонстрационных данных. Среди тех, кто пометил демонстрационные данные для InstructGPT, ~90% имеют как минимум высшее образование и более трети имеют степень магистра. Если маркировка объектов на изображении может занять всего несколько секунд, то создание одной пары (подсказки, ответа) может занять до 30 минут, особенно для задач, связанных с длительными контекстами, такими как суммаризация. Если это стоит $10 за одну пару (prompt, response), то 13 000 пар, которые OpenAI использовал для InstructGPT, будут стоить $130 000. Это еще не включает в себя затраты на разработку данных (какие задачи и подсказки включать), подбор маркировщиков и контроль качества данных.
Не каждый может позволить себе следовать качественному подходу к аннотированию человека. Некоммерческая организация LAION мобилизовала 13 500 добровольцев по всему миру для создания 10 000 бесед, которые состоят из 161 443 сообщений на 35 различных языках с комментариями и 461 292 оценками качества. Поскольку данные были получены добровольцами, не было особого контроля над предвзятостью. Теоретически маркировщики, которые обучают моделей человеческим предпочтениям, должны быть репрезентативными для человеческой популяции. Демография маркировщиков для LAION неравномерна. Например, в опросе, о котором сообщили сами пациенты, 90% добровольцев идентифицировали себя как мужчины.
О проекте
О подписке
Другие проекты