Tulitoa terabaiti za kumbukumbu za CI kwa LLM | Mewayz Blog Skip to main content
Hacker News

Tulitoa terabaiti za kumbukumbu za CI kwa LLM

Maoni

14 min read Via www.mendral.com

Mewayz Team

Editorial Team

Hacker News

Mgodi Uliofichwa wa Dhahabu Umekaa kwenye Bomba Lako la CI

Kila timu ya wahandisi huwazalisha. Mamilioni ya mistari, kila siku - mihuri ya muda, ufuatiliaji wa rafu, maazimio ya utegemezi, matokeo ya majaribio, vizalia vya programu, na ujumbe wa hitilafu fiche ambao husogezwa haraka kuliko mtu yeyote anavyoweza kusoma. Kumbukumbu za CI ni moshi wa kutolea nje wa uundaji wa programu za kisasa, na kwa mashirika mengi, hushughulikiwa kama moshi: hutolewa kwenye hifadhi na kusahaulika. Lakini vipi ikiwa kumbukumbu hizo zingekuwa na mifumo ambayo inaweza kutabiri kushindwa kabla halijatokea, tambua vikwazo vinavyogharimu timu yako mamia ya saa kwa kila robo, na ufichue masuala ya kimfumo ambayo hakuna mhandisi hata mmoja anayewahi kuona? Tuliamua kujua kwa kuweka terabaiti za data ya kumbukumbu ya CI katika muundo wa lugha kubwa - na tulichogundua kilibadilisha jinsi tunavyofikiri kuhusu DevOps kabisa.

Kwa Nini Kumbukumbu za CI Ndio Data Isiyotumika Zaidi katika Uhandisi wa Programu

Zingatia kiasi kikubwa. Timu ya uhandisi ya ukubwa wa kati inayoendesha miundo 200 kwa siku katika hazina nyingi huzalisha takriban GB 2-4 za data ghafi ya kumbukumbu kila siku. Zaidi ya mwaka mmoja, hiyo ni zaidi ya terabaiti ya maandishi yaliyoundwa na nusu ambayo yananasa kila mkusanyo, kila utekelezaji wa kundi la majaribio, kila hatua ya utumaji na kila hali ya kushindwa ambayo mfumo wako umewahi kukutana nayo. Ni rekodi kamili ya kiakiolojia ya tija ya shirika lako la uhandisi - na karibu hakuna mtu anayeisoma.

Tatizo si kwamba data haina thamani. Ni kwamba uwiano wa ishara-kwa-kelele ni wa kikatili. Uendeshaji wa kawaida wa CI hutoa maelfu ya mistari ya matokeo, na labda 3-5 ya mistari hiyo ina habari inayoweza kutekelezeka. Wahandisi hujifunza kuchanganua maandishi mekundu, grep kwa "FAILED," na kuendelea. Lakini mifumo ambayo ni muhimu zaidi - mtihani hafifu ambao haufaulu kila Jumanne, utegemezi unaoongeza sekunde 40 kwa kila muundo, uvujaji wa kumbukumbu unaoonekana tu wakati huduma tatu mahususi zinaendeshwa kwa wakati mmoja - mifumo hiyo haionekani katika kiwango cha kumbukumbu ya kibinafsi. Wanaibuka kwa kiwango pekee.

Zana za kitamaduni za uchanganuzi wa kumbukumbu kama vile rafu za ELK na Datadog zinaweza kujumlisha vipimo na ulinganifu wa maneno muhimu, lakini zinatatizika na uchangamano wa kisemantiki wa matokeo ya CI. Ujumbe wa kushindwa kwa muundo unaosoma "muunganisho umekataliwa kwenye mlango wa 5432" na unaosoma "FATAL: uthibitishaji wa nenosiri umeshindwa kwa mtumiaji 'kutumia'" zote ni hitilafu zinazohusiana na hifadhidata, lakini zina sababu na masuluhisho tofauti kabisa. Kuelewa tofauti hiyo kunahitaji aina ya hoja za muktadha ambazo, hadi hivi majuzi, ni wanadamu pekee wangeweza kutoa.

Jaribio: Kulisha Terabytes 3.2 za Historia ya Kuunda kwa LLM

Mpangilio ulikuwa wa moja kwa moja katika dhana na ndoto mbaya katika utekelezaji. Tulikusanya kumbukumbu za CI za miezi 14 kutoka kwa jukwaa linalohudumia zaidi ya watumiaji 138,000 - miundo inayojumuisha huduma nyingi, mazingira na malengo ya usambazaji. Seti ya data ghafi ilifikia terabaiti 3.2: takriban laini za kumbukumbu milioni 847 zinazotumia bomba la CI milioni 1.6. Tuligawanya, kupachika, na kuorodhesha data hii, kisha tukaunda bomba la kizazi kilichoboreshwa (RAG) ambacho kinaweza kujibu maswali ya lugha asilia kuhusu historia yetu ya ujenzi.

Changamoto ya kwanza ilikuwa kuchakata mapema. Kumbukumbu za CI sio maandishi safi. Zina misimbo ya rangi ya ANSI, upau wa maendeleo ambao hujifuta, hesabu za vizalia vya programu za binary, na mihuri ya muda katika angalau miundo minne tofauti kulingana na zana iliyoziunda. Tulitumia wiki tatu tu kuhalalisha - kuondoa kelele, kusawazisha mihuri ya muda, na kuweka lebo kwa kila sehemu ya kumbukumbu na metadata kuhusu hatua ya bomba, hazina, tawi na mazingira ambayo ilikuwa yake.

Changamoto ya pili ilikuwa gharama. Kuendesha makisio juu ya terabaiti za maandishi sio bei rahisi, hata kwa kugawanyika kwa nguvu na uboreshaji wa kurejesha. Tulipitia salio kubwa la kukokotoa katika mwezi wa kwanza pekee, hasa kwa sababu mbinu yetu ya awali ilikuwa ya ujinga sana - tulituma muktadha mwingi kwa kila hoja na bila kuchagua vya kutosha kuhusu ni sehemu gani za kumbukumbu zinafaa. Kufikia mwisho wa mwezi wa pili, tulikuwa tumepunguza gharama za kila hoja kwa 87% kupitia mikakati bora ya kupachika na mfumo wa urejeshaji wa hatua mbili ambao ulitumia muundo mdogo kuchuja mapema kabla ya kutuma kwa ule mkubwa zaidi.

Miundo Mitano ambayo LLM Ilipata Ambayo Wanadamu Hatungeweza Kamwe

Katika kipindi cha wiki ya kwanza ya maswali, mfumo uliibua maarifa ambayo yangemchukua mchambuzi wa kibinadamu miezi kadhaa kugundua mwenyewe. Haya hayakuwa matukio makali au udadisi - yalikuwa masuala ya kimfumo ya kutokwa na damu masaa halisi ya uhandisi.

  1. Mtiririko wa utegemezi wa phantom. Usasishaji wa kifurushi kimoja cha npm miezi 9 iliyopita ulikuwa umeleta ucheleweshaji wa sekunde 22 kwa kila muundo wa JavaScript. Ucheleweshaji huo ulifunikwa kwa sababu uliambatana na uboreshaji wa miundombinu ya CI ambayo ilifanya ujenzi kuwa haraka kwa jumla. Net-net, builds ilionekana kwa kasi, lakini inaweza kuwa sekunde 22 haraka zaidi. Zaidi ya miundo 400+ ya JS kwa siku, hiyo ilikuwa saa 2.4 za kukokotoa kila siku.
  2. Kielelezo cha saa za eneo. Kitengo cha majaribio kilikuwa na kiwango cha kutofaulu cha 4.7% - kilikuwa cha juu tu vya kuudhi, kilikuwa cha chini sana hivi kwamba hakuna mtu aliyetanguliza kulirekebisha. LLM ilibainisha kuwa hitilafu zilihusiana karibu kikamilifu na miundo iliyoanzishwa kati ya 23:00 na 01:00 UTC, wakati chaguo la kukokotoa la kulinganisha tarehe lilipovuka mpaka wa siku. Marekebisho ya mistari miwili yaliondoa ubavu kabisa.
  3. Mchoro wa kurejesha urejeshaji kimya. Usambazaji kwa jukwaa ulifaulu 99.2% ya wakati huo, lakini LLM iligundua kuwa 31% ya uwekaji wa hatua "uliofaulu" ulifuatiwa na uwekaji mwingine wa huduma sawa ndani ya dakika 45 - ikipendekeza ugawaji wa kwanza ulivunjika kiutendaji licha ya kupita ukaguzi wote. Hii ilisababisha kugundua kuwa jaribio la ujumuishaji lilikuwa likipita kwa sababu ya majibu yaliyohifadhiwa kutoka kwa huduma ya dhihaka.
  4. Kizuizi cha Jumatatu asubuhi. Muda wa foleni uliongezeka kwa 340% kila Jumatatu kati ya 9:00 na 10:30 AM saa za ndani, kwa sababu wasanidi programu ambao walikuwa wakifanya kazi mwishoni mwa wiki wote walisukuma mabadiliko yao kabla ya kusimama. Marekebisho hayakuwa ya kiufundi - yalifanya kazi: ilifanya ratiba ya CI ya kuongeza kasi ili kutarajia kuongezeka kwa Jumatatu.
  5. Alama ya mkusanyaji ambayo hakuna mtu aliyeweka. 67% ya miundo ya C++ ilikuwa ikifanya kazi bila mkusanyiko wa nyongeza kuwezeshwa, na kuongeza wastani wa dakika 3.8 kwa kila jengo. Bendera ilikuwa imenakiliwa katika mwongozo wa kuabiri lakini haikuongezwa kamwe kwenye kiolezo cha usanidi cha CI kilichoshirikiwa.

"Hitilafu za gharama kubwa zaidi sio zile zinazovuruga programu yako. Ni zile ambazo huiba kimya kimya sekunde 30 kutoka kwa kila jengo, kila siku, kwa miaka - hadi mtu atakapouliza swali sahihi la mkusanyiko sahihi wa data."

Kujenga Tabaka la Ujasusi la CI

Jaribio lilitushawishi kuwa uchanganuzi wa kumbukumbu unaoendeshwa na LLM sio jambo geni - ni uwezo wa kiutendaji halisi. Lakini kuifanya kuwa ya vitendo inahitaji usanifu wa kufikiria. Huwezi tu kuingiza kumbukumbu mbichi kwenye kiolesura cha gumzo na kutarajia majibu muhimu. Mfumo unahitaji muundo, na unahitaji kuunganishwa katika mtiririko wa kazi ambao wahandisi tayari wanautumia.

Tulitulia kwa mkabala wa ngazi tatu. Daraja la kwanza ni ujazo otomatiki: kila muundo ulioshindwa huainishwa kiotomatiki kulingana na aina ya chanzo (miundombinu, utegemezi, mantiki ya jaribio, usanidi, au alama) kwa alama ya kuaminika. Hii pekee ilipunguza wastani wa muda wa kurekebisha kwa kushindwa kwa ujenzi kwa 34%, kwa sababu wahandisi hawakuhitaji tena kutumia dakika 10 kusoma kumbukumbu ili tu kujua wapi kuanza kutafuta. Daraja la pili ni ugunduzi wa mitindo: muhtasari wa kila wiki ambao huangazia mifumo inayojitokeza - kuongezeka kwa viwango vya kushindwa, kuongezeka kwa nyakati za ujenzi, sahihi sahihi za hitilafu - kabla hazijawa mbaya. Daraja la tatu ni uchunguzi shirikishi: kiolesura ambacho wahandisi wanaweza kuuliza maswali ya lugha asili kuhusu historia ya muundo, kama vile "Kwa nini huduma ya X ilifeli mara nyingi zaidi baada ya toleo la Machi?" au "Ni nini sababu ya kawaida ya hitilafu za muda kuisha katika njia ya malipo?"

Kwa timu zinazoendesha shughuli changamano — hasa zile zinazosimamia kazi nyingi za biashara kama vile CRM, ankara, malipo na uchanganuzi kupitia mifumo kama Mewayz, ambayo huratibu moduli 207 zilizounganishwa — aina hii ya uangalizi inakuwa muhimu zaidi. Usambazaji mmoja unapogusa utendakazi unaowalenga wateja, mantiki ya bili, na mifumo ya Utumishi kwa wakati mmoja, kuelewa kutegemeana katika bomba lako la CI si hiari. Ni muhimu kwa kudumisha uaminifu ambao watumiaji 138,000+ wanategemea.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

Nini Haifanyi Kazi (Bado)

Uaminifu ni muhimu zaidi kuliko porojo. Kuna vikwazo vya wazi kwa njia hii ambayo mtu yeyote anayezingatia anapaswa kuelewa. LLMs huangazia, na zinapoangazia kumbukumbu za CI, matokeo yanaweza kuwa sio sahihi kabisa. Tumeona mfumo ukihusisha kwa ujasiri kushindwa kwa muundo kwa mzozo wa utegemezi ambao haujawahi kuwepo, kamili na nambari za toleo zilizobuniwa. Bomba la RAG hupunguza hii kwa kiasi kikubwa, lakini haiondoi. Kila maarifa ambayo mfumo hutoa bado yanahitaji uthibitishaji wa mwanadamu kabla ya kuchukua hatua.

Mizani bado ni changamoto. Ingawa mfumo wa kurejesha unaweza kushughulikia hoja kwa ufanisi, uwekaji faharasa wa awali na upachikaji wa kumbukumbu mpya ni ghali kwa kukokotoa. Tunachakata takriban laini mpya 800,000 za kumbukumbu kila siku, na kuweka faharasa upya kunahitaji miundombinu maalum. Kwa timu ndogo, hesabu ya gharama ya faida inaweza isipendekeze mbinu hii - angalau bado. Gharama za muundo zinaendelea kushuka (zimeshuka kwa takriban 90% katika miezi 18 iliyopita kwa uwezo sawa), uchumi utabadilika.

Pia kuna suala la usalama. Kumbukumbu za CI zinaweza kuwa na siri - vitufe vya API, kamba za muunganisho, URL za ndani - licha ya juhudi bora za kuzisugua. Kutuma data hii kwa API za LLM za nje huleta hatari. Tunapunguza hili kwa kutumia bomba la ndani la kusugua na kwa kutumia makisio juu ya miundo inayojiendesha yenyewe kwa hazina nyeti, lakini inaongeza ugumu na gharama. Timu zinapaswa kutathmini kwa makini mtindo wao wa tishio kabla ya kutekeleza jambo kama hilo.

Kuanza Bila Terabytes

Huhitaji mkusanyiko mkubwa wa data au timu maalum ya uhandisi ya ML ili kuanza kutoa thamani kutoka kwa kumbukumbu zako za CI. Hiki hapa ni kianzio cha kimantiki ambacho timu yoyote iliyo na miundo mia chache kwa wiki inaweza kutekeleza:

  • Anza na uainishaji usiofaulu. Hamisha kumbukumbu zako za ujenzi za siku 90 zilizopita. Tumia API yoyote ya LLM kuainisha kila kutofaulu katika kategoria. Hata kanuni rahisi (infra dhidi ya msimbo dhidi ya usanidi dhidi ya flake) hutoa thamani ya haraka ya kuweka vipaumbele.
  • Fuatilia mitindo ya muda wa muundo. Changanua mihuri ya muda kutoka kwenye kumbukumbu zako ili kuunda mfululizo wa muda wa ujenzi kwa kila hatua ya bomba. Lisha hitilafu kwa LLM yenye muktadha wa logi unaozunguka na uulize nadharia tete za sababu kuu.
  • Weka kiotomatiki maswali "dhahiri". Sanidi ndoano ya baada ya kushindwa ambayo inatuma mistari 500 ya mwisho ya muundo ulioshindwa kwa LLM kwa haraka: "Fanya muhtasari wa kutofaulu kwa CI katika sentensi moja na upendekeze suluhisho linalowezekana zaidi." Hii pekee huokoa dakika 5-10 kwa kila kushindwa kwa kila mhandisi kwenye timu.
  • Unda kumbukumbu inayoweza kutafutwa. Tumia upachikaji ili kufanya historia yako ya kumbukumbu kuulizwa maswali kwa lugha asili. Zana kama LangChain na LlamaIndex hufanya hili kufikiwa kwa njia ya kushangaza, hata kwa timu zisizo na matumizi ya ML.

Muhimu ni kuanza kidogo, kuthibitisha kwamba maarifa ni sahihi, na kupanua hatua kwa hatua. Mfumo ikolojia wa zana za uchanganuzi wa aina hii unakua kwa kasi, na kile ambacho kilihitaji miundombinu maalum mwaka mmoja uliopita kinazidi kupatikana kama vipengee visivyo na rafu.

Wajao Ni Ujasusi wa Uendeshaji

Tunachozungumzia hasa si uchanganuzi wa kumbukumbu tu - ni mabadiliko ya kimsingi kuelekea akili ya uendeshaji. Mbinu hiyo hiyo inayofanya kazi kwa kumbukumbu za CI inatumika kwa tikiti za usaidizi kwa wateja, data ya bomba la mauzo, miamala ya kifedha, na mtiririko wa kazi. Jambo la kawaida ni kwamba mashirika yanazalisha kiasi kikubwa cha data ya maandishi yenye muundo nusu ambayo ina ruwaza zinazoweza kutekelezeka, na LLM zinafaa kwa njia ya kipekee kupata ruwaza hizo.

Hii ndiyo sababu majukwaa ambayo yanafanya shughuli za biashara kuwa kati yana faida ya kimuundo. Wakati data yako ya CRM, usimamizi wa mradi, ankara, rekodi za HR na uchanganuzi zote zinaishi katika mfumo mmoja - kama zinavyofanya kwa timu zinazotumia usanifu wa moduli iliyojumuishwa ya Mewayz - uwezekano wa akili wa kikoa tofauti huongezeka. Mchoro katika kumbukumbu zako za CI unaweza kuwiana na msukosuko wa wateja. Kuongezeka kwa tikiti za usaidizi kunaweza kutabiri kushindwa kwa usambazaji. Miunganisho hii inaonekana tu wakati data inaishi katika mifumo iliyounganishwa badala ya silo zilizotengwa.

Timu zitakazoimarika katika mwongo ujao si lazima ziwe na wahandisi wengi au bajeti kubwa zaidi. Ndio wanaojifunza kusikiliza data zao wenyewe - pamoja na terabytes zake ambazo wamekuwa wakitupa. Kumbukumbu zako za CI zinazungumza. Swali ni kama uko tayari kusikia wanachotaka kusema.

Maswali Yanayoulizwa Sana

Je, LLM zinaweza kupata ruwaza muhimu katika kumbukumbu za CI?

Hakika. Miundo mikubwa ya lugha hufaulu katika kutambua ruwaza zinazojirudia katika maandishi makubwa yasiyo na muundo. Zinapoelekezwa kwenye terabaiti za kumbukumbu za CI, zinaweza kukabili uunganisho wa kutofaulu, sahihi za majaribio zisizo na uhakika, na migogoro ya utegemezi ambayo wahandisi binadamu hawatawahi kukamata kwa mikono. Jambo kuu ni kupanga bomba la kumeza kwa njia ipasavyo ili muundo upokee sehemu za kumbukumbu zilizokatwa vizuri, zenye kimuktadha badala ya kelele mbichi.

Ni aina gani za hitilafu za CI zinaweza kutabiriwa kwa kutumia uchanganuzi wa kumbukumbu?

Uchanganuzi wa kumbukumbu unaoendeshwa na LLM unaweza kutabiri muda wa muda unaohusiana na miundombinu, hitilafu za mara kwa mara za utatuzi wa utegemezi, uharibifu wa miundo inayofungamana na kumbukumbu, na majaribio hafifu yanayoanzishwa na njia mahususi za misimbo. Pia hubainisha kurudi nyuma kwa kutambaa polepole ambapo nyakati za ujenzi huongezeka polepole kwa wiki. Timu zinazotumia mbinu hii kwa kawaida hupata mwelekeo wa kushindwa kwa mbio mbili hadi tatu kabla hazijazuia matukio katika usambazaji wa uzalishaji.

Je, unahitaji data ngapi ya kumbukumbu ya CI kabla uchanganuzi kuwa muhimu?

Mifumo ya maana kwa kawaida hujitokeza baada ya kuchanganua siku 30 hadi 90 za historia ya bomba katika matawi mengi. Seti ndogo za data hutoa maarifa ya kiwango cha uso, lakini thamani halisi inatokana na maelfu ya marejeleo mbalimbali ya ujenzi. Kwa timu zinazosimamia utendakazi changamano kando ya mabomba yao ya CI, mifumo kama vile Mewayz hutoa moduli 207 zilizounganishwa kuanzia $19/mo ili kuweka data ya uendeshaji kati kwenye app.mewayz.com.

Je, kulisha kumbukumbu za CI kwa LLM ni hatari ya usalama?

Inaweza kushughulikiwa bila uangalifu. Kumbukumbu za CI mara nyingi huwa na vigezo vya mazingira, funguo za API, URL za ndani, na maelezo ya miundombinu. Kabla ya kuchakata kumbukumbu kupitia LLM yoyote, lazima utekeleze njia thabiti za urekebishaji ambazo huondoa siri, kitambulisho na maelezo yanayoweza kumtambulisha mtu binafsi. Utumiaji wa miundo ya kujipangisha au kwenye majengo hupunguza kwa kiasi kikubwa udhihirisho ikilinganishwa na kutuma kumbukumbu mbichi kwa sehemu za mwisho za uelekezaji za watu wengine.