Нека сравним DAU, RPS и QPS: ако имаме 10 милиона DAU и всеки потребител влиза 4 пъти на ден, колко ще бъде RPS и колко QPS?
Machine Learning / AI
Къде точно възниква дисперсията в IPS-оценката?
Как можем да сравним постер, който се показва само на страницата на потребителя, с тези, които той не е виждал (частична обратна връзка)?
Как работи контрастната загуба с негативи в batch?
Кратко представи как да препаковаш RAG опита за препоръчителни системи, а след това типични въпроси. Не как да отговориш, а в какво се състои според моя опит и резюме.
Напишете кратък параграф за самопрезентация, в който да подчертаете, че препоръчителните системи много приличат на RAG - retrieval, re-ranking, архитектурно сходство и т.н., за да мога да го запомня и разкажа.
Как се извършва инкременталното обновяване на FAISS индекса в продукция?
Оценете колко данни са необходими за дообучаване на модела в продукция, опишете процеса на дообучение, параметрите, функцията за загуба (contrastive/triplet) и защо е избрана точно тя.
# Формулирайте и напишете дефиницията за това какво е 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
Какво да правите, ако блокът има различно количество съдържание — има единични блокове и блокове с 30 елемента? Как да работите с оценките на съдържанието, за да получите функция от този блок?
Правилно ли съм разбрал: имаме тракер, който има среден резултат от тракера за съдържание за попълване на блока, има потребителски и блокови признаци, взехме положително — какво точно?
Какво са елементите? Как правилно да се произнасят?
Моля, разкажете ни точно какъв беше проектът и с какво точно се занимавахте.
Какво е DSSM, знаеш ли?
Защо проектът се разработваше две години, ако казваш, че основното беше направено още преди две години? В момента проектът е в поддръжка или е бил допълнително развиван?
Ако ви дадат неограничено количество GPU за подобряване на качеството на системата, към кое направление бихте се насочили първо?
Какъв формат на работа разглеждате и в кой град живеете?
Защо тогава ще се обучава ранкерът? Тоест, той ще бъде независим от съдържанието — каква е неговата цел?
Разкажи за своя опит, с какво се занимаваше през последните пет години?
# даден е масив 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