Новый мир генеративного ИИ | Обзор больших языковых моделей (LLM)

В прошлой статье « Generative AI New World: Interpretation of Papers in the Text Generation » я привел всех к разбору основных статей в области Text Generation: InstructGPT, RLHF, PPO, GPT-3 и GPT- 4. В этой статье я помогу вам разобраться в еще одной актуальной теме: Большие языковые модели (сокращенно LLM).

Сообщество разработчиков облачных технологий Amazon предоставляет разработчикам глобальные ресурсы технологий разработки. Есть технические документы, кейсы разработки, технические колонки, обучающие видео, мероприятия и соревнования и т. д. Помогите китайским разработчикам познакомиться с самыми передовыми мировыми технологиями, идеями и проектами и порекомендуйте выдающихся китайских разработчиков или технологии мировому облачному сообществу. Если вы еще не обратили внимание/в избранное, пожалуйста, не спешите, когда увидите это, нажмите здесь , чтобы сделать его своей технической сокровищницей!

 

Большие языковые модели относятся к предварительно обученным языковым моделям с миллиардами параметров (B+) (например, GPT-3, Bloom, LLaMA). Такие модели можно использовать в различных задачах обработки естественного языка, таких как генерация текста, машинный перевод и понимание естественного языка.

Эти параметры больших языковых моделей обучаются на больших объемах текстовых данных. Существующие крупномасштабные языковые модели в основном используют архитектуру модели Transformer и в значительной степени увеличивают размер модели, данные предварительной подготовки и общий расчет. Они могут лучше понимать естественный язык и генерировать высококачественный текст на основе заданного контекста (например, подсказки). Некоторые из этих возможностей, например контекстное обучение, непредсказуемы и наблюдаются только тогда, когда размер модели превышает определенный уровень.

Ниже приводится хронология различных крупномасштабных языковых моделей (более 10 миллиардов параметров), появившихся с 2019 года, а большие модели, отмеченные желтым цветом, были открыты.

Источник: Хронология существующих LLM (> 10 млрд)  https://arxiv.org/abs/2303.18223?trk=cndc-detail

В этой статье мы обсудим историю развития крупномасштабных языковых моделей, корпусные источники, стратегии процесса предобработки данных, сетевую архитектуру, используемую для обучения, анализ последних направлений исследований (LLaMA, PaLM-E и т. д.), некоторые лучшие практики обучения крупномасштабных языковых моделей в Интернете.

История развития больших языковых моделей

Давайте сначала разберемся в истории развития больших языковых моделей и анализе последних направлений исследований.

Большие языковые модели 1.0 . За последние пять лет, с тех пор как мы увидели появление оригинальных моделей Transformer BERT, BLOOM, GPT, GPT-2, GPT-3 и т. д., кульминацией этого поколения крупномасштабных языковых моделей стали PaLM, Chinchilla и LLaMA. Что объединяет первое поколение Transformers, так это то, что все они предварительно обучены на больших неразмеченных текстовых корпусах .

Большие языковые модели 2.0 . За последний год мы видели много больших языковых моделей, которые были предварительно обучены и настроены на размеченных целевых данных. Общее для Transformers второго поколения: точная настройка целевых данных, использование обучения с подкреплением с обратной связью от человека (RLHF) или более классическое контролируемое обучение . Популярные примеры больших языковых моделей второго поколения включают, среди прочих, InstructGPT, ChatGPT, Alpaca и Bard.

Большие языковые модели 3.0 . Эффективная тонкая настройка параметров и предварительное обучение на предметно-ориентированных данных были горячими темами в этой области в течение последних нескольких месяцев , которые представляют собой новейшие подходы к повышению вычислительной эффективности и эффективности данных больших языковых моделей. Кроме того, следующее поколение крупномасштабных языковых моделей может быть основано на мультимодальном и многозадачном обучении , что принесет много новых и творческих новых функций в крупномасштабные языковые модели.

Во второй главе этой статьи «Анализ последних направлений исследований больших моделей» мы также подробно обсудим анализ соответствующего прогресса в направлениях тонкой настройки параметров, предварительной подготовки конкретных данных и мультимодальности.

Обзор больших языковых моделей за последние годы

Источник:  https://arxiv.org/abs/2303.18223?trk=cndc-detail

На рисунке выше показана статистика крупномасштабных языковых моделей (параметры больше 10 Б) за последние годы, включая оценку емкости, размер данных перед обучением (количество токенов или объем хранилища) и затраты на аппаратные ресурсы.

На рисунке «Адаптация» указывает, подвергалась ли модель последующей тонкой настройке: IT указывает на корректировку инструкций, а RLHF указывает на обучение с подкреплением посредством обратной связи с человеком. «Оценка» указывает, была ли модель оценена на предмет соответствующих возможностей в исходной статье: ICL означает обучение в контексте, а CoT означает цепочку размышлений.

Источники корпусов для больших языковых моделей

По сравнению с более ранними предварительно обученными языковыми моделями (PLM), большие языковые модели с большим количеством параметров требуют больших объемов обучающих данных и охватывают более широкий диапазон контента. Чтобы удовлетворить эту потребность, выпускается все больше и больше обучающих наборов данных для исследований. По типу контента их можно условно разделить на шесть групп: книги, CommonCrawl, Reddit Links, Wikipedia, Code и прочее. Как показано в таблице ниже:

Источник:  https://arxiv.org/abs/2303.18223?trk=cndc-detail

Источник:  https://arxiv.org/abs/2303.18223?trk=cndc-detail

На рисунке выше показана информация о соотношении различных источников данных в существующих крупномасштабных данных предварительного обучения языковой модели.

Стратегии предварительной обработки данных для больших языковых моделей

После сбора большого количества данных предварительная обработка имеет решающее значение для создания корпуса для предварительного обучения, особенно для удаления зашумленных, избыточных, нерелевантных и потенциально токсичных данных, которые могут в значительной степени повлиять на производительность и производительность больших языковых моделей. В документе исследователи посвятили главу стратегии предварительной обработки данных своей исследовательской группы и тому, как улучшить качество собранных данных с помощью различных методов.

Источник:  https://arxiv.org/abs/2303.18223?trk=cndc-detail

На рисунке выше представлен обзор типичных стратегий предварительной обработки данных для больших языковых моделей в этой статье.

Сетевая структура больших языковых моделей

Параметры проектирования сетевой структуры крупномасштабной языковой модели на этапе обучения также являются одним из важных показателей, влияющих на производительность крупномасштабной языковой модели. В следующей таблице перечислены основные параметры сетевой структуры некоторых больших языковых моделей, в том числе: размер токена, метод нормализации, метод встраивания позиции, функция активации, использование смещения, количество слоев, количество заголовков внимания, размер скрытого состояния, максимальный контекст. такие параметры, как длина. Как показано в таблице ниже:

Источник:  https://arxiv.org/abs/2303.18223?trk=cndc-detail

В приведенной выше таблице представлены карты моделей для нескольких больших языковых моделей с подробной информацией о конфигурации:

  • PE означает позиционное встраивание
  • #L указывает количество слоев
  • #H указывает количество головок внимания
  • dmodel представляет размер скрытого состояния
  • MCL означает максимальную длину контекста.

Новые возможности больших языковых моделей

Новые возможности LLM формально определяются как «возможности, отсутствующие в малых моделях, но присутствующие в больших моделях», что является одной из самых поразительных особенностей, отличающих LLM от предыдущих PLM. Хотя эта новая возможность появляется, она также представляет замечательную особенность: на определенном уровне масштабирования производительность значительно выше, чем в случайном состоянии. По аналогии эта новая модель тесно связана с явлением фазовых переходов в физике. В принципе, эта способность может быть связана и с какими-то сложными задачами, и людей больше волнуют общие способности, которые можно применить для решения нескольких задач.

Источник:  https://arxiv.org/pdf/2206.07682.pdf?trk=cndc-detail

Производительность модели следующих восьми различных сценариев тестируется с помощью метода подсказок с несколькими выстрелами:

  • Арифметика (мод. арифметика)
  • Речевой перевод (транслитерация МФА)
  • Расшифровать слово
  • Персидский контроль качества
  • Тест TruthfulQA
  • Заземленные отображения
  • Многозадачное понимание языка (Multi-task NLU)
  • Контрольные показатели контекстуального понимания

Каждая точка - это отдельная модель. Когда языковая модель рандомизирована, появится возможность выполнять задачи с помощью метода подсказок из нескольких выстрелов.После того, как размер модели достигнет определенного масштаба, производительность будет значительно улучшена до уровня, намного превышающего случайный уровень.

В настоящее время крупномасштабные языковые модели в основном имеют три репрезентативных эмерджентных возможности, а именно:

  • контекстное обучение
  • инструкция следовать
  • пошаговое рассуждение

контекстное обучение . GPT-3 формально вводит возможность изучения контекста: предполагая, что языковая модель предоставила инструкции на естественном языке и несколько описаний задач, она может генерировать ожидаемый результат экземпляра теста, заполняя последовательность слов входного текста без дополнительного обучения или градиента. обновить .

Инструкции для подражания . Путем тонкой настройки набора многозадачных данных, отформатированных описаниями на естественном языке (т. е. инструкциями), LLM хорошо справляются с крошечными задачами, которые также описываются в форме инструкций. В этом качестве настройка инструкций позволяет LLM выполнять новые задачи, понимая инструкции задач без использования явных образцов, что может значительно улучшить обобщение.

Поэтапное рассуждение . Сложные задачи, включающие несколько этапов рассуждения, такие как математические задачи, часто сложны для небольших языковых моделей. Между тем, с помощью стратегии рассуждений цепочки мышления LLM может решать такие задачи, чтобы прийти к окончательному ответу, используя механизм подсказок, включающий промежуточные этапы рассуждений. Предполагается, что эта способность может быть приобретена с помощью обучения коду.

Анализ последних направлений исследований больших моделей

Амазонка Титан

В апреле 2023 года Amazon Cloud Technology объявила о запуске модели Amazon Titan. Согласно следующей информации на официальном веб-сайте и в блоге (как показано на рисунке ниже): Некоторые клиенты облачных технологий Amazon предварительно ознакомились с новой базовой моделью Amazon Titan. Выпущенные в настоящее время модели Amazon Titan в основном включают две модели:

  1. Генеративные большие языковые модели для таких задач, как обобщение, генерация текста, классификация, ответы на открытые вопросы и извлечение информации;
  2. Текстовые эмбеддинги (embeddings) больших языковых моделей, которые могут переводить вводимый текст (слова, фразы и даже большие статьи) в цифровые представления, содержащие семантику (jieembeddings embedding coding).

Источник:  Базовая модель — Amazon Titan-AWS  Amazon Cloud Technology представляет новые инструменты для генеративного искусственного интеллекта | Официальный блог Amazon AWS

Хотя такие большие языковые модели не генерируют текст, они полезны для таких приложений, как персонализированные рекомендации и поиск, поскольку контрастные кодировки могут помочь модели вернуть более релевантные и контекстуальные результаты, чем сопоставление текста. На самом деле, функция поиска товаров на Amazon.com использует аналогичную модель встраивания текста, чтобы помочь клиентам лучше находить то, что они ищут. Чтобы продолжать продвигать передовые методы использования ответственного ИИ, базовая модель Titan может выявлять и удалять вредоносное содержимое в данных, отправленных клиентами для пользовательских моделей, отклонять вводимый пользователем недопустимый контент и фильтровать выходные результаты модели. содержащие неприемлемый контент, такой как разжигание ненависти , нецензурная брань и словесное насилие.

Альпака: Обучение LLM LLM

В марте 2023 года будет выпущена модель Meta  LLaMA, которая будет сравниваться с GPT-3. Было много проектов, основанных на модели LLaMA, один из известных проектов — модель Стэнфордской альпаки (Alpaca). Альпака основана на модели LLaMA и представляет собой языковой преобразователь с 7 миллиардами инструкций параметров для тонкой настройки. Alpaca не использует обучение с подкреплением с обратной связью с человеком (RLHF), а использует подход к обучению с учителем, в котором используется 52 тыс. пар инструкция-вывод (пары инструкция-вывод).

Источник:  GitHub — tatsu-lab/stanford_alpaca: код и документация для обучения моделей Stanford Alpaca и создания данных.

Вместо того, чтобы использовать сгенерированные человеком пары инструкция-вывод, исследователи извлекали данные, запрашивая модель text-davinci-003 на основе GPT-3 . Таким образом, Альпака по существу использует тонкую настройку со слабым контролем или со вкусом дистилляции знаний.

Источник: Стэнфордский CRFM.

Здесь заслуживают внимания обучающие данные модели альпака (Alpaca), которые получаются путем запроса модели GPT-3. Проще говоря, это «обучение LLM с LLM» или «обучение ИИ с ИИ». Я думаю, что большинство людей могут недооценить значение этого инцидента для человеческого общества, и я думаю, что его значение чрезвычайно велико. Это означает: взаимное обучение и рост среди ИИ уже начались . Много лет спустя, когда мы оглянемся на историю эволюции поколения ИИ, это событие может оказаться важным узлом времени.

PaLM-E: мультимодальность

В марте 2023 года была выпущена модель PaLM-E, демонстрирующая недавний прогресс в слиянии больших языковых моделей и мультимодальных моделей данных (мультимодальность). Это еще одна важная тенденция в больших языковых моделях: масштабирование возможностей за счет видения, мультимодального и многозадачного обучения .

Источник: документ PaLM-E:  https://arxiv.org/pdf/2303.03378.pdf?trk=cndc-detail

Как показано в приведенной выше статье, модель PaLM-E представляет собой единую мультимодальную языковую модель общего назначения для конкретных задач рассуждения, визуально-лингвистических задач и языковых задач. Модель PaLM-E работает с мультимодальными предложениями, т. е. с последовательностью токенов, в которую входные данные из произвольных модальностей (например, изображений, нейронных трехмерных представлений или состояний, зеленого и синего) вставляются вместе с текстовыми токенами (оранжевыми) в качестве входных данных LLM, обученный конец -в конец.

Источник: документ PaLM-E:  https://arxiv.org/pdf/2303.03378.pdf?trk=cndc-detail

В этой статье показано сравнение результатов теста PaLM-E для обучения миграции в трех разных областях робототехники. Использование смешанной комбинации данных PaLM-E, предварительной подготовки ViT, робототехники и визуального языка дает значительный прирост производительности по сравнению с обучением только на соответствующих данных в предметной области.

Примечательно, что PaLM-E продолжает обучаться как LLM, полностью основанный на декодере, который авторегрессивно генерирует завершение текста с учетом префиксов или сигналов. Так как же они обеспечивают представление состояния или ввод изображений? Они предварительно обучили сеть кодировать ее как встраивание. Для изображений они используют параметры 4B и 22B Visual Transformer (ViT) для генерации векторов встраивания; эти векторы встраивания затем линейно проецируются, чтобы соответствовать размерам встраивания вложений слов-токенов.

При обучении для формирования полимодальных предложений сначала используют специальные токены-токены, такие как: , , и т. д., а затем обмениваются ими со встроенными изображениями (аналогично тому, как словесные токены встраиваются через слой встраивания).

Источник:  В преддверии ИИ № 7: Большие языковые модели 3.0

Некоторые сторонние ученые также проанализировали улучшение производительности своих статей и презентаций, как показано на рисунке выше. Совместное обучение с использованием смешанной комбинации данных PaLM-E, предварительной подготовки ViT, робототехники и визуального языка может обеспечить более чем двукратное повышение производительности по сравнению с моделями обучения для отдельных задач.

Обучение и оптимизация построения больших языковых моделей

Проблемы обучения больших языковых моделей

Обучение больших языковых моделей сопряжено со многими проблемами. Как правило, эти проблемы связаны с шестью аспектами, как показано на рисунке ниже:

  • Аппаратное обеспечение
  • Проверки здоровья
  • Оркестровка
  • Данные
  • Масштабирование
  • Соображения стоимости (Стоимость)

Во-первых, это оборудование. Вы хотите использовать новейшее оборудование. Новейшее оборудование обычно обеспечивает лучшую производительность в различных тестах, поэтому, если для обучения этих моделей требуются недели или месяцы, и вы не используете преимущества производительности новейшего оборудования, вы не сможете обучить модель для получения результата. который лучше всего подходит для вашего варианта использования.

Второе — проверка здоровья. Вы должны убедиться, что ваше оборудование работает хорошо, чтобы вы могли свести к минимуму перерывы во время обучения модели.

Нам также необходимо подумать об оркестровке, запуске кластеров, отключении кластеров, обеспечении правильной работы сетевых конфигураций и безопасности, а также о том, что группы машинного обучения не мешают друг другу при выполнении различных рабочих нагрузок.

Что еще нам нужно учитывать, так это большие наборы данных. Хранение, обработка и загрузка их для обучения машинному обучению нетривиальны и могут потребовать значительной работы по разработке для эффективной работы.

Мы масштабируем инфраструктуру и разрабатываем алгоритмы для обхода ограничений инфраструктуры — еще одна проблема. Модели, о которых мы говорим сегодня, как правило, не подходят для одного графического процессора, поэтому вам нужно подумать о том, как разделить эту модель на несколько графических процессоров.

Наконец, мы должны учитывать стоимость. Обучение этих больших моделей может стоить сотни тысяч или даже миллионы долларов. Итак, вы хотите эффективно использовать время вашей команды по машинному обучению. Вместо того, чтобы заставлять их работать над инфраструктурой, они могут сосредоточиться на опробовании новых идей модели, чтобы ваш бизнес мог использовать эту модель для достижения наилучших результатов.

Оптимизация построения больших языковых моделей

К счастью, Amazon SageMaker может помочь вам решить все эти проблемы, ускорив обучение больших языковых моделей. Amazon SageMaker теперь помогает создавать, обучать и развертывать модели машинного обучения для любого варианта использования, используя управляемую инфраструктуру, инструменты и рабочие процессы. Как показано ниже.

Например, желтая часть на рисунке ниже: распределенная обучающая библиотека Amazon SageMaker, оптимизация учебной компиляции Amazon SageMaker и т. д. Мы также будем использовать полный код для вывода реализации в части практического эксперимента в следующей статье, поэтому что вы можете иметь более захватывающий опыт чувства.

На нижнем уровне у нас есть инфраструктура, и Amazon SageMaker дает вам доступ к новейшему оборудованию, включая графические процессоры и Trainium, а также к быстрым сетевым соединениям между инстансами, что имеет решающее значение для распространения обучения.

На среднем уровне есть возможность разместить инфраструктуру и инструменты.

Amazon SageMaker берет на себя крупномасштабную оркестровку кластера, ускоряет работу кластера и останавливает его в конце. Это помогает со всеми этими настройками безопасности и сети, поэтому вы можете легко защитить данные своих клиентов и IP-адрес.

В начале задания по обучению также выполняется проверка работоспособности, чтобы убедиться, что оборудование работает эффективно, и сократить количество сбоев в задании по обучению. Оркестрация также означает, что вы платите только за используемые вычислительные ресурсы. Вы платите только тогда, когда кластер запускается и обучает модели для вас, поэтому вам не нужно платить за все это дорогое оборудование 24/7.

Существуют также инструменты для анализа, отладки и мониторинга экспериментов, а также оптимизации гиперпараметров с использованием различных стратегий для обеспечения наилучших возможных моделей.

На верхнем уровне находятся оптимизированные для облачных вычислений фреймворки и библиотеки, такие как PyTorch, TensorFlow и Hugging Face, которые очень легко использовать в Amazon SageMaker, а также распределенная учебная библиотека Amazon SageMaker, помогающая работать с очень большими наборами данных или очень большими моделями. .

Я много говорил о возможностях и преимуществах обучения с помощью Amazon SageMaker, поэтому давайте поговорим о том, как это работает. Чтобы обучить модель, нам нужны некоторые вычислительные ресурсы, а затем запустить обучающий код, который мы написали, на некотором наборе данных. Amazon SageMaker делает это , запуская эфемерные обучающие кластеры для выполнения задач.

Когда вы отправляете задание на обучение, Amazon SageMaker запускает кластер на основе выбранной вами конфигурации кластера. Он загрузит код обучения из ECR, загрузит данные из S3 и начнет обучение. Во время обучения он выводит журналы и метрики в CloudWatch, синхронизирует контрольные точки модели с S3 и выключает кластер в конце задания. Если вы пишете свой код с учетом отказоустойчивости для автоматического восстановления после контрольных точек, ваши обучающие задания будут автоматически перезапущены без ручного вмешательства.

Ниже приведен основной код для запуска задания обучения, API оценки:

    from sagemaker.pytorch import PyTorch

estimator = PyTorch(entry_point = ‘./cifar10.py’,
        role = role,
        framework_version = ‘1.13’,
        py_version = ‘py38’,
        instance_count = 1,
        instance_type = ‘ml.g5.xlarge’,
        hyperparameters = {‘epochs’: 50, ‘batch_size’: 32},
        metric_definitions = [{‘Name’: ‘train:loss’, ‘Regex’: ‘loss: (.*)’}]

estimator.fit(“s3://bucket/path/to/training/data”)

Проведите влево, чтобы увидеть больше

Здесь выбирается оценщик PyTorch и определяется файл функции точки входа: cifar10.py. Это очень похоже на запуск сценариев для обучающих моделей на наших собственных локальных компьютерах, который мы называем режимом сценария. Существует множество способов использования учебных заданий Amazon SageMaker, более гибких, вы можете предоставить свой собственный контейнер Docker или некоторые встроенные алгоритмы.

Затем определите платформу и версию Python, которые вы хотите использовать, а также тип экземпляра, количество экземпляров и гиперпараметры для задания обучения. Теперь вы можете легко изменить их в любое время, запустить другие обучающие задания, чтобы опробовать различные типы инстансов и посмотреть, какое оборудование лучше всего подходит для вашего варианта использования.

Далее будет дано определение показателей. Это сообщит Amazon SageMaker, как анализировать выходные данные журналов из сценария, и Amazon SageMaker отправит эти показатели в CloudWatch, чтобы вы могли просмотреть их позже.

Наконец, вызовите estimator.fit() с путем к обучающим данным.

Передовой опыт обучения работе с большими моделями с использованием облачных технологий Amazon

В этой главе мы сосредоточимся на лучших методах обучения больших языковых моделей в облачных технологиях Amazon. Его можно условно разделить на пять аспектов:

  • Вычисления  — обучение работе с Amazon SageMaker
  • Хранилище  . Загрузку данных и настройку контрольных точек можно выполнить двумя способами: файловая система Amazon FSx Lustre или Amazon S3.
  • Параллелизм . Выбор распределенной обучающей библиотеки имеет решающее значение для правильного использования графических процессоров. Мы рекомендуем использовать оптимизированную для облака библиотеку, такую ​​как SageMaker Shard Data Parallel Processing, но также можно использовать самоуправляемые библиотеки и библиотеки с открытым исходным кодом.
  • Сеть  — убедитесь, что EFA и GPUDirectRDMA от NVIDA включены для быстрой связи между машинами.
  • Отказоустойчивость  . При масштабировании могут возникать аппаратные сбои. Рекомендуем периодически писать чекпоинты (чекпойнты)

Из-за ограничений по объему в этой статье невозможно полностью интерпретировать и проанализировать лучшие практики оптимизации пяти вышеуказанных аспектов.Подробнее об этом можно узнать в официальном блоге Amazon Cloud Technology .

Ниже мы кратко представим лучшие практики параллелизма обучения больших моделей (Parallelism) на облачных технологиях Amazon.

Распараллеливание обучения больших моделей (Training Parallelism)

Большие модели обычно имеют от десятков до сотен миллиардов параметров, что делает невозможным их размещение на одной карте GPU. В области больших моделей в настоящее время существует несколько библиотек с открытым исходным кодом для обучения распределенным вычислениям, таких как FSDP, DeepSpeed ​​и Megatron. Вы можете запускать эти библиотеки непосредственно в Amazon SageMaker Training или использовать библиотеки Amazon SageMaker Distributed Training, которые были оптимизированы для облака Amazon для упрощения работы разработчиков.

Поэтому у разработчиков в области больших языковых моделей в настоящее время есть два варианта использования облачных технологий Amazon:

  1. Распределенное обучение с использованием оптимизированных распределенных библиотек на Amazon SageMaker;
  2. Управляйте распределенным обучением самостоятельно.

Ниже описано, как использовать оптимизированные распределенные библиотеки для распределенного обучения на Amazon SageMaker.

Чтобы повысить производительность и удобство распределенного обучения, Amazon SageMaker Training предлагает несколько проприетарных расширений для расширения обучающего кода TensorFlow и PyTorch. В реальных сценариях обучение больших языковых моделей обычно осуществляется многомерным параллельным (3D-параллелизмом):

  • Параллелизм данных : обучающие мини-пакеты можно разделить и отправить на несколько идентичных копий модели для увеличения скорости обработки.
  • Конвейерный параллелизм : приписывание отдельных слоев модели разным графическим процессорам или даже экземплярам, ​​чтобы масштабировать размер модели за пределы одного графического процессора и одного сервера.
  • Тензорный параллелизм : разделение одного слоя на несколько графических процессоров, обычно на одном сервере, для масштабирования одного слоя за пределы размера одного графического процессора.

На диаграмме ниже показано, как обучить 6-уровневую модель на кластере серверов k*3 с 8k 3 GPU (8 GPU на сервер). Параллелизм данных равен k, параллелизм конвейера равен 6, а параллелизм тензора равен 4. Каждый графический процессор в кластере содержит четверть слоев модели, а полная модель разделена на три сервера (всего 24 графических процессора).

Источник:  обучение больших языковых моделей на Amazon SageMaker: передовой опыт | Блог о машинном обучении AWS

Среди распределенных практик, которые особенно важны для больших языковых моделей, можно назвать:

  • Amazon SageMaker Distributed Model Parallelism — эта библиотека использует разделение графа для создания разделов интеллектуальной модели, оптимизированных для скорости или памяти. Amazon SageMaker Distributed Model Parallel предоставляет новейшие и лучшие оптимизации для крупномасштабного обучения моделей, включая параллелизм данных, конвейерный параллелизм, тензорный параллелизм, сегментирование состояния оптимизатора, контрольные точки активации и разгрузку.
  • Amazon SageMaker Sharded Data Parallel — в  документе MiCS: почти линейное масштабирование для обучения гигантской модели в общедоступном облаке  представлена ​​новая стратегия параллельного моделирования, которая разделяет модель только на параллельную группу данных, а не на весь кластер. Используя MiCS, ученые Amazon Web Technologies смогли достичь 176 терафлопс на GPU (56,4% от теоретического пика) для обучения 210-уровневой модели с 1,06 триллионами параметров на экземпляре EC2 P4de. MIC теперь доступен клиентам Amazon SageMaker Training в виде параллельных общих данных Amazon SageMaker.

Распределенная обучающая библиотека Amazon SageMaker обеспечивает высокую производительность и упрощает работу с разработчиками. Разработчикам не нужно писать и поддерживать собственные средства запуска параллельных процессов или использовать средства запуска для конкретной платформы, поскольку средства параллельного запуска уже встроены в SDK запуска задач Amazon SageMaker.

По сравнению с традиционным распределенным обучением, тонкая настройка больших языковых моделей обычно требует не только параллелизма данных, но также параллелизма данных и параллелизма моделей. Amazon SageMaker Model Parallelism имеет основные конкурентные преимущества по сравнению с самостоятельными решениями с открытым исходным кодом (например, DeepSpeed) с точки зрения простоты использования и стабильности (OOM). Для получения технических подробностей, таких как конкретная тонкая настройка и конкретные передовые практики в зависимости от моделей, вы также можете обратиться к команде архитекторов решений Amazon Cloud Technology, чтобы получить дополнительную техническую поддержку и профессиональные консультации.

Подведем итог

В этой статье мы обсуждаем историю развития крупномасштабных языковых моделей, корпусные источники, стратегии процесса предварительной обработки данных, сетевую архитектуру, используемую для обучения, анализ последних направлений исследований (LLaMA, PaLM-E и др.) масштабировать изучение языка с помощью облачных технологий Amazon Некоторые рекомендации по обучению моделей и т. д. В следующей статье мы сосредоточимся на практической практике, интерпретации и демонстрации крупномасштабных языковых моделей (LLM) при развертывании облачных технологий Amazon, оптимизации компиляции, распределенном обучении и других практических экспериментах, так что следите за обновлениями.

Пожалуйста, продолжайте следить за официальной учетной записью WeChat Build On Cloud, чтобы узнать больше о совместном использовании технологий и тенденциях развития облачных вычислений для разработчиков!

Предыдущая рекомендация

# Лучшие практики GitOps

#Застройщик экология

#Машинное обучение

Автор Хуан Хаовэнь

Старший разработчик-евангелист Amazon Cloud Technology, специализирующийся на AI/ML, науке о данных и т. д. Обладая более чем 20-летним богатым опытом проектирования архитектуры, технологий и предпринимательского управления в сфере телекоммуникаций, мобильного Интернета и облачных вычислений, он работал в Microsoft, Sun Microsystems, China Telecom и других компаниях, уделяя особое внимание предоставлению корпоративных клиентов, таких как игры, электронная коммерция, СМИ и реклама Консультационные услуги по решениям, такие как AI/ML, анализ данных и цифровая трансформация предприятия.

 Источник статьи: https://dev.amazoncloud.cn/column/article/64411c1dfed6cd33add92882?sc_medium=regulartraffic&sc_campaign=crossplatform&sc_channel=CSDN

 

рекомендация

отblog.csdn.net/u012365585/article/details/131015151
рекомендация