Pull to refresh

Как автоматизировать переобучение моделей?

Level of difficultyEasy
Reading time13 min
Views2.9K
Меня зовут Денис, я управляю разработкой и внедрением моделей машинного обучения в «Газпромбанке» в розничный бизнес. Наша команда ML-инженеров работает в связке с DevOps, мне помогает мой коллега Виталий VitaliyF. Он готовит инфраструктуру для обучения и переобучения моделей и среды, где моделисты разрабатывают код и выкатывают его для запуска в проме.

Перед нами стояла задача организовать переобучение моделей таким образом, чтобы можно было вести несколько процессов параллельно, а также оптимизировать трудозатраты и время на валидацию и поддержку ML-моделей.

Нетривиальность задачи была в том, что автоматизировать переобучение моделей нам нужно с соблюдением условий регуляторки. В связи с этим нам важно поддерживать особый workflow жизненного цикла СУМО — системы управления машинным обучением. Для этого нужно завести модель в реестр и отвалидировать её согласно рекомендациям ЦБ, т.е. пройти трудоёмкий и затратный по времени этап, далее проверить её на уязвимости, недокументированные возможности (это уже требования ИБ банка) и уже потом катить её в прод на Kubernetes. Причём сканирование и проверку на безопасность проходят код и веса модели, а документация модели и её воспроизводимость контролируется центром независимой валидации. Мы придумали, как сократить время переобучения моделей и сделать процесс валидации более быстрым и удобным.

image
Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments5

Глубинное обучение с подкреплением пока не работает

Reading time33 min
Views30K
Об авторе. Алекс Ирпан — разработчик из группы Brain Robotics в Google, до этого работал в лаборатории Berkeley Artificial Intelligence Research (BAIR).

Здесь в основном цитируются статьи из Беркли, Google Brain, DeepMind и OpenAI за последние несколько лет, потому что их работы наиболее заметны с моей точки зрения. Почти наверняка я что-то упустил из более старой литературы и от других организаций, так что прошу прощения — я всего лишь один человек, в конце концов.


Введение


Однажды в Facebook я заявил следующее.
Когда кто-то спрашивает, может ли обучение с подкреплением (RL) решить их проблему, я сразу отвечаю, что не может. Думаю, что это верно как минимум в 70% случаев.
Глубинное обучение с подкреплением сопровождается массой шумихи. И на то есть хорошие причины! Обучение с подкреплением (RL) — невероятно общая парадигма. В принципе, надёжная и высокопроизводительная система RL должна быть прекрасна во всём. Слияние этой парадигмы с эмпирической силой глубинного обучения очевидно само по себе. Глубинное RL — это то, что больше всего похоже на сильный ИИ, и это своего рода мечта, которая подпитывает миллиарды долларов финансирования.

К сожалению, в реальности эта штука пока не работает.

Но я верю, что она выстрелит. Если бы не верил, то не варился бы в этой теме. Но впереди куча проблем, многие из которых фундаментально сложны. Прекрасные демки обученных агентов скрывают всю кровь, пот и слёзы, что пролились в процессе их создания.
Читать дальше →
Total votes 59: ↑59 and ↓0+59
Comments34

Нейросети и глубокое обучение, глава 3, ч.1: улучшение способа обучения нейросетей

Reading time34 min
Views19K

Когда человек учится играть в гольф, большую часть времени он обычно проводит за постановкой базового удара. К другим ударам он подходит потом, постепенно, изучая те или иные хитрости, основываясь на базовом ударе и развивая его. Сходным образом мы пока что фокусировались на понимании алгоритма обратного распространения. Это наш «базовый удар», основа для обучения для большей части работы с нейросетями (НС). В этой главе я расскажу о наборе техник, которые можно использовать для улучшения нашей простейшей реализации обратного распространения, и улучшить способ обучения НС.

Среди техник, которым мы научимся в этой главе: лучший вариант на роль функции стоимости, а именно функция стоимости с перекрёстной энтропией; четыре т.н. метода регуляризации (регуляризации L1 и L2, исключение нейронов [dropout], искусственное расширение обучающих данных), улучшающих обобщаемость наших НС за пределы обучающих данных; лучший метод инициализации весов сети; набор эвристических методов, помогающих выбирать хорошие гиперпараметры для сети. Я также рассмотрю и несколько других техник, чуть более поверхностно. Эти обсуждения по большей части не зависят друг от друга, поэтому их можно по желанию перепрыгивать. Мы также реализуем множество технологий в рабочем коде и используем их для улучшения результатов, полученных для задачи классификации рукописных цифр, изученной в главе 1.
Читать дальше →
Total votes 22: ↑20 and ↓2+18
Comments2

В Японии компании попросят перейти на 4-дневную рабочую неделю

Reading time3 min
Views10K

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

Читать далее
Total votes 17: ↑17 and ↓0+17
Comments38

Исследование: компании столкнулись с проблемой передачи опыта в старых технологиях новым работникам

Reading time3 min
Views9.5K

Согласно отчету Advanced Software, почти 9 из 10 (89 %) крупных предприятий обеспокоены нехваткой ИТ-персонала, обладающего навыками для обслуживания и управления устаревшими системами. Крупные организации по-прежнему полагаются на эти системы и языки программирования. Однако, когда разработчики, работавшие со старыми системами, достигают пенсионного возраста, новые сотрудники не хотят перенимать их навыки.

Читать далее
Total votes 13: ↑13 and ↓0+13
Comments25

В Беларуси зреет революция… IT-шная

Reading time9 min
Views3K
Около 3 лет назад Игорь Мамоненко, генеральный директор известной белорусской компании «БелХард», предложил проект концепции «Национальной программы по созданию в Беларуси одного из мировых центров разработки программного обеспечения «IТ-СТРАНА». Несколько месяцев назад концепция получила одобрение в Совете министров, ее обсудили на совещании у вице-премьера. В настоящее время она рассматривается в Администрации президента. Если проект концепции будет одобрен, то уже в ближайшие месяцы у нас стартует массовое переобучение на IT-специалистов. Особого внимания заслуживает тот факт, что программа затрагивает не только и не столько действующих айтишников, сколько всех желающих получить соответствующие знания и умения, но главным образом – бухгалтеров…
Читать дальше →
Total votes 76: ↑57 and ↓19+38
Comments115

Распознавание образов

Reading time1 min
Views25K


Сегодня в прошивке робота умного дома случился какой-то баг. Похоже, эта зараза забыла выйти из ночного цикла обучения и переобучила свою нейросеть распознавания образов. Собственно, это было сразу заметно по винтам, вставленным в макароны, как в дюбели. Только вчера мы вешали полку на кухне, и робот как раз искал в кладовке подходящие дюбели.
Читать дальше →
Total votes 121: ↑104 and ↓17+87
Comments22

Как HBO делала приложение Not Hotdog для сериала «Кремниевая долина»

Reading time23 min
Views24K


Сериал HBO «Кремниевая долина» выпустил настоящее приложение ИИ, которое распознаёт хотдоги и не-хотдоги, как приложение в четвёртом эпизоде четвёртогого сезона (приложение сейчас доступно для Android, а также для iOS!)

Чтобы добиться этого, мы разработали специальную нейронную архитектуру, которая работает непосредственно на вашем телефоне, и обучили её с помощью TensorFlow, Keras и Nvidia GPU.
Total votes 25: ↑25 and ↓0+25
Comments12

37 причин, почему ваша нейросеть не работает

Reading time9 min
Views42K
Сеть обучалась последние 12 часов. Всё выглядело хорошо: градиенты стабильные, функция потерь уменьшалась. Но потом пришёл результат: все нули, один фон, ничего не распознано. «Что я сделал не так?», — спросил я у компьютера, который промолчал в ответ.

Почему нейросеть выдаёт мусор (например, среднее всех результатов или у неё реально слабая точность)? С чего начать проверку?

Сеть может не обучаться по ряду причин. По итогу многих отладочных сессий я заметил, что часто делаю одни и те же проверки. Здесь я собрал в удобный список свой опыт вместе с лучшими идеями коллег. Надеюсь, этот список будет полезен и вам.
Читать дальше →
Total votes 37: ↑37 and ↓0+37
Comments11