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

Предисловие

Если вы следовали по стопам блоггера, чтобы изучить соответствующее содержание больших моделей ИИ, от первоначального анализа проекта Prompt большой модели до фактической разработки и развертывания, а также углубленных приложений более высокого порядка, таких как NL2SQL, граф знаний. большие модели и ChatBI, вам следует. Мы уже почувствовали, как мы делаем шаг за шагом: от преодоления технических трудностей к построению собственного технического моста. В настоящее время мы, возможно, знакомы с разработкой больших моделей, но мы также должны признать, что скорость итерации технологии слишком высока. Чтобы идти в ногу с темпами развития технологий искусственного интеллекта, нашей конечной целью является интеграция новейших технологий искусственного интеллекта в существующие сценарии бизнеса и приложений.

Так почему же я пишу эту статью сегодня? Потому что в некоторых бизнес-сценариях,Мы часто сталкиваемся с проблемой нехватки данных. И если вы хотите, чтобы ИИ адаптировался к этим сценариям,Необходимо преодолеть ограничения, вызванные «меньшим количеством данных».,Найдите более эффективные методы обучения. В это время,синтетические данныеЭто становится чем-то, что нельзя игнорироватьизключевые инструменты。хорошо,Не так много сказать,Перейдем непосредственно к сегодняшней теме! Я постараюсь объяснить вам теоретические и математические знания доступным языком.,О техническом пороге беспокоиться не нужно. Спасибо всем за вашу постоянную поддержку!

1. Почему нам следует обращать внимание на синтетические данные?

1. Дилемма данных в условиях реальной жизни

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

  • Недостаточно данных:Просто представьте,Если вы хотите разработать модель искусственного интеллекта для диагностики редких заболеваний,Вы можете обнаружить, что доступных данных о пациентах очень мало. Потому что характеристикой редких заболеваний является «редкость».,Традиционными методами сбора данных невозможно получить достаточное количество обучающих выборок.
  • конфиденциальность данных:медицинский、финансы、Социальные сети и другие областииз Данные часто очень чувствительныизперсональная информация。Даже если эти данные существуют,Он также недоступен напрямую из-за правил защиты конфиденциальности (например, GDPR).
  • Смещение данных:Реальные данные не всегда идеальныиз。Например, в модели кредитного скоринга,Мужских образцов может быть больше, чем женских.,В результате модель имеет большое отклонение в оценке женщин. Такое распределение данных неравномерно.,Напрямую влияет на справедливость модели и способность к обобщению.

Кроме того, среди использованного учебного корпуса есть текстовые данные, используемые для обучения большой языковой модели, включая информацию веб-страниц, книги, научно-исследовательские работы, энциклопедии знаний, профессиональные вопросы и ответы, коды и знания предметной области, а также изображения. Медиа-данные, такие как видео и аудио. По оценкам Epoch AI, высококачественные наборы языковых данных, такие как книги и научные статьи, могут быть исчерпаны до 2024 года. Что нам делать, столкнувшись с этими проблемами?

2. Синтетические данные: сделайте данные модели «возникшими из ничего».

Решение этих дилемм данных из ответов,то естьсинтетические данные

В одном предложении: синтетические данные — это виртуальные данные, созданные программой. Они выглядят реальными, но на самом деле «сделаны из ничего».

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

синтетические данные — актер спецэффектов в виртуальном фильме。 Например, при съемке боевиков нам не нужно, чтобы актеры действительно выпрыгивали из самолетов или врезались в машины. Вместо этого мы используем компьютерные спецэффекты для создания виртуальных сцен. Движения этих актеров спецэффектов реалистичны, безопасны и лишены риска, и они могут «модифицировать сценарий» в любое время в соответствии с потребностями. Роль синтетических данных в обучении ИИ точно такая же. Синтетические данные произвели революцию в технологиях во многих областях. Давайте рассмотрим несколько реальных сценариев:

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

Медицинская визуализация: защита конфиденциальности пациентов существоватьмедицинский领域,Данные КТ и МРТ пациентов часто не являются широко доступными по соображениям конфиденциальности. Путем создания синтетических теневых данных (например, нормальное легкое и аномальное легкое с контрастом),Исследователи могут разработать высокопроизводительный диагностический искусственный интеллект, не нарушая конфиденциальности пациентов.

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

Типичный пример: OpenAI из Codex модели, которая использует синтетические фрагменты кода для обогащения обучающих данных, оказывается, что синтетические данныеиз Присоединиться Let Codex Способность понимать и генерировать код была улучшена до более высокого уровня.

исинтетические данные Очень актуальноиз Другая техникаУвеличение данных

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

  • синтетические данные:Создать новый с нуляизточки данных,Имитировать характеристики реальных данных,Это метод производства «с нуля».
  • увеличение данных:Изменить на основе существующих данных,Генерировать новые из вариантов,Это своего рода «вишенка на торте» и средство расширения.

существоватьОбласть обработки естественного языка (НЛП),синтетические данныеиувеличение данные широко используются:

  • синтетические данные:генеративная модель(нравитьсяGPT)Генерируйте новые на основе существующих данных.изпредложение。Например,Когда реальные данные ограничены и несбалансированы,доступныйсинтетические данные для обучения моделей классификации текста.
  • увеличение данных:Общие методы включают замену синонимов.、Случайно удалять, вставлять случайные разрывы строк или разрывы строк и т. д. Эти советы Простой эффективны,Это может значительно расширить разнообразие обучающих данных.

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

2. Что такое синтетические данные?

Сначала позвольте мне задать вам вопрос: вы когда-нибудь смотрели блокбастер? В этих фильмах много потрясающих визуальных эффектов.,Например, эпические батальные сцены, фантастические инопланетные миры.,Есть также виртуальные персонажи, которые реалистичны, но не существуют. на самом деле,Эти персонажи «Эффекты» не созданы реальными людьми.,Вместо этого они являются созданными компьютером «виртуальными актерами». Они могут летать, убегать и быть неуязвимыми.,Но на самом деле их не существует. синтетические данныеи Эти «виртуальные актеры» очень похожи – они генерируются с помощью технологий.,Имитирует характеристики, очень близкие к реальным данным,Используется для заполнения реальных данных и требований к задачам.

определение

синтетические данные,Проще говоря,Это генерация данных с помощью алгоритмов и технологий.,Цель состоит в том, чтобы имитировать характеристики данных в реальном мире. Выглядит почти так же, как реальные данные,Но по сути«Процедурно генерируемые виртуальные данные»,И выделяют следующие основные формы:

  • текстовые данные:нравиться模拟真实对话生成из Вопросы и ответы、Контент виртуальной электронной почты и т. д.
  • Данные изображения рисунка:нравиться人脸图картина、фотографии с видом на улицу,Используется для тренировки распознавания лиц и автоматического вождения.
  • видеоданные:нравиться模拟交通场景,для беспилотных моделей.
  • структурированные данные:нравиться生成虚拟из Журнал поведения пользователей、данные электронной таблицы,Используется для системы рекомендаций и прогнозного анализа.

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

Как они генерируются: Как генерируются синтетические данные?

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

Генерировать на основе правил

Этот метод генерирует данные путем ручной установки правил и алгоритмов. Например:

  • Генерация случайных чисел:Поколение следует нормальному распределениюизслучайные данные,Используется для моделирования определенных экспериментальных данных.
  • Замена шаблона:существовать固定из Заменить определенные ключевые слова в текстовых шаблонах,Например, «имя выполнило задачу на месте»,Быстро создавайте разнообразные изтекстовые данные.

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

Генерация на основе модели

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

GAN (генеративно-состязательная сеть): GAN Это звездчатый алгоритм генерации данных графа. Он использует генератор и дискриминатор для конкуренции друг с другом. Сгенерированный граф можно спутать с реальным. Например, Стиль ГАН Может создавать реалистичные человеческие лица, даже если этих людей никогда не существовало.

Язык кода:python
кодКоличество запусков:0
копировать
 from tensorflow.keras.models import Sequential
 from tensorflow.keras.layers import Dense
 # Упрощенное определение генератора GAN
 generator = Sequential([
     Dense(128, activation='relu', input_dim=100),
     Dense(256, activation='relu'),
     Dense(784, activation='sigmoid')
 ])
 print(generator.summary())
 

Диффузия (модель диффузии): Модель диффузии — это новый метод генерации, который генерирует реалистичные изображения путем постепенного восстановления данных из шума. картина DALL-E и Stable Diffusion Именно на основе этого метода можно создавать изображения высокого качества.

LLM (большая языковая модель): картина GPT или ChatGPT может генерировать огромное количество текстовых сообщений на основе ввода подсказок. данные。Например,Дайте подсказку «Написать реферат по искусственному интеллекту»,Большая языковая модель может генерировать реалистичное содержание отчета.

Язык кода:python
кодКоличество запусков:0
копировать
 from transformers import pipeline
 generator = pipeline('text-generation', model='gpt-3')
 prompt = "Write a professional email for project updates."
 result = generator(prompt, max_length=100, num_return_sequences=1)
 print(result[0]['generated_text'])
 

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

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

Ключевые сценарии применения синтетических данных

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

Восполните Недостаточно данных и улучшите способность модели к обобщению.:существовать许多稀疏场景下,Выборки реальных данных часто ограничены.,Например, данные о диагностике редких заболеваний, непопулярные поля и текстовый корпус. По синтетическим данным,Мы можем генерировать большое количество качественных виртуальных образцов.,Заполните эти «пробелы». Эти данные не только увеличивают объем данных для обучения модели.,Это также помогает модели лучше понимать и адаптироваться к различным входным данным.

Устранить проблему дисбаланса распределения данных:Неравномерное распределение данныхAIМодельное обучениеиз Часто задаваемые вопросы。Например,В задаче классификации эмоций,Если доля положительных эмоций в обучающих данных намного выше, чем отрицательных эмоций,Модели могут неверно предсказывать негативные эмоции. Синтетические данные могут целенаправленно генерировать сбалансированные данные выборки.,Помогите модели решить проблему с распределением.,Тем самым улучшая производительность и справедливость.

Например, используя Python и Transformers Библиотека генерирует данные вопросов и ответов:

Язык кода:python
кодКоличество запусков:0
копировать
 from transformers import pipeline
 
 # Загрузите предварительно обученную модель
 generator = pipeline('text-generation', model='gpt-3')
 
 # Предоставляйте подсказки для создания данных вопросов и ответов.
 prompt = "Q: What are the benefits of synthetic data in AI training? A:"
 result = generator(prompt, max_length=50, num_return_sequences=3)
 
 # Генерация выходного сигнала данные
 for idx, response in enumerate(result):
     print(f"Generated QA Pair {idx + 1}: {response['generated_text']}")
 

Эффект:Запустите вышеуказанноекодназад:

Язык кода:kotlin
копировать
 Generated QA Pair 1: Q: What are the benefits of synthetic data in AI training? A: It helps mitigate data scarcity and improves model robustness.
 Generated QA Pair 2: Q: What are the benefits of synthetic data in AI training? A: It can protect privacy while providing high-quality data for training.
 Generated QA Pair 3: Q: What are the benefits of synthetic data in AI training? A: Synthetic data is cost-effective and reduces the need for manual labeling.

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

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

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

Язык кода:python
кодКоличество запусков:0
копировать
 import torch
 from torchvision.utils import save_image
 from stylegan2_pytorch import ModelLoader  # Нужно заранее установить stylegan2-pytorch
 
 # Загрузите предварительно обученную модель StyleGAN.
 model = ModelLoader(name='ffhq')  # Предварительно обучите модель, используя набор данных лиц FFHQ.
 
 # Генерация случайных чисел из скрытых векторов
 latent = torch.randn(1, 512)  # StyleGANиз входного вектора
 
 # Создавайте изображения лиц с высоким разрешением.
 generated_image = model.generate(latent)
 
 # Сохраните созданную картинку
 save_image(generated_image, 'synthetic_face.jpg')
 print("Synthetic face image saved as synthetic_face.jpg")
 

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

Генерация мультимодальных данных

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

Преобразование данных в информацию:будет промышленно производитьилив производственном процессеизнеобработанные данные(нравиться操作记录、данные временных рядов) преобразуются в удобочитаемую структурированную информацию.

Информация к знаниям по нефтепереработке:将结构化信息и行业知识图谱结合,Развивайте более ценные знания (например, о лучших операционных стратегиях и их принципах).

Обобщение знаний:Используйте большие моделииз Способность рассуждать,Расширить разнообразие знаний,Создание более богатого отраслевого корпуса.

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

Потенциал оптимизации синтетических данных на этапе согласования (SFT+RLHF)

На этапе согласования большой модели (включая контролируемую точную настройку и обучение с подкреплением на основе отзывов людей, SFT+RLHF) внедрение синтетических данных может значительно снизить затраты на сбор данных и улучшить обучение. Эффект. Ниже приведены конкретные приложения:

  • Сокращение затрат на выравнивание: использоватьсинтетические Технология данных может использовать большие модели для генерации инструкций и образцов входных/выходных данных, а также точно настраивать небольшие модели для повышения производительности за счет автоматической фильтрации повторяющихся и недействительных данных. Стэнфордский университет Alpaca Модель принимает Self-instruct метод, через OpenAI изAPI автоматически генерирует данные инструкций для точной настройки и успешно реализует диалоговую модель с 7 миллиардами параметров по очень низкой цене.
  • RLAIF (Обучение с подкреплением на основе обратной связи с искусственным интеллектом): Этот метод генерирует синтетические продукты с помощью моделей более крупного масштаба. данные,Автоматизируйте процесс тонкой настройки. Это не только снижает стоимость ручного аннотирования.,Это также предотвращает отказ моделей отвечать на деликатные вопросы из-за выравнивания вручную.

На этапе предварительной подготовки большой модели синтетические Данные будут играть важную роль в создании мультимодальных и предметных знаний. Целесообразным решением является использование синтетических веществ в определенной пропорции. данныеи真实数据进行混合,Используется для оптимизации производительности модели.,Улучшить способность к обобщению. В следующей главе мы сосредоточимся на реализации нескольких API и примерах сценариев их использования в качестве примеров обучающих данных.,Синтезируйте обучающие данные из этих примеров.,Обучите модель для достижения оптимизации производительности!

Если есть какие-либо ошибки, пожалуйста, оставьте сообщение для консультации. Большое спасибо.

Это все по этому вопросу. Меня зовут фанат. Если у вас есть вопросы, оставьте сообщение для обсуждения. Увидимся в следующем выпуске.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose