Վերջին ժամանակներում շատ նեյրոնային ցանցեր կան — ինչպես ես օգտագործում դրանք աշխատանքի մեջ, որքան հաճախ և հենց ինչպես?
Machine Learning / AI
Երկու բառով բացատրեք, թե ինչով է տարբեր Double Robust մոտեցումը IPS-ից — ինչ ավելացվում է և ինչ է դարձնում այն ավելի ուժեղ և կայուն:
Կարճ ինքնահաստատման պարբերական գրեք, որտեղ պետք է ընդգծել, որ առաջարկական համակարգերը շատ նման են RAG - retrieval, re-ranking, ճարտարապետական նմանություններ և այլն, որպեսզի ես կարողանամ դա հիշել և պատմել։
Կարճ ներկայացրեք, թե ինչպես կարելի է վերապաքել RAG փորձը առաջարկական համակարգերի համար, ապա տիպային հարցեր: Միայն կարճ, ոչ թե ինչպես պատասխանել, այլ ինչ է դա իմ փորձառության և ռեզյումեի հիման վրա։
Նպատակը բացատրել, թե ինչու երկու աշտարակային ցանցը (two-tower) կօգնի լուծել առաջին մակարդակի վերին շերտի խնդիրը՝ ինչի հաշվին է դա։
Անցկացրեք գնահատում, թե որքան տվյալներ են անհրաժեշտ մոդելի լրացուցիչ ուսուցման համար արտադրությունում, նկարագրեք լրացուցիչ ուսուցման գործընթացը, պարամետրերը, կորուստի ֆունկցիան (contrastive/triplet) և ինչու հենց այն է ընտրվել։
Ինչպես է աշխատում հակադրության կորուստը բատչումներում՝ բացասականների հետ?
Ի՞նչ են առարկաները: Ինչպե՞ս ճիշտ արտասանել:
Ինչու՞ ապա ռանկերը կուսումնասիրվի: Այսինքն, այն կլինի բովանդակությունից անկախ — ի՞նչ է նրա նպատակը։
Ինչպես է տեղի ունենում FAISS ինդեքսի ինկրեմենտալ թարմացումը արտադրությունում։
Դու ճիշտ եմ հասկացել՝ ունենք tracker, որի միջին միավորն է բովանդակության tracker-ից բլոկը լցնելու համար, կան օգտվողի և բլոկի հատկանիշներ, մենք դրական ենք վերցրել — ինչ է դա հենց?
# Հաստատեք և գրեք այն սահմանումը, թե ինչ է roc auc: # Ինչպես հաշվվում է roc_auc_score-ը: # Գրեք ֆունկցիա, որը հաշվում է roc_auc_score-ը ըստ գրած սահմանման: # Եվ ցանկացած դասերի համար, նշված առաջնահերթության կարգով: # Մոդելը աշխատում է հետևյալ կերպ # y_score[i] >= շեմ -> y_pred[i] = 1 # y_score[i] < շեմ -> y_pred[i] = 0 def test_roc_aur_score(): y_true = [0, 0, 0, 1, 0, 0] y_score = [0.2, 0.4, 0.31, 0.6, 0.3, 0.7] res_metric = roc_auc_score(y_true, y_score) assert res_metric == 0.8 y_true = [0, 1, 0, 0, 0, 1] y_score = [0.7, 0.6, 0.31, 0.31, 0.3, 0.2] res_metric = roc_auc_score(y_true, y_score) assert res_metric == 0.375 y_true = [0, 0, 0, 1, 0, 0] y_score = [0.2, 0.4, 0.31, 0.8, 0.3, 0.7] res_metric = roc_auc_score(y_true, y_score) assert res_metric == 1 y_true = [0, 0, 0, 0, 0, 0] y_score = [0.2, 0.4, 0.31, 0.8, 0.3, 0.7] res_metric = roc_auc_score(y_true, y_score) assert res_metric == 0 # Қосымша тесттер бірнеше кластар үшін y_true = [0, 1, 0, 0.5, 0, 1] y_score = [0.7, 0.6, 0.31, 0.31, 0.3, 0.2] res_metric = roc_auc_score(y_true, y_score) assert res_metric == 0. y_true = [0, 0.1, 0.2, 0.3, 0.4, 0.6] y_score = [0, 0.1, 0.2, 0.3, 0.4, 0.6] res_metric = roc_auc_score(y_true, y_score) assert res_metric == 1
Եթե ձեզ տրվեր անսահմանափակ GPU-ներ համակարգի որակը բարելավելու համար, առաջին հերթին որ ուղղությամբ կընտրեիք?
Ի՞նչ անել, երբ բլոկը ունի տարբեր քանակի բովանդակություն — կան միավոր բլոկներ և բլոկներ 30 տարրով: Ինչպես աշխատել բովանդակության գնահատականների հետ, որպեսզի ստանալ այս բլոկից ֆունկցիա?
Իմացեք ձեր փորձի մասին, ինչ եք զբաղվել վերջին հինգ տարիներին:
Խնդրում եմ, պատմեք մեզ, թե ինչ էր հենց այն նախագիծը և ինչ էր ձեր մասնագիտությունը։
Ինչու՞ նախագիծը երկու տարի շարունակ զարգացվեց, եթե դու ասում ես, որ հիմնական մասը արդեն երկու տարի առաջ պատրաստ էր: Հիմա նախագիծը սպասարկման մեջ է, թե ավելի զարգացվել է?
# տրված է a զանգվածը՝ a = [1, 20, 10, 0, 59, 63, 0, 88, 0] -> [0, 0, 0, 1, 20, 10, 59, 63, 88] # անհրաժեշտ է գրել օպտիմալ ֆունկցիա, որը տեղափոխում է զրոները զանգվածի սկզբին և պահպանում է մնացած տարրերի կարգը def move_zeros_to_left(a: List[int]) -> List[int]: pass
Ի՞նչ է DSSM, գիտե՞ս։
Ի՞նչ աշխատանքային ձևաչափ եք դիտարկում և ինչ քաղաքում եք ապրում։