Zakipki.Hack. Библиотека программиста

Содержание

Слайд 2

Все просто!

Один час, чтобы предсказать их все.

Все преодолимо!

Open Source!

Что пробовал и куда

Все просто! Один час, чтобы предсказать их все. Все преодолимо! Open Source!
идти дальше.

Python, ~1024 строки.

01

05

03

02

06

04

Основные идеи

Производительность

Достоинства и недостатки

Идеи

Код

Инструменты

Слайд 3

Основные идеи

Решать задачу, как задачу рекомендации новых товаров покупателем (рекомендательные системы).
LightFM +

Основные идеи Решать задачу, как задачу рекомендации новых товаров покупателем (рекомендательные системы).
warp loss!
Использовать флаг победы с весом числа известных участников как меру заинтересованности поставщика в лоте.
Векторизовать закупки и поставщиков через эмбединги, тренировать нейронную сеть на парах закупка-поставщик или закупка-закупка. Metric learning (contrastive loss, cosine loss).
Обогатить данные lightfm эмбедингами пользователей и поставщиков из нейронной сети.
Месяц, есть ли описание лота - дополнительные признаки.
Текстовые данные - наименование + описание. TFIdf + SVD.
Валидация - 2020 год.

Слайд 4

Быстрая и удобная библиотека для построения векторных представлений пар покупатель-товар или закупка-поставщик

Быстрая и удобная библиотека для построения векторных представлений пар покупатель-товар или закупка-поставщик
в нашем случае. Гибкая, позволяет добавить любые признаки как поставщика, так и закупки.

lightFM

Слайд 5

Распространенная и хорошо поддерживаемая библиотека построения нейронных сетей. Нейронные сети выглядят хорошим

Распространенная и хорошо поддерживаемая библиотека построения нейронных сетей. Нейронные сети выглядят хорошим способом обработки текста. Pytorch
способом обработки текста.

Pytorch

Слайд 6

Подготовка данных и обучение занимают около часа времени на среднем сервере. Возможно

Подготовка данных и обучение занимают около часа времени на среднем сервере. Возможно
обучение на кластере.

Точность

На валидации теоретический максимум 55% полноты, из которых мы получаем 28%, что выглядит не слишком плохо для прототипа..

Инструменты

Библиотеки хорошо поддерживаются сообществом, у них миллионы пользователей по всему миру и доступны для любого коммерческого использования.

При добавлении новых поставщиков для более точной рекомендации стоит переобучать всю модель, но можно этого не делать с 5-6% потерей точности!

Достоинства и недостатки

Обучение

Скорость

Слайд 9

Нейронная сеть

1 x 1080ti, 100 эпох - 2 часа.
Генерация n positive

Нейронная сеть 1 x 1080ti, 100 эпох - 2 часа. Генерация n
и столько же случайных negative для каждого лота.
Семплер из metric learning, на каждой эпохе выбираются hard negative из прошлой.

Слайд 10

На компьютере 8 ядер,
32 гигабайта памяти,
время обучения модели на полном

На компьютере 8 ядер, 32 гигабайта памяти, время обучения модели на полном датасете 1 час. Скорость
датасете 1 час.

Скорость

Слайд 11

Как улучшить

Обучить лингвистические модели на специфичном корпусе описаний и получить вектора текста

Как улучшить Обучить лингвистические модели на специфичном корпусе описаний и получить вектора
для lightfm.
Тематическое моделирование (elmo/ulmfit + hdbscan).
Использовать кластеризацию на полученных векторах и номер кластера как категорию в lightfm.

Слайд 12

Metric learning для item-item contrastive, arcface, margin loss. Порядка 0.18 на валидации.
Предсказывать

Metric learning для item-item contrastive, arcface, margin loss. Порядка 0.18 на валидации.
вектор эмбединга следующей закупки по закупкам пользователя. Очень ресурсоемко, не удалось.
Тензорное разложение, ALS. Очень сложно закодировать в короткие сроки, оставил.

Еще попробовал

Имя файла: Zakipki.Hack.-Библиотека-программиста.pptx
Количество просмотров: 30
Количество скачиваний: 0