Deep Dive 2 Deep Learning
378 subscribers
23 photos
4 videos
359 links
Канал про глубокое машинное обучение: кейсы, новости, открытия и факапы из мира нейросетей и не только
Download Telegram
🍏Автоматическая маркировка текста для NLP
«Сырые» текстовые данные нельзя проанализировать сразу с помощью ML не только потому, что текст представлен в виде символов, а не чисел, но и из-за отсутствия разметки, которая маркирует ключевые слова относительно контекста. Обычно для разметки текстовых данных нужен человек, что замедляет скорость предподготовки датасета и повышает стоимость этого процесса. Но есть возможность сделать маркировку автоматически, используя подход обучения с нулевым выстрелом (ZSL, zero-shot learning), который изначально относился к специфическому типу задачи: изучить классификатор на одном наборе меток, а оценить на другом. В NLP этот подход позволяет заставить модель делать то, чему она явно не была обучена. При этом можно использовать одну модель для встраивания и данных, и имен классов в одно пространство, устраняя необходимость в этапе выравнивания на большом количестве данных.
Посмотреть, как это работает, можно в демо-приложении Zero-shot classification от Hugging Face https://huggingface.co/zero-shot/. А подробная теория изложена здесь:
https://medium.com/algoanalytics/automatic-labelling-of-text-for-nlp-5270e70a2f5f
https://joeddav.github.io/blog/2020/05/29/ZSL.html
🏂RL как основной движок AutoML в будущем
Благодаря универсальной идее, обучение с подкреплением (RL) можно рассматривать как способ разработать единый ML-алгоритм общего назначения для широкого круга задач. Но таксономия известных RL-алгоритмов довольно велика, а разработка новых требует обширной настройки и проверки. Поэтому более реально сперва создать метод мета-обучения, который мог бы разрабатывать новые RL-алгоритмы с возможностью их автоматического обобщения в будущем.
Успех AutoML обусловлен тем, что архитектура нейросети или весь ML-алгоритм представлены в виде графа, а для его оптимизации используются отдельные методы. Однако, из-за того что в RL много возможностей оптимизации (архитектуры нейросетей для агентов, стратегии выборки из буфера воспроизведения, общая формулировка функции потерь), не всегда ясно, какая процедура обновления модели будет наилучшей.
Поэтому исследователи из Google AI предложили новые аналитически интерпретируемые и обобщаемые RL-алгоритмы на графах и методах оптимизации AutoML. В частности, представление функции потерь для оптимизации параметров агента с учетом его опыта, в виде вычислительного графа и регулируемую эволюцию (Regularized Evolution) для развития совокупности вычислительных графов в наборе простых обучающих сред. Так RL-алгоритмы становятся более совершенными и могут работать в более сложных средах.
https://ai.googleblog.com/2021/04/evolving-reinforcement-learning.html
👣DL для выхода из медицинского тупика
Ученые MIT совместно с коллегами из медорганизаций разработали модель глубокого обучения для прогнозирования «медицинского тупика» - ситуации, когда пациент с большой вероятностью умрет, независимо от стратегии и тактики лечения. Это особенно важно в критических случаях, когда негативный исход развивается очень быстро и у врачей нет времени на долгий подбор наилучшего средства. Например, сепсис – обширное заражение, смерть от которого может наступить в течение суток.
Обычно при обучении с подкреплением алгоритм обучается методом проб и ошибок, учится предпринимать действия, которые максимизируют накопление вознаграждения. Но в условиях здравоохранения практически невозможно собрать достаточно данных для этих DL-моделей, чтобы определить оптимальное лечение, поскольку экспериментировать с возможными стратегиями лечения неэтично. Поэтому исследователи изменили подход к Deep Learning, использовав ограниченные данные из отделения интенсивной терапии для обучения с подкреплением, чтобы определить методы лечения, которых следует избегать, чтобы пациент избежал медицинского тупика.
Одна из основных идей здесь состоит в том, чтобы уменьшить вероятность выбора каждого лечения пропорционально его шансу вынудить пациента войти в медицинский тупик - свойство, которое называется безопасностью лечения. Сложность в том, что данные не дают такого представления напрямую. Но теоретические результаты позволили преобразовать эту идею в проблему обучения с подкреплением. Для этого ученые создали две копии нейросети, одна из которых фокусируется только на отрицательных результатах (пациент умер), а вторая – только на положительных (пациент выжил). Использование двух нейросетей по отдельности позволило исследователям обнаружить рискованное лечение в одной, а затем подтвердить ее с помощью другой. На вход нейросетям идет статистика здоровья пациентов и предлагаемое лечение. Сети выводят оценочную стоимость этого лечения и вероятность того, что пациент попадет в медицинский тупик. Сравнение этих оценок позволяет установить вхождение пациента в опасную зону (желтый флаг), а красный флаг указывает, что с высокой вероятностью пациент не выздоровеет.
Исследователи протестировали свою модель, используя набор данных пациентов, предположительно страдающих сепсисом, из отделения интенсивной терапии Медицинского центра Beth Israel Deaconess. Этот набор данных содержит около 19 300 госпитализаций с наблюдениями за 72-часовой период, сосредоточенный вокруг того, когда у пациентов впервые проявляются симптомы сепсиса. Их результаты подтвердили, что некоторые пациенты из набора данных попали в медицинские тупики.
Ученые также обнаружили, что 20-40% пациентов, которые не выжили, отмечены хотя бы одним желтым флагом перед смертью, причем многие из них как минимум за 48 часов до этого исхода. Результаты также показали, что при сравнении тенденций выживших и умерших пациентов, как только отметился первый желтый флаг, наблюдается очень резкое отклонение в ценности проведенного лечения. Окно времени вокруг первого флага является критическим моментом при принятии решения о лечении. Поэтому лечение имеет значение: потенциально можно было избежать более 11% неоптимальных методов, применив альтернативы. Это довольно большое число количества пациентов с сепсисом в любой больнице мира.
Важно, DL-модель предназначена для помощи врачам, а не для их замены. Решение о лечении в любом случае принимают люди. Но ML помогает быстрее распознать риски и принять соответствующие меры. В будущем эти RL-модели можно использовать, для оценки причинно-следственных связей между решениями о лечении и развитием здоровья пациентов, чтобы снижать неопределенность и помогать врачам принимать более обоснованные решения.
https://news.mit.edu/2021/machine-learning-treatments-1209
🚀Автономное обучение с подкреплением
Обучение с подкреплением (Reinforcement Learning) – популярный DL-метод. Машинное обучение с учителем использует набор обучающих данных (образцов), а RL-агент учится самостоятельно через прямое взаимодействие с окружающей средой. Совершая какие-то действия, RL-модель оценивает результат и повторяет наилучшие действия – те, которые принесли максимальное вознаграждение. Алгоритмы RL не имеют представления об окружающей среде до того, как они начнут совершать действия, но с большей вероятностью улучшатся по мере обучения. Поэтому нейросети с RL особенно успешны в таких задачах, где частые ошибки на начальном этапе обучения не являются проблемой.
Автономное обучение с подкреплением относится к агенту, который изучает все путем массового приема данных по одному наблюдению за раз. Данные зарегистрированных взаимодействий (состояния, действия и награды) должны отправляться вместе – одним пакетом вместо непрерывного потока. Это значительно удешевляет RL и повышает его производительность.
Автономный RL по сравнению с другими подходами может принимать большие, разнообразные наборы данных и создавать решения, которые в целом обобщаются для новых ситуаций. Например, политики, которые эффективно рекомендуют видео Youtube новым пользователям, или политики, которые могут выполнять роботизированные задачи в странных ситуациях. Способность «обобщать» важна практически для любой ML-системы, особенно для RL-моделей, которые не могут обучаться с данными, некоррелирующими с распределением состояний, вознаграждений и действий текущей политики. Поэтому пакет исходных данных может вызвать проблемы с недостаточной репрезентативностью и разнообразием результатов.
Роботам и беспилотным автомобилям требуется большой объем данных для обучения, поэтому автономный RL с предварительно обученной моделью отлично подходит для этих кейсов. Автономный RL также можно применять в задачах робототехники и рекомендательных систем для новостных лент.
https://medium.com/geekculture/reinforcement-learning-what-rewards-you-makes-you-stronger-9aa03ad9e0e
📌TinyML: крошечный ML для IoT-устройств
Новая технология, применяемая к микроконтроллерам, позволяет использовать эффективные алгоритмы зрения и обнаружения без подключения к Интернету. Применение DL на микроконтроллерах (MCU) сдерживает ограниченный размер памяти: всего 256 килобайт оперативной и 1 мегабайт постоянной. Для сравнения: мобильный ИИ на смартфонах с облачными вычислениями может иметь 256 гигабайт и терабайт памяти, т.е. в тысячи раз больше MCU.
Узким местом в MCU с несбалансированным распределением памяти в конструкциях сверточной нейросети являются ее первые блоки, которые потребляют на порядок больше ресурсов, чем остальная часть сети. Ученые из MIT предлагают решить эту проблему через общее последовательное планирование вывода, которое работает только с небольшой пространственной областью карты функций и значительно сокращает пиковую память. Также нужно перераспределить сеть, чтобы сдвинуть рецептивное поле и FLOP на более позднюю стадию и уменьшить накладные расходы на вычисления. Сделать это вручную сложно, поэтому процесс автоматизируется с помощью нейронной архитектуры MCUNetV2.
Этот подход показал рекордную точность ImageNet на микроконтроллерах (71,8%) с использованием всего 32 КБ SRAM. MCUNetV2 также разблокирует обнаружение объектов на крошечных устройствах, достигая на 16,9% более высокого показателя MAP на Pascal VOC по сравнению с современным результатом. Результаты исследований пригодятся в различных приложениях машинного зрения, помимо классификации изображений.
Подход получил название «крошечный ML» (TinyML) и по сравнению с традиционным DL он предлагает ряд преимуществ:
• Конфиденциальность - данные не передаются в облако для вычислений, а обрабатываются на локальном устройстве;
• Надежность - вычисления выполняются быстро, а время ожидания невелико;
• низкая стоимость - устройства IoT стоят примерно 1-2 доллара;
• экологичность – низкие выбросы углерода, в отличие от больших DL-систем, которые могут выделять столько углерода, как 5 автомобилей, требуют много графических процессоров и их обучение в итоге стоит миллиарды долларов.
TinyML позволит отключиться от сети, чтобы сократить выбросы углерода и сделать ИИ более экологичным, умным, быстрым, а также доступным для всех.
https://arxiv.org/abs/2110.15352
📌21 декабря в 19:00 МСК состоится завершающая в этом году онлайн-встреча Citymobil Data 🎅 Meetup!

🚀 В 2021 Ситимобил провел 4 митапа, там выступили 12 классных спикеров с огненными докладами: Ксения Мензорова, Екатерина Колпакова, Николай Радчиков, Михаил Дьячков, Алексей Венжега, Алексей Кудинов, Максим Шаланкин, Сергей Свиридов, Даниил Тарарухин, Артем Солоухин, Андрей Критилин, Федор Лаврентьев.

🎁 В преддверии Новогодних праздников будут подводиться итоги года в мире Data Science и Big Data, а также будет проведена викторина с подарками 🥳!

Регистрация для бесплатного участия: https://citymobil.timepad.ru/event/1870148/

Итоги года подведут:
🚕 Алексей Чернобровов (Ситимобил, Head of Data Science)
🆗 Андрей Кузнецов (Ok.ru, Data Scientist)
📹 Артур Кузин (SberDevices, Head of Computer Vision Platfrom)
Валерий Бабушкин (Blockchain.com, Head of Data Science)
☎️ Виктор Кантор (МТС, Директор центра Big Data)
🖼 Дмитрий Коробченко (NVIDIA, Senior Manager of AI)
😜Gopher - языковая модель с 280 миллиардами параметров от DeepMind
Чтобы исследовать существующие языковые модели и разрабатывать новые, сотрудники DeepMind обучили серию языковых моделей-трансформеров разного размера, от 44 миллионов до 280 миллиардов параметров. Исследования показали, что увеличение масштаба модели повышает производительность, в таких областях, как понимание прочитанного, проверка фактов и определение токсичного языка. Но в некоторых задачах масштаб модели не улучшает результаты: например, логическое рассуждение и поиск здравого смысла. Примечательно, что Gopher способен побуждать человека к разговору, что поднимает его на новый уровень по сравнению с другими языковыми моделями.
https://deepmind.com/blog/article/language-modelling-at-scale
🙌🏻Масштабируемый подход к частично локальному федеративному обучению от Google AI
Федеративное обучение позволяет пользователям обучать модели без отправки необработанных данных на центральный сервер, избегая сбора конфиденциальных данных. Обычно это делается путем изучения единой глобальной модели для всех пользователей, даже если они различаются в распределении данных. Поэтому для повышения эффективности алгоритмов следует персонализировать глобальную модель для каждого пользователя. Но иногда соображения конфиденциальности препятствуют полному изучению глобальной модели.
Например, матричная факторизация в рекомендательных системах в случае глобальной федеративной модели будет включать отправку пользовательских обновлений встраивания на центральный сервер, который потенциально может выявить предпочтения, закодированные во встраиваниях. Даже для моделей без встраиваний, специфичных для пользователя, наличие некоторых параметров, полностью локальных для пользовательских устройств, снизит взаимодействие между сервером и клиентом, персонализируя эти параметры для каждого пользователя.
Поэтому исследователи Google AI предложили подход, который обеспечивает масштабируемое частично локальное федеративное обучение, при котором некоторые параметры модели никогда не агрегируются на сервере. Для матричной факторизации этот подход обучает рекомендательную модель, сохраняя пользовательские вложения локальными для каждого пользовательского устройства. Для других моделей подход обучает часть модели быть полностью индивидуальной для каждого пользователя, избегая передачи этих параметров. Успешное развертывание частично локального федеративного обучения в Gboard привело к повышению точности рекомендаций для сотен миллионов пользователей.
https://ai.googleblog.com/2021/12/a-scalable-approach-for-partially-local.html
👂🏻Я тебя слышу: человеческий слух с точки зрения DL
Нейробиологи из MIT разработали ML-модель для изучения факторов, влияющих на то, как люди слышат высоту звука. Восприятие высоты звука их моделью очень напоминало человеческое, но только тогда, когда она обучалась с использованием музыки, голосов или других естественных звуков. Способность людей распознавать высоту звука - по сути, частоту повторения звука - придает мелодию музыке и нюансы разговорной речи. Хотя это, пожалуй, наиболее изученный аспект человеческого слуха, исследователи все еще обсуждают, какие факторы определяют свойства восприятия высоты звука и почему для одних типов звуков оно более остро, чем для других. Понимание того, как наша нервная система воспринимает высоту звука, важно для разработки слуховых имплантантов.
Чтобы изучить, как человеческие уши и окружающая среда влияют на восприятие звука, ученые построили DL-нейросеть и обучили ее оценивать высоту звука, включая частоту повторения в обучающей выборке. Это позволило менять параметры, при которых развивалось восприятие высоты звука. Когда модель обучалась с использованием естественных для человека звуков (речь, музыка, звуки природы), она смогла оценивать высоту звука так же, как люди. Но при обучении на искусственных звуках и при отсутствии фонового шума, поведение модели стало совсем другим. Команда также обнаружила, что синхронизация нервных сигналов, инициируемых в человеческом ухе, имеет решающее значение для восприятия звука. Это пригодится для разработки кохлеарных имплантатов.
https://news.mit.edu/2021/perfecting-pitch-perception-1217
🕸Тонкая настройка GPT-3 на пользовательских данных: новый сервис от OpenAI
2 недели назад, в середине декабря уже прошлого года, разработчик GPT-3 представила новый SaaS-сервис для кастомизации DL-моделей. Разработчики ИИ-приложений могут настраивать GPT-3 на своих данных, создавая индивидуальную модель, адаптированную к конкретному случаю. Тонкая настройка повышает надежность и точность GPT-3, а также ускоряет использование модели.
Можно использовать существующий датасет практически любого формата и размера, а также постепенно добавлять данные на основе отзывов пользователей. Например, Keeper Tax – приложение для самозанятых и фрилансеров, чтобы вовремя уплачивать налоги, с помощью тонко настроенной модели GPT-3, почти на 10% увеличило точность своих прогнозов. После того, как клиент связывает свои финансовые счета, Keeper Tax использует различные DL-модели для извлечения текста и классификации транзакций. Keeper Tax определяет налоговые списания, которые легко упустить, и помогает клиентам подавать налоговые декларации прямо из приложения. Еженедельно добавляя около 500 новых обучающих примеров для точной настройки своей модели, разработчики повышали ее точность примерно на 1% каждые 7 дней, повысив ее с 85% до 93%.
При обучении точно настроенной модели вы платите за общее количество используемых токенов, рассчитываемых как 50% от скорости вывода базовой модели на 1 тысячу токенов или количество токенов в обучающем файле, умноженное на количество эпох. Файл токена размером 1 МБ занимает примерно 5 МБ и по умолчанию настраивается на 4 эпохи. А полная стоимость настроенной DL-модели зависит от ее архитектуры и варьируется от $0.0016 до $120.
https://beta.openai.com/docs/guides/fine-tuning
✍🏻Кто рисует лучше: битва DL-моделей
Год назад, в январе 2021 OpenAI представила DALL-E (по имени художника-сюрреалиста Сальвадора Дали) – версию языковой модели GPT-3 с 12 миллиардами параметров для создания фотореалистичных изображений с текстовыми подписями. В ноябре того же года NVIDIA выпустил GauGAN2 – генеративно-состязательную нейросеть для генерации изображений в стиле картин французского постимпрессиониста Поля Гогена. А в конце декабря 2021 года компания OpenAI представила GLIDE (Guided Language-to-Image Diffusion for Generation and Editing), которая выдает результаты, сравнимые по качеству с DALL-E на 30% параметров. Модель выложена в открытый доступ на Github https://github.com/openai/glide-text2im
https://syncedreview.com/2021/12/24/deepmind-podracer-tpu-based-rl-frameworks-deliver-exceptional-performance-at-low-cost-173/
https://arxiv.org/abs/2112.10741
😜Многоязычный датасет для NLP от Яндекса: рассуждения на основе здравого смысла
Опубликовав исследования в статье на конференции ACL 2021, сотрудники Яндекса также на сайте компании рассказывают про новый конкурентный подход, который использует только выходные данные внутреннего внимания. Анализ этого метода обнаруживает интригующие свойства межъязыковых репрезентаций трансформерных моделей: одни и те же элементы внимания кодируют знания рассуждений для разных языков. Метод использует только линейный классификатор поверх предварительно обученных представлений внимания, позволяя проанализировать изученные веса, чтобы определить, какие что вносит наибольший вклад в прогноз.
Также Яндекс презентует XWINO — многоязычный набор данных задач Winograd Schema на английском, французском, японском, русском, китайском и португальском языках. Датасет содержит 3961 пример и может использоваться для оценки как языковой производительности, так и межъязыкового обобщения NLP-моделей. Скачать датасет можно из Github-репозитория.
https://research.yandex.com/news/a-few-attention-heads-for-reasoning-in-multiple-languages
https://github.com/yandex-research/crosslingual_winograd
🙌🏻MvM: альтернативный GAN от Microsoft
В конце 2021 года Microsoft представила фреймворк для генерации изображений MvM (Manifold Matching via Metric Learning). Он превосходит GAN-модели, а также позволяет использовать новые алгоритмы обучения в задачах компьютерного зрения. MvM также использует состязательный подход, но ориентированный не на статистическое, а геометрическое распределение данных. Одна нейросеть генерирует подделки, очень близкие к реальному распределению данных, а другая учится выбирать наиболее эффективную метрику для распознавания этих подделок. MvM формирует многомерное представление изображений, что позволяет использовать методы обучения без учителя.
Pytorch-реализация с наглядными примерами MvM доступна в репозитории на Github.
https://github.com/dzld00/pytorch-manifold-matching
https://www.microsoft.com/en-us/research/blog/unlocking-new-dimensions-in-image-generation-research-with-manifold-matching-via-metric-learning/
👄Читаю по губам: свежий AV-HuBERT от Meta
AV-HuBERT
— мультимодальный фреймворк распознавания речи одновременно по ее звуку и движению губ говорящего с точностью распознавания на 75% выше, чем у state-of-the-art моделей, обученных на таком же количестве транскрипций. AV-HuBERT комбинирует движение губ со звуковой информацией и регистрирует взаимосвязи между этими данными.
Сначала AV-HuBERT обучалась на 30 часах размеченных англоязычных видео TED Talk. При этом частота ошибок в словах как мера эффективности распознавания речи была лучше, чем в предыдущих моделях: 32,5% против 33,6%. Эта мера (WER) рассчитывается путем деления количества неправильно распознанных слов на общее количество слов; 32,5% соответствует примерно одной ошибке на каждые 30 слов. Обучение 433 часам TED Talks еще больше снизило WER AV-HuBERT до 28,6%.
Как только AV-HuBERT хорошо изучил структуру и корреляцию между данными, исследователи дополнительно обучили его на неразмеченных 2442 часах англоязычных YouTube-видеороликов данных. Это снизило WER до 26,9% и показало, что для обучения фреймворка конкретному приложению, например, когда несколько человек говорят одновременно или другому языку требуется лишь небольшой объем размеченных данных.
Meta утверждает, что AV-HuBERT примерно на 50% лучше, чем аудиомодели, в распознавании речи человека, когда на заднем плане играет громкая музыка или шум. А когда речь и фоновый шум одинаково громкие, AV-HuBERT обеспечивает WER 3,2% по сравнению с 25,5% предыдущей лучшей мультимодальной модели. Модель выложена в открытый доступ на Github.
https://github.com/facebookresearch/av_hubert
https://venturebeat.com/2022/01/07/meta-claims-its-ai-improves-speech-recognition-quality-by-reading-lips/
💃🏼🕺🏼Zero Waste со вкусом: ИИ-стартап для устойчивой моды
Виртуально моделируя одежду, стартап AI Heartdub стремится уменьшить воздействие цепочек поставок текстиля на окружающую среду. Компания со штаб-квартирой в Пекине является участником программы NVIDIA Inception для поддержки ИИ-стартапов. Она объединяет моду и технологии, позволяя дизайнерам и создателям виртуально демонстрировать физические ткани и предметы одежды, а также помогает производителям одежды добиться безотходного производства.
Например, движок Heartdub Materials с большим набором данных о текстиле воспроизводит физические свойства материалов. Внутри приложения оцифрованный материал ведет себя так же, как и в реальном мире, с учетом текстуры, веса и движения. Это может сократить расходы на исследования и разработки вдвое, расходы на маркетинг на 70% и время выполнения заказов на 90% для производителей тканей и владельцев брендов.
Проверяя дизайн практически без затрат, Heartdub Materials может производить цифровые готовые предметы одежды на основе выкроек одежды. Дизайнеры могут выбирать текстуру, рисунок и дизайн в режиме онлайн, что позволяет производителям тканей бесплатно оформлять предварительные заказы. Наконец, сами образцы одежды можно демонстрировать и покупать непосредственно через виртуальные демонстрации и показы мод, организованные Heartdub One, базой данных компании по одежде и аватарам. С Heartdub One потребители могут увидеть, как одежда подходит к их конкретному размеру и форме, создав своего собственного цифрового человека на основе своих конкретных измерений.
Основанный на сети NVIDIA HDR InfiniBand, физический движок Heartdub Materials может похвастаться скоростью 200 Гбит/с, повышая эффективность передачи данных почти в 100 раз. Используя преимущества графических процессоров NVIDIA Quadro RTX 8000 и технологии высокоскоростного соединения, Heartdub Materials позволяет моделировать сложные среды виртуального мира и эффективно обрабатывать сложные рабочие нагрузки трассировки лучей и визуальных вычислений.
https://blogs.nvidia.com/blog/2021/08/04/inception-heartdub-ai-startup/
📝Интерпретация DL-моделей с LIME
Модели глубокого обучения похожи на черный ящик, который выдает результат, не объясняя причину решения. Это снижает уровень доверия к ИИ и затрудняет его практическое внедрение. Объясняемый (интерпретируемый) ИИ – яркий тренд последних несколько лет. Одним из способов его реализации является Python-библиотека LIME - локально интерпретируемые моделе-независимые объяснения (Local Interpretable Model-Agnostic Explanations).
LIME не зависит от модели, что позволяет применять ее для объяснения любого типа выходных данных. Это реализуется через нарушение локальных особенностей вокруг целевого прогноза и измерение результата. Например, в задаче классификации текста можно изменить токены вокруг целевого объекта, а затем измерить выходные данные модели. LIME выводит список токенов с оценкой вклада в предсказание модели. Это обеспечивает локальную интерпретируемость, а также позволяет определить, какие изменения характеристик окажут наибольшее влияние на прогноз.
Интуитивно объяснение представляет собой локальное линейное приближение поведения модели. Хотя модель может быть очень сложной в глобальном масштабе, ее легче аппроксимировать вблизи конкретного экземпляра. На рисунке ниже решающая функция модели представлена сине-розовым фоном и явно нелинейна. Ярко-красный крест — это объясняемый экземпляр под именем X. Отбирая экземпляры вокруг X и взвешивая их в соответствии с их близостью к X, можно изучить линейную модель (пунктирная линия). Она хорошо аппроксимирует модель в окрестности X, но не обязательно глобально.
LIME может объяснить любой классификатор черного ящика с двумя или более классами. Нужно только, чтобы классификатор реализовал функцию, которая принимает необработанный текст или пустой массив и выводит вероятность для каждого класса. Встроена поддержка классификаторов scikit-learn. Установить библиотеку можно через менеджер пакетов pip: pip install lime, а ее исходный код доступен на Github https://github.com/marcotcr/lime
Пример интерпретации распознавания именованных сущностей с LIME: https://towardsdatascience.com/interpretable-and-explainable-ner-with-lime-d643512c524
Принцип работы LIME
🔥Tutel: новый инструмент для Fairseq от Microsoft
Fairseq
или Facebook AI Research Sequence-to-Sequence Toolkit (https://github.com/pytorch/fairseq) – набор инструментов, написанный для моделирования последовательностей, который позволяет обучать пользовательские ИИ-модели переводу, обощению, языковому моделированию и другим задачам генерации текста. Впервые опубликованный на Github под лицензией MIT, в декабре 2021 года Fairseq был дополнен высокопроизводительной библиотекой Tutel от Microsoft для облегчения разработки крупномасштабных моделей типа MoE (mixture-of-experts).
MoE — это архитектура DL-модели, где вычислительные затраты растут с количеством параметров нелинейно, т.е. медленнее простой линейной зависимости. Это упрощает масштабирование и делает MoE единственным на сегодня способом увеличения DL-моделей до триллиона с лишним параметров. Чтобы упростить практическое использование MoE-архитектуры, исследователи Microsoft разработали библиотеку Tutel, облегчающую разработку крупномасштабных моделей DNN.
Tutel оптимизирована для новой общедоступной серии Azure NDm A100 v4. Для одного уровня MoE Tutel в несколько раз быстрее Fairseq и отлично совместима с кластером Azure NDm A100 v4.
Библиотека обеспечивает разнообразную и гибкую поддержку современных алгоритмов MoE, включая поддержку:
• произвольная настройка K для алгоритма стробирования Top-K, тогда как большинство реализаций поддерживают только Top-1 и Top-2;
• различные стратегии исследования, включая маршрутизацию с пакетным приоритетом, отключение ввода и дрожание ввода;
• различные уровни точности, включая половинную точность (FP16), полную точность (FP32) и смешанную точность;
• различные типы устройств, включая устройства NVIDIA CUDA и AMD ROCm.
Tutel поддерживает Pytorch 1.10+, а также GPU CUDA(fp32 + fp16), ROCm(fp32 + fp16). Исходный код библиотеки также доступен на Github под лицензией MIT: https://github.com/microsoft/tutel
https://www.microsoft.com/en-us/research/blog/tutel-an-efficient-mixture-of-experts-implementation-for-large-dnn-model-training/
🙌🏻Визуализация обучения DL-моделей с HiPlot
Модели глубокого обучения сегодня широко применяются во многих сферах, от обнаружения мошенничества до беспилотных транспортных средств. Когда модель масштабируется для ежедневной работы с множеством пользователей, даже незначительное улучшение ее показателей может привести к значительному улучшению общей производительности DL-системы.
Используя визуализацию, можно добавить еще один уровень глубины к пониманию того, как именно модели обучаются и работают в каждую эпоху, чтобы принимать более четкие решения при выборе модели. Также эта информация поможет понять, являются ли модели избыточными или недостаточными, на основе используемой метрики оценки, что может помочь с настройкой гиперпараметров.
Например, для оценки точности и производительности DL-модели можно использовать среднюю абсолютную ошибку (MAE). Оценка MAE всегда будет положительным числом, и чем ближе оценка к 0, тем лучше работает модель. MAE можно рассчитать, взяв среднюю величину ошибок как разницу по модулю между прогнозируемыми и фактическими значениями, деленную на общее количество точек данных. Можно взять и другую метрику для оценки модели, например, среднеквадратическую ошибку. В любом случае, чтобы визуально отследить эволюцию обучения модели, необходимо показать изменение этой метрики по эпохам обучения. Это можно сделать с помощью HiPlot – легковесная библиотека от Facebook, которая позволяет легко и быстро создать график с параллельными координатами на основе предоставленных данных. HiPlot доступна на Github и может быть установлена через менеджеры пакетов:
pip install -U hiplot
или
conda install -c conda-forge hiplot
Далее можно строить графики
import hiplot as hip
data = [{'dropout':0.1, 'lr': 0.001, 'loss': 10.0, 'optimizer': 'SGD'},
{'dropout':0.15, 'lr': 0.01, 'loss': 3.5, 'optimizer': 'Adam'},
{'dropout':0.3, 'lr': 0.1, 'loss': 4.5, 'optimizer': 'Adam'}]
hip.Experiment.from_iterable(data).display()
Визуализация обучения DL-моделей с HiPlot