Серия больших моделей | Несколько стратегий обучения для больших вертикальных моделей (1)
Серия больших моделей | Несколько стратегий обучения для больших вертикальных моделей (1)

1 В настоящее время несколько стратегий обучения крупных моделей в вертикальных отраслях

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

  • переподготовка:Используйте универсальныйданныеи поляданныесмешивание,С нуля (с нуля) обучила большую Модель,Самый типичный представитель — BloombergGPT.
  • Вторая предварительная тренировка:в общем Модельиз База Сделай это наcontinue предподготовка (продолжение предподготовки, Вторая предварительная тренировка), например, LawGPT состоит из второго предварительная тренировкаиз。Вокруг меня много людей, которые пробовали это решение.,Но общий эффект отклика средний (не такой прямой, как у SFT),Очень вероятно, что это проблема с соотношением данных.
  • Базовая точная настройка большой модели:в общем Модельиз База Сделай это наinstruction Настройка (sft), которая сейчас также является наиболее распространенной практикой в ​​​​сообществе открытого исходного кода, требует много работы, такой как Huatuo, ChatLaw и т. д. Преимущество этого подхода в том, что вы сможете быстро увидеть хорошие результаты, но вам будет сложно увеличить верхний предел.
  • Общая большая модель + векторная база знаний:База знаний предметной области плюс общее назначение Модель,Что касается проблемы, которую Генеральная Модель увидела с относительно небольшими знаниями,Используйте библиотеку векторных данных и другие методы для поиска соответствующего контента в базе знаний предметной области в зависимости от проблемы.,Затем используйте мощные возможности обобщения и контроля качества общей модели для генерации ответов.
  • В контексте обучение похоже на тонкую настройку:Используйте напрямуюin context Метод обучения создает подсказки, связанные с предметной областью, и напрямую генерирует ответы от генерального менеджера. Поскольку отрасль ставит контекст windowСтановимся все больше и больше,В подсказки можно помещать все больше и больше знаний предметной области.,Вы также можете получить хорошие ответы на вопросы по предметной области, напрямую используя общую Модель.

Вышеупомянутое потребление аппаратных ресурсов + данных также отличается:

  • Можно чуть ли не переподготовку сначала типа [переподготовка] Модель,Нужны сотни карт
  • Вы также можете использовать сотни данных для создания таких задач, как [База тонкой настройки модели],Возможно, нескольких карточек будет достаточно.

В настоящее время многие крупные модельные решения без технических команд будут основаны на [Базовой точной настройке модели] + [Векторной базе знаний].


2 Сложность обучения большой модели

Если вы выберете [Переобучить большую модель], требования к ресурсам, с которыми вы столкнетесь, станут чрезвычайно высокими:

  • данные Требовать
  • Требования к аппаратным ресурсам для обучения

2.1 Требования к данным: важность пропорций

[Соотношение обучающих данных для переобучения очень важно]

BloombergerGPT, вы обнаружите, что возможности модели на самом деле очень плохие, намного хуже, чем у обычной большой модели. Самая большая ошибка, допущенная здесь, — это сопоставление данных. Им следует смешивать общие данные и финансовые данные в соотношении 1:1. Прежде всего, я не знаю, как они очищают и обеспечивают качество финансовых данных. Лично я считаю, что качество их финансовых данных 500B может быть ниже, чем качество общих данных 500B. Это оказывает относительно большое влияние на качество. ограничения конечных возможностей модели. Общие данные и финансовые данные должны быть тщательно очищены и проверены с использованием одних и тех же стандартов. Во-вторых, соотношение данных 1:1, скорее всего, является плохим выбором. Для воспроизведения chatgpt3.5 сопоставление данных должно быть основным секретом OpenAI и последним местом, где можно опережать других. Пообщавшись со многими сотрудниками OpenAI, они провели множество экспериментов и накопили большой опыт в этой области.

[Вторичное предварительное обучение] Доля данных предметной области должна быть менее 15 %.

Для продолжения предварительного обучения, если вы хотите, чтобы модель не потеряла общие возможности, такие как суммирование, контроль качества и т. д., «доля данных предметной области должна быть ниже 15%». После превышения этого порога общие возможности модели значительно упадут. .

Пообщавшись со многими коллегами, я чувствую, что диапазон у всех составляет около 10–15%. Более того, этот порог тесно связан с размером модели перед обучением, долей исходных данных во время предварительного обучения и другими условиями и требует неоднократного пересмотра на практике (в настоящее время важность закона масштабирования можно увидеть). Этот результат на самом деле очень похож на результат, когда ChatGPT может получить очень хорошую китайскую модель, используя менее 10% китайских данных.

Этот опыт также подсказывает нам, что не стоит легко использовать методы непрерывного предварительного обучения или предварительного обучения с нуля для построения крупных отраслевых моделей. Каждые 100 байт предметных данных необходимо сопоставлять с 700–1000 байт общих данных. Это гораздо сложнее, чем непосредственное обучение общих больших данных. модель.

[Базовая точная настройка большой модели] Вероятно, соотношение данных предметной области и общих данных составляет 1:1, что по-прежнему дает хорошие результаты.

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

2.2 Аппаратные ресурсы

Стоимость обучения большой модели на примере GPT-3: GPT-3 требует 400-500 A100 в год (400-500 A100 используются для обучения в течение 1 года, если вы не покупаете видеокарту и). арендовать публичное облако, сейчас в пакете 8 А100. Годовая цена около 800 000 юаней в год, с разовой скидкой 400 000 юаней со скидкой 50%. Стоимость обучения GPT-3 около 25 млн. юань. Приведенное выше обсуждение рассчитано на основе использования графического процессора на 100%. Фактически, графический процессор всегда тратится впустую. Причинами потерь могут быть:

  • Видеокарта работает нестабильно и может зависать.
  • Поскольку видеокарта склонна к сбоям, требуется установка контрольных точек, а сохранение каждой контрольной точки может занять несколько минут.
  • В большинстве случаев ядро ​​CUDA не может работать удовлетворительно. Ему необходимо дождаться ввода-вывода пропускной способности памяти, ввода-вывода сети IB и т. д.

2.3 Навыки модельной алхимии

  • Предыдущий метод заключается в том, чтобы сначала провести эксперимент на маленькой Модели, и вы столкнетесь с проблемой: эксперимент на маленькой Модели хорош, но как только вы достигнете уровня 100B, вы обнаружите, что различные потери не сходятся / всплеск / улететь. Стратегия может заключаться в том, чтобы сделать несколько шагов назад или выбросить эту часть данных, а затем двигаться вперед.
  • Выбор FP32/FP16/BF16: я предпочитаю BF16, потому что он лучше сходится.
  • Что касается выбора оборудования, постарайтесь использовать для обучения самую продвинутую видеокарту, потому что: во-первых, существует огромная разница в производительности. Если взять A800 и H100 в качестве примера, то вычислительная мощность различается в шесть раз, а также пропускная способность связи. во-вторых, обучение на устаревших видеокартах требует учета большего количества проблем с распространением. При переходе на высокопроизводительные видеокарты в будущем не так уж много опыта, накопленного на старых видеокартах, можно будет использовать напрямую.
  • Выбор решений для параллельных вычислений: Megatron-DeepSpeed ​​на данный момент является решением SOTA.
  • Организация команды: исследователи алгоритмов предпочитают использовать Pytorch для неоднократной корректировки архитектуры модели, но в конечном итоге инженерам необходимо перенести эти корректировки в структуру Megatron. Поэтому на этом этапе предпочтительнее знать об этом персоналу, занимающемуся алгоритмами, и инженерному персоналу. друг друга. Это слияние, сядьте и обсудите, как этого достичь.
  • Благодаря ручному аннотированию и чистой настройке можно достичь 80% результатов. Но если вы хотите пойти дальше, вы можете положиться только на обучение с подкреплением.
  • Обучение по модели вознаграждения (RM) называется вознаграждением. Феномен взлома и открытого принятия решений слишком сложен для моделируемой среды подсчета очков, и к обобщению Модели вознаграждения предъявляются чрезвычайно высокие требования. В конце концов, есть большая вероятность, что ваша Модель научится выдавать кучу бесполезных вещей, но оценка RM будет очень высокой. Это награда взлом (от 【Некоторые подводные камни и суждения при обучении больших моделей】 )
  • Проблемы оценки: В то же время оценка Модели также является возможной ловушкой: Плохая оценка = Это стоит денег и времени; поэтому, если вы проводите эксперименты медленно, это эквивалентно тому, что у вас меньше графического процессора, чем у других.
  • Проблема переобучения: очень легко переподстроить данные домена, используя только данные домена, и обработка OOD будет очень плохой. Требования к доле данных в каждой ссылке будут очень высокими. Лучше всего добавить дополнительные данные сцен к исходному масштабу данных и пройти часть процесса заново. Но сложность в том, что исходная выборка распределения данных, Модель, которую вы получаете, представляет собой черный ящик, а другие не предоставили вам исходное распределение данных, не говоря уже о том, что море предполагает тщательную очистку. Вполне возможно, что общая стоимость будет не меньше, чем переделка универсальной большой модели.

2.4 Инженер-алхимик

Штат команды подготовки больших моделей:

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

  • данные — это, вероятно, большой датаинженер плюс небольшое количество юристов. Большой датаинженер может предпочесть работать в данных, а юристы могут наблюдать, например, за данными. license Разумно ли это?
  • Не более 10 инженеров-алгоритмов НЛП их больше волнует архитектура Модели и выбор всех гиперпараметров в процессе обучения.
  • Разработка систем распределенного обученияинженер,Отвечает за поддержку системы обучения.,Координируйте, эксплуатируйте и управляйте множеством машин.
  • Также может потребоваться небольшой объем внешней и внутренней разработки.,Например, один или два человека,Отвечал за создание некоторых инструментов, связанных с данными.
boy illustration
RasaGpt — платформа чат-ботов на основе Rasa и LLM.
boy illustration
Nomic Embed: воспроизводимая модель внедрения SOTA с открытым исходным кодом.
boy illustration
Улучшение YOLOv8: EMA основана на эффективном многомасштабном внимании, основанном на межпространственном обучении, и эффект лучше, чем у ECA, CBAM и CA. Малые цели имеют очевидные преимущества | ICASSP2023
boy illustration
Урок 1 серии Libtorch: Тензорная библиотека Silky C++
boy illustration
Руководство по локальному развертыванию Stable Diffusion: подробные шаги и анализ распространенных проблем
boy illustration
Полностью автоматический инструмент для работы с видео в один клик: VideoLingo
boy illustration
Улучшения оптимизации RT-DETR: облегченные улучшения магистрали | Support Paddle облегченный rtdetr-r18, rtdetr-r34, rtdetr-r50, rtdet
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | Деформируемое внимание с большим ядром (D-LKA Attention), большое ядро ​​​​свертки улучшает механизм внимания восприимчивых полей с различными функциями
boy illustration
Создано Datawhale: выпущено «Руководство по тонкой настройке развертывания большой модели GLM-4»!
boy illustration
7B превышает десятки миллиардов, aiXcoder-7B с открытым исходным кодом Пекинского университета — это самая мощная модель большого кода, лучший выбор для корпоративного развертывания.
boy illustration
Используйте модель Huggingface, чтобы заменить интерфейс внедрения OpenAI в китайской среде.
boy illustration
Оригинальные улучшения YOLOv8: несколько новых улучшений | Сохранение исходной информации — алгоритм отделяемой по глубине свертки (MDSConv) |
boy illustration
Второй пилот облачной разработки | Быстро поиграйте со средствами разработки на базе искусственного интеллекта
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция с нулевым кодированием и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
Решенная Ошибка | Загрузка PyTorch медленная: TimeoutError: [Errno 110] При загрузке факела истекло время ожидания — Cat Head Tiger
boy illustration
Brother OCR, библиотека с открытым исходным кодом для Python, которая распознает коды проверки.
boy illustration
Новейшее подробное руководство по загрузке и использованию последней демонстрационной версии набора данных COCO.
boy illustration
Выпущен отчет о крупной модели финансовой отрасли за 2023 год | Полный текст включен в загрузку |
boy illustration
Обычные компьютеры также могут работать с большими моделями, и вы можете получить личного помощника с искусственным интеллектом за три шага | Руководство для начинающих по локальному развертыванию LLaMA-3
boy illustration
Одной статьи достаточно для анализа фактора транскрипции SCENIC на Python (4)
boy illustration
Бросая вызов ограничениям производительности небольших видеокарт, он научит вас запускать большие модели глубокого обучения с ограниченными ресурсами, а также предоставит полное руководство по оценке и эффективному использованию памяти графического процессора!
boy illustration
Команда Fudan NLP опубликовала 80-страничный обзор крупномасштабных модельных агентов, в котором в одной статье представлен обзор текущего состояния и будущего агентов ИИ.
boy illustration
[Эксклюзив] Вы должны знать о новой функции JetBrains 2024.1 «Полнострочное завершение кода», чтобы решить вашу путаницу!
boy illustration
Краткое изложение базовых знаний о регистрации изображений 1.0
boy illustration
Новейшее подробное руководство по установке и использованию библиотеки cv2 (OpenCV, opencv-python) в Python.
boy illustration
Легко создайте локальную базу знаний для крупных моделей на основе Ollama+AnythingLLM.
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание решения. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Одна статья поможет вам понять RAG (Retrival Enhanced Generation) | Введение в концепцию и теорию + практику работы с кодом (включая исходный код).
boy illustration
Эволюция архитектуры шлюза облачной разработки
boy illustration
Docker и Kubernetes [Разработка контейнерных приложений с помощью Python]