TOON formát pre AI aplikácie

Nasledujúci článok tvorí stručný úvod do nového formátu pre ukladanie a výmenu údajov, ktorý ma veľmi zaujal predovšetkým pri jeho použiteľnosti vo sfére AI a vývoja aplikácií, ktoré komunikujú s AI modelmi. Na začiatok spomeniem dve rozšírené a známe skratky: JSON a XML.

JSON (JavaScript Object Notation) je jednoduchý formát na ukladanie a výmenu dát. Je čitateľný pre ľudí a zároveň jednoducho spracovateľný počítačmi. Používa sa najmä pri komunikácii medzi webovými aplikáciami a servermi, napríklad pri posielaní informácií o produktoch, používateľoch alebo nastaveniach. Dáta v JSON sú organizované vo forme kľúč: hodnota a môžu obsahovať objekty alebo zoznamy, čo umožňuje flexibilnú štruktúru informácií.

XML (eXtensible Markup Language) je značkovací jazyk určený na ukladanie a prenos dát. Podobne ako HTML používa značky, no na rozdiel od HTML nie je zameraný na zobrazovanie obsahu, ale na jeho štruktúrované uchovávanie. XML umožňuje definovať vlastné značky, takže je veľmi flexibilný a vhodný na prenos dát medzi rôznymi systémami, napríklad medzi databázami a aplikáciami alebo medzi rôznymi webovými službami.

TOON

Správna štruktúra údajov pre AI modely zabezpečí lepšie výsledky za ekonomicky výhodnejších podmienok.

 

Mierny problém pri oboch formátoch je to, že každá jedna zátvorka, dvojbodka, úvodzovka, alebo iný opakujúci sa prvok v tejto štruktúre predstavuje zbytočné údaje naviac. Ak pracujete v oblasti vytvárania aplikácií, ktoré komunikujú napríklad s AI (LLM), pravdepodobne viete, že tokeny sú v podstate ich menou. Čím viac tokenov miniete, tým nákladnejšie bude vaše riešenie umelej inteligencie. Nehovoriac o tom, že mnohé služby a API sú v istých momentoch limitované na počet prenesených tokenov.

Presne tento problém rieši nový formát TOON (Token-Oriented Object Notation). Vďaka svojmu charakteru umožňuje pracovať s AI modelmi efektívnejšie, inteligentnejšie a v konečnom dôsledku lacnejšie. Logická štruktúra údajov má oveľa bližšie k tomu, ako LLM prirodzene chápu štruktúrované dáta.

Na názornej ukážke nižšie je JSON, ktorý obsahuje informácie o 5 typoch psoch.

{
    "id": 1,
    "plemeno_psa": "Labrador Retriever",
    "priemerna_hmotnost": 30
  },
  {
    "id": 2,
    "plemeno_psa": "Nemecký ovčiak",
    "priemerna_hmotnost": 35
  },
  {
    "id": 3,
    "plemeno_psa": "Beagle",
    "priemerna_hmotnost": 10
  },
  {
    "id": 4,
    "plemeno_psa": "Bulldog",
    "priemerna_hmotnost": 23
  },
  {
    "id": 5,
    "plemeno_psa": "Sibírsky husky",
    "priemerna_hmotnost": 27
  }

Nasleduje ukážka tých istých údajov vo formáte XML.

<pes>
  <id>1</id>
  <plemeno_psa>Labrador Retriever</plemeno_psa>
  <priemerna_hmotnost>30</priemerna_hmotnost>
</pes>
<pes>
    <id>2</id>
    <plemeno_psa>Nemecký ovčiak</plemeno_psa>
    <priemerna_hmotnost>35</priemerna_hmotnost>
</pes>
<pes>
  <id>3</id>
  <plemeno_psa>Beagle</plemeno_psa>
  <priemerna_hmotnost>10</priemerna_hmotnost>
</pes>
<pes>
  <id>4</id>
  <plemeno_psa>Bulldog</plemeno_psa>
  <priemerna_hmotnost>23</priemerna_hmotnost>
</pes>
<pes>
  <id>5</id>
  <plemeno_psa>Sibírsky husky</plemeno_psa>
  <priemerna_hmotnost>27</priemerna_hmotnost>
</pes>

Nasleduje ukážka tých istých údajov vo formáte TOON. Rozdiel je jasne viditeľný. Pri formáte JSON som potreboval na tento prenos údajov 108 tokenov, pri formáte TOON iba 36, čo predstavuje úsporu 67 %.

items[5]{id,plemeno_psa,priemerna_hmotnost}:
  1,Labrador Retriever,30
  2,Nemecký ovčiak,35
  3,Beagle,10
  4,Bulldog,23
  5,Sibírsky husky,27

Úspora spočíva predovšetkým v odstránení opakujúcich sa znakov štruktúry, ako dvojbodky, úvodzovky, zátvorky. TOON definuje prvý riadok ako hlavičku (schému) a zvyšok sú len čisté údaje. V hlavičke nájdeme počet položiek a jednotlivé prvky. Práve to je ekonomicky zaujímavé pri vývoji aplikácií s AI. Zbytočne neminieme tokeny na znaky, ktoré tvoria štruktúru a nie samotný obsah. Aj napriek minimalizácii niektorých znakov, tento formát je aj naďalej veľmi dobre čitateľný ako pre stroj, tak pre človeka.

Môžeme porovnať ešte jeden príklad s troche komplikovanejšou štruktúrou.

{
  "zvierata": {
    "macka": [
      {
        "id": 1,
        "plemeno": "Mainská mývalia",
        "priemerna_hmotnost": 7
      },
      {
        "id": 2,
        "plemeno": "Britská krátkosrstá",
        "priemerna_hmotnost": 5
      },
      {
        "id": 3,
        "plemeno": "Siamská mačka",
        "priemerna_hmotnost": 4
      }
    ],
    "pes": [
      {
        "id": 1,
        "plemeno": "Zlatý retriever",
        "priemerna_hmotnost": 32
      },
      {
        "id": 2,
        "plemeno": "Border kólia",
        "priemerna_hmotnost": 20
      },
      {
        "id": 3,
        "plemeno": "Jazvečík",
        "priemerna_hmotnost": 9
      }
    ]
  }
}

Pri formáte JSON som potreboval na tento prenos údajov 170 tokenov, pri formáte TOON iba 65, čo predstavuje úsporu 62 %. Nižšie je TOON výstup.

zvierata:
  macka: items[3]{id,plemeno,priemerna_hmotnost}:
      1,Mainská mývalia,7
      2,Britská krátkosrstá,5
      3,Siamská mačka,4
  pes: items[3]{id,plemeno,priemerna_hmotnost}:
      1,Zlatý retriever,32
      2,Border kólia,20
      3,Jazvečík,9

 

Toonifyit

Existuje jednoduchý portál / konvertor, kde si môžete vyskúšať prevod JSON na TOON. Dostupný je na adrese: https://toonifyit.com

 

V tomto čase je formát TOON ešte menej známy, ale napriek tomu sa v oblasti vývoja a práce s AI už spomína. Tak ako je JSON, alebo XML štandardom pre výmenu dát na webe, TOON by mohol byť čoskoro štandardizovaný pre výmenu dát s umelou inteligenciou. Nabudúce, keď budete vytvárať štruktúrované dáta pre model umelej inteligencie, vyskúšajte to vo formáte TOON. Možno si všimnete, že model sa zrýchli a zlacní. Možno si spomeniete ešte na formát CSV. Hoci CSV je vysoko efektívny z hľadiska tokenov pre jednoduché tabuľkové údaje, nedokáže reprezentovať vnorené štruktúry, polia atď..., ktoré zvládajú iné formáty, ako JSON, TOON, XML.

https://toonifyit.com

Pridať komentár k článku