Wprowadzenie języka znaczników czatu (ChatML) jest ważne z wielu powodów

1 marca 2023 r. OpenAI wprowadziło interfejsy API ChatGPT i Whisper. Częścią tego ogłoszenia był Chat Markup Langauge, który, jak się wydaje, przeszedł w dużej mierze niezauważony. Tutaj omawiam, dlaczego ChatML jest ważnym rozwojem…

Obecnie jestem Głównym Ewangelistą @ HumanFirst . Odkrywam i piszę o wszystkich rzeczach na styku sztucznej inteligencji i języka; począwszy od LLM, Chatbotów, Voicebotów, Frameworków programistycznych, ukrytych przestrzeni zorientowanych na dane i innych.

Krótkie podsumowanie…
Ogłoszenie OpenAI skupiało się wokół kilku głównych punktów:
Znaczący spadek ceny za hostowane API, od grudnia 2022 roku nastąpiła 90% redukcja kosztów dla ChatGPT.
Interfejsy API hostowane przez platformę Azure najprawdopodobniej będą dostarczane z bardzo szczegółowym zarządzaniem oraz regionalnymi i geograficznymi strefami dostępności. Wskazuje to na znaczną potencjalną wartość dodaną do interfejsów API.
Presja wywierana na dostawców ASR rośnie, zróżnicowanie będzie musiało zostać wprowadzone poprzez gwiezdne i osobiste wsparcie, szczegółowe dostrajanie, wsparcie dla niszowych języków mniejszości itp.
Interfejsy API Whisper i ChatGPT umożliwiają łatwą implementację i eksperymentowanie. Łatwość dostępu do Whisper umożliwia rozszerzone wykorzystanie ChatGPT w zakresie włączenia danych głosowych, a nie tylko tekstu.
Umożliwienie dostępu do określonej wersji modelu, a następnie uaktualnienie w razie potrzeby ujawnia zmiany i aktualizacje modeli. Wprowadza to stabilność dla wdrożeń produkcyjnych.
Zmiany te wskazują na rosnącą dojrzałość środowisk LLM.
Powrót do języka znaczników czatu (ChatML)
Uważam, że wprowadzenie ChatML jest niezwykle istotne i ważne z następujących powodów…
⚙️ Główną luką w zabezpieczeniach i drogą nadużyć dla LLM były szybkie ataki iniekcyjne . ChatML pozwoli na ochronę przed tego typu atakami.
⚙️ Aby zanegować szybkie ataki iniekcyjne, rozmowa jest podzielona na warstwy lub role:
- System
- asystent
- użytkownik itp.
⚙️Ładunek dostosowany do ChatML to obecnie tylko tekst. OpenAI przewiduje wprowadzenie innych typów danych. Jest to zgodne z ideą Large Foundation Models, która wkrótce zacznie łączyć tekst, obrazy, dźwięk itp.
Użytkownicy mogą nadal używać niebezpiecznego formatu surowego ciągu znaków. Ale znowu, ten format z natury umożliwia zastrzyki.
⚙️ OpenAI ma idealną pozycję do kierowania i zarządzania krajobrazem LLM w odpowiedzialny sposób. Ustanawianie podstawowych standardów tworzenia aplikacji.
ChatML wyjaśnia modelowi źródło każdego fragmentu tekstu, a zwłaszcza pokazuje granicę między tekstem ludzkim a tekstem AI.
Daje to możliwość złagodzenia i ostatecznie rozwiązania zastrzyków, ponieważ model może określić, które instrukcje pochodzą od programisty, użytkownika lub z własnego wkładu. ~ Open AI
Przykładowy kod ChatML
Poniżej znajduje się przykładowy plik JSON ChatML z rolami zdefiniowanymi jako system
, user
i 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
}
}
Jednym z wyzwań związanych z budowaniem interfejsu konwersacyjnego opartego na LLM jest koncepcja sekwencjonowania węzłów podpowiedzi w łańcuchy .
Krawędzie, które znajdują się między węzłami, są trudne do zarządzania ze względu na nieustrukturyzowany charakter danych wejściowych. A dane wejściowe są zwykle w języku naturalnym lub konwersacyjnym, który z natury nie ma struktury.
ChatML znacznie pomoże w stworzeniu standardowego celu transformacji danych w celu przesłania ich do łańcucha .

⭐️ Śledź mnie na LinkedIn , aby otrzymywać aktualizacje na temat Conversational AI ⭐️

Obecnie jestem Głównym Ewangelistą @ HumanFirst . Odkrywam i piszę o wszystkich rzeczach na styku sztucznej inteligencji i języka; począwszy od LLM , Chatbotów , Voicebotów , Frameworków programistycznych, ukrytych przestrzeni Data-Centric i innych.





