```html ደራሲያን፦ ዙራን ሊዩ፣ የባይት ዳንስ ኢንክ. ለቂ ዙ፣ የባይት ዳንስ ኢንክ. Xuan Zou፣ የባይት ዳንስ ኢንክ. Caihua Wang፣ የባይት ዳንስ ኢንክ. Biao Zhang፣ የባይት ዳንስ ኢንክ. Da Tang፣ የባይት ዳንስ ኢንክ. ቦሊን ዡ*፣ የፉዳን ዩኒቨርሲቲ Yijie Zhu፣ የባይት ዳንስ ኢንክ. Peng Wu፣ የባይት ዳንስ ኢንክ. Ke Wang፣ የባይት ዳንስ ኢንክ. Youlong Cheng†፣ የባይት ዳንስ ኢንክ. (youlong.cheng@bytedance.com) አጭር ማጠቃለያ ለብዙ የጊዜ-ነክ የደንበኛ ግብረመልስ በሚነዱ የንግድ ድርጅቶች ውስጥ እንደ አጭር ቪዲዮ ደረጃ አሰጣጥ ወይም የመስመር ላይ ማስታወቂያዎች ያሉ ሰፊ እና የእውነተኛ ጊዜ የውሳኔ ስርዓት መገንባት ወሳኝ ነው። ምንም እንኳን እንደ TensorFlow ወይም PyTorch ያሉ የምርት-መጠን ጥልቅ የመማሪያ ማዕቀፎች በስፋት ጥቅም ላይ ቢውሉም፣ እነዚህ አጠቃላይ ዓላማ ማዕቀፎች በተለያዩ ምክንያቶች ለውሳኔ ሁኔታዎች የንግድ ፍላጎቶችን አያሟሉም፡ በአንድ በኩል፣ በስታቲክ መለኪያዎች እና በተለዋዋጭ እና በስፓርስ ባህሪያት ለውሳኔ ጥቅጥቅ ያለ ስሌት ላይ በመመርኮዝ ስርዓቶችን ማስተካከል የሞዴል ጥራትን ይጎዳል። በሌላ በኩል፣ እንደዚህ ያሉ ማዕቀፎች በጅምላ-የማሰልጠኛ ደረጃ እና በአገልግሎት ደረጃ ሙሉ በሙሉ ተለያይተው የተነደፉ ናቸው፣ ይህም ሞዴሉ ከደንበኛው ግብረመልስ ጋር በእውነተኛ ጊዜ እንዳይገናኝ ይከላከላል። እነዚህ ችግሮች ባህላዊ አቀራረቦችን እንደገና እንድናጤን እና በራዲካል የተለየ የንድፍ ምርጫዎችን እንድንመረምር አድርገውናል። በዚህ ወረቀት ላይ፣ ለመስመር ላይ ስልጠና የታቀደውን 1 ስርዓት እናቀርባለን። የእኛ ንድፍ ከሌሎች የውሳኔ ስርዓቶች በተለየ መልኩ በአንዳንድ የትግበራ የስራ ፍሰት እና የምርት አካባቢ ምልከታዎች ተመርቷል። የእኛ አስተዋፅዖዎች ብዙ ናቸው፡ በመጀመሪያ፣ የተጋጩ የሌሉበትን የማስፈጸሚያ ጠረጴዛን እንደሚያባክን ማስፈጸሚያዎች እና የአደጋ ማጣሪያ ያሉ ማሻሻያዎችን ገንብተናል፤ ሁለተኛ፣ ከፍተኛ የመረጃ መቋረጥን የመቋቋም አቅም ያለው የምርት ዝግጁ የመስመር ላይ ስልጠና አወቃቀር እናቀርባለን፤ በመጨረሻም፣ የስርዓት አስተማማኝነት በእውነተኛ ጊዜ መማር ላይ ሊሰዋ እንደሚችል አረጋግጠናል። Monolith በ BytePlus Recommend2 ምርት ውስጥ በተሳካ ሁኔታ ተተክሏል። Monolith 1 መግቢያ ባለፈው አስርት አመት ውስጥ በውሳኔ ቴክኒኮች የተደገፉ የንግድ ድርጅቶች መስፋፋት ታይቷል። ለተሻለ የደንበኛ ተሞክሮ ሲባል፣ ለእያንዳንዱ ግለሰብ ተጠቃሚ ግላዊ ይዘት ማቅረብ እና በእውነተኛ ጊዜ ምላሽ መስጠት የብዙ የንግድ አፕሊኬሽኖች የጋራ ግብ ነው። ይህን ለማድረግ፣ የአንድ ተጠቃሚን የቅርብ ጊዜ መስተጋብር መረጃ ሞዴልን ለማሰልጠን እንደ ዋና ግብአት ሆኖ ያገለግላል፣ ምክንያቱም የርዕሰ-ጉዳዩን ምስል በተሻለ ሁኔታ ይገልጻል እናም የተጠቃሚውን ፍላጎት እና የወደፊት ባህሪይ ይተነብያል። ጥልቅ የመማሪያ ስልጠና የውሳኔ ሞዴሎችን [ , , , , , ] በከፍተኛ መጠን የውሂብ መጠን ለትልቅ የውሂብ-ተነሳሽ የነርቭ ሞዴሎች ተስማሚ ስለሆነ የበላይነት አለው። ሆኖም ግን፣ በኢንዱስትሪ-ደረጃ የውሳኔ ስርዓቶች ውስጥ የጥልቅ መማሪያን ኃይል ለመጠቀም የሚደረጉ ጥረቶች ከእውነተኛው ዓለም የተጠቃሚ ባህሪይ ከሚመነጨው መረጃ ልዩ ባህሪያት ከሚነሱ ችግሮች ጋር በቋሚነት ይጋፈጣሉ። እነዚህ መረጃዎች ከባህላዊ ጥልቅ የመማሪያ ችግሮች እንደ ቋንቋ ሞዴሊንግ ወይም የኮምፒዩተር ራዕይ በሁለት ገጽታዎች በእጅጉ ይለያያሉ: 5 6 10 12 20 21 (1) ባህሪያቱ በአብዛኛው ስፓርስ፣ ምድቦች እና ተለዋዋጭ የሚለዋወጡ ናቸው። (2) የሥልጠና መረጃው መሠረታዊ ስርጭት የማይለዋወጥ ነው፣ aka Concept Drift [8]. እንዲህ ያሉ ልዩነቶች በውሳኔ ስርዓቶች ላይ በሚሰሩ ተመራማሪዎች እና መሐንዲሶች ላይ ልዩ ተግዳሮቶችን አስቀምጠዋል። 1.1 ስፓርስነት እና ተለዋዋጭነት ለውሳኔ የሚውለው መረጃ በአብዛኛው ስፓርስ ምድብ ባህሪያትን ይዟል፣ ከእነዚህም መካከል አንዳንዶቹ በዝቅተኛ ድግግሞሽ ይታያሉ። እነሱን ወደ ከፍተኛ-ልኬት ማስፈጸሚያ ቦታ የማገናኘት የተለመደው አሰራር ተከታታይ ችግሮችን ያስከትላል: • የቃላት ብዛት የተወሰነ ከሆነባቸው የቋንቋ ሞዴሎች በተለየ መልኩ የተጠቃሚዎች እና የደረጃ እቃዎች ብዛት በብዙ እጥፍ ይበልጣል። እንዲህ ያለ ግዙፍ ማስፈጸሚያ ጠረጴዛ ነጠላ አስተናጋጅ ማህደረ ትውስታ ውስጥ መገጣጠም ከባድ ነው; • ከዚህም የባሰ፣ ተጨማሪ ተጠቃሚዎች እና እቃዎች ሲቀበሉ የማስፈጸሚያ ጠረጴዛው መጠን በጊዜ እየጨመረ እንደሚሄድ ይጠበቃል፣ እንደ [1, 17] ያሉ ማዕቀፎች የማስፈጸሚያ ጠረጴዛን ለመወከል ቋሚ-መጠን ጥቅጥቅ ያሉ ተለዋዋጮችን ይጠቀማሉ። በአሠራር ረገድ፣ ብዙ ስርዓቶች የማህደረ ትውስታውን መጠን ለመቀነስ እና የID እድገትን ለመፍቀድ ዝቅተኛ-ግጭት መሸጎጫ [3, 6] ይጠቀማሉ። ይህ በማስፈጸሚያ ጠረጴዛ ውስጥ ያሉ IDዎች በድግግሞሽ በእኩልነት የተሰራጩ ናቸው የሚለውን ከመጠን በላይ ተስማሚ ግምት ላይ የተመሰረተ ነው, እና ግጭቶች የሞዴል ጥራትን አይጎዱም. በሚያሳዝን ሁኔታ ይህ በእውነተኛው የውሳኔ ስርዓት ውስጥ ብርቅ ነው, የት ጥቂት ተጠቃሚዎች ወይም እቃዎች በከፍተኛ ሁኔታ ብዙ ጊዜ ይታያሉ። የማስፈጸሚያ ጠረጴዛው መጠን በተፈጥሯዊ እድገት, የመሸጎጫ ቁልፍ ግጭት እድሎች ይጨምራሉ እና የሞዴል ጥራት መበላሸት ያስከትላሉ [3]. ስለዚህ የምርት-መጠን የውሳኔ ስርዓቶች በግቤቶቻቸው ውስጥ ብዙ ባህሪያትን የመያዝ አቅም እንዲኖራቸው እና እንዲሁም የሚያስተዳድሯቸውን የተጠቃሚዎች እና እቃዎች ብዛት በስፋት የማስተካከል ችሎታ እንዲኖራቸው ተፈጥሯዊ ፍላጎት ነው። 1.2 የማይለዋወጥ ስርጭት የእይታ እና የቋንቋ ቅጦች በጥረቶች ጊዜ hardly ያድጋሉ, በተመሳሳይ ጊዜ አንድን ርዕሰ-ጉዳይ የሚፈልግ ተጠቃሚ በደቂቃ ውስጥ ፍላጎቱን ሊቀይር ይችላል. በዚህ ምክንያት, የተጠቃሚ መረጃው መሠረታዊ ስርጭት የማይለዋወጥ ነው, ይህ ክስተት በተለምዶ Concept Drift [8] ይባላል. በመረጃ ላይ የተመሰረተ, ይበልጥ የቅርብ ጊዜ ታሪክ መረጃ የተጠቃሚውን ባህሪይ ለውጥ ለመተንበይ በተሻለ ሁኔታ ሊያበረክት ይችላል። Concept Drift ተጽእኖን ለመቀነስ, የአገልግሎት ሞዴሎች በተቻለ መጠን በእውነተኛ ጊዜ ከአዲስ የተጠቃሚ ግብረመልስ መዘመን አለባቸው ይህም የተጠቃሚውን የቅርብ ጊዜ ፍላጎት እንዲያንጸባርቅ ለማድረግ። በእነዚህ ልዩነቶች ብርሃን እና በምርት ላይ በሚደርሱ ችግሮች ምልከታ, Monolith, እነዚህን ህመም ነጥቦች ለመፍታት የተነደፈ ትልቅ-መጠን የውሳኔ ስርዓት ንድፍ ነድፈናል። በምርት አካባቢ ንድፋችንን ለማረጋገጥ እና ለማሻሻል ሰፊ ሙከራዎችን አድርገናል። Monolith ይችላል (1) ግጭት የሌለበት የሀሽ ሰንጠረዥ እና ተለዋዋጭ ባህሪይ ማስወገጃ ዘዴ ንድፍ በመጠቀም ለስፓርስ ባህሪያት ሙሉ ገላጭ ኃይል መስጠት; (2) የመስመር ላይ ስልጠናን በእውነተኛ ጊዜ ከማገልገል ግብረመልስ መመለስ. በእነዚህ አርክቴክቸራል አቅሞች የተደገፈ፣ Monolith ግጭቶች ባሉባቸው የሀሽ-ትሪክስ ስርዓቶች ጋር በተመሳሳይ ማህደረ ትውስታ አጠቃቀም ላይ በተደጋጋሚ ይበልጣል፣ እና አገልጋዮቻችንን ከመጠን በላይ ሳይጭን የላቀ የመስመር ላይ አገልግሎት AUC ያገኛል። የቀረው ወረቀት በሚከተለው መልኩ ተደራጅቷል። በመጀመሪያ Monolith ያለውን ተግዳሮት ግጭት የሌለው የሀሽ ሰንጠረዥ እና የእውነተኛ ጊዜ ስልጠናን በመጠቀም እንዴት እንደሚፈታ በክፍል 2 እንገልፃለን። ሙከራዎች እና ውጤቶች በክፍል 3 ይቀርባሉ, ከምርት-የተሞከሩ መደምደሚያዎች እና ስለ ጊዜ-ስሜታዊነት, አስተማማኝነት እና የሞዴል ጥራት መካከል ስላለው ሚዛን አንዳንድ ውይይቶች ጋር። ክፍል 4 ተዛማጅ ስራዎችን ይጠቃልላል እና Monolith ጋር ያወዳድራል። ክፍል 5 ይህን ስራ ያጠቃልላል። 2 ንድፍ የ Monolith አጠቃላይ አርክቴክቸር በአጠቃላይ TensorFlow's Distributed Worker- arameter erver ቅንብርን (ምስል ይከተላል። በ Worker-PS አርክቴክቸር ውስጥ፣ ማሽኖች የተለያዩ ሚናዎች ተመድበውላቸዋል፤ ሰራተኛ ማሽኖች በግራፉ በተገለጹት መሰረት ስሌቶችን ለማድረግ ኃላፊነት አለባቸው፣ እና PS ማሽኖች ግቤቶችን ያከማቻሉ እና በሰራተኞች በተሰላው ግሬዲዎች መሰረት ያዘምኗቸዋል። P S 2) በውሳኔ ሞዴሎች ውስጥ፣ ግቤቶች በሁለት ስብስቦች ይከፈላሉ፡ ጥቅጥቅ ያሉ እና ስፓርስ። ጥቅጥቅ ያሉ ግቤቶች በጥልቅ የነርቭ አውታር ውስጥ ያሉ ክብደቶች/ተለዋዋጮች ናቸው፣ እና ስፓርስ ግቤቶች ከስፓርስ ባህሪያት ጋር የሚዛመዱ የማስፈጸሚያ ሰንጠረዦችን ያመለክታሉ። በእኛ ንድፍ ውስጥ፣ ሁለቱም ጥቅጥቅ ያሉ እና ስፓርስ ግቤቶች የ TensorFlow Graph አካል ናቸው፣ እና በግቤት አገልጋዮች ላይ ተከማችተዋል። ከ TensorFlow's Variable ለጥቅጥቅ ግቤቶች ጋር ተመሳሳይ በሆነ መልኩ፣ ለስፓርስ ግቤቶች ከፍተኛ-ብቃት ያለው፣ ግጭት የሌለበት እና ተለዋዋጭ የHashTable ኦፕሬሽኖች ስብስብ ነድፈናል። የስልጠና እና የማስፈጸሚያ ክፍተት ከ TensorFlow's ገደብ ጋር በተሟላ መልኩ፣ Monolith's ተለዋዋጭ የመስመር ላይ ስልጠና ከስልጠና-PS ወደ የመስመር ላይ አገልግሎት-PS ውስጥ ያሉትን ግቤቶች በአጭር ክፍተቶች በብቃት ለማመሳሰል ተነድፏል፣ የሞዴል ጥንካሬ የመረጃ መቋረጥ ዘዴ ተጠብቆላቸዋል። 2.1 የሀሽ ሰንጠረዥ የስፓርስ ግቤት ውክልና ንድፍ የመጀመሪያ መርህ የጥልቅ መረጃን ከተለያዩ IDዎች ወደ አንድ አይነት ቋሚ-መጠን ማስፈጸሚያ እንዳይጨናነቅ ማድረግ ነው። የውጪ TensorFlow Variableን በመጠቀም ተለዋዋጭ መጠን ያለው የማስፈጸሚያ ሰንጠረዥን መምሰል የማይቀር የID ግጭትን ያስከትላል፣ ይህም አዲስ IDዎች ሲመጡ እና ሰንጠረዡ ሲያድግ ያባብሳል። ስለዚህ Variable ላይ ከመተማመን ይልቅ፣ ለስፓርስ ግቤቶቻችን አዲስ ቁልፍ-እሴት HashTable አዘጋጅተናል። የእኛ HashTable በCuckoo Hashmap [ ] ላይ የተመሰረተ ነው፣ እሱም አሁን ያሉትን ሳያጋጩ አዲስ ቁልፎችን ለማስገባት ይደግፋል። Cuckoo Hashing የ O(1) ጊዜ ውስብስብነትን ለፍለጋዎች እና ለመሰረዞች፣ እና ለግቤቶች የሚጠበቀውን አማካይ O(1) ጊዜ ያሳካል። በምስል ላይ እንደሚታየው ሁለት ሰንጠረዦችን 𝑇0, 𝑇1 በተለያዩ የሀሽ ተግባራት ℎ0 (𝑥), ℎ1 (𝑥) ይጠብቃል፣ እና አንድ አካል በአንዱ ውስጥ ይቀመጣል። አንድ አካል 𝐴ን ወደ 𝑇0 ለማስገባት ስንሞክር፣ መጀመሪያ 𝐴ን በℎ0 (𝐴) ለማስቀመጥ ይሞክራል። ℎ0 (𝐴) በሌላ አካል 𝐵 ከተያዘ፣ 𝐵ን ከ𝑇0 ያባርረዋል እና 𝐵ን ወደ 𝑇1 ለማስገባት ይሞክራል በተመሳሳይ አመክንዮ። ይህ ሂደት ሁሉም አካላት እስኪረጋጉ ድረስ ወይም የሀሽን ዳግም ማስጀመር በግጭት ውስጥ ሲያልቅ ይደጋገማል። 16 3 የማህደረ ትውስታ ፍጆታ መቀነስ እንዲሁ በእኛ ንድፍ ውስጥ ጠቃሚ ግምት ነው። እያንዳንዱን አዲስ ID ወደ HashTable ማስገባት ማህደረ ትውስታን በፍጥነት ያጠፋል። የእውነተኛ ምርት ሞዴሎች ምልከታ ሁለት መደምደሚያዎችን ይሰጣል: (1) ጥቂት ጊዜ ብቻ የሚታዩ IDዎች የሞዴል ጥራትን ከማሻሻል አንፃር አነስተኛ አስተዋጽኦ አላቸው። አንድ ጠቃሚ ምልከታ IDዎች የረጅም ጅራት ስርጭት አላቸው፣ እዚያም ታዋቂ IDዎች በሚሊዮን የሚቆጠሩ ጊዜ ሊታዩ ይችላሉ ነገር ግን ተወዳጅ ያልሆኑት ከአስር ጊዜ በላይ አይታዩም። በእነዚህ ድግግሞሽ ዝቅተኛ IDዎች ጋር የሚዛመዱ ማስፈጸሚያዎች በስልጠና ውሂብ እጥረት ምክንያት ዝቅተኛ-ማሰልጠኛ አላቸው እና ሞዴሉ በእነሱ ላይ ጥሩ ግምት መስጠት አይችልም። በመጨረሻም እነዚህ IDዎች ውጤቱን አይነኩም, ስለዚህ የሞዴል ጥራት በዝቅተኛ ድግግሞሽ ያላቸውን IDዎች በማስወገድ አይጎዳውም; (2) ከርቀት ታሪክ የመጡ የቆዩ IDዎች አብዛኛውን ጊዜ ስለማይጎበኙ በወቅታዊ ሞዴል ላይ ትንሽ አስተዋጽኦ ያደርጋሉ። ይህ ምናልባት ንቁ ያልሆነ ተጠቃሚ ወይም ጊዜው ያለፈበት አጭር ቪዲዮ ሊሆን ይችላል። ለእነዚህ IDዎች ማስፈጸሚያዎችን ማከማቸት ሞዴሉን በማንኛውም መንገድ ሊረዳ አይችልም ነገር ግን በከንቱ PS ማህደረ ትውስታችንን ያሟጠዋል። በእነዚህ ምልከታዎች ላይ በመመስረት፣ ለHashTable ይበልጥ የማህደረ ትውስታ-ብቃት ያለው ትግበራ በርካታ የባህሪይ ID ማጣሪያ ዘዴዎችን ነድፈናል: (1) IDዎች ወደ ማስፈጸሚያ ሰንጠረዦች ከመቀበላቸው በፊት ይጣራሉ:: ሁለት የማጣሪያ ዘዴዎች አሉን: በመጀመሪያ ድግግሞቻቸውን ከማስገባትዎ በፊት በማጣራት, የድግግሞሽ ገደብ ለእያንዳንዱ ሞዴል የሚለዋወጥ የሚስተካከለው ሀይፐርፓራሜትር ነው; በተጨማሪም, የማህደረ ትውስታ አጠቃቀምን የበለጠ ለመቀነስ የሚረዳን ፕሮባቢሊቲካል ማጣሪያ እንጠቀማለን; ![#Figure 4: Streaming Engine. ከ[ተጠቃሚ → ሞዴል አገልጋይ → የሥልጠና ሰራተኛ → ሞዴል አገልጋይ → ተጠቃሚ] የመረጃ ግብረመልስ ዑደት የጅምላ ስልጠናን በሚወስድበት ጊዜ ረጅም ጊዜ ይፈጃል፣ የመስመር ላይ ስልጠና ግን ዑደቱን በፍጥነት ይዘጋዋል።](https://cdn.hackernoon.com/images/InxBRjRIs6M1kdhuWcyNHiiUrxm1-78b3ep4.jpeg) (2) IDዎች ተቆጥረው ከተወሰነ ጊዜ እንቅስቃሴ-ቢስ ከሆኑ በኋላ እንዲያልቁ ይደረጋሉ። የማለቂያ ሰዓቱ ለእያንዳንዱ ማስፈጸሚያ ሰንጠረዥ የሚስተካከለው ነው ይህም ለታሪክ መረጃ የተለያዩ ስሜታዊነት ያላቸው ባህሪያትን ለመለየት ያስችላል. በእኛ ትግበራ፣ HashTable እንደ TensorFlow resource operation ተደርጎ ተሰርቷል። Variableን በመምሰል፣ ፍለጋዎች እና ዝማኔዎች እንዲሁ ለአጠቃቀም ቀላልነት እና ለተሻለ ተኳሃኝነት እንደ native TensorFlow operations ተደርገው ተሰርተዋል። 2.2 የመስመር ላይ ስልጠና በ Monolith ውስጥ፣ ስልጠና በሁለት ደረጃዎች ይከፈላል (ምስል 1): (1) የጅምላ ስልጠና ደረጃ። ይህ ደረጃ እንደ መደበኛ TensorFlow ስልጠና ዑደት ይሰራል፡ በእያንዳንዱ የስልጠና እርምጃ፣ አንድ የስልጠና ሰራተኛ ከአንድ አነስተኛ የጅምላ የስልጠና ምሳሌዎችን ከማጠራቀሚያው ያነባል፣ ግቤቶችን ከPS ይጠይቃል፣ የፊት እና የኋላ ማለፊያዎችን ያሰላል፣ እና በመጨረሻም የተዘመኑ ግቤቶችን ወደ የሥልጠና PS ይገፋል። ከሌሎች የተለመዱ ጥልቅ የመማሪያ ስራዎች ትንሽ ለየት ብሎ፣ የኛን የውሂብ ስብስብ ለአንድ ማለፊያ ብቻ እናሰለጥናለን። የጅምላ ስልጠና የሞዴል አርክቴክቸርን ስንቀይር እና ሞዴሉን እንደገና ስንሰለጥን ለታሪክ መረጃ ለማሰልጠን ጠቃሚ ነው። (2) የመስመር ላይ ስልጠና ደረጃ። ሞዴሉ ከተሰማራ በኋላ, ስልጠና አይቆምም, ነገር ግን የመስመር ላይ ስልጠና ደረጃ ውስጥ ይገባል. ከማጠራቀሚያው አነስተኛ የጅምላ ምሳሌዎችን ከማንበብ ይልቅ, አንድ የስልጠና ሰራተኛ በእውነተኛ ጊዜ መረጃን በረራ ላይ ይበላል እና የሥልጠና PS ን ያዘምናል። የሥልጠና PS በየጊዜው ግቤቶቹን ወደ አገልግሎት PS ያመሳስላል, ይህም በተጠቃሚው በኩል ወዲያውኑ ተጽእኖ ይኖረዋል. ይህ ሞዴላችንን በእውነተኛ ጊዜ በተጠቃሚው ግብረመልስ መሰረት በይነተገናኝ እንዲያስተካክል ያስችለዋል። Monolith በጅምላ ስልጠና እና በመስመር ላይ ስልጠና መካከል ያለምንም መቆራረጥ የመቀየር ችሎታ ጋር ተገንብቷል። ይህ በምስል ላይ እንደሚታየው የዥረት ሞተራችን ንድፍ በማድረጉ ነው። 2.2.1 የዥረት ሞተር። 4 በእኛ ንድፍ ውስጥ፣ የተጠቃሚዎችን ድርጊቶች (ለምሳሌ፣ አንድን እቃ ጠቅ ማድረግ ወይም መውደድ) ለመመዝገብ አንድ Kafka [13] ወረፋ እና ለባህሪያት ሌላ Kafka ወረቀት እንጠቀማለን። የሞተሩ እምብርት የመስመር ላይ ባህሪይ ተቀላቃይ የሆነ የFlink [4] ዥረት ስራ ነው። የመስመር ላይ ተቀላቃይ ከተጠቃሚ ድርጊቶች ጋር ባህሪያትን ያጣምራል እና የሥልጠና ምሳሌዎችን ያመነጫል, እነሱም ወደ Kafka ወረቀት ይጻፋሉ። ለሥልጠና ምሳሌዎች የወረቀቱ በኦንላይን ስልጠና እና በጅምላ ስልጠና ይነበባል: ለኦንላይን ስልጠና፣ የስልጠና ሰራተኛው በቀጥታ ከካፍካ ወረቀት ያነባል፤ ለጅምላ ስልጠና፣ የውሂብ ማፍሰስ ስራ መጀመሪያ ውሂቡን ወደ HDFS [18] ያፈሳል፤ በ HDFS ውስጥ ያለው ውሂብ የተወሰነ መጠን ከተከማቸ በኋላ፣ የስልጠና ሰራተኛው ከ HDFS ውሂብ ያወጣል እና የጅምላ ስልጠና ያካሂዳል። በሥልጠና PS ውስጥ የተዘመኑ ግቤቶች እንደ የፓራሜትር ማመሳሰል መርሃ ግብር ወደ አገልግሎት PS ይገፋሉ። በእውነተኛው የትግበራዎች ውስጥ፣ የተጠቃሚ ድርጊቶች ምዝግብ ማስታወሻዎች እና ባህሪያት ወደ መስመር ላይ ተቀላቃይ (ምስል በጊዜ ቅደም ተከተል ያለ ማረጋገጫ ይተላለፋሉ። ስለዚህም የተጠቃሚ ድርጊት እና ባህሪያት በትክክል እንዲጣመሩ ለእያንዳንዱ ጥያቄ ልዩ ቁልፍ እንጠቀማለን። 2.2.2 የመስመር ላይ ተቀላቃይ። 5) የተጠቃሚ ድርጊት መዘግየት እንዲሁ ችግር ሊሆን ይችላል። ለምሳሌ, ተጠቃሚው ከጥቂት ቀናት በፊት የቀረበለትን እቃ ለመግዛት ከመወሰኑ በፊት ጥቂት ቀናት ሊወስድ ይችላል። ይህ ተቀላቃይ የሁሉም ባህሪያት በካሼ ውስጥ ከተቀመጡ, ማህደረ ትውስታ ውስጥ አይገጥምም. በእኛ ስርዓት, ከመጠን በላይ ለተወሰነ ጊዜ የሚጠብቁ ባህሪያትን ለማከማቸት በዲስክ ላይ ያለ የቁልፍ-እሴት ማጠራቀሚያ ጥቅም ላይ ይውላል. የተጠቃሚ ድርጊት ምዝገባ ሲመጣ, በመጀመሪያ በውስጠ-ማህደረ ትውስታ ካሼ ይፈልጋል, ከዚያም ካሼ ከጠፋ በቁልፍ-እሴት ማጠራቀሚያ ይፈልጋል. በእውነተኛው ትግበራ ውስጥ የሚታየው ሌላ ችግር አሉታዊ እና አዎንታዊ ምሳሌዎች ስርጭት እጅግ በጣም እኩል ያልሆነ ነው, የኋለኛው ቁጥር ከቀደመው ብዙ እጥፍ ሊሆን ይችላል. አዎንታዊ ምሳሌዎች በአሉታዊ ምሳሌዎች እንዳይሰምጡ ለመከላከል, የተለመደው ስልት አሉታዊ ናሙና ማድረግ ነው. ይህ በእርግጠኝነት የሰለጠነውን ሞዴል መሠረታዊ ስርጭት ይለውጣል, ይህም አዎንታዊ ትንበያዎችን የማድረግ ከፍተኛ እድል እንዲኖር ያደርጋል. እንደ መድኃኒት, በመገልገል ጊዜ የሎጂት እርማት [19] እንተገብራለን, ይህም የመስመር ላይ ሞዴል የዋናውን ስርጭት ያልተዛባ አስማሚ መሆኑን ያረጋግጣል። በእስር ላይ በሚሰለጥኑበት ጊዜ, Monolith የስልጠና ክላስተር ከመስመር ላይ አገልግሎት ሞጁል መረጃ መቀበሉን ይቀጥላል እና በሥልጠና PS ላይ ያሉትን ግቤቶች ያዘምናል። አዲሶቹን የሰለጠኑ ግቤቶች ከመስመር ላይ አገልግሎት PS እንዲጠቀሙ ማድረግ ወሳኝ እርምጃ ነው። በምርት አካባቢ, በበርካታ ተግዳሮቶች ተጋፍጠናል። 2.2.3 የፓራሜትር ማመሳሰል። በመስመር ላይ የሚሰሩ የPS ሞዴሎች በሚዘምኑበት ጊዜ ማገልገሉን ማቆም የለባቸውም። በምርት ውስጥ ያሉ ሞዴሎቻችን ብዙውን ጊዜ በርካታ ቴራባይት መጠን አላቸው፣ እናም ሁሉንም ግቤቶች መተካት የተወሰነ ጊዜ ይወስዳል። የመስመር ላይ PS ን በመተካት ሂደት ውስጥ እንዳይሰራ ማድረጉ ተቀባይነት የለውም, እና ዝማኔዎች በበረራ መደረግ አለባቸው; ባለብዙ-ቴራባይት ሞዴልን ሙሉ በሙሉ ከመስልጠና PS ወደ የመስመር ላይ አገልግሎት PS ማስተላለፍ ለሁለቱም የአውታረ መረብ ባንድዊድዝ እና ለPS ማህደረ ትውስታ ከፍተኛ ጫና ይፈጥራል, ምክንያቱም አዲሱን ሞዴል ለመቀበል በእጥፍ የሞዴል መጠን ማህደረ ትውስታ ይጠይቃል. ለመስመር ላይ ስልጠና በንግድ ሁኔታችን መጠን እንዲጨምር ለማድረግ፣ በ Monolith ውስጥ በእኛ ሞዴሎቻችን ላይ ባሉ በርካታ የሚታዩ ባህሪያት ላይ የተመሰረተ ተለዋዋጭ የሆነ በበረራ ወቅታዊ የፓራሜትር ማመሳሰል ዘዴ ነድፈናል: (1) የስፓርስ ግቤቶች የውሳኔ ሞዴሎችን መጠን ይቆጣጠራሉ; (2) ባሉበት የጊዜ መስኮት ውስጥ, የተወሰኑ IDዎች ብቻ የሰለጠኑ እና ማስፈጸሚያዎቻቸው የዘመኑ ናቸው; (3) የጥቅጥቅ ተለዋዋጮች ከስፓርስ ማስፈጸሚያዎች በጣም በዝግታ ይንቀሳቀሳሉ። ይህ የሆነበት ምክንያት በሞመንተም-መሠረት ኦፕቲማይዘሮች፣ ለጥቅጥቅ ተለዋዋጮች የሞመንተም ክምችት በውሳኔ ስልጠና ውሂብ ግዙፍ መጠን ተባዝኖአል፣ በዚህ ጊዜ ጥቂት ስፓርስ ማስፈጸሚያዎች ብቻ በአንድ የውሂብ ባች ውስጥ ዝማኔዎችን ይቀበላሉ. (1) እና (2) ሁሉንም የባህሪይ IDዎች ባሉበት ቦታ የተደረጉ ዝማኔዎችን እንድንጠቀም ያስችለናል። በ Monolith, የዘመኑ ማስፈጸሚያዎች ያሉባቸውን IDዎች የሚያመለክተው የተነካ ቁልፎች የሀሽ ስብስብ እንጠብቃለን። የፓራሜትር ማመሳሰሉ የመጨረሻ ማመሳሰል ከሚሰራው PS ወደ የመስመር ላይ አገልግሎት PS የቁልፍ ስብስብ ውስጥ ያሉትን የስፓርስ ግቤቶች ንዑስ ስብስብ በደቂቃ ደረጃ እንገፋለን። ይህ በአንጻራዊ ሁኔታ ትንሽ የፓራሜትር ማዘመኛ ጥቅል ለኔትወርክ ስርጭት ቀላል ነው እና በማመሳሰል ጊዜ የሹል ማህደረ ትውስታ ጭማሪ አያስከትልም። እንዲሁም (3)ን በመጠቀም የኔትወርክ I/O እና የማህደረ ትውስታ አጠቃቀምን እንቀንሳለን ይህም ለስፓርስ ግቤቶች ይበልጥ ተናፋጭ የማመሳሰል መርሃ ግብር በማዘጋጀት ሲሆን ጥቅጥቅ ያሉ ግቤቶችን ደግሞ ባነሰ ጊዜ እናዘምነዋለን። ይህ የምናገለግላቸው ጥቅጥቅ ያሉ ግቤቶች ከስፓርስ ክፍል ጋር ሲነጻጸሩ በአንጻራዊ ሁኔታ የቆየ ስሪት የሚሆኑበትን ሁኔታ ሊያስከትል ይችላል። ሆኖም ግን, እንዲህ ያለ አለመጣጣም (3) ላይ በተጠቀሰው ምክንያት ሊታገስ ይችላል ምክንያቱም ምንም ግልጽ የሆነ ኪሳራ አልታየም። 2.3 የመረጃ መቋረጥ በምርት ውስጥ ያለ ስርዓት እንደመሆኑ Monolith PS በውድቀት ጊዜ ለማገገም በሚያስችል መንገድ ተነድፏል። ለችግር መቋቋም የተለመደው ምርጫ የሞዴሉን ሁኔታ በየጊዜው መመዝገብ፣ እና PS ውድቀት ሲገኝ ከመጨረሻው መዝገብ ማገገም ነው። የመዝገብ ድግግሞሽ ምርጫ ሁለት ዋና ተጽዕኖዎች አሉት: (1) የሞዴል ጥራት። በምክንያታዊነት, የሞዴል ጥራት በጨመረው የመዝገብ ድግግሞሽ የቅርብ ጊዜ ታሪክ መጥፋት ያነሰ ይጎዳል። (2) የስሌት ተጨማሪ ወጪ። ባለብዙ-ቴራባይት ሞዴልን መመዝገብ ነፃ አይደለም። ትልቅ የሜሞሪ ቅጂ እና የዲስክ I/O ያስከትላል. በሞዴል ጥራት እና በስሌት ተጨማሪ ወጪ መካከል ባለው ሚዛን፣ Monolith በቀን አንድ ጊዜ ሁሉንም የሥልጠና PS ይመዘግባል። ምንም እንኳን PS በውድቀት ጊዜ አንድ ቀን የዘለቀውን ዝማኔ ቢያጣም፣ በሙከራዎቻችን አፈጻጸም መበላሸት የሚታገስ መሆኑን አግኝተናል። የPS አስተማማኝነት ተጽእኖን በሚቀጥለው ክፍል እንመረምራለን. 3 ግምገማ በቀረበው ንድፍ ስለሚመጡ ጥቅሞች እና ሚዛኖች የተሻለ ግንዛቤ ለማግኘት፣ በምርት መጠን በርካታ ሙከራዎችን አካሂደናል እና Monolith ን በተለያዩ ገፅታዎች ለመገምገም እና ለማረጋገጥ በእውነተኛ አገልግሎት ትራፊክ A/B ሙከራ አድርገናል። የእኛ ሙከራዎች የሚከተሉትን ጥያቄዎች ለመመለስ ዓላማ አለን: (1) ከተጋጭ የሌለበት HashTable ምን ያህል ጥቅም ማግኘት እንችላለን? (2) የእውነተኛ ሰዓት የመስመር ላይ ስልጠና ምን ያህል አስፈላጊ ነው? (3) የ Monolith የፓራሜትር ማመሳሰል ንድፍ በትልቅ-መጠን የምርት ሁኔታ