<style> .reveal { font-size: 28px; } .container{ display: flex; } .col{ flex: 1; } .reveal section img { background:none; border:none; box-shadow:none; } </style> Дело в Шляпе или 3 причины погрузиться в mlops ![](https://i.imgur.com/h4CDQnB.png =x300) <!-- Из этого стоит сделать анонс и сказать голосом вначале, на слайдах смысла нет все это писать. Три года назад нам надоело проводить обычные соревнования на Kaggle. Соревнования по ML - это классно, но подходы и способы решения повторяются, и после десятка решенных хочется чего-то нового. Одна из распространенных проблем соревнований - что у сделанного решения не хватает "интерактивности" - его нельзя взять и покрутить, проверить его своей собственной логикой и порадоваться, как прикольно получается, задеплоить куда-то и пошарить с другими людьми :pouting_cat: Тогда мы придумали Шляпу - соревнование на стыке анализа данных и деплоя моделей. Правила просты: чтобы участвовать, ты должен уметь отвечать за 1 секунду 🤖 по REST API 🚀. Чтобы сыграть по-настоящему, нужны эмбеддинги, кастомная логика и модель, развернутая на сервере. После трех проведений для разных аудиторий, Шляпа наконец приходит в онлайн для всех желающих. О чем эта игра, как нам это пришло в голову и чему можно в ней научиться - узнаем прямо сейчас. --> --- Кто приложил руку :raised_hands: - Основной виновник торжества: я :hugging_face: - Помогали советом: Эмели Драль, Михаил Трофимов, Виктор Кантор - В код шляпы контрибьютили: Глеб Ерофеев, Виталий Белов, Олег Поливин, Алексей Найденов <!-- Контекст --> <!-- ![](https://i.imgur.com/5235Z1u.png =x200) --> <!-- ![](https://i.imgur.com/h4CDQnB.png =x300) --> <!-- https://miass.questquest.net/shop/igra-dlya-doma-shlyapa-online --> --- Итак! Пять лет назад... ![](https://i.imgur.com/HhgCvjn.png =600x) ![](https://i.imgur.com/Rbvud3X.png =600x) --- Затем некоторое время... ![](https://i.imgur.com/CsNQ86M.png) --- Илья Ирхин: "Что если сделать игру, где модели будут объяснять друг другу слова?" ![](https://i.imgur.com/2OomP4P.png =x200) --- Затем снова... <!-- ![](https://i.imgur.com/ZQOBtNT.png =x600) ![](https://i.imgur.com/ac7d5aT.png =x600) --> ![](https://i.imgur.com/YIgcCTP.png =x600) ![](https://i.imgur.com/9a8YzGp.png =x600) --- <!-- ![](https://i.imgur.com/E1gnRyo.png) --> ![](https://i.imgur.com/rFDam4M.png) --- Что если сделать игру, где модели будут объяснять друг другу слова? :tophat: :tophat: :tophat: :tophat: :tophat: :thinking_face: :thinking_face: :thinking_face: :thinking_face: :thinking_face: --- Inclass соревнования в обучении DS - поначалу :fire: - практикуемся в анализе данных - обсуждаем решения, учимся на успехах и ошибках других - fun - после десятого соревнования 🥱 - 80% времени делаешь одно и то же - решения победителей часто "типичны" - решение трудно интерпретировать - применить модель нельзя - решаем "в стол" - команды изолированы друг от друга - судить о чужих решениях можно только по чиселке на ЛБ - вспоминаешь, что в DS есть и другие интересные задачи --- <!-- Попробуем заново. Должно быть прикольно вот так: --> Рецепт :fire: соревнования: - участники на самом деле соревнуются друг с другом - качество решения можно оценить самому - о решениях других можно узнать что-то в течении соревнования - "лучшее решение" не фиксированно - решение интересно показать тем, кто не в теме - кроме DS нужно ещё немного в разработку и деплой Спойлер: :100: Действительно прикольно! --- Raiffeisen bank 201 ![](https://i.imgur.com/Cvmi8kW.jpg =x250) ![](https://i.imgur.com/ewJkUK3.jpg =x250) ![](https://i.imgur.com/Zh638FQ.jpg =x250) ![](https://i.imgur.com/gKAeBuL.jpg =x250) --- DMIA 2019 <!-- ![](https://i.imgur.com/U6gV9ro.jpg =x100) ![](https://i.imgur.com/ZwnyPJ3.jpg =x100) --> ![](https://i.imgur.com/9qZHR1h.jpg =x500) --- DMIA 2021 ![](https://i.imgur.com/U1gMBj6.jpg =x250) ![](https://i.imgur.com/C5KJmkO.jpg =x250) ![](https://i.imgur.com/H8UNIjD.jpg =x250) ![](https://i.imgur.com/dL3tZke.jpg =x250) --- Дата Ёлка 2022 :christmas_tree: ![](https://i.imgur.com/4SNnBs4.jpg =x300) --- Протокол игры, TLDR: ![](https://i.imgur.com/crwvC3b.png =x600) --- Пример игры ```bash= labdmitriy explains word 'week': ['month', 'year'] Attempt 1/2 - pol-litlra-nastroeniya: ['month', 'last', 'sept', 'three', 'two'] 🎉 kas-kir: ['week', 'couple', 'year', 'time', 'monthly'] 🎉 HerokuOrg: ['month', 'road;', 'proctor', 'boiler', 'weeks'] Attempt 2/2 🎉 pol-litlra-nastroeniya: ['week', 'year', 'month', 'two', 'five'] Scores: - labdmitriy got 5 - kas-kir got 2 - HerokuOrg got 2 - pol-litlra-nastroeniya got 1 ``` --- Технические детали ```bash= # играют два игрока: first-player.com и second-player.com # отправляет запросы хост $ curl https://first-player.com/explain?word=riddle&n_words=3 ["puzzle", "problem", "guess"] # загадал $ curl https://second-player.com/guess?word=puzzle&n_words=3 ["game", "arcade", "riddle"] # угадал ``` --- Результаты появляются на ЛБ ![](https://i.imgur.com/VAhhZKr.png =x500) --- Итак, что релизим: - Игру https://github.com/production-ml/the-hat-game - Гугл форму для регистрации https://forms.gle/3RBbb7bpFTqPMovf9 - Лидерборд https://hat-leaderboard.herokuapp.com - Dummy player - в том же репе --- Dummy player? ```bash= $ tree flask_app flask_app ├── Dockerfile ├── Procfile <- heroku ├── README.md ├── app.json <- heroku ├── app.py <- app itself ├── player.py <- Dummy player ├── requirements.txt └── templates <- cat pics (for the welcome page) └── index.html ``` --- Dummy player! <!-- (я бы убрал этот слайд, как-то демотивирует деплоить его?) --> ```bash= # играют два игрока: first-player.com и second-player.com # отправляет запросы хост $ curl https://dummy-player.com/explain?word=riddle&n_words=10 ["Hi", "I'm", "a", "Dummy", "Player"] $ curl https://dummy-player.com/guess?word=puzzle&n_words=10 ["Didn't", "learn", "how", "to", "guess", "(yet)"] ``` :bulb: Есть ещё простая fasttext-модель в Jupyter notebook --- Wait but why? ![](https://i.imgur.com/wPs36IV.png =x250) - :tada: Прикольно! - :rocket: Практиковать деплой моделек - :robot_face: Вспомнить DL и NLP --- Как начать 1 ![](https://i.imgur.com/HoSq02T.png) 2 ![](https://i.imgur.com/psRiahF.png =x200) 3 ![](https://i.imgur.com/FbR5My8.png =x110) 4 ![](https://i.imgur.com/XtqqKGS.png =x230) --- Что дальше? - :speech_balloon: Стартовая модель в Jupyter notebook - :robot_face: Кастомная логика для загадывания и отгадывания - :tennis: Локальные игры (run_game.py) - :bomb: Ваш собственный MLOps полигон --- ![](https://i.imgur.com/4SNnBs4.jpg =x300) --- :tada: Мини-сорева на выходные :tophat: - :christmas_tree: Финальная игра - 19 декабря 17-00 - :santa: Объясняем новогодние слова - :first_place_medal: Как победить? Занять первое место на ЛБ! - :gift: Тельняшки, футболки, стикеры! - :speech_balloon: Канал в слаке #mlops_hat --- Live demo in Spatial Chat! :eyes: :tada: :rocket:
{"metaMigratedAt":"2023-06-16T15:43:06.214Z","metaMigratedFrom":"YAML","title":"Дело - Шляпа, или 3 причины погрузиться в mlops","breaks":true,"description":"View the slide with \"Slide Mode\".","slideOptions":"{\"theme\":\"white\",\"transition\":\"slide\"}","contributors":"[{\"id\":\"e0bc91de-98f7-46f8-a3a9-852912833a93\",\"add\":14267,\"del\":7061}]"}
    491 views