Загрузка...

Обновление Обновлен бот Tillerino

Тема в разделе osu! создана пользователем jkRockeR 6 ноя 2022. 278 просмотров

Опрос

Пользуетесь ли вы ботом Tillerino?

  1. Да, классный бот

    5
    100%
  2. Нет, использую другого бота

    0
    0%
  3. Не пользуюсь подобными ботами

    0
    0%
  1. jkRockeR
    jkRockeR Автор темы 6 ноя 2022 Заблокирован(а) 6490 10 май 2014
    Сегодня обновился бот Tillerino

    Далее со слов автора бота:

    Привет, давно не виделись!

    Я просто хотел заглянуть, чтобы поделиться некоторыми новостями о боте, которые накопились за последнее время.


    Обновления pp

    Каждый раз, когда происходят изменения в системе pp, нам необходимо внести соответствующие изменения в Tillerinobot. Очевидная причина в том, что игроки используют бота для расчета pp. Менее очевидная причина в том, что рекомендации основаны на pp. Когда фактические значения pp расходятся со значениями, на которых обучалась модель, качество рекомендаций значительно падает.

    В прошлом я снова и снова тянул время, когда нужно было обновить как pp, так и модель. Во многих случаях игроки получали рекомендации от устаревшей модели. Я хочу остановиться на чем-то еще, но только чтобы закрыть этот вопрос: Бот был настроен на последние изменения в pp, модель была переобучена, и вот уже тридцать минут назад вы получаете совершенно новые, первоклассные рекомендации.


    За кулисами

    (если вам будет скучно, пропустите эту часть, но обязательно прочитайте следующую)

    В прошлом было много причин, по которым обновление pp было таким мучением. pp рассчитывается в два этапа: на первом этапе битмапа анализируется для определения сложности. Сложность сводится к нескольким числам, таким как скорость и сложность прицеливания. На втором этапе pp рассчитывается для игры, комбинируя числа сложности из битмапа со свойствами игры - точностью, комбо и т.д.

    Раньше эти цифры сложности не публиковались. Возможно, это не было попыткой сохранить секретность, просто этого не было в API. Поэтому бот пытался вычислить число сложности, взяв несколько игр на одной и той же карте и изменяя числа до тех пор, пока они не совпадут со значениями pp в реальных играх - численная оптимизация. Для этого требовались актуальные показатели, поэтому обновление происходило медленно.

    В конечном итоге эта проблема была решена, когда параметры сложности стали публиковаться через API. Однако одна проблема осталась: для обучения модели рекомендаций требовались актуальные результаты многих и многих игроков. Это всегда занимало очень много времени для обновления и ограничивало скорость, с которой мы могли реагировать на изменения pp. Все стало еще хуже, когда более поздние изменения pp начали вводить новые номера сложности, которых больше не было в API. Нужно было что-то делать.

    Первым делом мы решили сделать себя независимыми от API сложности и вычислять номера сложности самостоятельно. Для этого мы написали SanDoku, который представляет собой HTTP API, обернутый вокруг игровой библиотеки: он принимает битмапы и возвращает числа сложности.

    Второй момент заключался в том, чтобы "просто" пересчитать все оценки на нашей стороне для обучения рекомендательной модели. С помощью SanDoku мы могли мгновенно получить все необходимые номера сложности для этого. Это не только намного быстрее, чем обновление всех оценок через API, но мы можем позволить себе обновить все оценки. В прошлом мы обычно ограничивали обучение только теми оценками, которые были актуальны на определенный момент, потому что мы не могли ждать, пока все оценки будут обновлены.

    Если у вас есть какие-либо варианты использования SanDoku, пожалуйста, дайте нам знать. В репозитории есть Dockerfile, и он может быть запущен с относительно небольшим количеством памяти, если вы работаете только с ранжированными картами (есть несколько безумных неранжированных карт, которые используют значительное количество памяти).


    Другие рекомендации

    Некоторое время назад ко мне обратился пользователь Discord NamePendingApproval, который работал над собственной моделью рекомендаций, и мы решили, что было бы здорово подключить ее к Tillerinobot. Таким образом, им не придется создавать фронтенд (будь то веб-сайт или чат-бот), и они смогут использовать возможности Tillerinobot для науки.

    Эта модель рекомендаций значительно отличается от модели по умолчанию. Стандартная модель работает по принципу "другие игроки, купившие эту лучшую пьесу, купили и эту", тогда как новая модель основана на свойствах битмапов. Мы называем эту модель NAP (сокращение от NamePendingApproval, но более пугающее). Как это работает? Я могу процитировать этот параграф для вас:

    Рекомендатор NAP использует модель машинного обучения, которая проанализировала тысячи карт фермы osu, чтобы найти похожие друг на друга битмапы. Она рассматривает такие паттерны, как цель, поток и ритм, чтобы создать цифровой отпечаток пальца этой битмапы. Затем он может сопоставить его с другими битмапами, например, с вашими лучшими играми, чтобы найти карты, которые соответствуют вашему стилю игры и находятся в пределах вашего диапазона навыков для максимизации PP.

    Нет, из этого я тоже ничего не узнал. Если вы хотите узнать, как это работает, спросите здесь или в Discord, и мы будем учиться вместе.

    Что более важно: как вы его используете? Легко:


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


    Эпилог

    Спасибо, что прочитали. Я больше не бываю на reddit, поэтому буду благодарен, если вы перепостите мемы Tillerinobot в наш Discord. Этот был довольно хорош, спасибо. Также есть Patreon, и там вы можете получить некоторые приятные бонусы.

    До встречи


    Пост был взят с рэддита, автор поста сам автор бота Tillerino.
    (Перевод немного кривой, но 99% текста можно понять)

     
  2. Farewell_Kiss
    Farewell_Kiss 6 ноя 2022 Заблокирован(а) 466 15 май 2020
    лайк, полезно, интересно
    --- Сообщение объединено с предыдущим 6 ноя 2022
    есть другие полезные боты? нужна тема об ОСУ! ботах
     
    6 ноя 2022 Изменено
    1. jkRockeR Автор темы
Загрузка...
Top