Meta talpos efektyvumas: kaip vieningi AI agentai optimizuoja našumą hiperskalėje

  • Dalinamės įžvalgomis apie „Meta“ pajėgumų efektyvumo programą, kurioje sukūrėme AI agento platformą, kuri padeda automatizuoti našumo problemų paiešką ir taisymą visoje mūsų infrastruktūroje.
  • Naudodami užkoduotą domeno patirtį vieningoje, standartizuotoje įrankių sąsajoje, šie agentai padeda sutaupyti energijos ir atlaisvinti inžinierių laiką nuo našumo problemų sprendimo iki naujovių kuriant naujus produktus.

Sukūrėme vieningą AI agento platformą, kuri užkoduoja vyresniųjų efektyvumo inžinierių srities patirtį į daugkartinio naudojimo įgūdžius. Šios priemonės dabar automatizuoja našumo problemų paiešką ir šalinimą, atkuria šimtus megavatų (MW) galios ir suspaudžia rankinio regresijos tyrimo valandas į minutes, todėl programa gali padidinti MW tiekimą vis daugiau produktų sričių, proporcingai nedidinant darbuotojų skaičiaus.

Apie gynybą, FBDetectMeta vidinis regresijos aptikimo įrankis, kas savaitę sugauna tūkstančius regresijų; greitesnė automatizuota skiriamoji geba reiškia, kad sunaudojama mažiau megavatų. Įžeidimas, AI padedamas galimybių sprendimas kas pusmetį išplečiamas į daugiau produktų sričių, sprendžiant vis daugiau laimėjimų, kurių inžinieriai niekada nepasieks rankiniu būdu. Taip kartu „Meta“ pajėgumų efektyvumo programa nuolat auga MW, proporcingai nedidinant komandos. Galutinis tikslas yra savarankiškas efektyvus variklis, kuriame dirbtinis intelektas tvarko ilgą uodegą.

Štai kaip tai veikia ir kur einame:

  • Hipermastinio efektyvumo didinimas reikalauja ir puolimo (proaktyvaus optimizavimo paieškos), ir gynybos (regresijų, kurios patenka į gamybą, gaudymas ir sušvelninimas); AI gali paspartinti abu.
  • Sukūrėme vieningą platformą, kurioje standartizuotos įrankių sąsajos derinamos su užkoduoto domeno žiniomis, kad būtų galima automatizuoti abiejų pusių tyrimą.
  • Šios AI sistemos dabar yra pajėgumų efektyvumo programos infrastruktūra, kuri atgavo šimtus megavatų galios, kurios pakaktų šimtams tūkstančių amerikiečių namų maitinti per metus.
  • Automatizuojant diagnozes galima suspausti ~10 valandų neautomatinio tyrimo į ~30 minučių, o AI agentai visiškai automatizuoja kelią nuo efektyvumo galimybės iki paruoštos peržiūrėti ištraukimo užklausos.

Pristatome pajėgumų efektyvumo programą

Kai jūsų išsiųstas kodas aptarnauja daugiau nei 3 milijardus žmonių, net 0,1 % našumo regresija gali reikšti daug papildomo energijos suvartojimo.

„Meta“ pajėgumų efektyvumo organizacijoje efektyvumą vertiname kaip dvipusę pastangą:

  1. Nusikaltimas: ieškoti galimybių (aktyvių kodo keitimų), kad esamos sistemos būtų efektyvesnės, ir jas diegti.
  2. Gynyba: stebėti išteklių naudojimą gamyboje, kad būtų galima aptikti regresijas, sukelti jų ištraukimo užklausą ir pritaikyti švelninimo priemones.

Šios sistemos veikė gerai ir daugelį metų vaidino svarbų vaidmenį siekiant Meta efektyvumo. Tačiau iš tikrųjų sprendžiant iškilusias problemas atsiranda nauja kliūtis: žmogaus inžinerijos laikas.

Šį žmogaus inžinerijos laiką galima skirti bet kuriai iš šių veiklų:

  • Profiliavimo duomenų užklausa, siekiant rasti galimybių optimizuoti karštas funkcijas.
  • Peržiūrėkite efektyvumo galimybės aprašą, dokumentus ir ankstesnius pavyzdžius, kad suprastumėte geriausią metodą, kaip įgyvendinti optimizavimą.
  • Tikrinami naujausi kodo ir konfigūracijos diegimai, dėl kurių galėjo pasikeisti išteklių naudojimas.
  • Peržvelgti naujausias vidines diskusijas apie paleidimus, kurie galėjo būti susiję su regresija.

Daugelis „Meta“ inžinierių kasdien naudoja mūsų efektyvumo įrankius, kad spręstų šias problemas. Tačiau, kad ir kokie kokybiški būtų įrankiai, inžinieriai turi ribotą laiką, kad išspręstų našumo problemas, kai mūsų pagrindinis prioritetas yra naujų produktų kūrimas.

Pradėjome klausinėti: O kas, jei AI galėtų atlikti tyrimą ir sprendimą?

Puolimas ir gynyba turi tą pačią struktūrą

Proveržis buvo suvokimas, kad abi problemos turi tą pačią struktūrą:

Tai reiškė, kad mums nereikėjo dviejų atskirų AI sistemų. Mums reikėjo vienos platformos, kuri galėtų aptarnauti abi.

Mes pastatėme jį dviem sluoksniais:

  1. MCP įrankiai: Tai yra standartizuotos sąsajos, skirtos LLM iškviesti kodą. Kiekvienas įrankis atlieka vieną dalyką: pateikia užklausą apie profiliavimo duomenis, gauna eksperimento rezultatus, nuskaito konfigūracijos istoriją, ieško kodo arba ištraukia dokumentus.
  2. Įgūdžiai: jie koduoja domeno žinias apie našumo efektyvumą. Įgūdis gali nurodyti LLM, kokias priemones naudoti ir kaip interpretuoti rezultatus. Jame užfiksuoti samprotavimų modeliai, kuriuos patyrę inžinieriai sukūrė per daugelį metų, pvz., „Pasikonsultuokite su populiariausiais GraphQL galutiniais taškais dėl galutinio taško delsos regresijos“ arba „ieškokite naujausių schemos pakeitimų, jei paveikta funkcija tvarko serializavimą“.

Kartu įrankiai ir įgūdžiai skatina apibendrintą kalbos modelį, kuris gali pritaikyti srities žinias, kurias paprastai turi vyresnieji inžinieriai. Tas pats įrankiai gali įtakoti tiek puolimą, tiek gynybą. Skiriasi tik įgūdžiai.

Gynyba: regresijų gaudymas prieš jas susijungiant

FBDetect yra „Meta“ vidaus regresijos aptikimo įrankis, galintis užfiksuoti net 0,005 % našumo regresijas triukšmingoje gamybos aplinkoje. Ji analizuoja laiko eilučių duomenis taip:

Kai FBDetect randa regresiją, mes nedelsdami bandome ją pakeisti kodo arba konfigūracijos pakeitimu; tai pirmas gyvybiškai svarbus žingsnis norint suprasti, kas atsitiko. Tai pirmiausia atliekama naudojant tradicinius metodus, pvz., koreliuojant regresijos funkcijas su naujausiomis traukos užklausomis. Nustačius pagrindinę priežastį, inžinieriams paprastai pranešama ir tikimasi, kad jie imsis veiksmų, pvz., optimizuos naujausią kodo pakeitimą. Pridėjome papildomą funkciją, kad tai būtų greitesnė:

AI regresijos sprendėjas

Mūsų AI regresijos sprendėjas yra naujausias ir perspektyviausias FBDetect komponentas, kuris sukuria ištraukimo užklausą, kad automatiškai ištaisytų regresiją. Tradiciškai pagrindinės priežastys (patraukimo užklausos), sukūrusios našumo regresiją, buvo atšauktos (lėtėja inžinerinis greitis) arba ignoruojamos (be reikalo didinamas infrastruktūros išteklių naudojimas).

Dabar mūsų vidinis kodavimo agentas suaktyvintas, kad atliktų šiuos veiksmus:

  1. Surinkite kontekstą naudodami įrankius: rasti regresijos simptomus, pvz., regresavusias funkcijas; suraskite pagrindinę regresijos priežastį (ištraukimo užklausą), įskaitant tikslius pakeistus failus ir eilutes.
  2. Taikykite domeno patirtį su įgūdžiais: naudoti regresijos mažinimo žinias konkrečiai kodų bazei, kalbai ar regresijos tipui. Pavyzdžiui, registravimo regresijas galima sušvelninti didinant atranką.
  3. Sukurkite rezoliuciją: pateikite naują ištraukimo užklausą ir nusiųskite ją pirminiam pagrindinės priežasties autoriui peržiūrėti.

Įžeidimas: galimybių pavertimas siuntimo kodu

Kalbant apie puolimą, „efektyvumo galimybės“ yra siūlomi konceptualūs kodo pakeitimai, kurie, kaip manoma, pagerina esamo kodo veikimą. Sukūrėme sistemą, kurioje inžinieriai gali peržiūrėti galimybę ir paprašyti dirbtinio intelekto sugeneruotos ištraukimo užklausos, kuri ją įgyvendina. Tai, kas anksčiau reikalavo valandų tyrimo, dabar užtrunka kelias minutes, kol peržiūrima ir įdiegiama.

Dujotiekis atspindi gynybinį AI regresijos sprendimą:

  1. Surinkite kontekstą naudodami įrankius: AI agentas žiūri:
    1. Galimybės metaduomenys.
    2. Dokumentacija, paaiškinanti optimizavimo modelį.
    3. Pavyzdžiai, rodantys, kaip buvo išspręstos panašios galimybės.
    4. Konkretūs failai ir susijusios funkcijos.
    5. Patvirtinimo kriterijai, skirti patvirtinti, kad taisymas veikia.
  2. Taikykite domeno patirtį su įgūdžiais: naudoti ekspertų inžinierių žinias apie tam tikro tipo efektyvumo galimybę, užkoduotas įgūdžiuose. Pavyzdžiui, tam tikros funkcijos įsiminimas, siekiant sumažinti procesoriaus naudojimą.
  3. Sukurti rezoliuciją: sukurkite galimą pataisą su apsauginiais turėklais, patikrinkite sintaksę ir stilių, patvirtinkite, kad ji išsprendžia tinkamą problemą. Perkelkite sugeneruotą kodą į inžinieriaus rengyklę, paruoštą pritaikyti vienu paspaudimu.

Svarbu tai, kad mes naudojame tą patį įrankiai kaip gynyba: profiliavimo duomenys, dokumentacija, kodų paieška. Kuo skiriasi įgūdžių.

Viena platforma, sudėtinė grąža

Mūsų vieninga architektūra su bendrais įrankiais ir duomenų šaltiniais buvo abstrakcija. Kiekvienas esamas ir naujas agentas turi paprastą būdą surinkti kontekstą apie našumą naudojant mūsų sukurtas sąsajas, nereikia išradinėti dviračio iš naujo.

Šiame įraše daugiausia dėmesio skirta mūsų pirmiesiems naudojimo atvejams: našumo regresijai ir galimybėms. Per metus tas pats fondas sukūrė papildomas programas: pokalbio padėjėjus sprendžiant efektyvumo klausimus, pajėgumų planavimo agentus, asmenines galimybių rekomendacijas, vadovaujamas tyrimo darbo eigas ir AI padedamą patvirtinimą. Kiekvienai naujai galimybei reikia nedaug naujų duomenų integravimo arba visai nereikia, nes jie gali tiesiog sukurti esamus įrankius su naujais įgūdžiais.

Poveikis

Pajėgumo efektyvumo programos rezultatai yra reikšmingi: atgavome šimtus megavatų galios. AI sistemos, skirtos puolimui ir gynybai, prisideda prie šių pastangų.

Tačiau gilesnis pokytis susijęs su tuo, kaip puolimas ir gynyba sustiprina vienas kitą: inžinieriai, kurie rytą praleido prie gynybos skirstymo, dabar per kelias minutes peržiūri dirbtinio intelekto sukurtas analizes. Inžinieriai, naudojantys mūsų efektyvumo įrankius, dabar gali gauti dirbtinio intelekto kodą, o ne pradėti nuo nulio. Bauginantis klausimas „nuo ko man net pradėti? buvo pakeistas peržiūrint ir diegiant didelio poveikio pataisymus.

Nuoroda į informacijos šaltinį

Draugai: - Marketingo agentūra - Teisinės konsultacijos - Skaidrių skenavimas - Klaipedos miesto naujienos - Miesto naujienos - Saulius Narbutas - Įvaizdžio kūrimas - Veidoskaita - Teniso treniruotės - Pranešimai spaudai - Kauno naujienos - Regionų naujienos - Palangos naujienos