Бесплатный курс MIT TinyML и эффективные вычисления глубокого обучения

Бесплатный курс MIT TinyML и эффективные вычисления глубокого обучения для успешных разработчиков

 

Введение

 

В современном мире технологий мы окружены поражающими воображение искусственным интеллектом: голосовыми помощниками, отвечающими на наши вопросы, умными камерами, распознающими лица, и автономными автомобилями, перемещающимися по дорогам. Они словно супергерои нашей цифровой эпохи! Однако, чтобы эти чудеса технологии работали без сбоев на наших повседневных устройствах, это гораздо сложнее, чем кажется. У этих супергероев искусственного интеллекта есть специальная потребность: значительная вычислительная мощность и ресурсы памяти. Это похоже на попытку уместить целую библиотеку в маленький рюкзак. И догадайтесь, что? Большинство наших обычных устройств, таких как телефоны или смарт-часы, не имеют достаточно «мозгов» для обработки этих супергероев искусственного интеллекта. Это создает серьезную проблему для широкого внедрения технологий искусственного интеллекта.

Поэтому крайне важно повышать эффективность этих больших моделей искусственного интеллекта, чтобы сделать их доступными. Этот курс: “TinyML и эффективные вычисления глубокого обучения” от лаборатории HAN Массачусетского технологического института решает эту основную преграду. Он представляет методы оптимизации моделей искусственного интеллекта, гарантируя их жизнеспособность в реальных сценариях. Давайте подробнее рассмотрим, что он предлагает:

 

Обзор курса

 

Структура курса:

 

Продолжительность: Осень 2023 года

Расписание: Вторник/четверг 3:35-5:00 pm по восточному времени

Преподаватель: Профессор Сон Хан

Ассистенты преподавателя: Хан Цай и Ци Лин

Поскольку это находящийся в процессе курс, вы можете смотреть прямую трансляцию по этой ссылке.

 

Методика курса:

 

Теоретическая основа: Начинается с основных понятий глубокого обучения, а затем переходит к сложным методам эффективных вычислений искусственного интеллекта.

Практический опыт: Предоставляет практический опыт, позволяя студентам развертывать и работать с масштабными языковыми моделями, такими как LLaMA 2, на своих ноутбуках.

 

Модули курса

 

1. Эффективный вывод

 

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

  • Обрезка и разреженность (часть I и II): Исследование методов для уменьшения размера моделей путем удаления ненужных частей без ущерба для производительности.
  • Квантизация (часть I и II): Техники представления данных и моделей с использованием меньшего числа битов, экономя память и вычислительные ресурсы.
  • Поиск нейронных архитектур (часть I и II): Эти лекции изучают автоматические методы поиска оптимальных нейронных сетей для конкретных задач. Они демонстрируют практическое применение в различных областях, таких как NLP, GAN, анализ облаков точек и определение положения.
  • Сведение знаний: В этом сеансе рассматривается процесс сведения знаний, при котором компактная модель обучается имитировать поведение более крупной и сложной модели. Его цель – передача знаний от одной модели другой.
  • MCUNet: TinyML на микроконтроллерах: Эта лекция знакомит с MCUNet, который фокусируется на развертывании моделей TinyML на микроконтроллерах, позволяя искусственному интеллекту работать эффективно на устройствах с низким энергопотреблением. Она охватывает суть TinyML, его вызовы, создание компактных нейронных сетей и его разнообразные применения.
  • TinyEngine и параллельная обработка: В этой части рассматривается TinyEngine, исследуются методы эффективного развертывания и стратегии параллельной обработки, такие как оптимизация цикла, многопоточность и расположение памяти для моделей искусственного интеллекта на ограниченных устройствах.

 

2. Оптимизация для конкретной области

 

В разделе “Оптимизация для конкретной области” курс охватывает различные продвинутые темы, направленные на оптимизацию моделей ИИ для конкретных областей:

  • Трансформер и LLM (часть I и II): Разбираются основы Трансформера, варианты проектирования и продвинутые темы, связанные с эффективными алгоритмами вывода для LLM. Также исследуются эффективные системы вывода и методы настройки для LLM.
  • Визионерный Трансформер: В этом разделе представлены основы Визионерного Трансформера, эффективные стратегии ViT и различные методы ускорения. Также исследуются методы самообучения и мульти-модальные модели на основе Больших Языковых Моделей (LLMs), чтобы расширить возможности ИИ в области видеоизображений.
  • GAN, видео и точечное облако: Эта лекция посвящена улучшению генеративно-состязательных сетей (GAN) путем изучения эффективных методов сжатия GAN (используя NAS+дистилляцию), AnyCost GAN для динамической стоимости и Дифференцируемого Дополнения для эффективного обучения GAN с малым объемом данных. Эти подходы направлены на оптимизацию моделей для GAN, распознавания видео и анализа точечного облака.
  • Модель диффузии: Эта лекция предлагает понимание структуры, обучения, оптимизации для конкретной области и стратегий быстрого выборки Диффузионных моделей.

 

3. Эффективное обучение

 

Эффективное обучение относится к применению методологий для оптимизации процесса обучения моделей машинного обучения. В этой главе рассматриваются следующие ключевые области:

  • Распределенное обучение (часть I и II): Исследование стратегий распределения обучения по нескольким устройствам или системам. Предлагаются стратегии для преодоления проблем с пропускной способностью и задержкой, оптимизации использования памяти и реализации эффективных методов параллелизации для повышения эффективности обучения масштабных моделей машинного обучения в распределенных вычислительных средах.
  • Обучение на устройстве и перенос обучения: Этот раздел в основном фокусируется на обучении моделей непосредственно на устройствах, управлении ограничениями памяти и применении методов переноса обучения для эффективной адаптации к новым областям.
  • Эффективное дообучение и инженерия заданий: Этот раздел фокусируется на усовершенствовании Больших Языковых Моделей (LLMs) путем эффективных методов дообучения, таких как BitFit, Адаптер и Prompt-Tuning. Кроме того, он подчеркивает концепцию инженерии заданий и показывает, как она может улучшить производительность и адаптивность модели.

 

4. Продвинутые темы

 

Этот модуль охватывает темы, связанные с развивающейся областью Квантового Машинного Обучения. Хотя подробные лекции для этого раздела пока не доступны, запланированные темы включают:

  • Основы Квантовых Вычислений
  • Квантовое Машинное Обучение
  • Устойчивость к Помехам в Квантовом МЛ

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

Если вас интересует более глубокое изучение этого курса, то посмотрите плейлист ниже:

 

Заключительные замечания

 

Этот курс получил фантастическую обратную связь, особенно от энтузиастов ИИ и профессионалов. Хотя курс все еще продолжается и планируется завершиться к декабрю 2023 года, я настоятельно рекомендую присоединиться! Если вы проходите этот курс или собираетесь его пройти, поделитесь своими впечатлениями. Давайте общаться и учиться вместе о TinyML и о том, как сделать искусственный интеллект умным на маленьких устройствах. Ваши отзывы и находки будут ценными! 

[Kanwal Mehreen](https://www.linkedin.com/in/kanwal-mehreen1/) – начинающий разработчик программного обеспечения с большим интересом к науке о данных и применению ИИ в медицине. Канвал была выбрана Google Generation Scholar 2022 для региона APAC. Канвал любит делиться техническими знаниями, публикуя статьи на актуальные темы, и увлечена улучшением представительства женщин в индустрии технологий.