All streams
Search
Write a publication
Pull to refresh
150
0
Александр Тоболь @alatobol

Технический директор ВКонтакте

Send message
тут есть 3 решения:

1) простое: косинус довольно дешовый поэтому можно считать по друзьям, а потом по друзьям тех кто на фото ;) и это будет работать за миллисекунды

2) brute force: 2млн векторов можно запихать матрицей в GPU и умножать там на вектор кандидата, если поставить 150 GPU то можно все построенные 300 млн эмбеддингов разместить в память карты и брут форсить через весь портал

3) сложное:
есть решение от FB для поиска ближайших векторов по L2 в пространствах большой размерности: github.com/facebookresearch/faiss

мы, пошли по другому пути, бинаризируем вектора и ищем ближайшие по хэммингу: ieeexplore.ieee.org/document/6233169
300Гб дешево умещаются в RAM, поэтому мы поставили off-heap кэш от Андрея Паньгина habrahabr.ru/company/odnoklassniki/blog/148139
и читаем все сектора из памяти
всего в ОК более 1200 нод Cassandr-ы более чем в 70ти кластерах, а для сервиса распознавания лиц, хватило и 6 нод
пока нет, хотим в будущем заменить эти 150 серверов, на 15 но с GPU
пока пробовали резать на Tesla K40, используя ffmpeg 2.6 со свежей реализацией кодека nvenc. производительность параллельной нарезки видео 2160р в 8 качеств вышла такая же, как у процессора E5-2643
Канал на отдачу видео это 30 серверов и на каждом 40Гбит/сек сеть — они имеют 2 уровня кэша 256Гб рама и 10Тб SSD дисков.
Они не втыкают, они умеют менять контейнер видео на лету (mp4, dash, hls) и про это тоже в следующей статье.
Сервера отвечающие за трансформацию имеют специфичное для этого железо, которое делает трансформацию видео на порядок быстрее чем у конкурентов. Попробуйте залить 1080 или выше в другие соц сети :)
Обязательно раскроем все секреты трансформации в следующей статье.

Раздавать со стораджей мы пробовали, и потом быстро отказались, ибо замена диска может ребут требовать, а это уже даунтайм.

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity