Jak můžeme porovnat plakát, který se zobrazuje na stránce uživatele, s těmi, které neviděl (částečná zpětná vazba)?
Machine Learning / AI
(Po upřesnění s interviewerem) Jak nyní formulovat úkol a přístup, s přihlédnutím k tomu, že doporučení položek již existují, a je třeba umístit bloky na hlavní stránku bez duplicitního obsahu?
Z čeho přesně vzniká rozptyl v odhadu IPS?
Röviden vázold fel, hogyan lehet újra csomagolni a RAG-élményt ajánlórendszerekhez, majd tipikus kérdéseket. Nem arra, hogyan kell válaszolni, hanem hogy mi a lényege a tapasztalatom és az önéletrajzom alapján.
Napiš krátký odstavec pro sebereflexi, ve kterém zdůrazníš, že doporučovací systémy jsou velmi podobné RAG - retrieval, re-ranking, architektonické podobnosti atd., abych si to mohl zapamatovat a říct.
Jak funguje kontrastní ztráta s negativy v batchi?
Co jsou položky? Jak se správně vyslovují?
Jak probíhá inkrementální aktualizace FAISS indexu v produkci?
Odhadněte, kolik dat je potřeba pro dohloubení modelu v produkci, popište proces dohloubení, parametry, ztrátovou funkci (contrastive/triplet) a proč byla zvolena právě ona.
# Formulujte a napište definici toho, co je roc auc. # Jak se počítá roc_auc_score? # Napište funkci, která vypočítá roc_auc_score podle napsané definice. # A pro libovolný počet tříd s daným pořadím priority? # Model funguje následovně # y_score[i] >= práh -> y_pred[i] = 1 # y_score[i] < práh -> 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 # Bonusové testy pro více tříd 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
Co dělat v případě, že blok má různý počet obsahu — jsou zde jednotlivé bloky a bloky s 30 položkami? Jak pracovat s hodnoceními obsahu, aby bylo možné získat funkci tohoto bloku?
Správně jsem pochopil: máme tracker, který má průměrné skóre od content trackeru na naplnění bloku, jsou zde uživatelské a blokové znaky, vzali jsme pozitivní — co přesně?
Pověz mi o své zkušenosti, čím ses za posledních pět let zabýval?
Prosím, řekněte nám přesně, o jaký projekt šlo a čím jste se přesně zabývali.
Proč byl projekt vyvíjen dva roky, když říkáš, že hlavní část byla hotová už před dvěma lety? Je projekt nyní v údržbě nebo byl dále rozvíjen?
# daný je pole a = [1, 20, 10, 0, 59, 63, 0, 88, 0] -> [0, 0, 0, 1, 20, 10, 59, 63, 88] # je třeba napsat optimální funkci, která přesune nuly na začátek pole a zachová pořadí ostatních prvků def move_zeros_to_left(a: List[int]) -> List[int]: pass
Kdyby vám bylo dáno neomezené množství GPU ke zlepšení kvality systému, jakým směrem byste se nejprve vydali?
Co je DSSM, víš?
Proč bude tehdy trénován ranker? To znamená, že bude nezávislý na obsahu — jaký je jeho cíl?
Jaký formát práce zvažujete a v jakém městě žijete?