Meta tutvustab 'Tulip'i, binaarset serialiseerimisprotokolli, mis aitab andmete skeemitamisel, käsitledes tehisintellekti ja masinõppe töökoormuste protokolli usaldusväärsust PlatoBlockchain andmeluure. Vertikaalne otsing. Ai.

Meta tutvustab 'Tulip'i, binaarset serialiseerimisprotokolli, mis aitab andmete skeemitamisel, käsitledes AI ja masinõppe töökoormuste protokolli usaldusväärsust

Meta tutvustab 'Tulip'i, binaarset serialiseerimisprotokolli, mis toetab skeemi arengut. See käsitleb samaaegselt protokolli töökindlust ja muid probleeme ning aitab meil andmete skeemitamisel. Tulpil on mitu pärandvormingut. Seetõttu kasutatakse seda Meta andmeplatvormis ning selle jõudlus ja tõhusus on märkimisväärselt suurenenud. Meta andmeplatvorm koosneb paljudest heterogeensetest teenustest, nagu laoandmete salvestamine ja erinevad reaalajas süsteemid, mis vahetavad suuri andmemahtusid ja suhtlevad omavahel teenuse API-de kaudu. Kuna Meta süsteemis suureneb tehisintellekti ja masinõppega seotud ML-ga seotud töökoormuste arv, mis kasutavad nende ML-mudelite koolitamiseks andmeid, on vaja pidevalt tööd teha meie andmete logimissüsteemide tõhusamaks muutmise nimel. Andmete skemaatiline kujundamine mängib suurt rolli Meta mastaabis andmete platvormi loomisel. Need süsteemid on loodud teadmise põhjal, et iga otsus ja kompromiss mõjutab usaldusväärsust, andmete eeltöötluse tõhusust, jõudlust ja inseneri arendaja kogemust. Andmeinfrastruktuuri serialiseerimisvormingute muutmine on suur panus, kuid pakub pikas perspektiivis eeliseid, mis panevad platvormi aja jooksul arenema.

Data Analytics Logging Library on olemas veebitasandil ja siseteenustes ning see vastutab ka analüütiliste ja tööandmete logimise eest, kasutades Scribe’i – Meta kasutatavat püsivat sõnumijärjekorra süsteemi. Andmeid loetakse ja neelatakse Scribe'ist, mis hõlmab ka andmeplatvormi sisestusteenust ja reaalajas töötlemissüsteeme. Andmeanalüütika lugemisteek aitab andmeid deserialiseerida ja struktureeritud kasulikuks koormuseks rehüdreerida. Logiskeeme loovad, värskendavad ja kustutavad iga kuu tuhanded Meta insenerid ning need logiskeemi andmevood petabaitides ulatuvad Scribe'i kaudu iga päev. 

Skematiseerimine on vajalik tagamaks, et mis tahes minevikus, olevikus või tulevikus logitud sõnumeid, olenevalt (de)serialiseerija versioonist, saab igal ajal usaldusväärselt (de)serialiseerida ülima täpsusega ja ilma andmete kadumiseta. Selle omaduse nimi on ohutu skeemi arendamine edasi- ja tagasiühilduvuse kaudu. Artiklis keskendutakse peamiselt traadisisesele serialiseerimisvormingule, mida kasutatakse andmete kodeerimiseks, mida andmeplatvorm lõpuks töötleb. Võrreldes kahe varem kasutatud jadavorminguga, Hive Text Delimited ja JSON serialiseerimisega, on uus kodeeringuvorming tõhusam, nõudes andmete (de)serialiseerimiseks 40–85 protsenti vähem baite ja 50–90 protsenti vähem protsessoritsükleid.

Logiteegi rakendused on kirjutatud erinevates keeltes, nagu C++, Java, Haskell, Hack ja Python, et järjestada kasulikku koormust vastavalt logimisskeemile ning need logiskeemid on määratletud vastavalt ettevõtte vajadustele ja kirjutatakse Scribe'i, et neid oleks lihtsam edastada. . Logiraamatukogu on saadaval kahes versioonis, nimelt Code Generated ja Generic. Tüübikindlaks kasutamiseks mõeldud koodi genereeritud maitses luuakse iga välja jaoks staatiliselt trükitud setterid. Optimaalse efektiivsuse tagamiseks genereeritakse ka järeltöötlus- ja serialiseerimiskood. Kui versioonis Generic dünaamiliselt tipitud kasulike koormuste (de)serialiseerimise läbiviimiseks pakutakse C++ teeki nimega Tulib. Dünaamilist tippimist kasutav sõnum jadatakse vastavalt logimisskeemile. Kuna see võimaldab sõnumite (de)serialiseerimist ilma rakenduse binaarfaili uuesti ülesehitamist ja ümberpaigutamist nõudmata, on see meetod paindlikum kui koodiga loodud režiim.

Logiteek saadab andmeid mitmele taustasüsteemile, millest igaüks on traditsiooniliselt määranud oma serialiseerimisreeglid ja nende vormingute kasutamisel kasulike koormuste serialiseerimiseks tuleb kokku puutuda erinevate probleemidega.

  • Standardimine: Varem ei olnud serialiseerimisvorminguid standarditud; igal allavoolu süsteemil oli oma formaat, mis tõi kaasa hooldus- ja arenduskulude suurenemise. 
  • Usaldusväärsus: Uusi veerge saab deserialiseerimise usaldusväärsuse säilitamiseks lisada ainult lõpus. Kõik jõupingutused välja sisestamiseks olemasoleva veeru keskele või veeru eemaldamiseks põhjustavad kõigi järgmiste veergude nihkumise, muutes rea deserialiseerimise võimatuks ja värskendatud skeem jagatakse lugejatele reaalajas. 
  • Kasutegur: Võrreldes binaarse (de)serialiseerimisega, on nii Hive Text Delimited kui ka JSON-protokollid tekstipõhised ja ebaefektiivsed.
  • Korrektsus: Tekstipõhiste protokollide (nt Hive Text) puhul tuleb välja- ja reaeraldajaid kasutada paoeraldistega ja ilma paopaosita. Seda teeb iga kirjanik ja lugeja, mis suurendab survet raamatukogude autoritele. Raske on tegeleda aegunud või vigaste rakendustega, mis lihtsalt otsivad nende tegelaste olemasolu ja lükkavad kogu sõnumi tagasi, selle asemel, et tülikate tegelaste eest põgeneda.
  • Edasi- ja tagasiühilduvus: Soovitav on kasutada serialiseerimisskeemiga järjestatud kasulikke koormusi nii enne kui ka pärast seda, mida tarbija näeb. Taru tekstiprotokoll seda tagatist ei anna.
  • Metaandmed: Hive Text Serialization ei toeta triviaalselt metaandmete sisestamist kasulikku koormasse. Selleks, et allavoolusüsteemid saaksid rakendada funktsioone, mis saavad kasu metaandmete olemasolust, on nende andmete levitamine hädavajalik.

Tulip lahendab meie põhiprobleemi, usaldusväärsuse probleemi, pakkudes turvalise skeemi arendamise vormingu, mis on nii tagasi- kui ka edasiühilduv erinevate juurutustsüklitega teenuste vahel. Tulip lahendas kõik need probleemid korraga, muutes selle paremaks investeeringuks kui muud saadaolevad valikud. 

Thrifti TCompactProtocoli kasutatakse kasuliku koormuse serialiseerimiseks Tulip serialiseerimisprotokollis, mis on binaarne serialiseerimisprotokoll. Väljad nummerdatakse ID-dega samamoodi, nagu eeldatakse insenerilt ID-de muutmisel Thrift-struktuuris. Insenerid määravad logiskeemi loomisel välja väljanimede ja -tüüpide loendi ning väljade ID-sid haldab andmeplatvormi haldusmoodul, mitte määratud insenerid. Serialiseerimisskeemi hoidla sisaldab logiskeemi tõlget jadastamisskeemiks. Välja nime, välja tüübi, seotud logiskeemi välja ID ja välja ajaloo loendid salvestatakse jadakonfiguratsioonis. Kui insener soovib logiskeemi värskendada, tehakse serialiseerimisskeemiga tehingutoiming.

Viide: https://engineering.fb.com/2022/11/09/developer-tools/tulip-schematizing-metas-data-platform/

Palun ärge unustage liituda Meie ML Subreddit

Avanthy Yeluri on IIT Kharagpuri kahe kraadiõppe üliõpilane. Ta tunneb suurt huvi andmeteaduse vastu selle arvukate rakenduste tõttu erinevates tööstusharudes, samuti selle tipptasemel tehnoloogiliste edusammude ja nende igapäevaelus kasutamise tõttu.

<!–

->

Ajatempel:

Veel alates Blockchaini konsultandid