Вопросы и ответы на собеседовании с большой моделью
Вопросы и ответы на собеседовании с большой моделью

Автор | Кодирование Организация | https://zhuanlan.zhihu.com/p/686761933

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

1. Общая идея технологической системы RAG

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

2. Какие проблемы в основном решаются с помощью плагина базы знаний?

  • Преодолеть проблему забывания
  • Повысить точность, авторитетность и своевременность ответов
  • Решите проблемы, которые Генеральная модель не затронула в некоторых нишевых областях.
  • Улучшить управляемость и объяснимость,Повысить доверие и безопасность Модели.

3. Как оценить эффективность проекта RAG

Оценка процесса поиска:

  • Средняя частота инверсии MMR: обратный рейтинг запроса (или запроса рекомендации).
  • Частота обращений: доля элементов, содержащих правильную информацию, среди топ-k элементов.
  • NDCG

Оценка процесса генерации:

  • Неколичественные: полнота, корректность, актуальность.
  • Квантование: Руж-L

4. В чем проблема галлюцинаций больших моделей и проблема повторителей?

Проблема иллюзии: сгенерированный контент бессмысленен или не соответствует предоставленному исходному контенту.

Проблема с повторителем: определенные слова генерируются повторно.

5. Что касается вопроса 4, есть ли какое-либо решение?

Чтобы решить проблему галлюцинаций: внедрите плагин базы знаний, добавьте несколько правил коррекции, ограничьте длину вывода и т. д.

По поводу проблем с ретранслятором:

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

6. Каковы причины проблемы 4?

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

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

7. Какова текущая основная большая модель с открытым исходным кодом и какова ее конкретная архитектура?

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

  • Чтобы улучшить стабильность тренировок,Выполните входную предварительную нормализацию на каждом подслое,Нормализовать функцию до RMSNorm (на основе GPT-3)
  • Для повышения производительности функция активации SwiGLU заменяет функцию активации ReLU (по мотивам PaLM).
  • Встраивание абсолютного положения изменено на встраивание поворота (на основе GPT-neo).
  • Уменьшите объем памяти и время выполнения, используя эффективную реализацию причинного многоголового внимания.

8. Что такое методы SFT?

  • полная отделка
  • Adapter Tuning
  • Prefix Tuning
  • Prompt Tuning
  • P-Tuning v1
  • lora
  • RLHF

(В SFT скорость обучения установлена ​​на уровне 10% от этапа предварительного обучения, что обычно позволяет достичь хороших результатов)

9. Что такое тонкая настройка лора

Добавьте обход рядом с исходной PLM (предварительно обученной языковой моделью) и выполните операцию уменьшения размерности, а затем операцию размерности, чтобы имитировать так называемый внутренний ранг. Во время обучения параметры PLM фиксируются, и обучаются только матрица уменьшения размерности A и матрица повышения размерности B. Входные и выходные измерения модели остаются неизменными, а параметры BA и PLM накладываются при выводе. Инициализируйте A со случайным распределением Гаусса и инициализируйте B с матрицей 0, чтобы гарантировать, что матрица обхода все еще является матрицей 0 в начале обучения.

10. Каковы общие модели векторного поиска на этапе поиска RAG?

Алгоритм ИНС

  • вектор продукта
  • Жестокий поиск
  • hnswlib

Дерево КД

11. Как вы думаете, какие улучшения есть в общей RAG?

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

12. Что такое Лангчейн

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

13. Какие модули LangChain обычно используются?

  • document_loaders загрузка документа
  • text_splitter разделение документа
  • векторизация встраивания.huggingface
  • вектормагазины векторные магазины
  • Chain.RetrivalQA Вопросы и ответы по поиску

14. Сравнение преимуществ и недостатков SFT и RLHF

метод

преимущество

недостаток

SFT

1. Легко начать, и для обучения требуются только данные вопросов и ответов;

2. Обучение простое. Вы можете напрямую настроить параметры LLM. В большинстве случаев обучение в течение нескольких эпох позволяет достичь желаемых результатов;

3. Ресурсы видеопамяти дешевле, чем RLHF.

1. Эффект модели во многом зависит от качества данных SFT, а потолок зависит от качества аннотации данных SFT;

2. Требования к аннотации высокие. Для инструкции на самом деле очень сложно аннотировать качественный ответ, что требует как времени, так и трудоёмкости.

RLHF

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

2. Можно значительно повысить безопасность и достоверность информации.

1. Обучение потребляет много видеопамяти. 2. Процесс обучения очень нестабильен, и успешно завершить обучение PPO непросто. 3. Помимо данных на этапе SFT, также должны быть данные модели вознаграждения; быть аннотировано. В процессе согласования человеческих предпочтений легче обозначить, кто лучше, но нелегко обозначить, кто лучше или хуже других. быть

Этот ответ цитируется из статьи (https://zhuanlan.zhihu.com/p/677341520)

15. Давайте представим RLHF подробно

Оставь дыру и отдохни еще один день

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

накопление градиента

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

17. Может ли входное предложение модели LLaMA теоретически быть бесконечно длинным?

Не мочь

  • Ограничено вычислительными ресурсами
  • Длинные предложения на этапе обучения вызовут исчезновение градиента или взрыв градиента (поскольку предыдущие слова используются для оценки максимального правдоподобия в качестве функции потерь).,Эта оценка максимального правдоподобия упрощается до формы непрерывного умножения.,Легко вызвать исчезновение градиента или взрыв градиента)
  • Этап вывода увеличивает частоту ошибок прогнозирования.

18. Как заставить большие модели обрабатывать более длинные тексты?

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

19. Сколько данных находится в видеопамяти при выводе большой модели?

  • Модель参数
  • 输入данные
  • Рассчитать промежуточные результаты
  • Стратегия управления памятью. Некоторые платформы глубокого обучения используют стратегию задержки освобождения видеопамяти во время вывода.,То есть видеопамять освободится не сразу,Вместо этого он сохраняется в течение определенного периода времени для последующего использования. Эта стратегия может уменьшить частоту выделения и освобождения видеопамяти.,Улучшить рассужденияэффективность,Но это также приведет к тому, что видеопамять будет постоянно занята.

20. Представляем ChatGLM

Прежде всего, давайте поговорим о его базовой GLM, которую можно использовать как кодировщик, так и декодер.

В основном это достигается с помощью двух методов маски:

  • [маска]: форма Берта, случайная маска, короткий промежуток в тексте
  • [gmask]: форма gpt, длинный интервал в конце маски

При выполнении задач генерации в чате используйте [gmask]. Chaglm2 полностью использует gmask для предварительного обучения.

Преобразования внутренней структуры ChatGLM снизу вверх:

  • Позиционное кодирование: преобразование обучающего позиционного кодирования BERT во вращательное позиционное кодирование.
  • активацияфункция:отBERTв GeLU превратился в GLU, В чатеGLM2 снова стал SwiGLU
  • LayerNormalization: используется DeepNorm, который является улучшением пост-нормализации, то есть нормализация выполняется после остатка. В ChatGLM измените нормализацию слоя на RMSNormalization.

В ChatGLM 2.0 были добавлены и другие изменения:

  • FlashAttenion: используйте видеопамять и память для ускорения
  • Внимание при использовании нескольких запросов: несколько головок используют только одну пару KV и сокращают использование видеопамяти за счет совместного использования параметров.

21. Представляем функцию активации GLU и функцию активации SwiGLU

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

Основная идея SwishGLU состоит в том, чтобы объединить Swish и GLU, на самом деле просто умножая еще один g(x).

22. Сходства и различия LLaMA1/2

Во-первых, с точки зрения данных, lamma2.0 составляет 2,0T, а lamma1 — 1,4T. Второй — длина контекста: lamma1 — 2 КБ, а lamma2 — 4 КБ.

Наконец, с точки зрения архитектуры модели:

В целом оба следуют архитектуре авторегрессионного Трансформера, но внутренние детали несколько отличаются.

  • Кодирование положения: оба используют кодирование положения вращения.
  • Нормализация: оба используют предварительную нормализацию, за исключением того, что версия 1.0 использует исходную нормализацию LayerNormalization, а версия 2.0 использует RMSNorm.
  • Активировать функцию: с помощью SwiGLU

23. Сколько видеопамяти занимает модель во время обучения и вывода?

Вообще говоря, обучение занимает в 16 раз больше размера параметров модели (оптимизатор, градиент, сама модель занимает в 2 раза больше размера параметров модели (fp16 — размер единичного параметра, соответствующий двум байтам, int8 — размер единичного параметра); соответствует одному байту).

24. Давайте поговорим о механизме Deepspeed подробнее.

Следующее содержание цитируется из этой статьи.

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

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

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

Если количество графических процессоров равно N, разделите параметры модели на N частей, и каждый графический процессор должен хранить все параметры. Данные обучения также распределяются по каждому графическому процессору. Во время итерации N графических процессоров должны выполнить операции разброса и сбора. Функция уменьшения разброса добавляет градиенты соответствующих параметров на разных графических процессорах, что требует в общей сложности (N-1) связей. Сбор всех данных заключается в объединении полных параметров и передаче их на другие графические процессоры, что требует времени связи (N-1). Ведь сокращая за один раз, коммуникационный трафик одной карты составляет 2*сита.

Ноль включает в себя 3 плана, постепенно прогрессирующие:

ноль1: разделить параметры Адама на N частей, чтобы на графическом процессоре можно было сохранить только один параметр Адама: это не влияет на пересылку. Градиенту необходимо выполнить полное сокращение, но можно обновить только часть параметров. поэтому W нужно выполнить один раз в сборе, объем связи 3N*sita, память 12*sita/N + 4*sita.

ноль2: разделите adamw и градиент на N частей. Градиент не требует сбора всех данных, требуется только сбор данных w, а объем связи составляет 2N*sita.

ноль3: Разделите параметры, Адам и градиент. При пересылке вам необходимо собрать все w. При движении назад вам также нужно собрать все значения w. Вычислить градиент, отбросить w, который вам не принадлежит, а затем. сделайте разброс по градиенту, обновите w, громкость связи 3Н*сита.

Наконец, был принят этап 3: использование 1,5-кратного увеличения затрат на связь в обмен на почти 120-кратное увеличение объема видеопамяти.

Кроме того, ZeRO-Offload основан на Zero2, который помещает Адам и градиент в память и запускает вычисления N потоков в ЦП. Одна из основных тем заключается в том, что градиент всегда требует разброса, и я чувствую этот флаг параллельности данных. Здесь следует отметить, что независимо от того, идет ли речь вперед или назад, требуется полная буква w. Кроме того, с помощью параметров градиента и adamW можно обновить W.

25. Что такое тренировка смешанной точности?

FP64 использует 8 байтов, всего 64 бита, FP32 использует 4 байта, всего 32 бита, а FP16 использует 2 байта, всего 16 бит. В процессе обучения моделей нейронных сетей по умолчанию обычно используются типы данных с плавающей запятой одинарной точности (FP32) для представления весов и других параметров сетевой модели.

Зачем необходимо обучение смешанной точности?

Использование FP16 для обучения нейронной сети имеет следующие преимущества по сравнению с использованием FP32.

  • Уменьшение объема памяти: разрядность FP16 вдвое меньше, чем у FP32.,Таким образом, память, занимаемая такими параметрами, как веса, также уменьшается вдвое.,Это позволяет обучать более крупную сетевую модель или использовать больше данных.
  • коммуникацияэффективностьулучшать:для Распределенное обучение,Особенно большое обучение модели,Накладные расходы на связь являются узким местом производительности,Разрядность связи уменьшается вдвое.,Это может ускорить общение,Сократите время ожидания,улучшатьданныеобращениеэффективность。
  • Повышение эффективности вычислений: на некоторых специализированных чипах ускорения искусственного интеллекта.,Производительность вычислений с использованием FP16 выше, чем с FP32.

Однако использование FP16 также принесет некоторые проблемы, в основном в двух аспектах:

  • данныепереполнениеи
  • ошибка округления

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

  • Резервное копирование веса
  • Масштабирование потерь
  • Накопленная точность

26. что такое префикс LLM и случайный LLM

префикс LM: токены могут видеть друг друга, вводить двунаправленное внимание и выводить однонаправленное внимание (ChatGLM, ChatGLM2, U-PaLM)

casualLM: строго авторегрессия, однонаправленное внимание слева направо (LLaMA-7B, производные LLaMa, Qwen)

27. Давайте поговорим о некоторых последующих работах по оптимизации вычислений для MHA.

  1. KV-кэш, основная идея: поскольку преобразователи являются авторегрессионными, прогноз каждого токена содержит большое количество предыдущих повторяющихся избыточных вычислений. Суть оптимизации заключается в сохранении промежуточных результатов, которые необходимо использовать повторно, чтобы избежать повторных вычислений.
  2. MQA,Основная идея: хотя SRAM имеет большую пропускную способность,Но емкость очень маленькая (А100 всего около 20М),Таким образом, чтобы еще больше уменьшить количество необходимых кэшей. Длинная позиция в MQA отличается только Q,К и В абсолютно одинаковы.
  3. GQA,Основная идея: еще больше уменьшить размер кэша, который необходимо кэшировать.,Копия группы К, В,размер данных находится между MQA и MHA.
  4. FlashAttention,Основная идея: разделить Q, K, V на более мелкие блоки.,Загрузка из HBM в SRAM,Чтение непосредственно из SARM, когда требуется расчет (поскольку в настоящее время узким местом расчета трансформаторов не является скорость расчета).,Но ИО)

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

28. Поговорим о нескольких распространенных методах расчета внимания.

  • self-attention
  • Внимание Дина рассчитывается после получения веса.,Операция нормализации softmax не выполняется.,Вместо этого сохраняется первоначальная мощность сигнала весов. Исходные веса получаются путем активации последнего слоя сети.,Таким образом, вы можете воспользоваться преимуществами активации функции,Ограничьте его значение между 0-1.,Такие как сигмовидная функция,Таким образом, полученное исходное значение веса можно непосредственно использовать для взвешенного расчета.,Различия в весе сохраняются. Хотя нормализацию можно выполнить с помощью операции softmax,Но в то же время это ослабит разницу между весами.,Локальная направленность, которая подрывает интерес пользователей.
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