Внедрение языка разметки чата (ChatML) важно по ряду причин

May 03 2023
1 марта 2023 года OpenAI представила API ChatGPT и Whisper. Частью этого объявления был язык разметки чата, который, похоже, остался незамеченным.

1 марта 2023 года OpenAI представила API ChatGPT и Whisper. Частью этого объявления был язык разметки чата, который, похоже, остался незамеченным. Здесь я обсуждаю, почему ChatML является важной разработкой…

В настоящее время я главный евангелист @ HumanFirst . Я исследую и пишу обо всем на стыке ИИ и языка; начиная от LLM, чат-ботов, голосовых ботов, сред разработки, скрытых пространств, ориентированных на данные, и многого другого.

Краткое резюме…

Объявление OpenAI сосредоточено вокруг нескольких основных моментов:

Значительное снижение цены на размещенный API, с декабря 2022 года стоимость ChatGPT снизилась на 90%.

API-интерфейсы, размещенные в Azure, скорее всего, будут иметь очень детальное управление, а также региональные и географические зоны доступности. Это говорит о значительной потенциальной добавленной стоимости API.

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

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

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

Эти изменения свидетельствуют о растущей зрелости сред LLM.

Назад к языку разметки чата (ChatML)

Я считаю, что введение ChatML чрезвычайно значимо и важно по следующим причинам…

⚙️ Основной уязвимостью системы безопасности и способом злоупотребления LLM являются атаки с быстрым внедрением . ChatML позволит защититься от подобных атак.

⚙️ Чтобы противостоять атакам с быстрым внедрением, разговор разделяется на уровни или роли:

  • Система
  • помощник
  • пользователь и т.д.

⚙️Полезная нагрузка, размещенная в ChatML, в настоящее время представляет собой только текст. OpenAI предусматривает введение других типов данных. Это согласуется с идеей больших базовых моделей, чтобы вскоре начать комбинировать текст, изображения, звук и т. д.

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

⚙️ OpenAI находится в идеальном положении, чтобы ответственно управлять ландшафтом LLM. Установление основополагающих стандартов для создания приложений.

ChatML указывает модели источник каждого фрагмента текста и, в частности, показывает границу между человеческим текстом и текстом ИИ.

Это дает возможность смягчить и, в конечном итоге, устранить инъекции, поскольку модель может сказать, какие инструкции исходят от разработчика, пользователя или ее собственного ввода. ~ OpenAI

Пример кода ChatML

Ниже приведен пример JSON-файла ChatML с ролями, определенными для system, userи assistant.

[{"role": "system", 
      "content" : "You are ChatGPT, a large language model trained by OpenAI. Answer as concisely as possible.\nKnowledge cutoff: 2021-09-01\nCurrent date: 2023-03-02"},
 {"role": "user", 
      "content" : "How are you?"},
 {"role": "assistant", 
      "content" : "I am doing well"},
 {"role": "user", 
      "content" : "What is the mission of the company OpenAI?"}]

pip install openai

import os
import openai
openai.api_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

completion = openai.ChatCompletion.create(
  model="gpt-3.5-turbo", 
  messages = [{"role": "system", "content" : "You are ChatGPT, a large language model trained by OpenAI. Answer as concisely as possible.\nKnowledge cutoff: 2021-09-01\nCurrent date: 2023-03-02"},
{"role": "user", "content" : "How are you?"},
{"role": "assistant", "content" : "I am doing well"},
{"role": "user", "content" : "What is the mission of the company OpenAI?"}]
)
#print(completion)
print(completion)

{
  "choices": [
    {
      "finish_reason": "stop",
      "index": 0,
      "message": {
        "content": "The mission of OpenAI is to ensure that artificial intelligence (AI) benefits humanity as a whole, by developing and promoting friendly AI for everyone, researching and mitigating risks associated with AI, and helping shape the policy and discourse around AI.",
        "role": "assistant"
      }
    }
  ],
  "created": 1677751157,
  "id": "chatcmpl-6pa0TlU1OFiTKpSrTRBbiGYFIl0x3",
  "model": "gpt-3.5-turbo-0301",
  "object": "chat.completion",
  "usage": {
    "completion_tokens": 50,
    "prompt_tokens": 84,
    "total_tokens": 134
  }
}

Одной из проблем построения диалогового интерфейса на основе LLM является понятие последовательности узлов подсказок в цепочки .

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

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

⭐️ Следите за мной в LinkedIn , чтобы быть в курсе обновлений разговорного ИИ ⭐️

В настоящее время я главный евангелист @ HumanFirst . Я исследую и пишу обо всем на стыке ИИ и языка; начиная от LLM , чат-ботов , голосовых ботов , платформ разработки, скрытых пространств, ориентированных на данные, и многого другого.

https://www.linkedin.com/in/cobusgreyling
Квадрант Cobus™ дизайна NLU Квадрант Cobus™ дизайна диалогов Возможности
Модели большого языка вынуждают платформы диалогового ИИ смотреть наружу Существующая жесткая архитектура чат-бота нуждается в гибкости модели большого языка (LLM) Модели большого языка (LLM) не заменят традиционный чат-бот NLU… На данный момент Генеративный ИИ и новая категория приложений на базе LLM Анатомия Диалоговые приложения на основе модели большого языка (LLM) Базовая модель большого языка (LLM) и ландшафт инструментов