Поделиться через


Как работают генеривные ИИ и LLM

Генерируемый ИИ — это тип искусственного интеллекта, способный создавать исходное содержимое, например естественного языка, изображений, звука и кода. Выходные данные генерированного ИИ основаны на входных данных, предоставленных пользователем. Одним из распространенных способов взаимодействия пользователей с генерируемым ИИ является использование приложений чата, использующих естественный язык в качестве входных данных. ChatGPT, разработанный OpenAI, является популярным примером этого. Созданные приложения ИИ, использующие естественный язык в качестве входных данных, работают на основе больших языковых моделей (LLM) для выполнения обработки естественного языка (NLP).

Как работает генерированный ИИ

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

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

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

Распространенные способы создания искусственного интеллекта

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

Генерирование естественного языка

Некоторые созданные приложения ИИ могут создавать выходные данные естественного языка, например:

  • Профессиональные сводки для профиля LinkedIn
  • Подробные описания элементов в онлайн-магазине
  • Идеи для здорового питания

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

ОК, вот три здоровых завтрака, которые включают перец:

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

  2. Перец и Авокадо Тоаст: Toast кусок цельнозернного хлеба и сверху его с резаными перцем колокольчика, пюре авокадо, и посыпать солью и перцем. Это отличный способ получить некоторые здоровые жиры из авокадо вместе с витамином C от перцев.

  3. Завтрак Burrito с Перцем: Sauté некоторые диктовые перцы колокольчика, луки и рычаные яйца вместе в кастрюле. Затем, ложка смеси на цельнозерновый тортилью и сверху с некоторыми сальса или горячим соусом. Свернуть его и насладиться удовлетворяющим и питательным завтраком.

Генерирование изображений

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

  • Люди или вещи для отображения изображения
  • Художественный стиль для создания изображения в
  • Ссылки на создание аналогичных изображений

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

Пример ИИ создал изображение слона, питающего гамбургер.

Создание звука

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

  • Синтезирование естественных звуковых голосов из входного текста
  • Создание музыки в определенном стиле или с участием определенных инструментов
  • Изменение входных звуковых файлов на основе заданных критериев на естественном языке

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

Создание кода

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

  • Находится на языке их выбора
  • Принимает определенную структуру входных и выходных данных
  • Использование конкретных технологий на основе справочной документации

Создание кода может обеспечить быстрые реализации распространенных операций, таких как сортировка или фильтрация данных, ускорение перевода кода с одного языка на другой или ответы на вопросы о технологии на основе указанной справочной документации. Например, при вводе "Показать мне, как закодировать игру tic-tac-toe с помощью C#", созданное приложение ИИ может создать следующие выходные данные:

Ниже приведен простой пример того, как можно закодировать игру tic-tac-toe в C#:

using System;

namespace TicTacToe
{
    class Program
    {
        static char[] board = { '1', '2', '3', '4', '5', '6', '7', '8', '9' };
        static int player = 1; // Player 1 will start
        static int choice; // The number the player chooses
        static int flag = 0; // Set the flag value to 0

        // Check if the position is already marked or not
        private static int CheckPosition(char mark)
        {
            for (int i = 0; i < 9; i++)
            {
                if (board[i] == mark)
                {
                    return 1;
                }
            }
            return 0;
        }

        // The rest of the generated code has been omitted for brevity
        // ...
    }
}

Этот код создает простую игру на основе консоли tic-tac-toe в C#. Он использует одномерный массив для представления доски и проверка для победы или рисования после каждого перемещения.

Как работают LLM

При обучении LLM обучающий текст сначала разбивается на маркеры. Каждый маркер определяет уникальное текстовое значение. Маркер может быть отдельным словом, частичным словом или сочетанием слов и препинания. Каждому маркеру присваивается идентификатор, который позволяет представлять текст в виде последовательности идентификаторов маркеров.

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

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

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

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